// lets define the browser we have instead of multiple calls throughout the file
var userAgent = navigator.userAgent.toLowerCase();
var is_opera  = (userAgent.indexOf('opera') != -1);
var is_saf    = ((userAgent.indexOf('applewebkit') != -1) || (navigator.vendor == "Apple Computer, Inc."));
var is_webtv  = (userAgent.indexOf('webtv') != -1);
var is_ie     = ((userAgent.indexOf('msie') != -1) && (!is_opera) && (!is_saf) && (!is_webtv));
var is_ie4    = ((is_ie) && (userAgent.indexOf("msie 4.") != -1));
var is_moz    = ((navigator.product == 'Gecko') && (!is_saf));
var is_kon    = (userAgent.indexOf('konqueror') != -1);
var is_ns     = ((userAgent.indexOf('compatible') == -1) && (userAgent.indexOf('mozilla') != -1) && (!is_opera) && (!is_webtv) && (!is_saf));
var is_ns4    = ((is_ns) && (parseInt(navigator.appVersion) == 4));

// catch possible bugs with WebTV and other older browsers
var is_regexp = (window.RegExp) ? true : false;

var slidetimer = false;


// let's find out what DOM functions we can use
var vbDOMtype = '';
if (document.getElementById)
{
	vbDOMtype = "std";
}
else if (document.all)
{
	vbDOMtype = "ie4";
}
else if (document.layers)
{
	vbDOMtype = "ns4";
}


function hf_findASPNETControl(strObjectName) 
{	
	var strObjectOutput;		
	tbodies = document.getElementsByTagName("body");	
	for (var i = 0; i < tbodies.length; i++)
	{
		if (tbodies[i].id.indexOf(strObjectName) > 0) {
		strObjectOutput = tbodies[i];
		}
	}		
	return strObjectOutput;	
}

function hf_returnObjRef(objName) 
{

	var objReturn = '';
		if (is_ie || is_ns)
		{
			objReturn = document.getElementById(objName);
			if (!objReturn) {
				objReturn = document.getElementById(hf_findASPNETControl(objName));
			}
		}
		else if (is_ie || is_opera)
		{
			objReturn = document.all[objName];
			if (!objReturn) {
				objReturn = document.all[hf_findASPNETControl(objName)];
			}
		}
		else if (is_ns4)
		{
			objReturn = document.layers[objName];
			if (!objReturn) {
				objReturn = document.layers[hf_findASPNETControl(objName)];
			}
		}
	return objReturn
}

function hf_findASPNETControl(strObjectName,strControl) 
{	
	var strObjectOutput;	
	control = document.getElementsByTagName(strControl);	
	for (var i = 0; i < control.length; i++)
	{
		if (control[i].id.indexOf(strObjectName) > 0) {
			strObjectOutput = control[i];
		}
	}	
	return strObjectOutput;	
}

function hf_findASPNETTextBox(strObjectName) 
{	
	var strObjectOutput;	
	tbodies = document.getElementsByTagName("input");	
	for (var i = 0; i < tbodies.length; i++)
	{
		if (tbodies[i].id.indexOf(strObjectName) > 0) {
			strObjectOutput = tbodies[i];
		}
	}	
	return strObjectOutput;	
}
function findASPNETTextBox(source,strObjectName) 
{               
        var strObjectOutput;
        var tbodies = source.getElementsByTagName("input");						
        for (var i = 0; i < tbodies.length; i++)
        {			    					         
	        if (tbodies[i].id == strObjectName) 
	        {
	            strObjectOutput = tbodies[i];
	        }
        }						
    return strObjectOutput;
}
function hf_findASPNETImage(strObjectName) 
{	
	var strObjectOutput;	
	tbodies = document.getElementsByTagName("img");	
	for (var i = 0; i < tbodies.length; i++)
	{
		if (tbodies[i].id.indexOf(strObjectName) > 0) {
			strObjectOutput = tbodies[i];
		}
	}	
	return strObjectOutput;	
}

function hf_findASPNETDrowpDownList(strObjectName) 
{	
	var strObjectOutput;	
	tbodies = document.getElementsByTagName("select");	
	for (var i = 0; i < tbodies.length; i++)
	{
		if (tbodies[i].id.indexOf(strObjectName) > 0) {			
			strObjectOutput = tbodies[i];
		}
	}	
	return strObjectOutput;	
}

