var whitespace = " \t\n\r";

      /****************************************************************/

      // Check whether string s is empty.
      function isEmpty(s)
      { return ((s == null) || (s.length == 0)) }

      /****************************************************************/

      function isWhitespace (s)
      {
           var i;

           // Is s empty?
           if (isEmpty(s)) return true;

           // Search through string's characters one by one
           // until we find a non-whitespace character.
           // When we do, return false; if we don't, return true.

           for (i = 0; i < s.length; i++)
           {
                // Check that current character isn't whitespace.
                var c = s.charAt(i);

                if (whitespace.indexOf(c) == -1) return false;
           }

           // All characters are whitespace.
           return true;
      }

      /****************************************************************/

     function ForceEntry(val, str)
       {                       
           var strInput = new String(val.value); 
                     
           if (isWhitespace(strInput))
           {                
              
                alert(str);//error message display
                return false;
           }
           else        
              return true;
               
      } 
	  function ForceEntry1(val)
       {    
            //alert(val);          
           var strInput = new String(val.value); 
                     
           if (isWhitespace(strInput))
           {                
              
                alert('Enter Quantity');//error message display
                return false;
           }
           else        
              return true;
               
      }
	function removeThis()
	{
		frm.action='remove_cart.php';
		return true;
	}
//To validate registration form fields as required
function ValidateRegData() 
{  	
 var CanSubmit = false; 

 if (CanSubmit = ForceEntry(document.form1.txtCname,"Enter Name"))
 { 			
	if (CanSubmit = ForceEntry(document.form1.txtCadd,"Enter Address"))
        {
		if (CanSubmit = ForceEntry(document.form1.txtCCity,"Enter City/State/Zip"))
                { 
			if (CanSubmit = ForceEntry(document.form1.txtCPhone,"Enter Phone Number"))
                        { 				
					 if (CanSubmit = ForceEntry(document.form1.txtCEmail,"Enter Email id"))
                                         {
					 	if (CanSubmit = ForceEntry(document.form1.txtPwd,"Enter Password"))
                                         	{ 
						 if (CanSubmit = ForceEntry(document.form1.txtCPwd,"Enter Password to confirm"))                                           
						 {
							if(CanSubmit=chkPwd(document.form1.txtPwd.value,document.form1.txtCPwd.value))												{
							//alert(CanSubmit);
								 return CanSubmit;
							}
							else
												 
							 return CanSubmit;
						 }
                	                         else return CanSubmit; 
					  	}
					   	else return CanSubmit; 	

					  }						
				   	else return CanSubmit; 	
					
			}
		   	else return CanSubmit; 	

		  }
                  else return CanSubmit; 	
	   }
           else return CanSubmit; 	
	}
   	else return CanSubmit; 	
}

