var exclude=1;
var agt=navigator.userAgent.toLowerCase();
var win=0;var mac=0;var lin=1;
if(agt.indexOf('win')!=-1){win=1;lin=0;}
if(agt.indexOf('mac')!=-1){mac=1;lin=0;}
var lnx=0;if(lin){lnx=1;}
var ice=0;
var ie=0;var ie4=0;var ie5=0;var ie6=0;var com=0;var dcm;
var op5=0;var op6=0;var op7=0;
var ns4=0;var ns6=0;var ns7=0;var mz7=0;var kde=0;var saf=0;

if(typeof navigator.vendor!="undefined" && navigator.vendor=="KDE")
{
	var thisKDE=agt;
	var splitKDE=thisKDE.split("konqueror/");
	var aKDE=splitKDE[1].split("; ");
	var KDEn=parseFloat(aKDE[0]);
	if(KDEn>=2.2)
	{
		kde=1;
		ns6=1;
		exclude=0;
	}
}
else if(agt.indexOf('webtv')!=-1){exclude=1;}
else if(typeof window.opera!="undefined")
{
	exclude=0;
	if(/opera[\/ ][5]/.test(agt)){op5=1;}
	if(/opera[\/ ][6]/.test(agt)){op6=1;}
	if(/opera[\/ ][7-9]/.test(agt)){op7=1;}
}
else if(typeof document.all!="undefined"&&!kde)
{
	exclude=0;
	ie=1;
	if(typeof document.getElementById!="undefined")
	{
		ie5=1;
		if(agt.indexOf("msie 6")!=-1)
		{
			ie6=1;
			dcm=document.compatMode;
			if(dcm!="BackCompat"){com=1;}
		}
	}
	else{ie4=1;}
}
else if(typeof document.getElementById!="undefined")
{
	exclude=0;
	if(agt.indexOf("netscape/6")!=-1||agt.indexOf("netscape6")!=-1){ns6=1;}
	else if(agt.indexOf("netscape/7")!=-1||agt.indexOf("netscape7")!=-1){ns6=1;ns7=1;}
	else if(agt.indexOf("gecko")!=-1){ns6=1;mz7=1;}
	if(agt.indexOf("safari")!=-1 || (typeof document.childNodes!="undefined" && typeof document.all=="undefined" && typeof navigator.taintEnabled=="undefined")){mz7=0;ns6=1;saf=1;}
}
else if((agt.indexOf('mozilla')!=-1)&&(parseInt(navigator.appVersion)>=4))
{
	exclude=0;
	ns4=1;
	if(typeof navigator.mimeTypes['*']=="undefined")
	{
		exclude=1;
		ns4=0;
	}
}
if(agt.indexOf('escape')!=-1){exclude=1;ns4=0;}
if(typeof navigator.__ice_version!="undefined"){exclude=1;ie4=0;}

var menuLocation = "";
var strMainMenuOver = "";
var strMainMenuSet = "";
var intMenuOnCounter = 0;
var bolCanHideMenu = true;
var rolloutMenuWidth = 132;
var menuInitialized = false;

function MM_swapImgRestore() 
{ //v3.0
  //alert('swapImgRestore()');
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
  /*MM_menuRollout(x.name);*/
}

