function InstantASP_FindControl(strControlName) {

	var objReturn = '';
		if (Browser_IE5 || Browser_NS6 || Browser_Opera || Browser_Opera8)
		{
			objReturn = document.getElementById(strControlName);
		}
		else if (Browser_IE4)
		{
			objReturn = document.all[strControlName];
		}
		else if (Browser_NS4)
		{
			objReturn = document.layers[strControlName];
		}

	return objReturn

}

function InstantASP_GetOffsetTop(objControl) {

	var top = objControl.offsetTop;
	var parent = objControl.offsetParent;
	while (parent != document.body) {
	top += parent.offsetTop;
	parent = parent.offsetParent;}
	return top;
	
}

function InstantASP_GetOffsetLeft(objControl) {

	var left = objControl.offsetLeft;
	var parent = objControl.offsetParent;
	while (parent != document.body) {
	left += parent.offsetLeft;
	parent = parent.offsetParent;}
	return left;
	
}

function InstantASP_GetContainer(node, tagName) {

  while (node != null) {
    if (node.tagName != null && node.tagName == tagName)
      return node; node = node.parentNode;
  }
  return node;
}

function InstantASP_StyleWidthToInt(strInput)	{

	var strOutput = 0;
	if (strInput.toLowerCase().indexOf("px") >= 0) {
		strOutput = strInput.substr(0, strInput.toLowerCase().indexOf("px"));
	} else if (strInput.indexOf("%") >= 0) {
		strOutput = strInput.substr(0, strInput.indexOf("%"));
	}
	return parseInt(strOutput);	
	
}

function InstantASP_OpenWindow(Url, Width, Height, Scroll, ToolBar, Location, Status, MenuBar, Resizeable, Unique) {	
	var String;
	var winName = Width.toString() + Height.toString()
   	String =  "toolbar=" + ToolBar + ",location=" + Location 
   	String += ", directories=0,status=" + Status + ",menubar=" + MenuBar + ","
	String += "scrollbars=" + Scroll + ",resizable=" + Resizeable + ",copyhistory=0,";
   	String += ",width=";
   	String += Width;
   	String += ",height=";
   	String += Height;
   	
   	if (Browser_IE4 || Browser_IE5 || Browser_Opera || Browser_NS6)	{
	WndTop  = (screen.height - Height) / 2;
	WndLeft = (screen.width  - Width)  / 2;
	String += ",top=";
   	String += WndTop;
   	String += ",left=";
   	String += WndLeft;}
   	
   	try {
   		if (Unique == true) {WinPic = window.open(Url,WinNum++,String);}
   		else {WinPic = window.open(Url,winName,String);WinPic.focus();}}
   	catch (e) {};
}

function InstantASP_GetObjHeight(obj) {
	var height = 0; 
	if (Browser_NS4) {var height = obj.clip.height;}
	else {var height = obj.offsetHeight;}
	return height;  
}

var DropDivLayersActive = false; 
var DropDivLayerItems = new Array(); 
var DropDivLayerLeft = 0;
var DropDivLayerRight = 0;
var DropDivLayerTop = 0;
var DropDivLayerBottom = 0;

if (Browser_IE4 || Browser_IE5 || Browser_Opera) {
	document.onclick = HideAllDropDivLayersOnClick;
	document.onscroll = HideAllDropDivLayersOnClick;
	window.onresize = HideAllDropDivLayers;
}    
else if (Browser_NS6) { 
	document.addEventListener("mousedown", HideAllDropDivLayersOnClick, true);
	window.addEventListener("onresize", HideAllDropDivLayers, true);
} 
else if (Browser_NS4) {
	document.onmousedown = HideAllDropDivLayersOnClick;
	window.captureEvents(Event.MOUSEMOVE);
}

function DropDivLayerMouseOver(Caller, DivLayer, InnerHTML, Width) {
    if (DropDivLayersActive) {
    	DropDivLayer(Caller, DivLayer, InnerHTML, Width);
    }		
}

