////////////////////////////////////////////////////////////////////////////////
//  Autocompleter
//
//Start: Fix Autocompleter (Autocompleter.Base) scrollbar onBlue problem on IE

if (Prototype.Browser.IE) 
{
    Autocompleter.Base.prototype.onBlur = function(event) {
          setTimeout((function(e) {
              if (this.dontBlur) {
              	this.dontBlur = false;
              	return;
              }
            	this.hasFocus = false;
            	this.active = false;
            	this.hide();
          }).bind(this), 100);
    };
}

// inputBoxName: input textbox id
// hiddenDropDownListDivName: hidden div id of autocompleter showing result
// autoCompleter: autocompleter object
function myFixAutocompleterScrollBarProblemForIE(inputBoxName, hiddenDropDownListDivName, autoCompleter)
{
    // then after the autocompleter object is instantiated 
    if (Prototype.Browser.IE) 
    {
        $(hiddenDropDownListDivName).observe('mousedown', function(e) {
          	autoCompleter.dontBlur = true;
          	e.stop();
        });
        
        
        $(hiddenDropDownListDivName).observe('blur', (function(e) {
            setTimeout((function() {
                if (! $(inputBoxName).focused) {
                    //this.onBlur(e);
                    autoCompleter.onBlur(e);
                }
            }).bind(this), 100);
            e.stop();
        }).bindAsEventListener(autoCompleter));
        
      
        $(inputBoxName).observe('focus', function() {
        	$(inputBoxName).focused = true;
        });
        
        $(inputBoxName).observe('blur', function() {
        	$(inputBoxName).focused = false;
        });
		
    }
    else 
    {
        $(hiddenDropDownListDivName).observe('mousedown', function(e) {
        	e.stop();
        });
    }
}
//End: Fix Autocompleter (Autocompleter.Base) scrollbar onBlue problem on IE
////////////////////////////////////////////////////////////////////////////////
