function getSelectedOption(oSelect)
{
	for (i=0; i< oSelect.options.length; i++)
        if(oSelect.options(i).selected)
        	return oSelect.options(i).text;
        
}
function clearShoppingCartOnExit(user_id){
	var url = '/public/order/asyncActions.cfm';
	var oMemberId = user_id;
	var pars = '?cAction=CLEAR'+'&member_id='+oMemberId+"&i=" + new Date().getTime();
	var ajaxRequest = new Ajax.Request(url, 
				{method:'get', 
				parameters:   pars, 
				onSuccess: function(transport){ 
				 ;}, 
				onFailure: function(){ alert('Something went wrong...')}}); 
}


function showPaymentSection(delivery_method){
	document.getElementById('delivery_method_id').value = delivery_method;
	//if(document.getElementById('payment_method_section').style.display == ''){
			showOrderSummarySection(delivery_method);
		
	//}
	recalculateDelivery(delivery_method);
	document.getElementById('payment_method_section').style.display = '';
	
	
}
function showCreditCardSection(payment_method,hidden_name){
	
	document.getElementById('payment_method_id').value = payment_method;
		var oDelivery = document.getElementsByName('delivery_method_id_options');
	for(var i = 0; i<oDelivery.length;i++){
		if(oDelivery[i].checked)
			showOrderSummarySection(oDelivery[i].value)
	}
		changeCheckoutButton(hidden_name);
}

function changeCheckoutButton(hidden_name){
	

	if(hidden_name =='PAYPAL')
	{
		document.getElementById('PAYPAL_button').style.display='';
		document.getElementById('CASH_button').style.display='none';
		
	}
	else if(hidden_name =='PROCESSING')
	{
		document.getElementById('PAYPAL_button').style.display='none';
		document.getElementById('CASH_button').style.display='none';
		document.getElementById('processing_button').style.display='';
	}
	else{
		document.getElementById('PAYPAL_button').style.display='none';
		document.getElementById('CASH_button').style.display='';
		
		
	}

	
}
function recalculateDelivery(delivery_method){
var url = '/public/checkout/calculate_delivery.cfm';

	var pars = '?delivery_method_id='+delivery_method+'&recipient_country='+document.getElementById('recipient_country').value+ '&i=' + new Date().getTime();
	
	var ajaxRequest = new Ajax.Request(url, 
				{method:'get', 
				parameters:   pars, 
				onSuccess: function(transport){
					document.getElementById('delivery_charge').value = trim(transport.responseText);
									 
				 ;}, 
				onFailure: function(){ alert('Something went wrong...1')}});
} 
function showDeliveryPaymentSection(){
	
	var url = '/public/checkout/payment_delivery_method.cfm';
	
	var pars = '?country_code='+document.getElementById('recipient_country').value+"&i=" + new Date().getTime();
	
	var ajaxRequest = new Ajax.Request(url, 
				{method:'get', 
				parameters:   pars, 
				onSuccess: function(transport){
					document.getElementById('payment_delivery').innerHTML = transport.responseText;
					initDeliveryPaymentValues();
				 ;}, 
				onFailure: function(){ alert('Something went wrong...1')}}); 
	
	
}

function initDeliveryPaymentValues(){
	
	var url = '/public/checkout/init.cfm';
	
	var pars = '?country_code='+document.getElementById('recipient_country').value+"&i=" + new Date().getTime();
	//document.getElementById('order_summary').style.display='none';
	var ajaxRequest = new Ajax.Request(url, 
				{method:'get', 
				parameters:   pars, 
				onSuccess: function(transport){
					cPairValue = trim(transport.responseText);
					aPair = cPairValue.split('|');
					document.getElementById('payment_method_id').value = '';
					document.getElementById('delivery_method_id').value = '';
					if(aPair[0] >0){
						showOrderSummarySection(aPair[0]);
						document.getElementById('delivery_method_id').value = aPair[0];
						recalculateDelivery(aPair[0]);
					}
					if(aPair[1] >0)
					{
						document.getElementById('payment_method_id').value = aPair[1];
						changeCheckoutButton(aPair[2]);
					}
					else{
						changeCheckoutButton('');
						
					}
				 ;}, 
				onFailure: function(){ alert('Something went wrong...1')}}); 
	
	
	
}
function showOrderSummarySection(delivery_method){
	
	var url = '/public/checkout/order_summary.cfm';
	var oDelivery = document.getElementsByName('delivery_method_id_options');
	var iDeliveryMethod = 0;
	for(var i = 0; i<oDelivery.length;i++){
		if(oDelivery[i].checked){
			delivery_method = oDelivery[i].value;
		
		}
	}
	var cPromoCode = "";
	if(document.getElementById('promo_code_temp')){
		 cPromoCode = document.getElementById('promo_code_temp').value;
		if(cPromoCode !='')
			if(document.getElementById('promo_code'))
				document.getElementById('promo_code').value =cPromoCode;
		 
	}

	if(delivery_method > 0){ 
	var pars = '?delivery_method_id='+delivery_method+'&recipient_country='+document.getElementById('recipient_country').value+'&promo_code='+cPromoCode+ '&i=' + new Date().getTime();
	
	var ajaxRequest = new Ajax.Request(url, 
				{method:'get', 
				parameters:   pars, 
				onSuccess: function(transport){
					document.getElementById('order_summary').innerHTML = transport.responseText;
					document.getElementById('order_summary').style.display='';
					//window.scrollTo(0,900)
					
				 ;}, 
				onFailure: function(){ alert('Something went wrong...1')}}); 
	
	}
}

