
	function GetDHTMLObject(strImgName)
	{
		if(document.getElementById)
			return document.getElementById(strImgName);
		else if(document.all)
			return document.all.item(strImgName);	
		else 
			return null; //document[strImgName];
	}
	
	function ShowHideObject(obj,sDisplay,sVisibility)
	{
		if (obj)
		{
			if (obj.style)
			{
				obj.style.visibility=sVisibility;
				obj.style.display=sDisplay;
			}
		}
	}
		
	function GetDHTMLParentObject(strImgName)
	{
		if (parent==null)return null;
		
		if(document.getElementById)
			return parent.document.getElementById(strImgName);
		else if(document.all)
			return parent.document.all.item(strImgName);	
		else 
			return parent.document[strImgName];
	}
	
	function GetDHTMLParentParentObject(strImgName)
	{
		if (parent.parent==null)return null;
		
		if(document.getElementById)
			return parent.parent.document.getElementById(strImgName);
		else if(document.all)
			return parent.parent.document.all.item(strImgName);	
		else 
			return parent.parent.document[strImgName];
	}
	
	function GetDHTMLTopObject(strImgName)
	{
		if (top==null)return null;
		
		if(document.getElementById)
			return top.document.getElementById(strImgName);
		else if(document.all)
			return top.document.all.item(strImgName);	
		else 
			return top.document[strImgName];
	}
	
	function GetDHTMLFrameObject(strFrame,strImgName)
	{
		var oFrame;
		if (window.frames[strFrame]==null)
			return null;
		else
			oFrame=window.frames[strFrame]
		
		if(document.getElementById)
			return oFrame.document.getElementById(strImgName);
		else if(document.all)
			return oFrame.document.all.item(strImgName);	
		else 
			return oFrame.document[strImgName];
	}
	
	
	//function that prints the page
	function printPage(elem) {
		if (elem.style)elem.style.visibility = "hidden";
		window.print();
		if (elem.style)elem.style.visibility = "visible";
			
	}

function BuildQueryString(form,strIncludeElems) {
	var retval="";
	var arrIncludeNames=strIncludeElems.split(",")
	for (var i=0;i<form.elements.length;i++) 
	{
		var elemName=form.elements[i].name
		var blnExclude=true;
		if (arrIncludeNames.length>0)
		{
			for (var j=0;j<arrIncludeNames.length;j++) 
			{
				if (arrIncludeNames[j].substring(0,1)!="*" && arrIncludeNames[j].substr(arrIncludeNames[j].length-1,1)!="*")
				{
					if (arrIncludeNames[j]==elemName)
					{
						blnExclude=false;
						break;
					}
				}else{
					var evalText
					if (arrIncludeNames[j].substring(0,1)=="*" && arrIncludeNames[j].substr(arrIncludeNames[j].length-1,1)=="*")
					{
						evalText=arrIncludeNames[j].substr(1,arrIncludeNames[j].length-2)
						if (elemName.indexOf(evalText)>-1)
						{
							blnExclude=false;
							break;
						}
					}else if(arrIncludeNames[j].substring(0,1)=="*"){
						evalText=arrIncludeNames[j].substr(1,arrIncludeNames[j].length-1)
						if (evalText==elemName.substring(elemName.length-evalText.length,elemName.length))
						{
							blnExclude=false;
							break;
						}
					}else{
						evalText=arrIncludeNames[j].substr(0,arrIncludeNames[j].length-1)
						if (evalText==elemName.substr(0,evalText.length))
						{
							blnExclude=false;
							break;
						}
						
					}
					
				}
			}
			if (blnExclude)continue;
		}
		switch(form.elements[i].type) {
			case "hidden":
				retval+=((retval=="")?"":"&") + elemName + "=" + form.elements[i].value;
				break;
			case "textarea":
				//same as "text"
			case "text":
				retval+=((retval=="")?"":"&") + elemName + "=" + form.elements[i].value;
				break;

			case "checkbox":
					if (form.elements[i].checked)
					retval+=((retval=="")?"":"&") + elemName + "=" + form.elements[i].value;
				break;

			case "radio":
				//form.elements[i].checked = false;
			break;

			case "select-one":
				if (form.elements[i].selectedIndex>-1 && form.elements[i].options[form.elements[i].selectedIndex].value!="")
					retval+=((retval=="")?"":"&") + elemName + "=" + form.elements[i].options[form.elements[i].selectedIndex].value;
			break;

			case "select-multiple":
				for(var x=0;x<form.elements[i].options.length;x++) {
					//form.elements[i].options[x].selected = false;
				}
			break;
		}
		
	}
	return retval;

}
			
	/**
 * Clear all values in the form.
 */
