//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// check-list functions
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function CheckALL(objCheckbox)
{
	if (objCheckbox)
	{
		var len = objCheckbox.length;
		
		if (len > 0)
		{
			var i=0;
			for (i=0 ; i<len ; i++)
			{
				objCheckbox[i].checked=true;
			}
		} else {
			objCheckbox.checked=true;
		}
	}
	return false;
}

function UnCheckALL(objCheckbox)
{
	if (objCheckbox)
	{
		var len = objCheckbox.length;
		
		if (len > 0)
		{
			var i=0;
			for (i=0 ; i<len ; i++)
			{
				objCheckbox[i].checked=false;
			}
		} else {
			objCheckbox.checked=false;
		}
	}
	return false;
}

//form functions
function getkey(e) {
	if (window.event)
	   return window.event.keyCode;
	else if (e)
	   return e.which;
	else
	   return null;
}


function textTrimmer(field,maxlimit) {

	if (field.value.length > maxlimit) {
		// if too long trim it
  		field.value = field.value.substring(0, maxlimit);
	}

}

function textCounter(field,cntfield,maxlimit) {

	if (field.value.length > maxlimit) // if too long trim it!
   		field.value = field.value.substring(0, maxlimit);
		// otherwise, update 'characters left' counter
	else
   		cntfield.value = maxlimit - field.value.length;
}

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 closePopup() {
	window.close(self);
}

function raiseAlert(id, message)
{
	if((document.cookie)&&(document.cookie.toString().indexOf(id)<0))
	{
		document.cookie = 'AlertID='+id;
		alert(message);
	}
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
// 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();
		}
	}
}