/*
Strip whitespace from the beginning and end of a string
Input : a string
*/
function trim(str)
{
	return str.replace(/^\s+|\s+$/g,'');
}

/*
Make sure that textBox only contain number
*/
function checkNumber(textBox)
{
	while (textBox.value.length > 0 && isNaN(textBox.value)) {
		textBox.value = textBox.value.substring(0, textBox.value.length - 1)
	}
	
	textBox.value = trim(textBox.value);
/*	if (textBox.value.length == 0) {
		textBox.value = 0;		
	} else {
		textBox.value = parseInt(textBox.value);
	}*/
}

/*
	Check if a form element is empty.
	If it is display an alert box and focus
	on the element
*/
function isEmpty(formElement, message) {
	formElement.value = trim(formElement.value);
	
	_isEmpty = false;
	if (formElement.value == '') {
		_isEmpty = true;
		alert(message);
		formElement.focus();
	}
	
	return _isEmpty;
}

/*
	Set one value in combo box as the selected value
*/
function setSelect(listElement, listValue)
{
	for (i=0; i < listElement.options.length; i++) {
		if (listElement.options[i].value == listValue)	{
			listElement.selectedIndex = i;
		}
	}	
}
function shpadd(val)
{
	if(val.checked){
			document.getElementById('shp_form').style.display = 'none';
			document.frm_shipping.shp_address_1.value=document.frm_shipping.address_1.value;
			document.frm_shipping.shp_address_2.value=document.frm_shipping.address_2.value;
			document.frm_shipping.shp_city.value=document.frm_shipping.city.value;
			document.frm_shipping.shp_state.value=document.frm_shipping.state.value;
			document.frm_shipping.shp_zip.value=document.frm_shipping.zip.value;
			newImage = "url(images/green_bg_big.jpg)";
            document.getElementById('greenbg').style.backgroundImage = newImage;
			
	}else{
		document.getElementById('shp_form').style.display = '';
		document.frm_shipping.shp_address_1.value='';
		document.frm_shipping.shp_address_2.value='';
		document.frm_shipping.shp_city.value='';
		document.frm_shipping.shp_state.value='';
		document.frm_shipping.shp_zip.value='';
		newImage = "url(images/green_bg_big1.jpg)";
        document.getElementById('greenbg').style.backgroundImage = newImage;
	}
}
function checkchk(val,id,tot,key)
{
	var k,y,z,a,b,x;
	var amt=0,prc=0,tot1=0;
	document.getElementById('txt_pro'+key).value='';
	/*for(var i=0;i<tot;i++)
	{
		switch(key)
		{
			case 1:
					a='3';
					b='6';
					break;
			case 3:
					a='1';
					b='6';
					break;
			case 6:
					a='1';
					b='3';
					break;
		}
		k=a+'-'+i;
		y=b+'-'+i;
		z=key+'-'+i;
		x=key+'-pr-'+i;
		
		if(document.getElementById(k).checked==true)	
		{
			document.getElementById(z).checked=true;
			document.getElementById(k).checked=false;
			
			
			
		}
		if(document.getElementById(y).checked==true)	
		{
			document.getElementById(z).checked=true;
			document.getElementById(y).checked=false;
			
		}
	}	*/
	for(var i=0;i<tot;i++)
	{
		z=key+'-'+i;
		x=key+'-pr-'+i;
		prc=document.getElementById(x).value;
		if(document.getElementById(z).checked==true)	
		{
		
			if(amt<=2)
			{
				tot1=tot1 + parseFloat(prc);
				
			}
			amt++;
			document.getElementById('txt_pro'+key).value=document.getElementById('txt_pro'+key).value+document.getElementById(z).value+',';
		}
		
	}	
	document.getElementById('txt_price').value=tot1;
	amt=document.getElementById('txt_price').value;
	document.getElementById(key+'-price').innerHTML='$'+amt+'.00';
	
	
}
/*function checkchk(val,id,tot,key)
{
	var k,y,z,a,b,x;
	var amt=0,prc=0,tot1=0;
	document.getElementById('txt_pro').value='';
	for(var i=0;i<tot;i++)
	{
		switch(key)
		{
			case 1:
					a='3';
					b='6';
					break;
			case 3:
					a='1';
					b='6';
					break;
			case 6:
					a='1';
					b='3';
					break;
		}
		k=a+'-'+i;
		y=b+'-'+i;
		z=key+'-'+i;
		x=key+'-pr-'+i;
		
		if(document.getElementById(k).checked==true)	
		{
			document.getElementById(z).checked=true;
			document.getElementById(k).checked=false;
			
			
			
		}
		if(document.getElementById(y).checked==true)	
		{
			document.getElementById(z).checked=true;
			document.getElementById(y).checked=false;
			
		}
	}	
	for(var i=0;i<tot;i++)
	{
		z=key+'-'+i;
		prc=document.getElementById(x).value;
		if(document.getElementById(z).checked==true)	
		{
		
			if(amt<=2)
			{
				tot1=tot1 + parseFloat(prc);
				
			}
			amt++;
			document.getElementById('txt_pro').value=document.getElementById('txt_pro').value+document.getElementById(z).value+',';
		}
		
	}	
	document.getElementById('txt_price').value=tot1;
	amt=document.getElementById('txt_price').value;
	document.getElementById(key+'-price').innerHTML='$'+amt+'.00';
	document.getElementById(a+'-price').innerHTML='$0.00';
	document.getElementById(b+'-price').innerHTML='$0.00';
	
}*/
function validateEmail(fld,message) {
    var error="";
    var tfld = trim(fld.value);                        // value of field with whitespace trimmed off
    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;
  
    _validateEmail=false;
    if (fld.value == "") {
       alert("You didn't enter an "+message+" email address.");
	    _validateEmail=true;
	   fld.focus();
    } else if (!emailFilter.test(tfld)) {              //test email for illegal characters
       alert("Please enter a valid "+message+" email address.");
	    _validateEmail=true;
	   fld.focus();
    } else if (fld.value.match(illegalChars)) {
        alert("The "+message+" email address contains illegal characters.");
		 _validateEmail=true;
		fld.focus();
    } 
   return  _validateEmail;
}
function validatePhone(fld,message) {
    var error = "";
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');    
	_validatePhone=false;
   if (fld.value == "") {
        alert("You didn't enter a "+message+" number.");
		_validatePhone=true;
   } else if (isNaN(parseInt(stripped))) {
        alert("The "+message+" number contains illegal characters.");
		_validatePhone=true;
   } 
    return _validatePhone;
}