function ClearForm(form,strExcludeElems) {
	var arrExcludeNames=strExcludeElems.split(",")
	for (var i=0;i<form.elements.length;i++) {
		var elemName=form.elements[i].name
		var blnExclude=false;
		if (arrExcludeNames.length>0)
		{
			for (var j=0;j<arrExcludeNames.length;j++) 
			{
				if (arrExcludeNames[j].substring(0,1)!="*" && arrExcludeNames[j].substr(arrExcludeNames[j].length-1,1)!="*")
				{
					if (arrExcludeNames[j]==elemName)
					{
						blnExclude=true;
						break;
					}
				}else{
					var evalText
					if (arrExcludeNames[j].substring(0,1)=="*" && arrExcludeNames[j].substr(arrExcludeNames[j].length-1,1)=="*")
					{
						evalText=arrExcludeNames[j].substr(1,arrExcludeNames[j].length-2)
						if (elemName.indexOf(evalText)>-1)
						{
							blnExclude=true;
							break;
						}
					}else if(arrExcludeNames[j].substring(0,1)=="*"){
						evalText=arrExcludeNames[j].substr(1,arrExcludeNames[j].length-1)
						if (evalText==elemName.substring(elemName.length-evalText.length,elemName.length))
						{
							blnExclude=true;
							break;
						}
					}else{
						evalText=arrExcludeNames[j].substr(0,arrExcludeNames[j].length-1)
						if (evalText==elemName.substr(0,evalText.length))
						{
							blnExclude=true;
							break;
						}
						
					}
					
				}
			}
			if (blnExclude)continue;
		}
		
		switch(form.elements[i].type) {
			case "hidden":
				//same as "text"
			case "textarea":
				//same as "text"
			case "text":
				form.elements[i].value = "";
			break;

			case "checkbox":
				form.elements[i].checked = false;
			break;

			case "radio":
				form.elements[i].checked = false;
			break;

			case "select-one":
				form.elements[i].selectedIndex = 0;
			break;

			case "select-multiple":
				for(var x=0;x<form.elements[i].options.length;x++) {
					form.elements[i].options[x].selected = false;
				}
			break;
		}
	}
}

function CompareRange(crtl1, crtl2, bAlert, sFriendlyName)
{
	var errMsg="";
	if (Trim(crtl1.value) != '' && Trim(crtl2.value) != '')
		if(!rangeChk(crtl1.value, crtl2.value))
		{
			errMsg='Maximum ' + sFriendlyName + ' Value needs to be greater than Minimum ' + sFriendlyName + ' Value.';
			if (bAlert)
			{
				alert(errMsg);
				event.bubblecancel = true;
				crtl2.focus();
			}
		}
	return errMsg;
}

function RTrim(strToTrim)
{
	var intRef = 0;
	for(var i=strToTrim.length - 1;i>=0;i--)
	{
		if(strToTrim.charAt(i) == " ")
			intRef = i;
		else
			break;
	}

	if(intRef > 0)
		return strToTrim.substring(0, intRef)
	else
		return strToTrim;
}

function LTrim(strToTrim)
{
	var intRef = 10000;
	for(var i=0;i<strToTrim.length;i++)
	{
		if(strToTrim.charAt(i) == " ")
			intRef = i;
		else
			break;
	}
	if(intRef < 10000)
		return strToTrim.substring(intRef + 1, strToTrim.length)
	else
		return strToTrim;
}

function Trim(strToTrim)
{
	return RTrim(LTrim(strToTrim));
}

function rangeChk(val1, val2)
{
	//if ((parseInt(val1) > parseInt(val2)) && parseInt(val2) != 0)
	if (parseInt(val1) > parseInt(val2))
	{
		return false;
	}
	return true;
}

var submitonceTimerId;

function ReplaceWithInactiveButton(obj,dummyId)
{
	if (GetDHTMLObject(obj.id) && GetDHTMLObject(dummyId))
	{
		GetDHTMLObject(obj.id).style.display="none";
		GetDHTMLObject(dummyId).style.visibility="visible";
		setTimeout("RedisplayActiveButton('" + obj.id + "','" + dummyId + "')",4000);
	}
}

function RedisplayActiveButton(objId,dummyId)
{
	GetDHTMLObject(objId).style.display="inline";
	GetDHTMLObject(dummyId).style.visibility="hidden";
}

function TempDisableButton(obj,interval)
{
	obj.disabled=true;
	setTimeout("EnableObject('" + obj.id + "')",interval);
}

function EnableObject(objId)
{
	document.getElementById(objId).disabled=false;
}

function TempHideButton(obj,interval)
{
	obj.disabled=true;
	setTimeout("EnableObject('" + obj.id + "')",interval);
}


function PreventDoubleClick(obj,form)
{
	try
	{
		form.submit();
		TempHideButton(obj,4000);
	}
	catch(e)
	{
		form.submit();
	}
}

function submitonce(theform)
{
	if (document.all||document.getElementById) 
	{
		for (i=0;i<theform.length;i++) 
		{
			var tempobj=theform.elements[i]
			if(tempobj.type.toLowerCase()=="submit"||tempobj.type.toLowerCase()=="reset"||tempobj.type.toLowerCase()=="image")
			{
				TempDisableButton(tempobj,5000);
			}
		}
		return true;
	}
	else
		return false;
}	




