//
//	Standard JS functions library 
//
//	Created 3/2/2009
//	SGW
//////////////////////////////////////////////////////////

// TRIM Functions
// WhiteSpace (tabs, spaces, carriage returns)
function ltrimWhiteSpace(str){
	return str.replace(/^\s+/, '');
}
function rtrimWhitSpace(str) {
	return str.replace(/\s+$/, '');
}
function alltrimWhiteSpace(str) {
	return str.replace(/^\s+|\s+$/g, '');
}
// trailing Comma
function rtrimComma(str) {
	return str.replace(/\,$/,'');
}
// Check existence of Object by ID
function chkObject(obj) { 
	if (document.getElementById(obj)){ 
		return true; 
	} else { 
		return false; 
	} 
} 
// Get value of URL variable by name
function getURLVar(urlVarName) {
	//divide the URL in half at the '?' 
	var urlHalves = String(document.location).split('?');
	var urlVarValue = '';
	if(urlHalves[1]){
		//load all the name/value pairs into an array 
		var urlVars = urlHalves[1].split('&');
		//loop over the list, and find the specified url variable 
		for(i=0; i<=(urlVars.length); i++){
			if(urlVars[i]){
				//load the name/value pair into an array 
				var urlVarPair = urlVars[i].split('=');
				if (urlVarPair[0] && urlVarPair[0] == urlVarName) {
					//I found a variable that matches, load it's value into the return variable 
					urlVarValue = urlVarPair[1];
				}
			}
		}
	}
	return urlVarValue;   
}
// Toggles display setting of a child element between "block" and "none"
function toggleChild (entry)
{   
	if (entry.style.display == 'none'){
		entry.style.display = 'block';
		return;
	} else {
		entry.style.display = 'none';
		return;
	}		
}
// Writes Date in format "Day, Month XX, YYYY"
function writeDate() {
	now = new Date();
	days = new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
	months = new Array('January','February','March','April','May','June','July','August','September','October','November','December');
	date = ((now.getDate()<10) ? "0" : "")+ now.getDate();
	today =  days[now.getDay()] + ", " + months[now.getMonth()] + " " + date + ", " + (fourdigits(now.getYear()));
	document.write("<div class=\"date\">" + today + "</div>");
}
function fourdigits(number)	{
	return (number < 1000) ? number + 1900 : number;
}
function detectCapsLock(e){
	kc = e.keyCode?e.keyCode:e.which;
	sk = e.shiftKey?e.shiftKey:((kc == 16)?true:false);
	if(((kc >= 65 && kc <= 90) && !sk)||((kc >= 97 && kc <= 122) && sk))
		document.getElementById('capslockon-msg').style.visibility = 'visible';
	else
		document.getElementById('capslockon-msg').style.visibility = 'hidden';
}
function openBrowser(url,windowname,w,h,x,y){
	window.open(url,windowname,"resizable=no,toolbar=no,scrollbars=yes,menubar=no,status=no,directories=no,width="+w+",height="+h+",left="+x+",top="+y+"");
}

//openBrowser2('/inquire_index.cfm?exrd_id=' + qLinkId,'Online Form', 'yes', 'no', 'yes', 'no', 'no', 'no', '500', '750', '200', '200');

function openBrowser2(url,windowname,resizable,toolbar,scrollbars,menubar,status,directories,w,h,x,y){
//	alert("resizable="+resizable+",toolbar="+toolbar+",scrollbars="+scrollbars+",menubar="+menubar+",status="+status+",directories="+directories+",width="+w+",height="+h+",left="+x+",top="+y+"");
	vWindowParameters = 'resizable='+resizable+',toolbar='+toolbar+',scrollbars='+scrollbars+',menubar='+menubar+',status='+status+',directories='+directories+',width='+w+',height='+h+',left='+x+',top='+y;
//alert('URL: ' + url);
//alert('windowname: ' + windowname);
//alert('Parameters: ' + vWindowParameters);
//	window.open(url,windowname,"resizable="+resizable+",toolbar="+toolbar+",scrollbars="+scrollbars+",menubar="+menubar+",status="+status+",directories="+directories+",width="+w+",height="+h+",left="+x+",top="+y);
	window.open(url,windowname,vWindowParameters);
}

function openOnlineForm(url,windowname,resizable,toolbar,scrollbars,menubar,status,directories,w,h,x,y){
//	alert("resizable="+resizable+",toolbar="+toolbar+",scrollbars="+scrollbars+",menubar="+menubar+",status="+status+",directories="+directories+",width="+w+",height="+h+",left="+x+",top="+y+"");
	vWindowParameters = 'resizable='+resizable+',toolbar='+toolbar+',scrollbars='+scrollbars+',menubar='+menubar+',status='+status+',directories='+directories+',width='+w+',height='+h+',left='+x+',top='+y;
	vNewWindow = new Object;
	vWindowName = windowname;
	vNewWindow[vNewWindow] = window.open(url,windowname,vWindowParameters);
	vNewWindow[vNewWindow].focus();
}

