// JavaScript Document

function checkcart_itemqty()
{
   
   elements=document.getElementsByName("quantity[]");
   //alert(elements.length);
  // return false;
   
   for(var i=0; i < elements.length; i++)
   {
		if(elements[i].value<= 0 || elements[i].value=="") {
           alert("Please enter valid number in quantity.")
		   elements[i].focus();
		   return false;
		}
	}
   //return false;
	
}

function setformaction(id)
{
	//alert("*********8");
	
	if(id==1){
	document.frmcart.action="checkout.php";	
	}
	if(id==2) {
	document.frmcart.action="index.php";

	}
		document.frmcart.submit();
	
}

function validateregister(id)
{
	f=document.frmmember;
	
	if(f.fname.value==""){
	alert("Please enter First name"); 
	f.fname.focus();
	return false;
	}
	
	if(f.lname.value==""){
	alert("Please enter Last name"); 
	f.lname.focus();
	return false;
	}
	if(id=='register') {   // validate only when on register page 
	if(f.email.value==""){
	alert("Please enter Email"); 
	f.email.focus();
	return false;
	}
	if(f.email.value!=""){
		if(IsEmailValid(f.email)==false)
		{
			alert('Please enter a valid e-mail address!');
			f.email.focus();
			return false;
		}
	}
	}
	if(f.phone.value==""){
	alert("Please enter phone no"); 
	f.phone.focus();
	return false;
	}
	
	if(f.phone.value!=""){
	    var ans=PhoneNumberFormat(f.phone);
		if(ans==false)
		return false;
	}
	if(f.address1.value==""){
	alert("Please enter address"); 
	f.address1.focus();
	return false;
	}
	if(f.city.value==""){
	alert("Please enter City"); 
	f.city.focus();
	return false;
	}
	
	if(f.country.value==""){
	alert("Please enter country"); 
	f.country.focus();
	return false;
	}
	
	if(f.country.value=="United States") 
	{
	if(f.state.value==""){
	alert("Please Select State"); 
	f.state.focus();
	return false;
	}
	}else {
		if(f.ostate.value==""){
	alert("Please enter State"); 
	f.ostate.focus();
	return false;
		
	}
	}
	
	if(f.zip.value==""){
	alert("Please enter Zip"); 
	f.zip.focus();
	return false;
	}
	
	if(f.zip.value!="" )
	{
		if(isNaN(f.zip.value) || (f.zip.value.length <5) )
		{
			alert("Please Enter valid zip code. Zip code must be 5 Digits long");
			f.zip.focus();
			return false;
			
		}
	}
	
	
	if(id=='register') {        // validate only when on register page 
	if(f.username.value==""){
	alert("Please enter Username"); 
	f.username.focus();
	return false;
	}
	
	if(f.password.value==""){
	alert("Please enter password"); 
	f.password.focus();
	return false;
	}
	
	}
}


//=========================================
//Validate Email Id
//=========================================

function IsEmailValid(ElemName)
{
				var EmailOk  = true
				var Temp     = ElemName;
				var AtSym    = Temp.value.indexOf('@')
				var Period   = Temp.value.lastIndexOf('.')
				var Space    = Temp.value.indexOf(' ')
				var Length   = Temp.value.length - 1   // Array is from 0 to length-1
					if ((AtSym < 1) ||                     // '@' cannot be in first position
					    (Period <= AtSym+1) ||             // Must be atleast one valid char btwn '@' and '.'
					    (Period == Length ) ||             // Must be atleast one valid char after '.'
					    (Space  != -1))                    // No empty spaces permitted
						   {
						      EmailOk = false
						      //alert('Please enter a valid e-mail address!')
						      //Temp.focus()
						      return false
						   }
					//return EmailOk
}


function validatelogin()
{
	f=document.frmlogin;
	if(f.username.value==""){
	alert("Please enter UserName"); 
	f.username.focus();
	return false;
	}
	
	if(f.password.value==""){
	alert("Please enter The Password"); 
	f.password.focus();
	return false;
	}
}