function chkPwd(pdField,cpdField)
{
	var p1=new String(pdField);	
	var p2=new String(cpdField);		
	if (String(p1)==String(p2))
	{	
		
		return true;	
	}
	 else
	{			
		
		alert('Mismatch in confirming password');
		cpdField.value="";			
		return false;
	}
}
//Validating Login form
function LoginReq()
{
	//alert('kk');
	var CanSubmit = false;   
	if(CanSubmit=ForceEntry(document.frm.txtLogin, 'Enter Email id'))
	{
		if(CanSubmit=ForceEntry(document.frm.txtPassword, 'Enter Password'))
		{
			return CanSubmit;				
		}	
		else
		{
			return CanSubmit;		
		}
	}
	else
	{
		return CanSubmit;	
	}	
}
// Validating Request password form
function RequestPassReq(obj)
{
	var CanSubmit = false;  
	if(CanSubmit=ForceEntry(obj, 'Enter Email id'))
	{
		return CanSubmit;
	}
	else
	{
		return CanSubmit;	
	}

}
//Validating upload files form
function UploadReq(txtfdname,txtfUp)
{	
	var CanSubmit = false;   
	if(CanSubmit=ForceEntry(txtfdname, 'Enter File display name'))
	{
		if(CanSubmit=ForceEntry(txtUp, 'Select File'))
		{
			return CanSubmit;				
		}	
		else
		{
			return CanSubmit;		
		}
	}
	else
	{
		return CanSubmit;	
	}	
}
//Validating update_details from
function updateReq(name,addr,city,ph,currpwd,npwd,rpwd)
{	
	var CanSubmit = false;  
	if(CanSubmit =ForceEntry(name,'Enter Name'))
	{
		if(CanSubmit =ForceEntry(addr,'Enter Address'))
		{
			if(CanSubmit =ForceEntry(city,'Enter City/State/Zip'))
			{
				if(CanSubmit =ForceEntry(ph,'Enter Phone Number'))
				{					
					var cpwd=new String(currpwd.value);
					if(cpwd!="")
					{
						if(CanSubmit =ForceEntry(npwd,'Enter New Password'))
						{							
							if(CanSubmit =ForceEntry(rpwd,'Enter Retype Password'))
							{
								var p1=new String(npwd.value);
								var p2=new String(rpwd.value);
								
								if(String(p1)==String(p2))
								{									
									return CanSubmit;
								}
								else
								{
									alert('Mismatch in confirming password');
									return false;
								}
							}
							else return CanSubmit;  
						}
						else return CanSubmit;  
					}
					else return CanSubmit;  
				}
				else return CanSubmit;  
			}
			else return CanSubmit;  
		}
		else return CanSubmit;  
	}
	else return CanSubmit;  
}


      function ValidateData() 
      {   
		  //alert();
           var CanSubmit = false;   
           if(CanSubmit=ForceEntry(document.form1.txtSname,'Enter \'Ship To\' details'))   
		  {
				if(CanSubmit=ForceEntry(document.form1.txtsadd,'Enter \'Ship To\' details'))   
			  {
					if(CanSubmit=ForceEntry(document.form1.txtSCity,'Enter \'Ship To\' details'))   
				  {
						 if(CanSubmit=ForceEntry(document.form1.txtSPhone,'Enter \'Ship To\' details'))   
						  {
								if(CanSubmit=ForceEntry(document.form1.txtSemail,'Enter \'Ship To\' details'))   
								  {
									if(!document.form1.rdoShipdate.checked)
									  {
											if(CanSubmit=ForceEntry(document.form1.txtShipdate,'Enter ship date'))   
													{
														if(CanSubmit=DateVal(document.form1.txtShipdate))
														{return CanSubmit;}
														else{return CanSubmit;}
													}
												else
													{
														return CanSubmit;
													}
									  }
									  else
									  {
											return true;
									  }
								  }
									else {return CanSubmit;}
						  }
							else {return CanSubmit;}
				  }
					else {return CanSubmit;}
			  }
				else {return CanSubmit;}	
		  }
			else {return CanSubmit;}
      }


      function ForceNumber1(objField)
      {   
            var strField = new String(objField.value);	
	        if (isWhitespace(strField)) return true;
	        var i = 0;
			if(strField!=0)
		  {
	        for (i = 0; i < strField.length; i++)
		    if (strField.charAt(i) < '0' || strField.charAt(i) > '9')
		    {
			    alert("Invalid Quantity.Use only numeric expect zero.");
			    objField.value="";
			    return false;
		    }	
			return true;
		  } 
		  else
		  {
			alert("Invalid Quantity.Use only numeric expect zero.");
			objField.value="";
		  }
	        
      }
	  function ForceCharacter(objField, msg)
    {
	    var strField = new String(objField.value);		    		    
	    if (isWhitespace(strField)) return true;
    	var i = 0;
		var filter = /^[a-zA-Z][a-zA-Z., ]*$/	  
		if (strField.search(filter)!=-1)
		{
			return true;
		}
		else 
		{
			alert(msg);
			objField.value='';
			return false;
		}
    } 
	  function ForcePrice(objField, msg)
    {
	    var strField = new String(objField.value);		    		    
	    if (isWhitespace(strField)) return true;
    	var i = 0;
	    for (i = 0; i < strField.length; i++)
		    if ((strField.charAt(i) < '0' || strField.charAt(i) > '9') && (strField.charAt(i) != '.'))
		    {
			    alert(msg);
			    objField.value="";
			    return false;
		    }		     
			var exp=/./;
			var matchpos=strField.indexOf(".");				
			if(matchpos!=-1)
			{					
				if(strField.length==matchpos+3)
				{			
					return true;
				}	
			   else
				{
					alert(msg);
				    objField.value="";
					return false;				
				}
			}
			return true;
	 } 
	 /* function ForceCharacter(objField,msg)
	  {
		  var strField = new String(objField.value);	
		  if (isWhitespace(strField)) return true;
		  var i = 0;
	for (i = 0; i < strField.length; i++)
		if ((strField.charAt(i) > '0' || strField.charAt(i) < '9') && strField.charAt(i)== '!') {
			alert(FieldName + " must be a valid numeric entry.  Please do not use commas or dollar signs or any non-numeric symbols.");
			objField.focus();
			return false;
		}

	return true;
	  }*/
	  function ForceNumber(objField,msg)
      {   
            var strField = new String(objField.value);	
	        if (isWhitespace(strField)) return true;
	        var i = 0;			
	        for (i = 0; i < strField.length; i++)
		    if (strField.charAt(i) < '0' || strField.charAt(i) > '9')
		    {
			    alert(msg);
			    objField.value="";
			    return false;
		    }	
			return true;		 
	        
      }
    function ForceMoney(objField, FieldName,amtField,quantityField)
    {
	    var strField = new String(objField.value);	
	    var strField1 = new String(amtField);	
	    var strField3 = new String(quantityField.value);		    
	    if (isWhitespace(strField)) return true;
    	var i = 0;
	    for (i = 0; i < strField.length; i++)
		    if ((strField.charAt(i) < '0' || strField.charAt(i) > '9') && (strField.charAt(i) != '.'))
		    {
			    alert("Invalid" + FieldName + ".  Please do not use commas or dollar signs or any non-numeric symbols.");
			    objField.focus();
			    return false;
		    }
		    amtField.value=strField * strField3		                 
	        return true;
    }  

