function reloadForm(){
	location.href='/schedule-form.asp'
}

function messageWindow(title,msg,w,h)
{
  var width,height;
  w?width=w:width=400;
  h?height=h:height=250;
  var left = (screen.width/2) - width/2;
  var top = (screen.height/2) - height/2;
  var styleStr = 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=yes,width='+width+',height='+height+',left='+left+',top='+top+',screenX='+left+',screenY='+top;
  var msgWindow = window.open("","msgWindow", styleStr);
  var strhead = '<html><head><title>'+title+'</title>'
  var linkstyle = '<link rel="stylesheet" type="text/css" media="screen" href="../css/window.css">';
  strhead += linkstyle + '</head>';
  var strbody = '<body><h1>The following errors were encountered:</h1>'+msg+'<p align="center"><a href="#" onclick="self.close();return false;">close this window</a></p></body></html>';
  msgWindow.document.write(strhead + strbody);
  msgWindow.document.close();
}


function getParent(el){
	var strParent = (el.parentNode || el.parentElement)
	return strParent
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function highlightActiveRow(theField, theClassName){
		var thisObj=MM_findObj(theField);
		do{
				parentObj=getParent(thisObj);
				thisObj=parentObj;
			} while (parentObj.tagName.toLowerCase()!='tr')
		parentObj.className=theClassName;}		
		
function blocking(nr, condition, theForm)
{
	if (document.layers){
		document.layers[nr].display=condition;}
	else if (document.all){
		document.all[nr].style.display=condition;}
	else if (document.getElementById){
		document.getElementById(nr).style.display=condition;}
}

function blocking_cbx(nr, oCbx){
	if(oCbx.checked){
		condition='block';
	}else{
		condition='none';
	}
	if (document.layers){
		document.layers[nr].display=condition;}
	else if (document.all){
		document.all[nr].style.display=condition;}
	else if (document.getElementById){
		document.getElementById(nr).style.display=condition;}
}


// Strip Numbers entered for Phone Number and Re-Format
//*****************************************************
function formatPhone(objPhone) {
	var basePhone = "";
	var newPhone = "";
	objPhone=MM_findObj(objPhone);
	if (objPhone.value.length > 0) {
		var intAllowed = "0123456789";
		for (var i=0;i<objPhone.value.length;i++) {
			for (var j=0;j<intAllowed.length;j++) {
				if (objPhone.value.charAt(i) == intAllowed.charAt(j)) {
					basePhone += objPhone.value.charAt(i);
					break;
				}
			}
		}
		if (basePhone.length != 10) {
			return false;
		} else {
			newPhone += "(" + basePhone.substr(0,3) + ")"; // area code
			newPhone += " " + basePhone.substr(3,3); // prefix
			newPhone += "-" + basePhone.substr(6,4); // suffix
			objPhone.value = newPhone;
			return true;
		}
	}
}

// Validate Phone Number
//************************
function validatePhone(InValue) {
	var objRegExp = /^\([1-9]\d{2}\)\s\d{3}\-\d{4}$/;
	return objRegExp.test(InValue)
}

// Validate Email Address
//************************
function validateEmail(inValue) {
	var objRegExp = "^([a-zA-Z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,4}\$";
	var objEmailRegExp = new RegExp(objRegExp);
	return objEmailRegExp.test(inValue);
}

function validateForm(theForm) {
	var msg = '',isVisible,isDivVisible;
	var formObj, elemObj, condElemObj, parentObj,useObj;
	var iIsReq, blnIsCond;
	var intPos,Count=0,rdoCount=0,msgCount=0;
	var strPrevElemName='';
	//Get Form Object
	formObj = MM_findObj(theForm);
	//alert(formObj.name + ' ' + theForm);
	//Validate Contact Information
	var grpCbxCount=0;
	for (var i=0; i<formObj.length; i++){
		isVisible=true;
		elemObj = formObj.elements[i];
		blnIsCond = elemObj.id.indexOf("cond");
		if (blnIsCond > -1){
			useObj=elemObj;
			do{
				parentObj=getParent(useObj);
				useObj=parentObj;
			} while (parentObj.tagName.toLowerCase()!='div')
			isDivVisible=parentObj.style.display;
			if (isDivVisible=='none'){isVisible=false;}
		}
		blnIsReq = elemObj.id.indexOf("req");
		if ((blnIsReq > -1)&&(isVisible)){
			switch (elemObj.type){
				case 'text':
					if (elemObj.value.length == 0){msg+="<li><font class='error'>"+elemObj.title+"</font> is required and cannot be left blank.</li>";}
					else{
						if (elemObj.value.length > 0){
							if (elemObj.id.toLowerCase().indexOf("email") > -1){
								var isValidEmail = validateEmail(elemObj.value);
								if (!isValidEmail){
									msg+="<li><font class='error'>"+elemObj.title+"</font> does not contain a valid email address (EXAMPLE: someone@internet.com).</li>";}}
							else if ((elemObj.id.toLowerCase().indexOf("phone") != -1)||(elemObj.id.toLowerCase().indexOf("fax") != -1)){
								var isValidPhone = formatPhone(elemObj.id)
								if (!isValidPhone){
									msg+="<li><font class='error'>"+elemObj.title+"</font> does not contain a valid phone or fax number (EXAMPLE: (000) 000-0000).</li>";}
							}
						}}					
					break;
				case 'textarea':
					if (elemObj.value.length == 0){
					msg+="<li><font class='error'>"+elemObj.title+"</font> is required and cannot be left blank.</li>";}
					break;
				case 'radio':
					if (elemObj.name!=strPrevElemName){
						rdoCount=0;
						var theRdoGroup = eval('document.forms["'+formObj.id+'"].' + elemObj.name);
						//alert(theRdoGroup);
						for (var j=0;j<theRdoGroup.length;j++){
							if (theRdoGroup[j].checked){
								rdoCount=1;
								break;}}
						if (rdoCount==0){
							msg+= "<li> You must select one of the options available for <font class='error'>"+elemObj.title+"</font>.</li>";}}
					strPrevElemName=elemObj.name;
					break;
				case 'checkbox':
					if (elemObj.id.toLowerCase().indexOf("_grp_")>-1){
						if(elemObj.checked){
							grpCbxCount++;
						}
					}
					if (grpCbxCount==0) {
						if (!elemObj.checked){msg+="<li><font class='error'>"+elemObj.title+"</font> is required.</li>";}
					}
					break;
				case 'select-one':
					if (elemObj.options[elemObj.selectedIndex].value == ""){
						msg+="<li><font class='error'>"+elemObj.title+"</font> is required and must contain a valid selection.</li>";}
					break;
				default:;}
		}
	}
	if (msg.length > 0) {
		msg='<ul>'+msg+'</ul>';
		messageWindow('Error(s) in Form', msg, 525,300);
		return false;}
	else {return true;}
}