///////////////   To trim the string ////////////////////
function trim(str){
	return str.replace(/^\s*|\s*$/g,"");
}

var remail=/^([_&a-zA-Z0-9-]+(\.[_&a-zA-Z0-9-]+)*@[&a-zA-Z0-9-]+\.+[&a-zA-Z0-9-]+)/;

//////////// Validate email ///////////////////////

function checkEmail(fieldvalue){
	if(remail.test(fieldvalue))
		return false;
	else
		return true;
}

////////// Block alphabets and special chars //////////////
function blockNumbers(e){
	var key;
	var keychar;
	var reg;
	if(window.event) {
		key = e.keyCode;
	}else if(e.which) {
		key = e.which;
	}else {
		return true;
	}
	keychar = String.fromCharCode(key);
	if ( (key>=48 &&  key<=57) || (key==46) || (key==45) || (key==34) || (key==39) || (key==32) || (key == 8) || (key == 43) || (key == 41) || (key == 40)){
		return true;
	}else{
		return false;
	}
}


var xmlHttpCart = false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)try {  
xmlHttpCart = new ActiveXObject("Msxml2.XMLHTTP");
} 
catch (e) {  
try {    
xmlHttpCart = new ActiveXObject("Microsoft.XMLHTTP");
  }
   catch (e2) {    
   xmlHttp = false;  
  }
  }@end @*/
if (!xmlHttpCart && typeof XMLHttpRequest != 'undefined') {
  xmlHttpCart = new XMLHttpRequest();
}


function addcart(product_title,product_price,product_id) {
	document.add_cart.product_title.value = product_title;
	document.add_cart.product_price.value = product_price;
	document.add_cart.product_id.value = product_id;
	document.add_cart.submit();
}

function addcartrand(product_title,product_price,product_id,unique_id) {
	var form = document.getElementsByName("addcart_"+unique_id);
	form = (form.length > 1) ? form[1] : form[0];
	form.product_title.value = product_title;
	form.product_price.value = product_price;
	form.product_id.value = product_id;
	form.submit();
/*
	eval("document.addcart_"+unique_id+".product_title.value = product_title");
	eval("document.addcart_"+unique_id+".product_price.value = product_price");
	eval("document.addcart_"+unique_id+".product_id.value = product_id");
	eval("document.addcart_"+unique_id+".submit()");
*/
}

function addcartvar(totalvar,unique_id){
	var allVar		=	new Array();
	allVar			=	totalvar.split("##");
	var pro_title	=	allVar[0];
	var pro_price	=	allVar[1];
	var pro_id		=	allVar[2];
	
	var form = document.getElementsByName("add_cart_"+unique_id);
	form = (form.length > 1) ? form[1] : form[0];
	form.product_title.value = pro_title;
	form.product_price.value = pro_price;
	form.product_id.value = pro_id;
	/*
	eval("document.add_cart_"+unique_id+".product_title.value = pro_title");
	eval("document.add_cart_"+unique_id+".product_price.value = pro_price");
	eval("document.add_cart_"+unique_id+".product_id.value = pro_id");	
	*/
}

function insertPrice(product_style,product_size,product_id,product_title){
	document.add_cart.product_title.value = product_title;	
	document.add_cart.product_id.value = product_id;
	document.add_cart.product_style.value = product_style;
	document.add_cart.product_size.value  = product_size;
	selectPrice(product_style,product_size,product_id);	
}

function setPrice(product_style,product_size,product_id,product_title){
	if(product_style=="0"){
		alert("Please select style");	
		return false;
	}else{		
		document.add_cart.product_title.value = product_title;
		document.add_cart.product_id.value = product_id;
		document.add_cart.product_style.value = product_style;
		document.add_cart.product_size.value  = product_size;
		selectPrice(product_style,product_size,product_id);	
		setTimeout('document.add_cart.submit()',500);
	}
}


// Function to add price --------------------------------

