window.onerror = null;
var W3CDOM = (document.getElementById ? 1 : 0);
var bName = navigator.appName;
var bVer = parseInt(navigator.appVersion);
var NS4 = (bName == 'Netscape' && bVer >= 4);
var IE4 = (bName == 'Microsoft Internet Explorer' && bVer >= 4);
var NS3 = (bName == 'Netscape' && bVer < 4);
var IE3 = (bName == 'Microsoft Internet Explorer' && bVer < 4);

function MethodChose(s) {
	if (s.value == 'Credit Card') {
		MM_showHideLayer('LayerUC', 'hide');
		MM_showHideLayer('LayerCC', 'show');
	} else if (s.value == 'Bill Upon Completion') {
		MM_showHideLayer('LayerCC', 'hide');
		MM_showHideLayer('LayerUC', 'show');
	} else {
		MM_showHideLayer('LayerUC', 'hide');
		MM_showHideLayer('LayerCC', 'hide');
	}
}

function SiteFill(cb) {
	var nm = document.getElementById('name');
	var ph = document.getElementById('phone');
	var fnm = document.getElementById('contact_onsite');
	var fph = document.getElementById('phone_onsite');

	if (cb.checked)
	{
		fnm.value = nm.value;
		fph.value = ph.value;
	}
}

function BillingFill(cb) {
	var ns = document.getElementById('facility');
	var ad = document.getElementById('address');
	var ci = document.getElementById('city');
	var st = document.getElementById('state');
	var ph = document.getElementById('phone_onsite');
	
	var bns = document.getElementById('name_billing');
	var bad = document.getElementById('address_billing');
	var bci = document.getElementById('city_billing');
	var bst = document.getElementById('state_billing');
	var bph = document.getElementById('phone_billing');

	if (cb.checked)
	{
		bns.value = ns.value;
		bad.value = ad.value;
		bci.value = ci.value;
		bst.value = st.value;
		bph.value = ph.value;
	}
}

function MM_findObj(n, d) { //v3.0
	if (W3CDOM){
		x=document.getElementById(n);
		return x;
	} else {
	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); 
	return x;
	}
}

function MM_showLayer() { //v3.0
	var i,p,v,obj,args=MM_showLayer.arguments;
	if ((obj=MM_findObj(args[0]))!=null) { 
		obj.innerHTML = args[1]; 
		window.scrollBy(1000, 0);
	}
}
	
function MM_showHideLayer() {
	var v,obj,args=MM_showHideLayer.arguments;
	if ((obj=MM_findObj(args[0]))!=null) { 
		v=args[1];
		if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
		obj.visibility=v; }
}

function isEmailAddr(email)
{
  var result = false;
  var theStr = new String(email);
  var index = theStr.indexOf("@");
  if (index > 0)
  {
    var pindex = theStr.indexOf(".",index);
    if ((pindex > index+1) && (theStr.length > pindex+1))
	result = true;
  }
  return result;
}

function validRequired(formField,fieldLabel)
{
	var result = true;
	
	if (formField.value == "")
	{
		alert('Please please fill in the "' + fieldLabel +'" field.');
		formField.focus();
		result = false;
	}
	
	return result;
}



function validEmail(formField,fieldLabel,required)
{
	var result = true;
	
	if (formField.value == "")
	{
		result = true;
  return result;
	}

	if (((formField.value.length < 3) || !isEmailAddr(formField.value)) )
	{
		alert("Please enter a complete email address in the form: yourname@yourdomain.com");
		formField.focus();
		result = false;
	}
   
  return result;

}


function validInt(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
  
	if (!required) {
		if (formField.value == '') return true;
	}
		
	
 	if (result)
 	{
 		var num = parseInt(formField.value,10);
 		if (isNaN(num))
 		{
 			alert('Please enter your Phone Number in this format xxx-xxx-xxxx.');
			formField.focus();		
			result = false;
		}
	} 
	
	return result;
}


function contact(formField,fieldLabel,required)
{	
	var result = true;
	if (formField.value == "")
	{
		alert('Please please Enter your Contact Preference.');
		formField.focus();
		result = false;
   return result;
	}
	
	
	if(theForm.Contact_Preference.value == "Phone")
	{
		   result = true;
   return result;
	} 

	if(theForm.Contact_Preference.value == "Fax" && theForm.Fax.value == "") 
	{
		   alert("You have selected Fax as your contact preference please type in your fax number"); 
		   theForm.Fax.focus();	
		   result = false;
   return result;
		   }
	if(theForm.Contact_Preference.value == "mail" && theForm.address.value == "" && theForm.city.value == "" && theForm.state.value == "")
	{
		   alert("You have selected Mail as your contact preference please enter your Address, City and State");
		   theForm.address.focus();
		   result = false;
   return result;
		   }
	if(theForm.Contact_Preference.value == "mail" && theForm.address.value == "" && theForm.city.value == "")
	{
		   alert("You have selected Mail as your contact preference please enter your Address and City");
		   theForm.address.focus();
		   result = false;
   return result;
		   }
	if(theForm.Contact_Preference.value == "mail" && theForm.address.value == "" && theForm.state.value == "")
	{
		   alert("You have selected Mail as your contact preference please enter your Address and State");
		   theForm.address.focus();
		   result = false;
   return result;
		   }
	if(theForm.Contact_Preference.value == "mail" && theForm.address.value == "")
	{
		   alert("You have selected Mail as your contact preference please enter your Address");
		   theForm.address.focus();
		   result = false;
   return result;
		   }
	if(theForm.Contact_Preference.value == "mail" && theForm.city.value == "" && theForm.state.value == "")
	{
		   alert("You have selected Mail as your contact preference please enter your City and State");
		   theForm.city.focus();
		   result = false;
   return result;
		   }
	if(theForm.Contact_Preference.value == "mail" && theForm.city.value == "")
	{
		   alert("You have selected Mail as your contact preference please enter your City");
		   theForm.city.focus();
		   result = false;
   return result;
		   }
	if(theForm.Contact_Preference.value == "mail" && theForm.state.value == "")
	{
		   alert("You have selected Mail as your contact preference please enter your State");
		   theForm.state.focus();
		   result = false;
   return result;
		   }
	if(theForm.Contact_Preference.value == "E-Mail" && theForm.email.value == "")
	{
		   alert("You have selected E-Mail as your contact preference please enter your E-Mail Address");
		   theForm.email.focus();
		   result = false;
   return result;
		   }
   return result;

}

function validateForm(theForm)
{
	// Customize these calls for your form


	if (!validRequired(theForm.name,'name'))
		return false;

	if (!validEmail(theForm.email,'email'))
		return false;

	if (!validInt(theForm.Phone,'Phone Number', true))
		return false;

	if (!validInt(theForm.Cell,'Cell Number', false))
		return false;

	if (!validInt(theForm.PhoneOnSite,'Site Phone Number', false))
		return false;

	if (!validInt(theForm.PhoneBilling,'Billing Phone Number', false))
		return false;
	
	return true;
}