function hf_slideMenu_left(menuid, intervalX, intervalY, clipX, clipY, opacity)
{
	var menuobj = hf_returnObjRef(menuid);
	var fade = false;
	
	if (clipX < menuobj.offsetWidth || clipY < menuobj.offsetHeight)
	{
		if (is_ie && fade)
		{
			opacity += 10;
			menuobj.filters.item('DXImageTransform.Microsoft.alpha').opacity = opacity;
		}
		clipX += intervalX;
		clipY += intervalY;
		//menuobj.style.clip = "rect(auto, " + clipX + "px, " + clipY + "px, auto)";
		menuobj.style.clip = "rect(auto, " + clipX + "px, auto, auto)";
		slidetimer = setTimeout("hf_slideMenu_left('" + menuid + "', " + intervalX + ", " + intervalY + ", " + clipX + ", " + clipY + ", " + opacity + ");", 0);
	}
	else
	{
		clearTimeout(slidetimer);
	}
}

function showMenu(menuid)
{

	var menuobj = hf_returnObjRef(menuid);
	
	if (menuobj.style.display == "none")
	{
		menuobj.style.display = "";
		
		if (is_ie)
		{		
			//menuobj.style.filter += "progid:DXImageTransform.Microsoft.alpha(enabled=1,opacity=100)";
			menuobj.style.filter += "progid:DXImageTransform.Microsoft.shadow(direction=135,color=#8E8E8E,strength=2)";

		}
		
		var intervalX = Math.ceil(menuobj.offsetWidth / 10);
		var intervalY = Math.ceil(menuobj.offsetHeight / 10);
		
		menuobj.style.clip = "rect(auto, 0px, 0px, auto)";
		hf_slideMenu_left(menuid, intervalX, intervalY, 0, 0, 0);

	}
	else
	{
		menuobj.style.display = "none";	
	}
}

function hideMnu(menuid)
{
	var menuobj = hf_returnObjRef(menuid);
	if (menuobj.style.display == "")
	{
		menuobj.style.display = "none";
	}	
}

function fetch_object_postop(elm)
{
	var top = elm.offsetTop;
	while((elm = elm.offsetParent) != null)
	{
		top += elm.offsetTop;
	}
	return top;
}

function fetch_object_posleft(elm)
{
	var left = elm.offsetLeft;
	while((elm = elm.offsetParent) != null)
	{
		left += elm.offsetLeft;
	}
	return left;
}

function hf_toggleDisplay(objName)
{    
	obj = hf_returnObjRef(objName);
	if (obj.style.display == "none")
	{
		obj.style.display = "";		
	}
	else
	{
		obj.style.display = "none";		
	}
	return false;
}

function hf_toggleDisplay(objName,bShow)
{
	obj = hf_returnObjRef(objName);
	if (bShow)
	{
		obj.style.display = "";
	}
	else
	{
		obj.style.display = "none";
	}
	return false;
}
function swapImage_Plus_Minus(_objImg)
{
	objImg= document.getElementById(_objImg);
	arrStr = objImg.src.split('/');
	switch(arrStr[arrStr.length-1])
	{
		case 'plus.gif' : objImg.src = 'src/img/minus.gif';
			break;
		case 'minus.gif' : objImg.src = 'src/img/plus.gif';
			break;			 
	}
}
function OpenModal( url , width , height , style , caller) 
{ var d = new Date(); 
    if ( url.indexOf( "?" ) == -1 ) 
        url += "?random=" + d ; else url += "&random=" + d ; 
        var s = ""; 
        if ( width > 0 ) 
            s += ";dialogWidth:" + width +" px"; 
            if ( height > 0 ) 
            s += ";dialogHeight:" + height + " px" ; 
            if ( style.length > 0 ) 
            s += "; resizable:no;status:no; " + style ; 
            if (caller) 
            { return window.showModalDialog( url , caller, "unadorned:on ; center:yes; edge:sunken ; " + s ); } 
            else 
            { return window.showModalDialog( url , this, "unadorned:on ; center:yes; edge:sunken ; " + s ); } 
}



