function hiliteYellow(currObject){
	if ( firstObject == "aa"){
		firstObject = currObject;
	}
currObject.style.backgroundColor ='#FFFFD9';
currObject.style.borderColor ='red';
}
function formatCurrency(num) {
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))
num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents<10)
cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+
num.substring(num.length-(4*i+3));
return (((sign)?'':'-') + '$' + num + '.' + cents);
}

function formatNumber(num,defaultvalue,maxVal) {
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num)){
	num = defaultvalue;
}else{
	if (num > maxVal){
	num = defaultvalue;
	}
}
return num;
}

function Trim(TRIM_VALUE){
if(TRIM_VALUE.length < 1){
return"";
}
TRIM_VALUE = RTrim(TRIM_VALUE);
TRIM_VALUE = LTrim(TRIM_VALUE);
if(TRIM_VALUE==""){
return "";
}
else{
return TRIM_VALUE;
}
} //End Function

function RTrim(VALUE){
var w_space = String.fromCharCode(32);
var v_length = VALUE.length;
var strTemp = "";
if(v_length < 0){
return"";
}
var iTemp = v_length -1;

while(iTemp > -1){
if(VALUE.charAt(iTemp) == w_space){
}
else{
strTemp = VALUE.substring(0,iTemp +1);
break;
}
iTemp = iTemp-1;

} //End While
return strTemp;

} //End Function

function LTrim(VALUE){
var w_space = String.fromCharCode(32);
if(v_length < 1){
return"";
}
var v_length = VALUE.length;
var strTemp = "";

var iTemp = 0;

while(iTemp < v_length){
if(VALUE.charAt(iTemp) == w_space){
}
else{
strTemp = VALUE.substring(iTemp,v_length);
break;
}
iTemp = iTemp + 1;
} //End While
return strTemp;
} 

function check_for_range(form){
  if (form.daterange.options[form.daterange.selectedIndex].value == "range") {
  document.getElementById("datediv").style.display = "";
  }else{
   document.getElementById("datediv").style.display = "none";
  }

  
} 

function setError(mytext,errType){
newDesc = "";
fullDesc = "";
for (xx=0;xx < mytext.length;xx++){
newDesc = mytext.substr(xx,1);
newDescUpper = newDesc.toUpperCase();
if (newDesc == newDescUpper){
fullDesc += " " + newDesc;
}else{
if (xx == 0){
fullDesc += newDescUpper;
}else{
fullDesc += newDesc;
}

}

}
if (errType != undefined){
	fullDesc = fullDesc + " " + "( " + errType + " )";
}
return '- ' + '' + fullDesc+  '' + newLine; 
}


function isValidEmail(src) {
  var emailReg =  /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})+$/;
     var regex = new RegExp(emailReg);
     return regex.test(src);
  }

function ATLEAST(amt,title,currObject){
		
	//alert(title);
	//alert("CALLED");
	
myGroup = currObject.name.substring(0,currObject.name.indexOf("_"));

	myGroupVAR = myGroup + "_FCHECKER";
	
	objListB = this.form.elements.length;
    for (x=0;x<this.form.elements.length;x++) {
	myObjectB = this.form.elements[x];
	
	if ( myObjectB.name.indexOf(myGroup + "_") != -1){

		testValue = myObjectB.value + "";
		//alert(testValue);
		if (myObjectB.type == "checkbox"){
			if (myObjectB.checked){
			}else{
			testValue = "";
			}
		}
		//alert(myObjectB.type);
		
		if ( testValue != ""){
			document.groups[myGroupVAR] = "1";
		}

	}
	
	}
	
if ( typeof document.groups[myGroupVAR] == "undefined"){
		err= err +  "- " + "At least "+amt+" "+title+ " is required." + newLine;
		 //hiliteYellow(myObject);
		document.groups[myGroupVAR] = "1";
}else{
	

}
	

	
}
function doCheck(myObject){
	myName = myObject.name;
	idText =  Trim(myObject.id);
	//alert(idText);
	if (idText.indexOf("(") != -1){
	leftBracket = idText.indexOf("(");
	rightBracket = idText.indexOf(")");
	functionName = idText.substring(0,leftBracket).toUpperCase();
	parameters = idText.substring(leftBracket+1,rightBracket);
	parameters = Trim(parameters);
	

	if (parameters.indexOf(",") != -1){
	parameters = parameters + ",myObject";
	}else{
	parameters = parameters + "myObject";
	}
	//alert(functionName + "(" + parameters + ")");
	eval(functionName + "(" + parameters + ")");
	//myObject.id = "no";
	}
	
	if (myObject.id == "email"){
		
		if ( isValidEmail( eval("document." + formName + "." + myName + ".value") )){
								}else{
							     err = err + setError(myObject.name, "not a valid e-mail");
								 hiliteYellow(myObject);
								}
	}
	
		if ( myObject.id.toUpperCase() != "NO" && myObject.id != "email" && myObject.type != "hidden" ){
	myName = myObject.name;
	if ( eval("document." + formName + "." + myName +"2") && myObject.type == "select-one"){
	 if ( (eval("document." + formName + "." + myName +"2" +".type") == "text") && (eval("document." + formName + "." + myName +".type") == "select-one") ){
	 if ( (eval("document." + formName + "." + myName +"2" +".value") != "") || (eval("document." + formName + "." + myName + ".value") != "") ){
	 }else{
	  err = err + setError(myObject.name);
	  hiliteYellow(myObject);
	 }
	 }
	 
	}else{
	myname = myObject.name;
	mylastchar = myname.substr(myname.length-1,1);
	// fix oct24 05
mylastchar = 1;
	if (mylastchar != "2" && idText.indexOf("(") == -1){
		
	if (myObject.type == "select-one"  && myObject.value=="" ){
	   err = err + setError(myObject.name);
	    hiliteYellow(myObject);
	}

    if ( ((myObject.type=="text") || (myObject.type=="textarea")) && myObject.value=="")  {
			
	   err = err + setError(myObject.name);
	    hiliteYellow(myObject);
    }
	
	}
	
	}
	}
}
function jumpError(){
	clearInterval(timerA);
	if (firstObject != "aa"){
	firstObject.focus();
	}
}

