function VerifyBlank(szField)
{
	if(szField.length==0) {
		return false;
	}
	return true;
}
function VerifyRadio(objForm, szItem)
{
	var objRad;
	evaluate("objRad=objForm["+szItem+"];");
	// check single obj
	if(objRad.length==undefined) {
		if(objRad.checked)
			return true;
		else
			return false;
	}
	for(i=0;i<objRad.length;i++) {
		if(objRad[i].checked)
			return true;
	}
	return false;
}
function VerifyCheckBox(objForm, szItem)
{
	var i, objItem;
	for(i=0;i<objForm.elements.length;i++) {
		objItem = objForm.elements[i];
		if(objItem.type=='checkbox') {
			if(objItem.name==szItem&&objItem.checked) return true;
		}
	}
	return false;
}

function TrimLeft(szString)
{
	var i;
	for(i=0;i<szString.length;i++) {
		if(szString.charAt(i)!=' ')
			break;
	}
	if(szString.length==i) return '';
	return szString.substring(i, szString.length);
}

function TrimRight(szString)
{
	var i;
	for(i=szString.length-1;i>=0;i--) {
		if(szString.charAt(i)!=' ')
			break;
	}
	if(i<0) return '';
	return szString.substring(i+1, 0);
}

function Trim(szString)
{
	var res;
	res = TrimRight(szString);
	return TrimLeft(res);
}

function VerifyPassword(pass1, pass2)
{
	if(pass1==pass2)
		return true;
	else
		return false;
}

function VerifyEmail(szString)
{
	var szValid = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._";
	
	var nPos, nLen;
	nPos = szString.indexOf('@');
	if(nPos==-1) return false;
	szTmp = szString.substring(0, nPos);
	if(szTmp=='') return false;
	if(!VerifyStringwKey(szTmp, szValid))
		return false;
	szTmp = szString.substring(nPos+1, szString.length);
	if(szTmp=='') return false;
	if(!VerifyStringwKey(szTmp, szValid))
		return false;
	nPos = szTmp.lastIndexOf('.');
	// check for a . 2/3/4 places b4 the end of string
	nLen = szTmp.length;
	if(nPos<=0||nPos<nLen-5||nPos>=nLen-2)
		return false;
	return true;
}

function VerifyStringwKey(szString, szKey)
{
	var i;
	for(i=0;i<szString.length;i++) {
		if(szKey.indexOf(szString.charAt(i))==-1)
			return false;
	}
	return true;
}

function VerifyInteger(szString, nValMin, nValMax)
{
	var szTmp = Trim(szString);
	if(szTmp=='') return true;

	if(isNaN(szTmp)) {
		return false;
	}
	var nTmp = parseInt(szTmp);
	if(nValMin!=null && nTmp<nValMin) {
		return false;
	}
	if(nValMax!=null && nTmp>nValMax) {
		return false;
	}
	
	return true;
}

// Replaces oldS with newS in the string fullS
function ReplaceString(oldS,newS,fullS) 
{
	for (var i=0; i<fullS.length; i++) {
		if (fullS.substring(i,i+oldS.length) == oldS) {
			fullS = fullS.substring(0,i)+newS+fullS.substring(i+oldS.length,fullS.length);
		}
	}
	return fullS;
}

