//~~~~Button Style Constants~~~~~~~~
var defBorderDark   = "THREEDDARKSHADOW";
var defBorderLight  = "THREEDHIGHLIGHT";
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
var appRoot;

function handlePostBack(ctl)
{
	__doPostBack(ctl.id, "");
}
function safeEncode(txtCtl)
{
	var sVal = txtCtl.value;
	txtCtl.value = sVal.replace(/</g, "").replace(/>/g, "");
}
function htmEncode(txtCtl)
{
	var sVal = txtCtl.value;
	txtCtl.value = sVal.replace(/</g, '{').replace(/>/g, '}');
}
function SetImgButton(obj, bDisabled)
{
	// Enables or Disables an Image Button element
	// and changes the button's Image as appropriate.
	try
	{
		obj.disabled = bDisabled;
		var srcStr = obj.src;
		if (bDisabled == true)
		{
			// Disable the button
			if (srcStr.indexOf("_disabled.") < 0)
			{
				obj.src = srcStr.replace(".", "_disabled.");
			}
		}
		else
		{
			// Activate the button
			if (srcStr.indexOf("_disabled.") > 0)
			{
				obj.src = srcStr.replace("_disabled.", ".");
			}
		}
	}
	catch (e)
	{
	}
}
function SetButton(obj, bDisabled)
{
	// Enables or Disables a BUTTON element
	// and changes the button's Image as appropriate.
	try {
		if(bDisabled==true) BtnRestore(obj);
		obj.disabled = bDisabled;
		if(obj.children.length > 0)
		{
			var srcStr = obj.firstChild.src;
			if(bDisabled==true)
			{
				// Disable the button
				if(srcStr.indexOf("_disabled.gif") < 0)
				{
					srcStr = srcStr.replace(".gif", "_disabled.gif");
					obj.firstChild.src = srcStr;
				}
			}
			else
			{
				// Activate the button
				if(srcStr.indexOf("_disabled.gif")>0)
				{
					srcStr = srcStr.replace("_disabled.gif", ".gif");
					obj.firstChild.src = srcStr;
				}
			}
		}
	}
	catch(e) {
	}
}
function BtnHilite(oCtl)
{
	if(!oCtl.disabled)
	{
		oCtl.runtimeStyle.borderRightColor  = defBorderDark;
		oCtl.runtimeStyle.borderBottomColor = defBorderDark;
		oCtl.runtimeStyle.borderLeftColor   = defBorderLight;
		oCtl.runtimeStyle.borderTopColor    = defBorderLight;
	}
}
function BtnRestore(oCtl)
{
	oCtl.runtimeStyle.borderColor = "";
	oCtl.runtimeStyle.backgroundColor = "";
}
function MakeLong(iVal)
{
	var iRetVal=0;
	try {
		if (!isNaN(parseInt(iVal)))
		{
			iRetVal = parseInt(iVal);
		}
	}
	catch(e) {
		iRetVal=0;
	}
	return iRetVal;
}
function MakeString(strInput)
{
	var sRetVal="";
	try {
		sRetVal = strInput.toString();
		}
	catch(e) {
		sRetVal="";
	}
	return sRetVal;
}
function MakeBoolean(iVal)
{
	var bRetVal=false;
	try {
		var sTmp = MakeString(iVal).toUpperCase;
		if (sTmp.length > 0)
		{
			if (!isNaN(parseInt(sTmp)))
			{
				if (parseInt(sTmp)!=0)
					bRetVal=true;
			}
			else
			{
				if ((sTmp=="TRUE") || (sTmp=="Y") || (sTmp=="YES"))
					bRetVal=true;
			}
		}
	}
	catch(e) {
		bRetVal=false;
	}
	return bRetVal;
}
function ElementExists(elementID)
{
	var bRetVal=false;
	var sTag="";
	try {
		sTag = document.all(elementID).tagName
		if (sTag.length > 0)
			bRetVal=true;
	}
	catch(e) {
		bRetVal=false;
	}
	return bRetVal;
}
function PopupCoords(left, top)
{
	this.left = left;
	this.top = top;
}
function CalcPopupCoords(el, objPopupCoords)
{
	var iDiff=0;
	GetLeftTop(el, objPopupCoords);
	iDiff = (window.event.clientX - objPopupCoords.left);
	objPopupCoords.left = (window.event.screenX - iDiff) - document.body.scrollLeft;
	iDiff = (window.event.clientY - objPopupCoords.top);
	objPopupCoords.top  = ((window.event.screenY - iDiff) + el.offsetHeight) - document.body.scrollTop;
}
function GetLeftTop(AnObject, objPopupCoords)
{
	try {
		var oParent=null;
		objPopupCoords.left = AnObject.offsetLeft;
		objPopupCoords.top = AnObject.offsetTop;
		oParent = AnObject.offsetParent;
		while (oParent!=null)
		{
			objPopupCoords.left += oParent.offsetLeft;
			objPopupCoords.top += oParent.offsetTop;
			oParent = oParent.offsetParent;
		}
	}
	catch(e) {
	}
}
function SetComboIndex(id, cboCtl)
{
	var opt;
	try {
		var val = MakeString(id).toLowerCase();
		for (opt in cboCtl.options)
		{
			if (MakeString(opt.Value).toLowerCase == val)
			{
				opt.Selected = true;
				break;
			}
		}
	}
	catch(e) {
	}
}

function ClearAllOptions(ctl)
{
	var bRetVal=false;
	var el;
	try {
		for (el in ctl.options)
			ctl.Remove(el.Index);
		bRetVal = (ctl.options.length=0) ? true : false;
	}
	catch(e) {
		bRetVal=false;
	}
	return bRetVal;
}
function AddOption(sTxt, sVal, ctl)
{
	try {
		var el = document.createElement("OPTION");
		el.innerText = sTxt;
		el.value = sVal;
		ctl.appendChild(el);
		return el;
	}
	catch(e) {
	}
}