function formChecker(form){
	formName = form.name; 
	//alert(formName);
	//if (this.form.commentsBox.value != ""){
	//alert(this.form.commentsBox.value);
	//}
count = 0;
firstObject = "aa";
if (document.getElementById("formChecker_errorText")){
errMode = 1;
newLine = "<BR>";
}else{
errMode = 0;
newLine = "\n";
}


	count = count + 1;
	//alert(count);
	//document = null;
	if (count ==1){
	document.groups = new Object();
	}else{
	document.groups = [];
	}

	//document.groups[0] = null;
	//alert(document.groups.length);
	//document.groups = new Object();
	err = "";
	objList = form.elements.length;
	formItems = form.elements.length;
    for (i=0;i<form.elements.length;i++) {
	myObject = form.elements[i];
myObject.style.backgroundColor ='';
myObject.style.borderColor ='';
	objList = objList + myObject.type + ",";
	doCheck(myObject);
	//delete(document[myGroupVAR]);
	}
	if (err) {
if (errMode == 0 ){
	alert('Please provide the following information:' + newLine + newLine +err);
}
if (errMode == 1){
bigErr = "<br><img src='/images/icon_caution.gif'><br>" + newLine + err + newLine + "</p>";
document.getElementById("formChecker_errorText").innerHTML = bigErr;
document.location.href='#formCheckerError';
if (count == 1){
timerA = setInterval('jumpError()',2300);
}else{
jumpError();
}

}

	document.returnValue = false;
	return false;
	}else{
if (errMode == 1){
document.getElementById("formChecker_errorText").innerHTML = "";
}
	document.returnValue = true;
	}
}
function ask(data,resultURL){
if (confirm(data)){
document.location = resultURL;
}
}


function tellMePrice(myObj,idNum){
tellTempArray = new Array();
tellTempArray2 = eval("array" + idNum);
for (i=0;i < tellTempArray2.length;i++){
tellTempArray.push(document.getElementById(tellTempArray2[i]).value);
}
tellTempArray.sort();
tellTemp = "";
for(i=0; i < tellTempArray.length; i ++ ){
tellTemp = tellTemp + "_" + tellTempArray[i]; 
}
if ( eval("drop_" + idNum + tellTemp) ){
//alert( eval("drop_" + idNum + tellTemp) );
document.getElementById("myPrice_"+ idNum).innerHTML = formatCurrency(eval("drop_" + idNum + tellTemp));
}
}


function validatePhone(m,evt){
var n;
var p;
var p1;
goodNumber = "";
finalNumber = "";
if ( typeof(eval('evt')) != 'undefined' ) {
var charCode = (evt.which) ? evt.which : event.keyCode
}else{
charCode = 1;
}
if (charCode != 8){
myNumber = m.value;
myNumber = myNumber.replace(" ","");
for (i = 0; i < myNumber.length; i++){
currentNum = myNumber.substr(i,1);
if ( !isNaN(currentNum) ){
goodNumber = goodNumber + currentNum;
}
}
finalNumber = goodNumber;
if (goodNumber.length >= 3){
finalNumber = "(" + goodNumber.substr(0,3) + ") ";
}
if (goodNumber.length >= 4){
finalNumber = finalNumber + goodNumber.substr(3,3);
}
if (goodNumber.length >= 6){
finalNumber = finalNumber + "-" + goodNumber.substr(6,4);
}
m.value = finalNumber;
}
}