function DropDivLayer(Caller, DivLayer, InnerHTML, Width) {
		
	DivLayer = DivLayer + "_" + Caller
	
	var Iframe = DivLayer + "_Iframe"
	
	if (!document.createElement) {return false;}
	
	for (count = 0; count < DropDivLayerItems.length; count++)	{
		if (DropDivLayerItems[count] == DivLayer) {
			return false;
		}
	}
	
	HideAllDropDivLayers();
	
	DropDivLayerItems[DropDivLayerItems.length] = DivLayer;
	DropDivLayersActive = true;
	
	CreateDropDivLayer(InnerHTML, DivLayer, Iframe, Width);
    
	var div_layer = InstantASP_FindControl(DivLayer);
	var div_layerIframe = InstantASP_FindControl(Iframe);
	var div_layer_caller = InstantASP_FindControl(Caller);
     	
	var offsetTopDefault; offsetTopDefault = div_layer_caller.offsetHeight + 4;
		          	
	var top = InstantASP_GetOffsetTop(div_layer_caller) + offsetTopDefault;
	var left = InstantASP_GetOffsetLeft(div_layer_caller); 

	div_layer.style.top = top + "px";
	div_layer.style.left = left + "px";
	div_layerIframe.style.top = top + "px";
	div_layerIframe.style.left = left+ "px";
     	
	if (Browser_IE4 || Browser_IE5 || Browser_Opera) { 
 		DropDivLayerLeft = div_layer.style.posLeft;
		DropDivLayerTop = div_layer.style.posTop - offsetTopDefault; 
	} else if (Browser_NS6) {
		DropDivLayerLeft = InstantASP_StyleWidthToInt(div_layer.style.left);
		DropDivLayerTop = InstantASP_StyleWidthToInt(div_layer.style.top);
	}
	
	DropDivLayerRight = parseInt(DropDivLayerLeft) + parseInt(mnu_extent.x);			
	DropDivLayerBottom = parseInt(DropDivLayerTop) + parseInt(mnu_extent.y);
	
	div_layerIframe.style.height = (DropDivLayerBottom - DropDivLayerTop) + "px";
	
	Width = InstantASP_StyleWidthToInt(Width)
	
	if (Browser_IE4 || Browser_IE5 || Browser_Opera || Browser_NS6) { 
 		win_width = document.body.clientWidth;
		if (DropDivLayerRight > win_width) {
			div_layer.style.left = (win_width - Width - 10) + "px";
			div_layerIframe.style.left = (win_width - Width - 10) + "px";
		}
	}
			
	if ((Browser_IE4 || Browser_IE5 && !Browser_Opera)) {div_layerIframe.style.display = "";}
	div_layer.style.display = "";
		
}
function CreateDropDivLayer(InnerHTML, DivLayer, Iframe, mnu_width) {     

    var frameDiv = document.createElement('iframe');     	
    frameDiv.id = Iframe;
    frameDiv.setAttribute('class','');
    frameDiv.setAttribute('src','/apps/library/JavaScript/blank.htm');
    frameDiv.style.position = 'absolute';
    frameDiv.style.zindex = 1;
    frameDiv.style.width = mnu_width;
    
    var elemDiv = document.createElement('div');     	
    elemDiv.id = DivLayer;
    elemDiv.setAttribute('class','');
    elemDiv.style.position = 'absolute';       
    elemDiv.style.zindex = 50;
    elemDiv.style.width = mnu_width;
	
    elemDiv.innerHTML = InnerHTML;
	
    document.body.appendChild(frameDiv);   
    document.body.appendChild(elemDiv);    
	
    var mnu_height;
	
    if ((Browser_IE4 || Browser_IE5) || Browser_NS6)
        {mnu_height = elemDiv.offsetHeight;}
    else if (Browser_NS4)	
        {mnu_height = elemDiv.clip.height;}
	
    mnu_extent = {
        x : mnu_width,
        y : mnu_height
    };
		
    frameDiv.style.display = "none";			
    elemDiv.style.display = "none";
		
}

function HideAllDropDivLayersOnClick(event) {

	if (DropDivLayersActive) {
		if (Browser_IE4 || Browser_IE5 || Browser_Opera) {
			el = window.event.srcElement;
		}
		else {
			el = (event.target.tagName ? event.target : event.target.parentNode);
		}
		
		if (InstantASP_GetContainer(el, "DIV") != null) {		
			if (InstantASP_GetContainer(el, "DIV").id.indexOf("_SimpleMenuDivLayer") == -1) {
				HideAllDropDivLayers();
			}	
		} else {
			HideAllDropDivLayers();
		}
	}
}

function HideAllDropDivLayers() {

	if (DropDivLayersActive) {	
		for (count = 0; count < DropDivLayerItems.length; count++)	{
			var div_layer = InstantASP_FindControl(DropDivLayerItems[count]);
			var iframe_layer = InstantASP_FindControl(DropDivLayerItems[count] + "_Iframe");
			if (div_layer != null && iframe_layer != null)	{
				iframe_layer.style.display = 'none';
				div_layer.style.display = 'none';
				DropDivLayerItems[count] = '';
				DropDivLayersActive = false;
			}
		}			
	}
}
