// hide from old browsers
	var whitespace = " \t\n\r";
	var digitsInCC1 = 13;
	var digitsInCC2 = 15;
	var digitsInCC3 = 16;
	var digitsInEXP = 4;
	//var digitsInCSC = 3;
	
 
   function rf_isEmpty(str) {
    return ((str == null) || (str.length == 0));
   }

	 function rf_isDigit(chr) {
	 return ((chr >= "0") && (chr <= "9"));
   }
 
   
	function rf_isInteger(str) {
	var i;
	if (rf_isEmpty(str))
		return false;
	for (i = 0; i < str.length; i++) {
		var chr = str.charAt(i);
		if (!rf_isDigit(chr))
			return false;
	}
	return true;
  }
   
     function rf_isCC(str) {
	 if (rf_isEmpty(str)) 
	 return false;
	 return (rf_isInteger(str) && ((str.length == digitsInCC1) || (str.length == digitsInCC2) || (str.length == digitsInCC3)));
   }

     function rf_isEXP(str) {
	 if (rf_isEmpty(str)) 
	 return false;
	 return (rf_isInteger(str) && ((str.length == digitsInEXP)));
   }
     
	 
	 //function rf_isCSC(str) {
	// if (rf_isEmpty(str)) 
	 //return false;
	// return (rf_isInteger(str) && ((str.length == digitsInCSC) || (str.length == digitsInEXP)));
  // }

   function rf_isWhitespace(str) {
    var i;
    if (rf_isEmpty(str))
     return true;
    for (i = 0; i < str.length; i++) {
     var chr = str.charAt(i);
     if (whitespace.indexOf(chr) == -1)
      return false;
    }
    return true;
   }
   
   /////////////////////
	function readCookie(name)
	{
		var nameEQ = name + "=";
		var ca = document.cookie.split(';');
		for(var i=0;i < ca.length;i++)
		{
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
		return null;
	}

	var has = "CDROM" + ";" + (readCookie("clickthru")) + ";" + (readCookie("language")) + ";" + (readCookie("morph"));
   
	function field() {
		var data = document.forms[1].elements[9]
		var theName = document.forms[1].elements[10]
		
		//populates comment1 with buyername
		document.forms[1].elements[10].value = document.forms[1].elements[11].value
		
		var cost = document.forms[1].elements[6];
		var shipcost = document.forms[1].elements[7];
		var countryship = document.forms[1].elements[25];
		
		if ((countryship.value == "US") || (countryship.value == "CA") || (countryship.value == "PR") || (countryship.value == "VI") || (countryship.value == "UM")) {
				cost.value = "38.50"; 
				shipcost.value = "0.00"; 
			} else {
				cost.value = "38.50";
				shipcost.value = "0.00"; 
			}
			if (has) {
			data.value = has; 
			} 
		}

	function fillship() {
		var THEFORM = document.sales_order;
		var name = THEFORM.st_cname.value;
		var nameship = THEFORM.bt_cname.value;
		var add = THEFORM.st_address.value;
		var addship = THEFORM.bt_address.value;
		var city = THEFORM.st_city.value;
		var cityship = THEFORM.bt_city.value;
		var st = THEFORM.st_state.value;
		var stship = THEFORM.bt_state.value;
		var zip = THEFORM.st_zip.value;
		var zipship = THEFORM.bt_zip.value;
		var telephone = THEFORM.st_telephone.value;
		var telephoneship = THEFORM.bt_telephone.value;
		
		if (nameship !== name) {
			THEFORM.bt_cname.value = THEFORM.st_cname.value;
		}
	
		if (addship !== add) {
			THEFORM.bt_address.value = THEFORM.st_address.value;
		} 
	
		if (cityship !== city) {
			THEFORM.bt_city.value = THEFORM.st_city.value;
		} 
	
		if (stship !== st) {
			THEFORM.bt_state.value = THEFORM.st_state.value;
		} 
	
		if (zipship !== zip) {
		    	THEFORM.bt_zip.value = THEFORM.st_zip.value;
		}
		
		if (telephoneship !== telephone) {
		    	THEFORM.bt_telephone.value = THEFORM.st_telephone.value;
		} 
		
	}
	
	////////////////

	function Validator(theForm)
	{

 
 //validate billing name     
   if (rf_isWhitespace (document.buyform.NAME.value))
   {
            alert('Please enter your name as it appears on your credit card.')
           theForm.NAME.focus();
		   return (false);
   }
	
	 //validate billing address   

   if (rf_isWhitespace (document.buyform.ADDRESS.value))
   {
            alert('Please enter your billing address.')
           theForm.ADDRESS.focus();
           return (false);
   }
   
   if (rf_isWhitespace (document.buyform.CITY.value))
   {
            alert('Please enter your billing address city.')
           theForm.CITY.focus();
           return (false);
   }
   
     if (rf_isWhitespace (document.buyform.STATE.value))
   {
            alert('Please enter your billing address state.')
           theForm.STATE.focus();
           return (false);
   }
 
  //validate billing zip
  
   if (rf_isWhitespace (document.buyform.ZIP.value))
   {
            alert('Please enter your zipcode or postal code.  Enter "X" if you do not have one.')
           theForm.ZIP.focus();
           return (false);
   }
  
       //validate email
   
     if (rf_isWhitespace (document.buyform.EMAIL.value))
   {
            alert("Please provide us with a valid email address.")
           theForm.EMAIL.focus();
           return (false);
   }
  
    // check the EMAIL format
	if (!isEmail(theForm.EMAIL))
	{
		alert("Please verify that your email address is in the proper format - name@company.com.");
		theForm.EMAIL.focus();
		return (false);
	}
  
    // match emails
	  
  	if (theForm.EMAIL.value != theForm.EMAIL2.value)
	{
		alert("The second email you entered should match the first");
		theForm.EMAIL2.focus();
		return (false);
	} 
	
	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
   //shipping validation
   if (rf_isWhitespace (document.buyform.NAMETOSHIP.value))
   {
            alert('Please enter the name of the SHIPPING recipient.')
           theForm.NAMETOSHIP.focus();
		   return (false);
   }

   if (rf_isWhitespace (document.buyform.ADDRESSTOSHIP.value))
   {
            alert('Please enter the SHIPPING address.')
           theForm.ADDRESSTOSHIP.focus();
           return (false);
   }
   
   if (rf_isWhitespace (document.buyform.CITYTOSHIP.value))
   {
            alert('Please enter the SHIPPING address STATE.')
           theForm.CITYTOSHIP.focus();
           return (false);
   }
   
     if (rf_isWhitespace (document.buyform.STATETOSHIP.value))
   {
            alert('Please enter the SHIPPING address STATE.')
           theForm.STATETOSHIP.focus();
           return (false);
   }
 
  //validate billing zip
  
   if (rf_isWhitespace (document.buyform.ZIPTOSHIP.value))
   {
            alert('Please enter your SHIPPING zipcode or postal code.')
           theForm.ZIPTOSHIP.focus();
           return (false);
   }
  

  
  
  
  
 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
  //validate credit card
  
  	if (!rf_isCC (document.buyform.CARDNUM.value))
   {
           alert('Please enter a valid credit card number.')
           theForm.CARDNUM.focus();
           return (false);
   }
   
     	if (!rf_isEXP (document.buyform.EXPDATE.value))
   {
           alert('Please enter the 4-digit expiration date.')
           theForm.EXPDATE.focus();
           return (false);
   }
   
 //         if (!rf_isCSC (document.buyform.CSC.value))
  // {
     //      alert('Please enter the 3 or 4 security number found on the back or front of your credit card.')
     //      theForm.CSC.focus();
      //     return (false);
  // }


 field();
  
}


function isEmail(frmField)
{   
	var str = frmField.value;
	if (str.indexOf ('@',0) == -1 || str.indexOf ('.',0) == -1)
		return false;      
	else
		return true;      
}



//-->