function selectPrice(style,size,pid) {     
   if ((pid == null) || (pid == "")) return;  
	var ran_unrounded=Math.random()*100000;
	var ran_number=Math.floor(ran_unrounded); 
	var url 	= "../../../ajaxregister.php";
	var param	= "style=" + escape(style)+"&size=" +escape(size)+"&pid="+pid+"&action=variation&s=" +ran_number;
	xmlHttpCart.open("POST", url, true);  
	xmlHttpCart.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttpCart.setRequestHeader("Content-length", param.length);
	xmlHttpCart.setRequestHeader("Connection", "close");	
	xmlHttpCart.onreadystatechange = function () {  
		if (xmlHttpCart.readyState == 4) {  
			var response = trim(xmlHttpCart.responseText);
			var getOP	 =	response.split("^");			
			if(getOP[2]	==	'S'){
				document.add_cart.product_price.value = getOP[0];
				document.add_cart.product_id.value = getOP[1];	
				//document.add_cart.submit();			
			}else if(getOP[2]	==	'F'){
				alert('Unable to process your request, try again!');	
				return false;
			}
		}
	}
	xmlHttpCart.send(param);
}




function setaction(form_action)
{
   switch(form_action)
   {
   case "empty_cart" :
      document.frmbasket.frm_action.value = 'empty_cart' ;
   break;
   case "re_calculate" :
      document.frmbasket.frm_action.value = 're_calculate' ;
   break;
   case "checkout":
   	  document.frmbasket.action='checkout.php';
   break;
 }   
   document.frmbasket.submit();
}

function validateLogin(frm){
	remval	=	'off';

	/*if(frm.remember.checked){
		remval	=	'on';
	}else{
		remval	=	'off';
	}*/

	if(trim(frm.email.value)==""){
		document.getElementById('lerrmsg').style.display='';
		document.getElementById('lerrmsg').innerHTML	=	'Please enter email!';
		return false ;
	}else if(checkEmail(frm.email.value)){
		document.getElementById('lerrmsg').style.display='';
		document.getElementById('lerrmsg').innerHTML	=	'Please enter valid email!';
		return false ;
	}else if(trim(frm.password.value)==""){
		document.getElementById('lerrmsg').style.display='';
		document.getElementById('lerrmsg').innerHTML	=	'Please enter password!';
		return false ;
	}else{
		ajaxLogin(trim(frm.email.value),trim(frm.password.value),remval);	
		return false;
	}
}



// Function to login customer --------------------------------

function ajaxLogin(uname,pwd,remval) {     
   if ((uname == null) || (pwd == "")) return;  
	var ran_unrounded=Math.random()*100000;
	var ran_number=Math.floor(ran_unrounded); 
	var url 	= "ajaxregister.php";
	var param	= "uname=" + escape(uname)+"&pwd=" +escape(pwd)+"&remval=" +remval+"&action=login&s=" +ran_number;
	xmlHttpCart.open("POST", url, true);  
	xmlHttpCart.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttpCart.setRequestHeader("Content-length", param.length);
	xmlHttpCart.setRequestHeader("Connection", "close");	
	xmlHttpCart.onreadystatechange = function () {  
		if (xmlHttpCart.readyState == 4) {  
			var response = trim(xmlHttpCart.responseText);
			var getOP	 =	response.split("^");
			if(getOP[1]	==	'S'){
				window.location.href="delivery.php";
			}else if(getOP[1]	==	'I'){
				document.getElementById('lerrmsg').style.display='';
				document.getElementById('lerrmsg').innerHTML	=	'Invalid email or password!';		
				return false;
			}else if(getOP[1]	==	'F'){
				document.getElementById('lerrmsg').style.display='';
				document.getElementById('lerrmsg').innerHTML	=	'Unable to process your request, try again!';	
				return false;
			}
		}
	}
	xmlHttpCart.send(param);
}

// Function to show forgot password box ---------------------------

function ShowForgotBox(id){
	if(document.getElementById(id).style.display==''){
		document.getElementById(id).style.display='none';
	}else{
		document.getElementById(id).style.display='';
		document.getElementById('femail').value=document.getElementById('lemail').value;
	}
}

// Functions related to forgot password ----------------------