//beginning of date validation
	var dtCh= "/";
//var minYear=1900;
//var maxYear=2100;

function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}

function isDate(dtStr){
	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strMonth=dtStr.substring(0,pos1)
	var strDay=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.substring(pos2+1)
	strYr=strYear
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	if (pos1==-1 || pos2==-1)
		{
		alert("The date format should be : mm/dd/yyyy")
		return false
	}
	if (strMonth.length<1 || month<1 || month>12){
		alert("Please enter a valid month")
		return false
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		alert("Please enter a valid day")
		return false
	}
	if (strYear.length != 4 || year==0 ){
		alert("Please enter a valid 4 digit year")
		return false
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		alert("Please enter a valid date")
		return false
	}
return true
}

function DateVal(dt){
	//var dt=document.form1.txtDate
	if (isDate(dt.value)==false)
		{
		//alert(dt.value);
		dt.value="";
		return false
	}
    return true
 }
  
//end of date validation

function checkEmail(emailField,strmsg)
{    
    var str=new String(emailField.value);
    if ((str==null)||(str==""))
	{		
		return false
	}   
    if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(str))
    {
    return (true)
    }
    alert("Invalid Email id" +strmsg );
    emailField.value="";
    return (false)
}
/**
 * Begginng phone number validation script. 
 */

// Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 10;

function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function checkInternationalPhone(strPhone)
{
	s=stripCharsInBag(strPhone,validWorldPhoneChars);
	return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}

function ValidatePhone(phoneField,strErrMsg)
{
	var Phone=new String(phoneField.value);
	
	if ((Phone==null) ||(Phone==""))
	{
		//alert("Please Enter your Phone Number");
		//phoneField.focus();
		return false
	}
	if (checkInternationalPhone(Phone)==false)
	{
		alert("Invalid " + strErrMsg +" Number. Minimum 10 digits required.\nExample (xxx) xxxxxxx.");
	        phoneField.value="";		
		return false
	}
	return true
 }
 function viewCart()
 {
	frm.action='view_selected.php';
	frm.submit();
 }
 
function fill_shipto()
{
	document.form1.txtSname.value=document.form1.txtBname.value;
	document.form1.txtsadd.value=document.form1.txtBadd.value;
	document.form1.txtSCity.value=document.form1.txtBCity.value;
	document.form1.txtSPhone.value=document.form1.txtBphone.value;
	document.form1.txtSFax.value=document.form1.txtBFax.value;
	document.form1.txtSemail.value=document.form1.txtEmail.value;
}