function MM_preloadImages() 
{ //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) 
{ //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImage() 
{ //v3.0
 /*alert('swapImage(), strMainMenuOver = ' + strMainMenuOver);*/
  if(strMainMenuOver != "" && document.MM_sr) {x=document.MM_sr[0];x.src=x.oSrc;}
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
  MM_menuRollover(x.name);
}

function getElementSafe(id)
{
	var retval;
	if(document.getElementById)
	{
		retval = document.getElementById(id);
	}
	else if(document.all)
	{
		retval = document.all[id];
	}
	else if(document.layers)
	{
		retval = document.layers[id];
	}
	return retval;
}

function MM_menuRollover(strMenu)
{
	if(menuInitialized)
	{
		/*alert('menuRollover(' + strMenu + ')');*/
		bolCanHideMenu = false;
		strMainMenuSet = strMenu;
		
		if(strMainMenuOver != "" && strMainMenuOver != strMenu)
		{
			/*alert('strMainMenuOver = ' + strMainMenuOver);*/
			mainMenuOff(strMainMenuOver);
		}

		var objDiv;
		objDiv = getElementSafe('navigation_menu_rollover_SUBMENU_'+ strMenu);
		if (objDiv && objDiv.style)	
		{
			objDiv.style.visibility = "visible";
			strMainMenuOver = strMenu; // set the main menu over
		}
		else
		{
			/*alert('menu was not found');*/
			strMainMenuOver = "";
		}
	}
}

function MM_menuRollout(strMenu)
{
	/*alert('MM_menuRollout(' + strMenu + ')');
	alert('strMainMenuOver = ' + strMainMenuOver);*/
	if(strMainMenuOver == "")
		MM_swapImgRestore();
	bolCanHideMenu = true;
}

function mainMenuOff(menuOff)
{
	var objDiv;
	objDiv = getElementSafe('navigation_menu_rollover_SUBMENU_'+ menuOff);
	if (objDiv && objDiv.style)
	{
		objDiv.style.visibility="hidden";
	}
	strMainMenuOver = "";
	intMenuOnCounter = 0;
}


function subMenuRollOver(intMenuItem)
{
	bolCanHideMenu = false;
}

function subMenuRollOut(intMenuItem)
{
	bolCanHideMenu = true;
	intMenuOnCounter = 0;
}

function checkMenus()
{
	if((strMainMenuOver != "") && (bolCanHideMenu == true))
	{
		intMenuOnCounter = intMenuOnCounter + 1;
		if(intMenuOnCounter > 15)
		{
			mainMenuOff(strMainMenuOver);
			var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
		}
	}
}

window.setInterval("checkMenus()", 50);

function goSearch(appPath, keyfilter)
{
	if(keyfilter == true)
	{
		 if (event.keyCode != 13)
			return;
		event.returnValue=false;
	}
	if (document.forms[0].elements["keywords"].value != "")
	{
		document.location = appPath + "/SearchResults.aspx?searchString=" + document.forms[0].elements["keywords"].value;
	}
}

function resetMenuCoordinates()
{
	if(typeof(menunames) != 'undefined')
	{
		for(i=0;i<menunames.length;i++)
		{
			var rolloutMenuDiv = getElementSafe('navigation_menu_rollover_SUBMENU_' + menunames[i]);
			var imageThing = getElementSafe('Home');
			if(imageThing == null)
				imageThing = getElementSafe('navigation_Home');
			if(imageThing != null && rolloutMenuDiv != null)
			{
				rolloutMenuDiv.style.top = imageThing.offsetTop + imageThing.offsetHeight;
				rolloutMenuDiv.style.left = imageThing.offsetLeft;
			}
		}
		if(resizeFunc != null)
			resizeFunc.call();
	}
}

var resizeFunc = null;
function setupMenuPositioning()
{
	if(window.onresize != null)
		resizeFunc = window.onresize;
	
	window.onresize = resetMenuCoordinates;
	resetMenuCoordinates();
	menuInitialized = true;
}

function popUp(url, width, height, menubar, name, top, left) 
{
	var strName
	if(!top)
	{
		if(height)
			top = (screen.height / 2 - height / 2);
		else
			top = 50;
	}
	if(!left)
	{
		if(width)
			left = (screen.width / 2 - width / 2);
		else
			left = 100;
	}
	if(name) strName = name; else strName = "popup"
	if(menubar)
		window.open(url,strName,'toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,copyhistory=yes,left=' + left + ',top=' + top + ',width=' + width + ',height=' + height);
	else
	{
		window.open(url,strName,'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,left=' + left + ',top=' + top + ',width=' + width + ',height=' + height);
	}
}

function popUpDrilldown(url,name, width, height)
{
	if (width == null)
		width = 800;
	if (height == null)
		height = 600;
	popUp(url, width, height, false, name);
}

function popUpConfirmation(url,name)
{
	popUp(url, 360, 240, false, name);
}

function popUpLookup(url,hiddenName)
{
	var retVal = false;
	var returnId = "";
	returnId = window.showModalDialog(url,'','dialogHeight:400px;dialogWidth:500px');
	if(returnId != "" && returnId != undefined)
	{
		var hiddenField = document.getElementById(hiddenName);
		hiddenField.value = returnId;
		retVal = true;
	}
	return(retVal);
}

function popUpCalendar(formName, controlName)
{
	popUp('<%=ResolveUrl("~/Controls/CalendarPopup.aspx")%>?form=' + formName + '&field=' + controlName + '&setday=' + document.forms[formName].elements[controlName].value, 210, 180, false, 'calPopup');
}

var ctrlPressed=0;
var altPressed=0;
var shiftPressed=0;
function mouseDown(e)
{
	if (parseInt(navigator.appVersion)>3)
	{
		if (navigator.appName=="Netscape") 
		{
			if(parseInt(navigator.appVersion) < 5)
			{
				var mString = (e.modifiers+32).toString(2).substring(3,6);
				shiftPressed = (mString.charAt(0)=="1");
				ctrlPressed = (mString.charAt(1)=="1");
				altPressed  = (mString.charAt(2)=="1");
			}
			else
			{
				shiftPressed = e.shiftKey;
				altPressed = e.altKey;
				ctrlPressed = e.ctrlKey;
			}
		}
		else
		{
			shiftPressed = event.shiftKey;
			altPressed  = event.altKey;
			ctrlPressed = event.ctrlKey;
		}
	}
	return true;
}

if (parseInt(navigator.appVersion)>3)
{
	document.onmousedown = mouseDown;
	if (navigator.appName=="Netscape") 
		document.captureEvents(Event.MOUSEDOWN);
}



/* for Dev purposes */
function showWidth(control)
{
	alert('width  = ' + control.offsetWidth);
}
function showHeight(control)
{
	alert('height  = ' + control.offsetHeight);
}

var isNN = (navigator.appName.indexOf("Netscape")!=-1);

function autoTab(input,len, e) 
{
    var keyCode = (isNN) ? e.which : e.keyCode; 
    var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];

    
    
    if(input.value.length >= len && !containsElement(filter,keyCode))
    {
        
        input.value = input.value.slice(0, len);
        nextControl = input.form[(getIndex(input)+1) % input.form.length]
        nextControl.focus();
        nextControl.select();
    }

    function containsElement(arr, ele) 
    {
    var found = false, index = 0;
    while(!found && index < arr.length)
        if(arr[index] == ele)
        {
            found = true;
        }else{
            index++;
        }
    return found;
    }

  function getIndex(input) 
  {
    var index = -1, i = 0, found = false;
    while (i < input.form.length && index == -1)
        if (input.form[i] == input){index = i;}else{ i++;}
        
        return index;
  }
  return true;
}

function resizeDivs()
{
    if (!ie)
    {
        var total = pageHeaderHeight + 
            gutterCurveTopHeight + 
            listToolbarHeight +
            listFooterHeight + 
            pageFooterHeight + 
            bottomMargin;
        resetDivHeight('contentDiv',total);
    }
    
}

function resetDivHeight(divName, lessHeight)
{
	var divElement = getElementSafe(divName);
	if(!divElement)
		alert('could not find ' + divName);
	var divHeight = document.documentElement.clientHeight - lessHeight;
	//alert(divHeight)
	divElement.style.height = divHeight;
}

//
// Adds event to window.onload without overwriting currently 
// assigned onload functions.
function addLoadEvent(func)
{    
    var oldonload = window.onload;
    if (typeof window.onload != 'function')
    {
        window.onload = func;
    } 
    else 
    {
        window.onload = function()
        {
            oldonload();
            func();
        }
    }
}

// populates form elements default values
function defaultValue(frmElement,val)
{
	if(frmElement)
	{
		if(frmElement.type=="text"||frmElement.type=="hidden"||frmElement.type=="password"){
			frmElement.value = val;
		}else{

			// single checkbox
			if(frmElement.length==undefined)
			{
				if (frmElement.type=="checkbox"){
					optionValue = String(frmElement.value)
					optionValue = optionValue.toLowerCase()
					targetValue = String(val)
					targetValue = targetValue.toLowerCase()
					if (optionValue == targetValue){		
						frmElement.checked = true;
					}
				}	
			}
			// itemarrays
			for(i=0;i<frmElement.length;i++)
			{
				optionValue = String(frmElement[i].value)
				optionValue = optionValue.toLowerCase()
			
				targetValue = String(val)
				targetValue = targetValue.toLowerCase()
				//alert(optionValue + ':' + targetValue)

				if (optionValue == targetValue){
					if(frmElement.type=="select-one"){
						frmElement.selectedIndex = i;
					}else if (frmElement.type=="select-multiple"){
						frmElement[i].selected = true;
					}else if (frmElement[i].type=="radio"){
						frmElement[i].checked = true;
					}else if (frmElement[i].type=="checkbox"){
						frmElement[i].checked = true;	
					}
				}
			}
		}
	} else {
		alert('form element not found:'+ val)
	}
}
function setMaxLength(obj,maxCharCount)
{
    alert(obj)
    if(obj.value.length > maxCharCount)
    {
        obj.value = obj.value.substring(0,maxCharCount);
        alert(" Only " + maxCharCount + " chars allowed");
    }
}

var pageHeaderHeight = 63;
var gutterCurveTopHeight = 30;
var searchBarAreaHeight = 33;
var listToolbarHeaderHeight = 38;
var listToolbarHeight = 34;
var listColumnHeight = 21;
var listPageTable = 21;
var listFooterHeight = 12;
var pageFooterHeight = 46;
var bottomMargin = 17; // offset by 7 for firefox