function populate(x,weight){

if(x.checked==true){
	
var f=document.frmmember;

f.sfname.value=f.fname.value;
f.slname.value=f.lname.value;

f.saddress1.value=f.address1.value;
f.saddress2.value=f.address2.value;
f.scity.value=f.city.value;
f.sstate.value=f.state.value;
f.scountry.value=f.country.value;
f.szip.value=f.zip.value;
szip=f.zip.value;
szip1=szip.substr(0,3);
if(szip1=="006" || szip1=="007" || szip1=="009" || f.state.value=="AK" || f.state.value=="HI")
{
   	document.getElementById('divservices').style.display='none';  // Hide 3 day select
	
	/*if(document.frmmember.servicetype[1].checked==true) // if 3 day select is checked 
	{
	  document.frmmember.servicetype[0].checked=true;  // make ground as default
	}*/
		
  	}else{
       //  document.getElementById('divservices1').style.display='none'; 
		 document.getElementById('divservices').style.display=''; 
		}
		
 // }
f.scompany.value=f.company.value;
Get_shipping(weight);
}
else
{
var f=document.frmmember;
f.sfname.value="";
f.slname.value="";
f.saddress1.value="";
f.saddress2.value="";
f.scity.value="";
f.sstate.value="";
f.scountry.value="";
f.szip.value="";
f.scompany.value="";
document.getElementById("Show_shipping").innerHTML="<b>Shipping : $ 0.00</b>";	
}
}

function Activate_fields()
{
document.frmmember.upsaccnumber.disabled=false;
document.frmmember.shipping_instructions.disabled=false;
}

function Disactivate_fields()
{
document.frmmember.upsaccnumber.disabled=true;
document.frmmember.shipping_instructions.disabled=true;
}