function sendMail(frm){
	if(trim(frm.femail.value)==""){
		document.getElementById('fermsg').style.display='';
		document.getElementById('fermsg').innerHTML	=	'Please enter email!';
		return false;
	}else if(frm.femail.value!='' && checkEmail(frm.femail.value)){
		document.getElementById('fermsg').style.display='';
		document.getElementById('fermsg').innerHTML	=	'Please enter valid email!';
		return false;
	}else{
		document.getElementById('fermsg').style.display='none';
		ajaxForgot(trim(frm.femail.value));	
		return false;
	}
}

// Function to send mail for forgot password -----------------------

function ajaxForgot(email) {  
   if ((email == null) || (email == "")) return;  
	var ran_unrounded=Math.random()*100000;
	var ran_number=Math.floor(ran_unrounded); 
	var url 	= "ajaxregister.php";
	var param	= "email=" + escape(email)+"&action=sendmail&s=" +ran_number;
	xmlHttpCart.open("POST", url, true);  
	xmlHttpCart.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttpCart.setRequestHeader("Content-length", param.length);
	xmlHttpCart.setRequestHeader("Connection", "close");	
	xmlHttpCart.onreadystatechange = function () {  
		if (xmlHttpCart.readyState == 4) {  
			var response = xmlHttpCart.responseText;
			var getOP	 =	response.split("^");
			if(getOP[1]	==	'S'){
				document.getElementById('forgot_pass').style.display='none';
			}else if(getOP[1]	==	'I'){
				document.getElementById('fermsg').style.display='';
				document.getElementById('fermsg').innerHTML	=	'Invalid email id!';
			}else if(getOP[1]	==	'F'){
				document.getElementById('fermsg').style.display='';
				document.getElementById('fermsg').innerHTML	=	'There was an error while sending the mail. Mail Not Sent!';	
			}
		}
	}
	xmlHttpCart.send(param);
}


// Function to validate registration form ------------------------------------
function validateRegister(id,chkVal,message){	
	obj	=	document.getElementById(id);
	if(trim(chkVal)==""){
		obj.style.display	=	'';
		obj.innerHTML		=	message;
	}else{
		obj.style.display	=	'none';
	}	
}