function InitSelect(objSelect, szValue)
{
	// check single obj
	if(objSelect==undefined) {
		return;
	}
	for(i=0;i<objSelect.length;i++) {
		if(objSelect.options[i].value==szValue) {
			objSelect.options[i].selected = true;
			return;
		}
	}
}
function verifyForm(objForm)
{
	var objItem, szTmp, nPos, i;
	var szValidPhone = "0123456789-.+ ";
	for(i=0;i<objForm.elements.length;i++) {
		objItem = objForm.elements[i];
		if($(objItem).attr('required')!=undefined) {
			szTmp = $(objItem).attr('required');
			if(szTmp.indexOf('blank')>=0) {
				var bBlank = false;
				if(objItem.type=='text'||objItem.type=='textarea') {
					if(!VerifyBlank(objItem.value))
						bBlank = true;
				}else if(objItem.type=='radio') {
					if(!VerifyRadio(objForm, objItem.name))
						bBlank = true;
				}else if(objItem.type=='checkbox') {
					if(!VerifyCheckBox(objForm, objItem.name))
						bBlank = true;
				}else if(objItem.type=='select') {
					if(objItem.options[objItem.selectedIndex].value=='')
						bBlank = true;
				} // end if type
				if(bBlank) {
					alert(objItem.title+" is blank!");
					objItem.focus();
					return false;
				}
			}
			nPos = szTmp.indexOf('range:');
			if(nPos>=0&&objItem.type=='text') {
				var nPos2, szTmp2;
				var nMin, nMax;
				nPos += 6;
				nPos2 = szTmp.indexOf(',', nPos)
				if(nPos2>=0)
					szTmp2 = szTmp.substr(nPos, nPos2-nPos);
				else
					szTmp2 = szTmp.substr(nPos);
				
				nMin = nMax = null;
				nPos = szTmp2.indexOf('to');
				if(nPos==-1) {
					if(isNaN(szTmp)==false)
						nMax = parseInt(szTmp);
				} else {
					nMin = szTmp2.substr(0, nPos);
					if(isNaN(nMin)==false)
						nMin = parseInt(nMin);
					nMax = szTmp2.substr(nPos+2);
					if(isNaN(nMax)==false)
						nMax = parseInt(nMax);
				}
				if(!VerifyInteger(objItem.value, nMin, nMax)) {
					szTmp = "";
					if(nMin!=null) szTmp += " min: "+nMin;
					if(nMax!=null) szTmp += " max: "+nMax;
					if(szTmp!='') szTmp = " ("+szTmp+" )";
					alert(objItem.title+" is not a valid number!"+szTmp);
					objItem.focus();
					return false;
				}
			}
			
			nPos = szTmp.indexOf('gt-');
			if(nPos>=0&&objItem.type=='text') {
				var nPos2, szTmp2, objTmp;
				var nMin, nMax;
				nPos+=3;
				nPos2 = szTmp.indexOf(',', nPos)
				if(nPos2>=0)
					szTmp2 = szTmp.substr(nPos, nPos2-nPos);
				else
					szTmp2 = szTmp.substr(nPos);
				
				if(szTmp2!='') {
					objTmp = objForm[szTmp2];
					if(objTmp) {
						szTmp2 = objForm[szTmp2].value;
						if(szTmp2!='') {
							if(isNaN(szTmp2)==false) {
								nMin = parseInt(szTmp2);
								nMax = parseInt(objItem.value);
								if(nMin>nMax) {
									alert(objItem.title+" is lesser than "+objTmp.title+"!");
									objItem.focus();
									return false;
								}
							}
						}
					}
				}
			}
			
			nPos = szTmp.indexOf('phone');
			if(nPos>=0&&objItem.type=='text') {
				if(!VerifyStringwKey(objItem.value, szValidPhone)) {
					alert(objItem.title+" is not a valid phone!");
					objItem.focus();
					return false;
				}
			}
			
			nPos = szTmp.indexOf('email');
			if(nPos>=0&&objItem.type=='text') {
				if(!VerifyEmail(objItem.value)) {
					alert(objItem.title+" is not a valid email!");
					objItem.focus();
					return false;
				}
			}
		}
	}
	
	return true;
}
function gup(szKey)
{
	szKey = szKey.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	var regexS = "[\\?&]"+szKey+"=([^&#]*)";
	var regex = new RegExp( regexS );
	var results = regex.exec( window.location.href );
	if( results == null )
		return "";
	else
		return results[1];
}
function checkStatus()
{
	var nStatus = gup('s');
	if(nStatus!='') {
		if(isNaN(nStatus)) nStatus = 0;
		else nStatus = parseInt(nStatus);
		if(nStatus==1) {
			alert("Form submission successful. Thank you for your interest.");
		} else {
			alert("There were errors while submitting your form. Please check your submission. Thank you.");
		}
	}
}