function inclCommonCSS(stylesheet){
	alert("<style type=\"text/css\" media=\"all\">@import \""+stylesheet+"\");</style>");
//	write("<style type=""text/css"" media=""all"">@import """+stylesheet+""");</style>""");
}
function focusElement(elm){
	if ( document.getElementById(elm) ){
		$(elm).focus();
//		document.getElementById(elm).focus();
	}
}
// Common Functions
function hideByClassShowByID(hideClass,showID){
	divsToHide = $$('div.' + hideClass);
	for (var i = 0; i < divsToHide.length; i++) {
		divToHide = divsToHide[i].id;
		document.getElementById(divToHide).style.display='none';
	}
	document.getElementById(showID).style.display='block';
}
// Adds an <INPUT TYPE="HIDDEN"> tag  to the passed form. the VALUE attribute is also set to the passed value
function appendHiddenInput(formName,inputName,inputValue){
	var tform = document.getElementById(formName);
	var thidden = document.getElementById(inputName);
	if (thidden) {
		tform.removeChild(thidden);
	}
	var tnode = document.createElement('input');
		tnode.type = 'hidden';
		tnode.name = inputName;
		tnode.id = inputName;
		tnode.value = inputValue;
	tform.appendChild(tnode);
}
function forwardToURL(url){
	window.location = url;
	return false;
}
function chkboxUpdChkbox(alert_text, field_1, field_2){
	var cname = eval('document.forms[0].' + field_1); 
	var aname = eval('document.forms[0].' + field_2); 
	if (cname.checked == true) {
		var answer = confirm(alert_text)
		if (answer){
			aname.checked = true;
		} else {
			aname.checked = false;
		}
	} 
}
function chkboxTriggerHidden( p_elem, p_hidden_elem){
	var vChkResult = eval('document.forms[0].' + p_elem);
	var vChkHidden = eval('document.forms[0].' + p_hidden_elem);
	if( vChkResult.checked){
		vChkHidden.value = "T";
    } else {
		vChkHidden.value = "F";
    }
}
function calcAvailableChars(p_elem, p_countfield, p_maxlimit) {
	if (p_elem.value.length > p_maxlimit) {
		p_elem.value = p_elem.value.substring(0, p_maxlimit);
	} else {
		p_countfield.value = p_maxlimit - p_elem.value.length;
	}
	return p_elem.value.length;
}
function chkNumericForwardOnSuccess(pDescr, pCurrVal, pNewVal, pInputId, pSuccessUrl){
	if( pNewVal != parseInt(pNewVal) ) {
		// Not a number
		document.getElementById(pInputId).value = pCurrVal;
		alert(pDescr + ' must be a Numeric value.');
	} else {
		// Value is Numeric. Forward to supplied URL
		forwardToURL(pSuccessUrl);
	}
}
function chkNumericInlineAlert(pDescr, pCurrVal, pNewVal, pInputId, pAlertId){
	if( pNewVal != parseInt(pNewVal) ) {
		// Not a number
		document.getElementById(pInputId).value = pCurrVal;
		document.getElementById(pAlertId).style.display = 'inline';
		focusElement(pInputId);
	} else {
		document.getElementById(pAlertId).style.display = 'none';
	}
}
function checkAllByClass(checkClass,checkValue){
	inputsToCheck = $$('input.' + checkClass);
	for (var i = 0; i < inputsToCheck.length; i++) {
		inputToCheck = inputsToCheck[i].id;
		if (document.getElementById(inputToCheck).disabled == false)
		  document.getElementById(inputToCheck).checked=checkValue;
	}
}
function inputReplaceAllByClass(inputClass,inputValue){
	inputsToCheck = $$('input.' + inputClass);
	for (var i = 0; i < inputsToCheck.length; i++) {
		inputToCheck = inputsToCheck[i].id;
		if (document.getElementById(inputToCheck).disabled == false)
		  document.getElementById(inputToCheck).value=inputValue;
	}
}
function selectAllByClass(selectClass,selectValue){
	inputsToCheck = $$('select.' + selectClass);
	for (var i = 0; i < inputsToCheck.length; i++) {
		inputToCheck = inputsToCheck[i].id;		
		if (document.getElementById(inputToCheck).disabled == false)		
		  document.getElementById(inputToCheck).options.selectedIndex=selectValue;
	}
}
function getCheckedById(checkClass,substrStartPosn,substrEndPosn){
	inputsToCheck = $$('input.' + checkClass);
	returnStr = "";
	for (var i = 0; i < inputsToCheck.length; i++) {
		inputId = inputsToCheck[i].id;
		if ( document.getElementById(inputId).checked ){
			if ( substrEndPosn == 0 ) {
				returnStr = returnStr + inputId.substring(substrStartPosn) + ",";
			} else {
				returnStr = returnStr + inputId.substring(substrStartPosn,substrEndPosn) + ",";
			}
		}
	}
	returnStr = rtrimComma(returnStr);
	return returnStr;
}
function confirmDialog(pMsgTxt){
	return confirm(pMsgTxt);
}