function validatecheckout()
{
	
	f=document.frmmember;
	
	if(f.fname.value==""){
	alert("Please enter First name"); 
	f.fname.focus();
	return false;
	}
	
	if(f.lname.value==""){
	alert("Please enter Last name"); 
	f.lname.focus();
	return false;
	}
	
	if(f.phone.value==""){
	alert("Please enter phone no"); 
	f.phone.focus();
	return false;
	}
	if(f.phone.value!=""){
	    var ans=PhoneNumberFormat(f.phone);
		if(ans==false)
		return false;
	}
	
	if(f.address1.value==""){
	alert("Please enter address"); 
	f.address1.focus();
	return false;
	}
	if(f.city.value==""){
	alert("Please enter City"); 
	f.city.focus();
	return false;
	}
	
	if(f.country.value==""){
	alert("Please enter country"); 
	f.country.focus();
	return false;
	}
	
	if(f.country.value=="United States") 
	{
	if(f.state.value==""){
	alert("Please enter State"); 
	f.state.focus();
	return false;
	}
	}else {
		if(f.ostate.value==""){
	alert("Please enter State"); 
	f.ostate.focus();
	return false;
		
	}
	}
	
	
	
	if(f.zip.value=="" || f.zip.value==0){
	alert("Please enter Zip"); 
	f.zip.focus();
	return false;
	}
	
	if(f.zip.value!="" )
	{
		/*if(isNaN(f.zip.value))
		{
			alert("Please Enter valid zip code");
			f.zip.focus();
			return false;
		}
		else {*/
			ans=UsZipCodeFormat(f.zip);
			if(ans==false)
			return false;
		//}
	}
	
	
	if(f.sfname.value==""){
	alert("Please enter shipping First name"); 
	f.sfname.focus();
	return false;
	}
	
	if(f.slname.value==""){
	alert("Please enter shipping Last name"); 
	f.slname.focus();
	return false;
	}
	
	
	if(f.saddress1.value==""){
	alert("Please enter shipping address"); 
	f.saddress1.focus();
	return false;
	}
	if(f.scity.value==""){
	alert("Please enter shipping City"); 
	f.scity.focus();
	return false;
	}
	if(f.sstate.value==""){
	alert("Please enter shipping State"); 
	f.sstate.focus();
	return false;
	}
	
	if(f.scountry.value==""){
	alert("Please enter shipping country"); 
	f.scountry.focus();
	return false;
	}
	if(f.szip.value=="" || f.szip.value==0){
	alert("Please enter shipping Zip"); 
	f.szip.focus();
	return false;
	}
	
	if(f.szip.value!="" )
	{
		/*if(isNaN(f.szip.value))
		{
			alert("Please Enter valid zip code");
			f.szip.focus();
			return false;
			
		}*/
		
		ans=UsZipCodeFormat(f.szip);
			if(ans==false)
			return false;
		
	}
	
	// Check if service seleted is other then make special shipping instructions mandatory..
	
  for (var i=0; i<document.frmmember.servicetype.length; i++)
   {
   if (document.frmmember.servicetype[i].checked)
      {
      servicetype = document.frmmember.servicetype[i].value;
      }
   }
  // alert(servicetype);
  
   if(servicetype=="other" && (document.frmmember.shipping_instructions.value=="" && document.frmmember.upsaccnumber.value==""))
   {
	   alert("Please enter either Special Shipping Instructions or UPS Account #");
	   document.frmmember.shipping_instructions.focus();
	   return false;
	   
   }
   
   if(servicetype=="other" && (document.frmmember.shipping_instructions.value!="" && document.frmmember.upsaccnumber.value!=""))
   {
	   alert("Please enter only one information, either Special Shipping Instructions or UPS Account #.");
	   //document.frmmember.shipping_instructions.focus();
	   return false;
	   
   }
//   if(servicetype=="other" && document.frmmember.upsaccnumber.value!="" )
//   {
//	   upsstr=document.frmmember.upsaccnumber.value;
//	  // alert(upsstr.indexOf('/'));
//	   if(upsstr.indexOf('/')=='-1')
//	   {
//		   alert("Please Enter UPS Service type with your account number \n (example 12345 / UPS 2nd Day )");
//		   document.frmmember.upsaccnumber.focus();
//		   return false;
//	   }
//	   //return false;
//	   
//   }
//   
   
  //return false;
   
 
	
	
	
}


function setstates()
{
   if(document.frmmember.country.value!="US" || document.frmmember.country.value!="United States")
  {
   document.frmmember.ostate.style.display='';
   document.frmmember.state.style.display='none';
  }
  if(document.frmmember.country.value=="US" || document.frmmember.country.value=="United States")
  {
    document.frmmember.state.style.display='';
	document.frmmember.ostate.style.display='none';
  
  
  }
  
  
}


function setformaction_continue(url)
{

 // alert(url);
  if(url!=''){
  document.frmcart.action=url;
  }else
  {
   document.frmcart.action='product_line.php';
	  
  }

document.frmcart.submit();

  
  
}

function chk_creditinfo()
{
	
	f=document.frmcheckout;
	
	//Check if all entries are no present--- Invalid
	if(document.frmcheckout.ponumber.value=="" && f.ccnumber.value=="" && f.cardtype.value==0 && f.month.value=="" && f.year.value=="")	
	{
		alert("Please provide either credit card information or PO Number");
		return false;
	}
	
		//Check if all entries are no present--- Invalid
	if(document.frmcheckout.ponumber.value!="" && f.ccnumber.value!="" && f.cardtype.value!=0 && f.month.value!="" && f.year.value!="")	
	{
		alert("Please provide either credit card information or PO Number.");
		return false;
	}
			
	
	

	
	if(document.frmcheckout.ponumber.value=="")
	{
	if(f.cardtype.value==0){
	alert("Please Select cardtype");
	f.cardtype.focus();
	return false;
	}
	
	if((f.ccnumber.value.length > 16) || (f.ccnumber.value.length < 15) || isNaN(f.ccnumber.value)){
	alert("Please Enter valid Card Number");
	f.ccnumber.focus();
	return false;
    }
	if(f.month.value==""){
	alert("Please Select Month.");
	f.month.focus();
	return false;
	}
	if(f.year.value==""){
	alert("Please Select Year.");
	f.year.focus();
	return false;
	}
	
	if (f.ccv.value=="" || isNaN(f.ccv.value)){
	alert("Please Enter CCV Number.");
	f.ccv.focus();
	return false;
	}
	}
	
	if(f.ccnumber.value=="" && f.cardtype.value==0 && f.month.value=="" && f.year.value=="")
	{
		if(document.frmcheckout.ponumber.value=="")
		{
			alert("Please provide either credist card info Or PO number");
			return false;
		}
		if(document.frmcheckout.ponumber.value!="")
		{
			document.frmcheckout.action="order_email.php?shipping="+document.frmcheckout.shipping.value+"&type=success&PO=Y";
			document.frmcheckout.submit();

		}
		
			//return false
	}
	
	//return false;

	
}