function valRegister(regis){
	flag = true;
	
	txt_title		= regis.title.value;

	txt_fname 		= regis.firstname.value;

	txt_lname 		= regis.lastname.value;
	
	txt_email		= regis.email.value;
	
	txt_phone 		= regis.telephone.value;

	txt_add1		= regis.address1.value;

	txt_add2		= regis.address2.value;
	
	txt_city		= regis.city.value;
	
	txt_county		= regis.county.value;
	
	txt_country		= regis.country.value;	
	
	txt_postcode	= regis.postcode.value;	
	
	txt_pwd			= regis.password.value;	
	
	txt_cpwd		= regis.password2.value;	
	
	var mesg;
   
    
	if(txt_fname==""){
		 document.getElementById('fname').style.display='';
		 document.getElementById('fname').innerHTML = "Please enter your first name!" ;
		 flag = false;     
    }else{
		document.getElementById('fname').style.display='none';
	}
	if(txt_lname==""){
		 document.getElementById('lname').style.display='';
         document.getElementById('lname').innerHTML = "Please enter your last name!" ;
	     flag = false;     
    }else{
		document.getElementById('lname').style.display='none';
	}	
	if(txt_email==""){
   		document.getElementById('mail').style.display='';
		document.getElementById('mail').innerHTML = "Please enter email!" ;
         flag = false;     
    }else if(txt_email!='' && checkEmail(txt_email)){
		document.getElementById('mail').style.display='';
		document.getElementById('mail').innerHTML = "Please enter valid email!" ;
    	flag = false;    
	}else{
		document.getElementById('mail').style.display='none';
	}	
	if(txt_phone==""){
   		document.getElementById('phone').style.display='';
		document.getElementById('phone').innerHTML = "Pleaser enter telephone number!" ;
    	flag = false;     
    }else{
		document.getElementById('phone').style.display='none';
	}	
	if(txt_add1==""){
		 document.getElementById('add1').style.display='';
         document.getElementById('add1').innerHTML = "Please enter address1!" ;
		 flag = false;     
    }else{
		document.getElementById('add1').style.display='none';
	}    
    if(txt_city==""){
   		document.getElementById('cty').style.display='';
		document.getElementById('cty').innerHTML = "Pleaser enter city!" ;
    	flag = false;     
    }else{
		document.getElementById('cty').style.display='none';
	}
   	if(txt_county==""){
   		document.getElementById('cnty').style.display='';
		document.getElementById('cnty').innerHTML = "Pleaser enter county!" ;
    	flag = false;     
   	}else{
		document.getElementById('cnty').style.display='none';
	}
	if(txt_postcode==""){
   		document.getElementById('pcode').style.display='';
		document.getElementById('pcode').innerHTML = "Pleaser enter postcode!" ;
    	flag = false;     
   	}else{
		document.getElementById('pcode').style.display='none';
	}
  	if(txt_pwd=="") {
		document.getElementById('pwd').style.display='';
		document.getElementById('pwd').innerHTML = "Pleaser enter password!" ;
    	flag = false;     
    }else if(txt_pwd!='' && txt_pwd.length < 6){
		document.getElementById('pwd').style.display='';
    	document.getElementById('pwd').innerHTML = "Password should be >= 6 characters!" ;
		flag = false;     
    }else{
		document.getElementById('pwd').style.display='none';
	}
	if(txt_cpwd=="") {
		document.getElementById('cpwd').style.display='';
		document.getElementById('cpwd').innerHTML = "Pleaser enter confirm password!" ;
    	flag = false;     
    }else if(txt_cpwd	!=	txt_pwd){
		document.getElementById('cpwd').style.display='';
		document.getElementById('cpwd').innerHTML = "password & confirm password should be same!" ;
    	flag = false;     
	}else{
		document.getElementById('cpwd').style.display='none';
	}
	if(flag == true) {
		var params	=	"title="+escape(txt_title)+"&fname="+escape(txt_fname)+"&lname="+escape(txt_lname)+"&email="+escape(txt_email)+"&phone="+escape(txt_phone)+"&add1="+escape(txt_add1)+"&add2="+escape(txt_add2)+"&city="+escape(txt_city)+"&cnty="+escape(txt_county)+"&cntry="+escape(txt_country)+"&pcode="+escape(txt_postcode)+"&pwd="+escape(txt_pwd);
		ajaxRegister(params);
	}else{
		return flag;	
	}
}

// Function to register customer in cart ------------------------------------

function ajaxRegister(params){  
  if ((params == null) || (params == "")) return;    
    var ran_unrounded=Math.random()*100000;
	var ran_number=Math.floor(ran_unrounded); 
	var url = "ajaxregister.php";
	var param	=	params+"&action=register&s="+ran_number;
	xmlHttpCart.open("POST", url, true);  
	xmlHttpCart.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttpCart.setRequestHeader("Content-length", param.length);
	xmlHttpCart.setRequestHeader("Connection", "close");	
	xmlHttpCart.onreadystatechange = function () {  
	if (xmlHttpCart.readyState == 4) {  
	 	var response = trim(xmlHttpCart.responseText);			
		if(response	==	'S'){
			window.location.href="delivery.php";
		}else if(response	==	'A'){
			document.getElementById('errmsg').style.display='';
			document.getElementById('errmsg').innerHTML="Email/Password already exists";
		}else if(response	==	'F'){
			document.getElementById('errmsg').style.display='';
			document.getElementById('errmsg').innerHTML="Unable to process your request, try again!";
		}					
	}
 }
	xmlHttpCart.send(param);
}

// Function to validate the payment form ---------------------