function clearShoppingCart(user_id){
	var url = '/public/order/asyncActions.cfm';
	var oMemberId = user_id;
	var pars = '?cAction=CLEAR'+'&member_id='+oMemberId+"&i=" + new Date().getTime();
	var ajaxRequest = new Ajax.Request(url, 
				{method:'get', 
				parameters:   pars, 
				onSuccess: function(transport){
					getShoppingCartItems(user_id);
					document.getElementById('shopping_cart_table').innerHTML = transport.responseText;
					 
				 ;}, 
				onFailure: function(){ alert('Something went wrong...')}}); 
}
function isNumeric(value) {
  if (value == null || !value.toString().match(/^[-]?\d*\.?\d*$/)) return false;
  return true;
}
function updateShoppingCart(user_id,product_id,quantity)
{
	var url = '/public/order/asyncActions.cfm';
	var pars = '?product_id=' + product_id + '&cAction=UPDATE'+'&member_id='+user_id+'&quantity='+quantity+"&i=" + new Date().getTime();
	var ajaxRequest = new Ajax.Request(url, 
						{method:'get', 
						parameters:   pars, 
						onSuccess: function(transport){ 
							getShoppingCartItems(user_id);
							document.getElementById('shopping_cart_table').innerHTML = transport.responseText;
						 ;}, 
						onFailure: function(){ alert('Something went wrong...')}}); 
	
}
function checkemail(str){
	
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
		if (filter.test(str))
			return true;
		else
			return false;
}

function validateField(lcFieldName){

	var aFormField = lcFieldName.split(',');
	var bInvalid = false;
	var bFormInvalid = false;
	for (var i=0;i<aFormField.length;i++)
	{
		var oField = document.getElementById(aFormField[i]);
		bInvalid = false;
		
		if(aFormField[i] == 'recipient_email'){
			if(oField.value == '' || !checkemail(oField.value)){
				bInvalid = true;
				bFormInvalid = true;
			}
		}
		else if (aFormField[i] =='recipient_contact_phone'){
			if(oField.value == '' || !isNumeric(oField.value)){
				bInvalid = true;
				bFormInvalid = true;
			}
		}
		else if (aFormField[i] =='recipient_zip_code'){
			if(oField.value == '' ){
				bInvalid = true;
				bFormInvalid = true;
			}
		}
	else if (aFormField[i] =='delivery_method_id'){
			
			if(oField.value == '' || oField.value ==0){
				bInvalid = true;
				bFormInvalid = true;
			}
		}
		else if (aFormField[i] =='payment_method_id'){
			
			if(oField.value == '' || oField.value ==0){
				bInvalid = true;
				bFormInvalid = true;
			}
		}
		else{
			if(!oField ||oField.value == ''){
					bInvalid = true;
					bFormInvalid = true;
			}
		}
		
		var cFieldId = aFormField[i] + '_error';
		if(document.getElementById(cFieldId)){
			if(bInvalid){
				document.getElementById(cFieldId).style.display='';
				window.scrollTo(0,330);
			}
			else
			{
				document.getElementById(cFieldId).style.display='none';
			}

		}
	}
	if (!bFormInvalid){
		changeCheckoutButton('PROCESSING');
		document.checkout_form.submit();
	}
	
	return 0;
}

function validateContactUs(lcFieldName){

	var aFormField = lcFieldName.split(',');
	var bInvalid = false;
	var bFormInvalid = false;
	for (var i=0;i<aFormField.length;i++)
	{
		var oField = document.getElementById(aFormField[i]);
		bInvalid = false;
		
		if(aFormField[i] == 'email'){
			if(oField.value == '' || !checkemail(oField.value)){
				bInvalid = true;
				bFormInvalid = true;
			}
		}
		else if (aFormField[i] =='message'){
			if(oField.value == ''){
				bInvalid = true;
				bFormInvalid = true;
			}
		}
		else if (aFormField[i] =='name'){
			if(oField.value == ''){
				bInvalid = true;
				bFormInvalid = true;
			}
		}
		
		var cFieldId = aFormField[i] + '_error';
		if(document.getElementById(cFieldId)){
			if(bInvalid)
				document.getElementById(cFieldId).style.display='';
			else
				document.getElementById(cFieldId).style.display='none';	
		}
	}
	if (!bFormInvalid){
		
		document.checkout_form.submit();
	}
	return 0;
}