// Javascript validation for US Phone 


function PhoneNumberFormat(formfield){
    var currentValue = new String(formfield.value);
    var id = formfield.id;
    var currentStrippedValue = ReplaceAll(ReplaceAll(ReplaceAll(ReplaceAll(currentValue,"-","")," ",""),"(",""),")","");  //strip the dashes or parentheses from phone number
    lastField = id;
    
    if(currentStrippedValue.length > 0)
    {      
     if(isNaN(currentStrippedValue)){
      alert("Please Enter Numeric Values Only (### ###-####");  //Make sure only numbers are entered
      formfield.value = "";
      formfield.select();
      lastFieldIsValid = false;
      return false;
     }else{
      if(currentStrippedValue.length != 10)  //Verify that the area code and telephone number are entered
      {
       alert("Phone # Must Be 10 Digits Long (### ###-####)");
       formfield.select();
       lastFieldIsValid = false;
       return false;
      }
      else
      {
       lastFieldIsValid = true;
       formfield.value = "(" + currentStrippedValue.substring(0,3) + ") " + currentStrippedValue.substring(3,6) + "-" + currentStrippedValue.substring(6,10); //Format the string for correct display
	   return true;
      }
     }
    }
   }


function ReplaceAll(checkMe,toberep,repwith){
    var temp = checkMe;
    var i = temp.indexOf(toberep);
    while(i > -1){ //Loop through and replace all instances
     temp = temp.replace(toberep, repwith);
     i = temp.indexOf(toberep);
    }
    return temp;
   }


// Javascript validation for Us zip codes
function UsZipCodeFormat(formfield){
    var currentValue = new String(formfield.value);
    var id = formfield.id;
    var currentStrippedValue = ReplaceAll(currentValue,"-","");  //remove the dashes from the zip code for testing
    
    lastField = id;
    if(currentStrippedValue.length > 0)
    {      
     if(isNaN(currentStrippedValue)){
      alert("Please Enter Numeric Values Only");  //Make sure the zip code is numeric only
      formfield.value = "";
      formfield.select();
      lastFieldIsValid = false;
      return false;
     }else{
      if(currentStrippedValue.length < 5 )  //Make sure zip code is 5 or 9 numbers long
      {
       alert("Zip Code Must Be 5 (#####) Digits Long");
       formfield.select();
       lastFieldIsValid = false;
       return false;
      }
      else
       lastFieldIsValid = true;  //If requirements are met, the field is valid
      
      if((currentStrippedValue.length < 9 && currentStrippedValue.length > 5) || currentStrippedValue.length == 5)  //Display the string correctly for 5 or 9
       formfield.value = currentStrippedValue.substring(0,5);
      else
       formfield.value = currentStrippedValue.substring(0,5) + "-" + currentStrippedValue.substring(5,9);
     }
    }
   }


function reset_formaction()
{
	
	actstr=document.frmcheckout.httppath.value+"checkout.php";
	//alert(actstr);
	
	document.frmcheckout.action=actstr;
	document.frmcheckout.submit();
}