function valPayment(frm){	
	var cardnum		=	trim(frm.cardnumber.value);	
	var startmon	=	trim(frm.startmonth.value);	
	var startyr		=	trim(frm.startyear.value);	
	var expmon		=	trim(frm.endmonth.value);	
	var expyr		=	trim(frm.endyear.value);	
	var cvv2		=	trim(frm.cv2.value);
	var my_month	=	new Date()
	curmon			=	my_month.getMonth();
	curmon			=	curmon+1;
	curyear			=	my_month.getFullYear();	
	if(cardnum==""){
		alert('Please enter card number!');
		frm.cardnumber.focus();
		return false;
	}else if((startmon!='0' && startyr =='0')||(startmon=='0' && startyr !='0')){
		alert('Please choose valid start date!');
		frm.startmonth.focus();
		return false;
	}else if((startmon!='0' && startyr !='0')&&(startmon>curmon && startyr==curyear)){			
			alert('Please choose valid start month!');
			frm.startmonth.focus();
			return false;
	}else if(expmon=='0' && expyr =='0'){
		alert('Please choose expiry date!');
		frm.endmonth.focus();
		return false;
	}else if((expmon!='0' && expyr =='0')||(expmon=='0' && expyr !='0')){
		alert('Please choose valid expiry date!');
		frm.endmonth.focus();
		return false;
	}else if((expmon!='0' && expyr !='0')&&(expmon<curmon && expyr == curyear)){		
			alert('Please choose valid expiry month!');
			frm.endmonth.focus();
			return false;
	}else if(cvv2==""){	
		alert('Please enter verification code!');
		frm.cv2.focus();
		return false;	
	}
	
}

function checkStyle(uni_id) {
	var form = document.getElementsByName("add_cart_"+uni_id);
	form = (form.length > 1) ? form[1] : form[0];

	var comboVal = form.itemname2.value;
	/*
  var comboVal = eval("document.add_cart_"+uni_id+".itemname2.value")
  */
  if(comboVal == "") {
  	alert("Please select the style");
  	return false;
  } else {
	//eval("document.add_cart_"+uni_id+".submit()");
	form.submit();
  	return true;
  }
}

function updateDetails(comboValue) {
  if (window.XMLHttpRequest) {
    xmlhttp = new XMLHttpRequest();
  } else if(window.ActiveXObject) {
    xmlhttp = new ActiveXObject("MSXML2.XMLHTTP");
  }
  var searchURL = "includes/inc_get_product_cart.php";
  var posturl = "action=getDetails&product_id="+comboValue+"&sizeVal="+document.getElementById('product_size').value;
  xmlhttp.open("POST",searchURL,true);
  xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
  xmlhttp.send(posturl);
  xmlhttp.onreadystatechange = updateValues
}

function updateValues() {
  if (xmlhttp.readyState == 4) {
    var resp = xmlhttp.responseText.split('#');
    document.getElementById('product_title').value = resp[0];
		document.getElementById('product_price').value = resp[2];
		document.getElementById('product_id').value = resp[1];
		document.getElementById('product_size').selectedIndex = 0;
  }
}

function updateSize(sizeValue) {
  document.getElementById('product_size').value = sizeValue;
  updateDetails1(document.getElementById('itemname2').value, sizeValue);
}

function updateDetails1(comboValue, sizeValue) {
  if (window.XMLHttpRequest) {
    xmlhttp1 = new XMLHttpRequest();
  } else if(window.ActiveXObject) {
    xmlhttp1 = new ActiveXObject("MSXML2.XMLHTTP");
  }
  var searchURL = "includes/inc_get_product_cart.php";
  var posturl = "action=getDetails&product_id="+comboValue+"&sizeVal="+sizeValue;
  xmlhttp1.open("POST",searchURL,true);
  xmlhttp1.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
  xmlhttp1.send(posturl);
  xmlhttp1.onreadystatechange = updateValues1
}

function updateValues1() {
  if (xmlhttp1.readyState == 4) {
    var resp = xmlhttp1.responseText.split('#');
    document.getElementById('product_title').value = resp[0];
		document.getElementById('product_price').value = resp[2];
		document.getElementById('product_id').value = resp[1];
		document.getElementById('product_size').selectedIndex = 0;
  }
}

// Function to validate invoice form ------------------------------------

function valInv(id,chkVal,message){	
	obj	=	document.getElementById(id);
	if(trim(chkVal)==""){
		obj.style.display	=	'';
		obj.innerHTML		=	message;
	}else{
		obj.style.display	=	'none';
	}	
}

// Function to validate invoice form ----------------------------------