function checkShippingAndPaymentInfo(frm)
{
	with (frm) {
		if (isEmpty(first_name, 'Enter first name')) {
			return false;
		} else if (isEmpty(last_name, 'Enter last name')) {
			return false;
		} else if (validatePhone(phone, 'phone')) {
			return false;
		} else if (validateEmail(email, '')) {
			return false;
		} else if (validateEmail(confirm_email, 'Confirm')) {
			return false;
		}else if(email.value!=confirm_email.value)
		{
			alert('Email and Confirm Email didn\'t match');
			return false;	
		}else if (isEmpty(address_1, 'Enter the Billing address')) {
			return false;
		} else if (isEmpty(city, 'Enter City')) {
			return false;
		} else if (isEmpty(state, 'Enter State')) {
			return false;
		} else if (validatePhone(zip, 'Zip')) {
			return false;
		}else if (country.value=='') {
			alert('Please select country');
			return false;
		}else {
			if (shipping.checked==true) 
			{
				document.frm_shipping.shp_address_1.value=document.frm_shipping.address_1.value;
				document.frm_shipping.shp_address_2.value=document.frm_shipping.address_2.value;
				document.frm_shipping.shp_city.value=document.frm_shipping.city.value;
				document.frm_shipping.shp_state.value=document.frm_shipping.state.value;
				document.frm_shipping.shp_zip.value=document.frm_shipping.zip.value;
				document.frm_shipping.shp_country.value=document.frm_shipping.country.value;
				frm.submit();
			}
			else if (shipping.checked==false) 
			{
				if (isEmpty(shp_address_1, 'Enter the Shipping address')) {
					return false;
				} else if (isEmpty(shp_city, 'Enter Shipping City')) {
					return false;
				} else if (isEmpty(shp_state, 'Enter Shipping State')) {
					return false;
				} else if (validatePhone(shp_zip, 'Shipping Zip')) {
					return false;
				}else if (shp_country.value=='')
				{
					alert('Please select Shipping country');
					return false;
				}else
				{
					frm.submit();
				}
			
			}
			
		}
	}
}

function process_submit(frm)
{
	with (frm) {
		if (validatePhone(creditCardNumber, 'Credit card ')) {
			return false;
		} else if (validatePhone(cvv2Number, 'CVV code')) {
			return false;
		} /*else if (checkbox.checked==false) {
			alert('Please Select terms & conditions');
			return false;
		}*/else if (isCreditCard(creditCardNumber.value)==false) {
			alert('Credit Card Number is Invalid');
			return false;
		}else
		{
			frm.submit();
		}
	}
}
function isCreditCard( CC ) 
     {                         
          if (CC.length > 19 || CC.length < 16)
               return (false);

          sum = 0; mul = 1; l = CC.length;
          for (i = 0; i < l; i++) 
          {
               digit = CC.substring(l-i-1,l-i);
               tproduct = parseInt(digit ,10)*mul;
               if (tproduct >= 10)
                    sum += (tproduct % 10) + 1;
               else
                    sum += tproduct;
               if (mul == 1)
                    mul++;
               else
                    mul--;
          }
          if ((sum % 10) == 0)
               return (true);
          else
               return (false);
     }

