var regExpEmail = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
var regExpZip = /^\d{5}-\d{4}|\d{5}|[A-Z]\d[A-Z] \d[A-Z]\d$/;
var regExpP1 = /^[0-9]{3}$/;
var regExpP2 = /^[0-9]{4}$/;
var regExpCCNum = /^[0-9]{16}$/;
var regExpCvv = /^[0-9]{3,4}$/;
//var regExpCrd = /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}$/;
var regExpCrdMC = /^5[1-5][0-9]{14}$/;
var regExpCrdVS = /^4[0-9]{12}(?:[0-9]{3})?$/;
var regExpCrdAE = /^3[47][0-9]{13}$/;
var regExpCrdDS = /^6(?:011|5[0-9]{2})[0-9]{12}$/;

function validate()
{
	if(document.getElementById('order_name_first').value.replace(' ','')==''){
		alert('Please enter your first name');
		return false;
	}
	if(document.getElementById('order_name_last').value.replace(' ','')==''){
		alert('Please enter your last name');
		return false;
	}
	if(document.getElementById('order_address1').value.replace(' ','')==''){
		alert('Please enter your address');
		return false;
	}
	if(document.getElementById('order_city').value.replace(' ','')==''){
		alert('Please enter your city');
		return false;
	}
	var state = document.getElementById('order_state');
	if(state.options[state.selectedIndex].value=='0'){
		alert('Please select your state');
		return false;
	}
	//var zip = document.getElementById('order_zip').value.replace(' ','');
	var zip = document.getElementById('order_zip').value;
	     zip = zip.toUpperCase();
	if(regExpZip.test(zip)==false){
		alert('Please enter your zip/postal code');
		return false;
	}
	var email = document.getElementById('order_email').value.replace(' ','');
	if(regExpEmail.test(email)==false){
		alert('Please enter your email address');
		return false;
	}
	var p1 = document.getElementById('order_phone1').value.replace(' ','');
	var p2 = document.getElementById('order_phone2').value.replace(' ','');
	var p3 = document.getElementById('order_phone3').value.replace(' ','');
	if(!regExpP1.test(p1) || !regExpP1.test(p2) || !regExpP2.test(p3)){
		alert('Please enter your phone number');
		return false;
	}

/*	
	//shipping fields
	if(document.getElementById('ship_same').checked == false)
	{
		if(document.getElementById('order_sname_first').value.replace(' ','')==''){
			alert('Please enter shipping first name');
			return false;
		}
		if(document.getElementById('order_sname_last').value.replace(' ','')==''){
			alert('Please enter shipping last name');
			return false;
		}
		if(document.getElementById('order_saddress1').value.replace(' ','')==''){
			alert('Please enter shipping address');
			return false;
		}
		if(document.getElementById('order_scity').value.replace(' ','')==''){
			alert('Please enter shipping city');
			return false;
		}
		var state = document.getElementById('order_sstate');
		if(state.options[state.selectedIndex].value=='0'){
			alert('Please select shipping state');
			return false;
		}
		var zip = document.getElementById('order_szip').value.replace(' ','');
	         zip = zip.toUpperCase();
		if(regExpZip.test(zip)==false){
			alert('Please enter shipping zip code');
			return false;
		}
	}
*/
	return true;

}

function validatecc()
{
	if(document.getElementById('order_sname').value.replace(' ','')==''){
		alert('Please enter shipping name');
		return false;
	}
	if(document.getElementById('order_saddress1').value.replace(' ','')==''){
		alert('Please enter shipping address');
		return false;
	}
	if(document.getElementById('order_scity').value.replace(' ','')==''){
		alert('Please enter shipping city');
		return false;
	}
	var state = document.getElementById('order_sstate');
	if(state.options[state.selectedIndex].value=='0'){
		alert('Please select shipping state');
		return false;
	}
	var zip = document.getElementById('order_szip').value.replace(' ','');
	if(regExpZip.test(zip)==false){
		alert('Please enter shipping zip code');
		return false;
	}
	var cctype = document.getElementById('order_cctype');
	if(cctype.options[cctype.selectedIndex].value==''){
		alert('Please select credit card type');
		return false;
	}
	var ccnum = document.getElementById('order_ccnum').value.replace(' ','');
	if(regExpCCNum.test(ccnum)==false){
		alert('Please enter credit card number');
		return false;
	}
	var cvv = document.getElementById('order_cccvv').value.replace(' ','');
	if(regExpCvv.test(cvv)==false){
		alert('Please enter cvv code');
		return false;
	}
	var mo = document.getElementById('order_ccexpmo').options[document.getElementById('order_ccexpmo').selectedIndex].value;
	var yr = document.getElementById('order_ccexpyr').options[document.getElementById('order_ccexpyr').selectedIndex].value;
	var exp=new Date(); exp.setFullYear(yr,mo-1,31);
	var today = new Date();
	if(exp<today){
		alert('Please enter valid expiration date');
		return false;
	}	
}

/*
function toggleShipping(el)
{
	if(el.checked) 
		document.getElementById('ship_info').style.display = 'none';
	else 
		document.getElementById('ship_info').style.display = 'block';
}
*/
function toggleBillingCountry()
{
 var desiredForm = document.cust_info.order_country.value;
 if (desiredForm == "CA")
  {
   document.getElementById('bill_state_display').style.display='none';
   document.getElementById('bill_province_display').style.display='block';
  }
 else
 {
   document.getElementById('bill_province_display').style.display='none';
   document.getElementById('bill_state_display').style.display='block';
 }
}  //end toggleBillingCountry

function toggleShippingCountry()
{
 var desiredForm = document.shipaddrtable.order_scountry.value;
 if (desiredForm == "CA")
  {
   document.getElementById('ship_state_display').style.display='none';
   document.getElementById('ship_province_display').style.display='block';
  }
 else
 {
   document.getElementById('ship_province_display').style.display='none';
   document.getElementById('ship_state_display').style.display='block';
 }
}  //end toggleShippingCountry

window.onload = function()
{
	if(document.getElementById('ship_same'))
		toggleShipping(document.getElementById('ship_same'));
}


function haveCred()
{
	var cred = document.getElementById('order_ccnum').value.replace(' ','');
	if(regExpCrdMC.test(cred)==false){
		alert('That is not a correctly formatted card number./nPlease verify and re-enter credit card number');
		return false;
	}
	alert(cred);
}  //end function haveCred

function chkName()
{
	var ccorig = document.getElementById('order_ccname').value.replace(' ','');
	var ccname = document.getElementById('order_ccname').value;
	var chkname = ccname.length;
	
	  if (ccname == 0)
	   {
	    alert('Please enter the name as it appears on the credit card.');
		//document.getElementById('order_ccname').focus();
	   }
} //end chkName