function showTip(fieldName){
	document.getElementById(fieldName).style.display='';
}
function hidTip(fieldName){
	document.getElementById(fieldName).style.display='none';
}
   function LTrim( value ) {
  	var re = /\s*((\S+\s*)*)/;
  	return value.replace(re, "$1");
  }
  function RTrim( value ) {
  	var re = /((\s*\S+)*)\s*/;
  	return value.replace(re, "$1");
  }
  function trim( value ) {
  	
  	return LTrim(RTrim(value));
   	
  }	
function addToShoppingCart(product_id,user_id)
{
	var url = '/public/order/asyncActions.cfm';
	var oMemberId = user_id;

	var pars = '?product_id=' + product_id + '&cAction=ADD'+'&member_id='+oMemberId+"&i=" + new Date().getTime();
	
	var ajaxRequest = new Ajax.Request(url, 
						{method:'get', 
						parameters:   pars, 
						onSuccess: function(transport){
							
							if(trim(transport.responseText) != ''){
								alert(trim(transport.responseText));
							}
							else{	
							document.location.href = '/public/shopping_cart/' 
							getShoppingCartItems(user_id);
							}
						 ;}, 
						onFailure: function(){ alert('Something went wrong...')}}); 

	
}
function getShoppingCartItems(user_id){
	var url = '/public/order/asyncActions.cfm';
	var oMemberId = user_id;

	var pars = '?cAction=CART_INFO'+'&member_id='+oMemberId+"&i=" + new Date().getTime();
	
	var ajaxRequest = new Ajax.Request(url, 
						{method:'get', 
						parameters:   pars, 
						onSuccess: function(transport){
							var aInfo = trim(transport.responseText);
							aInfo = aInfo.split('|');
							document.getElementById('itemQuantity').innerHTML = aInfo[0];
							document.getElementById('itemTotal').innerHTML = aInfo[1]; 
						
						 ;}, 
						onFailure: function(){ alert('Something went wrong...')}}); 
}

function removeFromShoppingCart(product_id,user_id)
{
	var url = '/public/order/asyncActions.cfm';
	var oMemberId = user_id;

	var pars = '?product_id=' + product_id + '&cAction=REMOVE'+'&member_id='+oMemberId+"&i=" + new Date().getTime();
	
	var ajaxRequest = new Ajax.Request(url, 
						{method:'get', 
						parameters:   pars, 
						onSuccess: function(transport){
							getShoppingCartItems(user_id);
							document.getElementById('shopping_cart_table').innerHTML = transport.responseText;
						 ;}, 
						onFailure: function(){ alert('Something went wrong...')}}); 

	
}
function updateClientVariables(lang_code){
		var url = '/change_currency_language.cfm';
		var pars = "?lang_code=" + lang_code;
		pars = pars +"&i=" + new Date().getTime();
	
		var ajaxRequest = new Ajax.Request(url, 
					  {method:'get', 
					  parameters:pars , 
					  onSuccess: function(transport){ 
					 	window.location.reload(true);
					  }, 
					  onFailure: function(){ alert('Something went wrong...') }});
}


function validatePreorderSubmit(lcFieldName,product_id){
    	var aFormField = lcFieldName.split(',');
    	var bInvalid = false;
    	var bFormInvalid = false;
    	for (var i=0;i<aFormField.length;i++)
    	{
    		var oField = document.getElementById(aFormField[i]);
    		bInvalid = false;

  			if(oField.value == ''){
  				bInvalid = true;
  				bFormInvalid = true;
  			}

    		var cFieldId = aFormField[i] + '_error';
    		if(document.getElementById(cFieldId)){
    			if(bInvalid)
    				document.getElementById(cFieldId).style.display='';
    			else
    				document.getElementById(cFieldId).style.display='none';
    		}
    	}
    	if (!bFormInvalid){

    		var url = '/public/async_preorder.cfm';
			var pars = "?name=" + document.getElementById('name').value;
			pars = pars + "&tel=" + document.getElementById('tel').value;
		 	pars = pars + "&product_id=" +product_id;
			pars = pars +"&i=" + new Date().getTime();
			var ajaxRequest = new Ajax.Request(url, 
						  {method:'get', 
						  parameters:pars , 
						  onSuccess: function(transport){ 
						 	document.getElementById('out_of_stock_product_table_success').style.display='';
						 	document.getElementById('out_of_stock_product_table').style.display='none';
						  }, 
						  onFailure: function(){ alert('Something went wrong...') }});

    	}
    	return 0;
    }
