var blnRefreshWindow = false;

function windowIsOpen(objWindow)
{
	var blnIsOpen = false;
	
	if (typeof(objWindow)=='object') {
		if (!objWindow.closed) {
			blnIsOpen = true;
		}
	}
	return blnIsOpen;
}


function setOpenerRefresh()
{
	if (windowIsOpen(parent.opener)) {
		parent.opener.blnRefreshWindow = true;
	}
}

function focusOpener()
{
	if (windowIsOpen(parent.opener)) {
		parent.opener.focus();
	}
}

function refreshOpener(blnCloseMe)
{
	var blnExists = false;
	
	if (windowIsOpen(parent.opener)) {
	 	if (parent.opener.blnRefreshWindow==true) {
			parent.opener.location.reload();
			parent.opener.focus();
		} else {
			blnCloseMe = false;
		}
		blnExists = true;
	}

	if (blnCloseMe==true) window.close(self);
}


function focusPopup(objPopup,theURL,winName,features,width,height)
{
	var blnIsOpen = true;
	if (typeof(objPopup) != 'object') {
		blnIsOpen = false;
	} else if (objPopup.closed) {
		blnIsOpen = false;
	}
	if (blnIsOpen== false) {
		objPopup = returnPopup(theURL,winName,features,width,height);
	}
	 objPopup.focus();
	 return objPopup;
}

function openPopup(theURL,winName,features,width,height)
{
	var winWidth	= width;
	var winHeight	= height;
	var strWinSize	= ",width=" + winWidth + ",height=" + winHeight;

	if (window.screen) {
		var winPosL = (screen.availWidth - winWidth) / 2;
		var winPosT = (screen.availHeight - winHeight) / 2;
		strWinSize += ",left=" + winPosL + ",screenX=" + winPosL + ",top=" + winPosT + ",screenY=" + winPosT;
	}	
	
	window.open(theURL,winName,features + strWinSize);
 	}

function returnPopup(theURL,winName,features,width,height)
{
	var winWidth	= width;
	var winHeight	= height;
	var strWinSize	= ",width=" + winWidth + ",height=" + winHeight;

	if (window.screen) {
		var winPosL = (screen.availWidth - winWidth) / 2;
		var winPosT = (screen.availHeight - winHeight) / 2;
		strWinSize += ",left=" + winPosL + ",screenX=" + winPosL + ",top=" + winPosT + ",screenY=" + winPosT;
	}	
	
	return window.open(theURL,winName,features + strWinSize);
 	}

function closePopup() {
	window.close(self);
}

//begin helpers for wiring-up event handlers
function addEventHandler_OnLoad(oFunc)
{
	var oldHandler = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = oFunc;
	} else {
		window.onload = function() {
			oldHandler();
			oFunc();
		}
	}
}

function addEventHandler_OnUnload(oFunc)
{
	var oldHandler = window.onunload;
	if (typeof window.onunload != 'function') {
		window.onunload = oFunc;
	} else {
		window.onunload = function() {
			oldHandler();
			oFunc();
		}
	}
}

function addEventHandler_OnLoadAndUnload(oFunc)
{
	addEventHandler_OnLoad(oFunc);
	addEventHandler_OnUnload(oFunc);
}

function addEventHandler_OnSubmit(oForm,oFunc)
{
	var oldHandler = oForm.onsubmit;
	if (typeof oForm.onsubmit != 'function') {
		oForm.onsubmit = oFunc;
	} else {
		oForm.onsubmit = function() {
			oldHandler();
			oFunc();
		}
	}
}

//misc functions
function ul_onclick(jsObj)
{
   var i;
   var style;
  
   for (i = 0; i < jsObj.children.length; i++)
   {
       style = jsObj.children[i].style;
       if (style.display == "none")
       {
           style.display = "";
       }
       else
       {
           style.display = "none";
       }
   } 
}

function verifyMsg(jsStrURL, jsStrMsg) 
{
	if (confirm (jsStrMsg)) 
	{		
		this.window.location=jsStrURL;
		return true;
	}
}

function buildHumanSQL(objElement, strHeadline) {

	var inputLocal	= objElement;
	var strSQLHuman	= '<b>' + strHeadline + '</b>\n';
		strSQLHuman	+='<ul>\n';
	
	if (inputLocal) {
		var len = inputLocal.length;
		var i=0;
		for (i=0 ; i<len ; i++) {
		
			if (inputLocal.options[i].selected) {
			
				strSQLHuman += '<li>' + inputLocal.options[i].text + '<br></li>\n';
			}
		}
	}
	
	strSQLHuman += '</ul>'
	objElement.form.txt_sqlHuman.value = strSQLHuman;
	return true;
}

function getkey(e) {
	if (window.event)
	   return window.event.keyCode;
	else if (e)
	   return e.which;
	else
	   return null;
}

function isSelected(objSelect) {

	var len = objSelect.length;
	var i=0;
	for (i=0 ; i<len ; i++) {
	
		if (objSelect.options[i].selected) {
		
			return true;
		}
	}
}

function isChecked(objCheckbox) {

	var len = objCheckbox.length;
	var i=0;
	if (len > 0) {
		for (i=0 ; i<len ; i++) {
			
			if (objCheckbox[i].checked) {
			
				return true;
			}
		}
	} else {
		return objCheckbox.checked
	}
}

function CheckALL(objCheckbox)
{
	if(objCheckbox)
	{
		var len = objCheckbox.length;
		if(!len)
			objCheckbox.checked=true;
		else
		{
			var i=0;
			for (i=0 ; i<len ; i++)
				objCheckbox[i].checked=true;
		}
	}
}

function UnCheckALL(objCheckbox)
{
	if(objCheckbox)
	{
		var len = objCheckbox.length;
		if(!len)
			objCheckbox.checked=false;
		else
		{
			var i=0;
			for (i=0 ; i<len ; i++)
				objCheckbox[i].checked=false;
		}
	}
}

function toggleDisplayBySelectedOption(selectElement,toggleOnValue,targetId)
{
	var targetElement = document.getElementById(targetId);
	if(targetElement&&selectElement.options) {
		if(selectElement.options[selectElement.selectedIndex].value==toggleOnValue) {
			targetElement.style.display = "";
			return true;
		} else {
			targetElement.style.display = "none";
			return false;
		}
	}
}

function toggleEnabledBySelectedOption(selectElement,toggleOnValue,targetElement)
{
	if(targetElement&&selectElement.options) {
		if(selectElement.options[selectElement.selectedIndex].value==toggleOnValue) {
			targetElement.disabled = false;
			return true;
		} else {
			targetElement.disabled = true;
			return false;
		}
	}
}

//Site-specific functions
function SendMailToKen()
{
	var axel = Math.random()+'';
	var num = axel * 1000000000000000000;

	var spotpix = new Image();
	spotpix.onload = function(){location.href='mailto:ken@ceebeescitrus.com';};
	spotpix.onerror = spotpix.onload;
	spotpix.src = 'http://ad.doubleclick.net/activity;src=806606;type=fundr904;cat=fundr563;ord=1;num='+num+'?';
	
	return false;
}