function valInvoice(inv){
	flag = true;
	
	txt_fname 		= inv.firstname.value;

	txt_lname 		= inv.lastname.value;

	txt_add1		= inv.address1.value;

	txt_add2		= inv.address2.value;
	
	txt_city		= inv.city.value;

	txt_state		= inv.state.value;
	
	txt_country		= inv.country.value;	
	
	txt_postcode	= inv.postcode.value;	
	
	txt_cid			= inv.customer_id.value;
	
	txt_type		= inv.add_type.value;
	
	if(txt_fname==""){
		 document.getElementById('fname').style.display='';
		 document.getElementById('fname').innerHTML = "Please enter your first name!" ;
		 flag = false;     
    }else{
		document.getElementById('fname').style.display='none';
	}
	if(txt_lname==""){
		 document.getElementById('lname').style.display='';
         document.getElementById('lname').innerHTML = "Please enter your last name!" ;
	     flag = false;     
    }else{
		document.getElementById('lname').style.display='none';
	}		
	if(txt_add1==""){
		 document.getElementById('add1').style.display='';
         document.getElementById('add1').innerHTML = "Please enter address1!" ;
		 flag = false;     
    }else{
		document.getElementById('add1').style.display='none';
	}   
    if(txt_city==""){
   		document.getElementById('cty').style.display='';
		document.getElementById('cty').innerHTML = "Pleaser enter city!" ;
    	flag = false;     
    }else{
		document.getElementById('cty').style.display='none';
	}
	if(flag == true){
		var params	=	"fname="+escape(txt_fname)+"&lname="+escape(txt_lname)+"&add1="+escape(txt_add1)+"&add2="+escape(txt_add2)+"&city="+escape(txt_city)+"&state="+escape(txt_state)+"&cntry="+escape(txt_country)+"&pcode="+escape(txt_postcode)+"&cid="+escape(txt_cid);				
		ajaxInvoice(params,txt_type);
	}else{
		return false;
	}
	
}

// Function to update invoice -----------------------

function ajaxInvoice(params,action) {  
   if ((params == null) || (params == "")) return;  
	var ran_unrounded=Math.random()*100000;
	var ran_number=Math.floor(ran_unrounded); 
	var url 	= "ajaxregister.php";
	var param	= params+"&action="+action+"&s=" +ran_number;
	xmlHttpCart.open("POST", url, true);  
	xmlHttpCart.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttpCart.setRequestHeader("Content-length", param.length);
	xmlHttpCart.setRequestHeader("Connection", "close");	
	xmlHttpCart.onreadystatechange = function () {  
		if (xmlHttpCart.readyState == 4) {  
			var response = xmlHttpCart.responseText;
			var getOP	 =	response.split("^");
			if(getOP[2]	==	'S'){
				document.getElementById('invadd').innerHTML=getOP[0];
				document.getElementById('deladd').innerHTML=getOP[1];
				window.location.href=window.location.href;
				hs.close();
			}else if(getOP[1]	==	'F'){
				document.getElementById('fermsg').style.display='';
				document.getElementById('fermsg').innerHTML	=	'There was an error while updaing the address!';
				hs.close();
			}else if(getOP[1]	==	'A'){				
				hs.close();
			}
		}
	}
	xmlHttpCart.send(param);
}

function getCookie(){
	var a_all_cookies = document.cookie.split( ';' );
	var a_temp_cookie = '';
	var cookie_name = '';
	var cookie_value = '';
	var b_cookie_found = false;
	for ( i = 0; i < a_all_cookies.length; i++ ){
		a_temp_cookie = a_all_cookies[i].split( '=' );
		cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');
		if (cookie_name == '50cusername' )
		{
			if ( a_temp_cookie.length > 1 )
			{
				cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
			}
			document.getElementById('lemail').value = cookie_value;
			document.getElementById('remember').checked=true;
		}
		if(cookie_name == '50cpassword'){
			if ( a_temp_cookie.length > 1 )
			{
				cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
			}
			document.getElementById('lpassword').value = cookie_value;
		}
		b_cookie_found = true;
		
	}
	if ( !b_cookie_found )
	{
		return null;
	}
}

