function getObj(id){
    if (document.getElementById) 
        var returnVar = document.getElementById(id);
    else 
        if (document.all) 
            var returnVar = document.all[id];
        else 
            if (document.layers) 
                var returnVar = document.layers[id];
    return returnVar;
};
function getposOffset(what, offsettype){
	  var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;

	    var ie = 0;
	    try { 
	    	if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) { ie = 1;}
	    }
	    catch(e) { ie = 0; }
	    if(!ie)
	    {
	  var parentEl=what.offsetParent;
	  while (parentEl!=null){
	    totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
	    parentEl=parentEl.offsetParent;
	  }
	  }
	  return totaloffset;
}
function ToggleSearchDoc() 
{
	ToggleCtl('SearchMenuDoc', 'SearchButtonDoc', 'ctl00_ContentPlaceHolder1_cfooter1_ctl00_ctl00_SearchText');
}

var processed = new Array();

function hideIt(ctlId, byId) {
	var d = byId ? getObj(ctlId) : ctlId;
	if (d) {
		d.style.visibility = 'hidden';
		d.style.display = 'none';
	}
}
function keyhandler(e) {
	var evt = e;
	if (!e)
	{
		evt = window.event;
	}

    if (document.layers)
        Key = evt.which;
    else
        Key = evt.keyCode;

    var Esc = (window.event) ? 27 : evt.DOM_VK_ESCAPE // MSIE : Firefox

    if (Key == Esc) {
    	var targ = null;
    	if (evt && evt.target) targ = evt.target;
    	if (null==targ && evt && evt.srcElement) targ = evt.srcElement;
    	//if (targ.nodeType==3) // Safari fix
		//{ targ = targ.parentNode; }

    	if (null!=targ) {
	    	var destCtl = processed[targ];
	    	if (null!=destCtl) {
	    		hideIt(destCtl, false);
			}
		}
    }
}

function setupKey(ctl) { ctl.onkeypress = keyhandler; }
function setupAutoHide(ctl, ctl2) {
	setTimeout( 
		"if (getObj('" + ctl.id 
		+ "').value.length<1) hideIt('" 
		+ ctl2.id + "', true);"
		,10000);
}

function ToggleCtl(ctl1, ctl2, ctl3) {
    var searchMenu = getObj(ctl1);
    var searchButton = getObj(ctl2);

    searchMenu.style.left = getposOffset(searchButton, "left");
    searchMenu.style.top = getposOffset(searchButton, "top") + searchButton.offsetHeight;

    if (searchMenu.style.visibility == "hidden") {
      searchMenu.style.visibility = "visible";
      searchMenu.style.display = 'block';
      //searchMenu.style['z-index'] = '10000';

      if (null!=ctl3)
      {
	      var stext = getObj(ctl3);
	      if (null!=stext)
	      {
	      	if (null==processed[stext]) {
	      		setupKey(stext);
	      		processed[stext] = searchMenu;
	      	}
	      	stext.focus();
	      	setupAutoHide(stext, searchMenu);
	      }
      }
    } else {
      searchMenu.style.visibility = "hidden";
      searchMenu.style.display = 'none';
    }
}

function runSearch(ctlName, basePath) {
	var box = getObj(ctlName);
	var path = getObj(basePath);
	if (box && path) {
		window.location = path.value + escape(box.value);
	}

	return false;
}
