/**
 * Production Zion JS
 */

/**
 * product.js
 */

function adjustPrice(div, prodid, pid)	{
	var selected_1 = jQuery('#stock_options_'+pid+'_1').val();
	var selected_2 = jQuery('#stock_options_'+pid+'_2').val();
	var selected_3 = jQuery('#stock_options_'+pid+'_3').val();
	
	selected_1 = encodeURIComponent(selected_1);
	selected_2 = encodeURIComponent(selected_2);
	selected_3 = encodeURIComponent(selected_3);
	
	if (selected_1 == '') selected_1 = 'undefined';
	if (selected_2 == '') selected_2 = 'undefined';
	if (selected_3 == '') selected_3 = 'undefined';
	
	var url = "/ajax_c.php/basic_stock_option_modifier/"+pid+"/"+selected_1+"/"+selected_2+"/"+selected_3;
	jQuery('#'+div).load(url);
}

/**
 * order.js
 */

jQuery.noConflict();

function checkout_login()
{
	var user_name = jQuery('#user_name').val();
	var password = jQuery('#password').val();
	
	var data = {
				'user_name': user_name,
				'password': password
				};
	
	var login_url = '/ajax_c.php/ajax_login/';
	jQuery.post(login_url, data, function(result) {
		display_account_address();
	});
	
	//var url = "/ajax_c.php/render_secure_template/orders|user_address";
	//jQuery('#checkout_user').load(url);	
}

function display_account_address()
{
	var url = "/ajax_c.php/render_secure_template/orders|user_address";	
	jQuery('#checkout_user').load(url);
	
	var url = "/ajax_c.php/render_secure_method/module/account_module/render_module_left";
	jQuery('.zion_my_account').load(url);
}

function useExistAddress()	{
	email = jQuery('#order_form #email').val();
	if (email == undefined) email = jQuery('input[rel="order_form_email"]').val();
	document.getElementById("delivery_title").value = document.getElementById("title").value;
	document.getElementById("delivery_first_name").value = document.getElementById("first_name").value;		
	document.getElementById("delivery_last_name").value = document.getElementById("last_name").value;
	document.getElementById("delivery_address_1").value = document.getElementById("address_1").value;
	document.getElementById("delivery_address_2").value = document.getElementById("address_2").value;
	document.getElementById("delivery_address_3").value = document.getElementById("address_3").value;
	document.getElementById("delivery_address_4").value = document.getElementById("address_4").value;
	document.getElementById("delivery_telephone").value = document.getElementById("telephone").value;
	document.getElementById("delivery_postcode").value = document.getElementById("postcode").value;
	document.getElementById("delivery_country").value = document.getElementById("country").value;
	document.getElementById("delivery_email").value = email;		
}

function changePostalZone(qs, mvc) {
	var f = document.orderf;
	zone = f.zone.value;
	if (!mvc)
	{
		f.action = "info.php?"+qs+"&zone="+zone;
	}
	else
	{
		f.action = "/order.php/display_checkout/"+zone;
		if (url_params["page_id"])
		f.action += '/'+url_params["page_id"];
	}
	f.submit();
} 

function checkOrderForm(postcode_required)	
{
	var sFN = jQuery("#first_name").val();
	var sSN = jQuery("#last_name").val();
	var sTl	= jQuery("#telephone").val();
	
	var sEm = jQuery("#order_form #email").val();
	if (sEm == undefined) sEm = jQuery('input[rel="order_form_email"]').val();
	
	var params = jQuery("#orderf").serialize();
	//var params = 'params='+order_params;
	
	isvalid = 1;
	var message = "";
	if (sFN.length < 2)	{
		message = "Please enter first name!\n";
		jQuery('#first_name').css('border','1px solid red');
		isvalid = -1;
	}
	if (sSN.length < 2)	{
		message = message + "Please enter surname!\n";
		jQuery('#last_name').css('border','1px solid red');
		isvalid = -1;				
	}			
	if (sTl.length < 10)	{
		message = message + "Please enter telephone number!\n";
		jQuery('#telephone').css('border','1px solid red');
		isvalid = -1;				
	}
	
	if (!document.getElementById("address_1").value)	{
		message = message + "Please enter address!\n";
		jQuery('#address_1').css('border','1px solid red');
		isvalid = -1;
	}
	
	
	
		if (postcode_required == 1 || postcode_required == '1') 
		{
			if (!document.getElementById("postcode").value) 
			{
				//alert("Please enter postcode!");
				message = message + "Please enter postcode!\n";
				jQuery('#postcode').css('border','1px solid red');
				isvalid = -1;
			}
			if (!document.getElementById("delivery_postcode").value) 
			{
				//alert("Please enter delivery postcode!");
				message = message + "Please enter delivery postcode!\n";
				jQuery('#delivery_postcode').css('border','1px solid red');
				isvalid = -1;
			}
		}
	
	
	if (sEm.length <5 || !sEm.match(/@/))	{
		message = message + "Please enter email address!\n";
		jQuery('#email').css('border','1px solid red');
		isvalid = -1;
	}
	
	
	if (!document.getElementById("delivery_first_name").value)	
	{
		message = message + "Please enter delivery details first name or use already entered!\n";
		jQuery('#delivery_first_name').css('border','1px solid red');
		isvalid = -1;
	}
	
	if (!document.getElementById("delivery_last_name").value)	
	{
		message = message + "Please enter delivery details surname or use already entered!\n";
		jQuery('#delivery_last_name').css('border','1px solid red');
		isvalid = -1;
	}
	
	if (!document.getElementById("delivery_address_1").value)	
	{
		message = message + "Please enter delivery details or select use address already entered!\n";
		jQuery('#delivery_address_1').css('border','1px solid red');
		isvalid = -1;
	}
	
	delivery_date = document.getElementById("delivery_date");
	if (delivery_date != undefined)	
	{
		if(!document.getElementById("delivery_date").value)	
		{
			message = message + "Please enter delivery date!\n";
			jQuery('#delivery_date').css('border','1px solid red');
			isvalid = -1;
		}
	}
	
	if (isvalid != -1) 
	{
		jQuery('#orderf').submit();
	}
	else
	{
		alert(message);
	}
		
}

function resize_order() {
   	   var url = document.URL;
	   var reg = /buegle/gi;
	   if (url.match(reg)) 
	   {
		   var container = jQuery("#wrapper").height() + 20;
		   
		   //We need to call FB.CanvasClient.stopTimerToSizeToContent() first because we have called FB.CanvasClient.startTimerToSizeToContent() earlier      
		   if (container != '20')	{
				FB.Canvas.setSize({height: container});
		   }
	   }	    
 }

function process_payment()
{
	
	disp_payment = function(result)	
	{
		alert(result);
		
	};
	ajax_request('process_order', params, disp_payment);
}

function payment_redirect(gateway_form, JS_FOLDER)
{
	jQuery('#payment_title').html('Redirecting to Payment...');
	jQuery('#payment_description').html('<div style="text-align: center;">Please wait whilst we redirect you to payment...<br><br><img src="/'+JS_FOLDER+'/ajax/loading.gif" style="max-height: 75px;" /></div>');
	jQuery('#'+gateway_form).submit();
}

/**
 * payment/payment.js
 */

function submit_payment_form(form_id)
{
	jQuery('#'+form_id).submit();
}

/**
 * components/cart.js
 */

function urlencode(str) 
{
    var ret = str;
    ret = ret.toString();
    ret = encodeURIComponent(ret);
    ret = ret.replace(/%20/g, '+');	    
    return ret;
}

function addToCart(pid, mvc)	{
	var proceed = true;
	var advopt;
	
	var selected_1 = jQuery('#stock_options_'+pid+'_1').val();
	var selected_2 = jQuery('#stock_options_'+pid+'_2').val();
	var selected_3 = jQuery('#stock_options_'+pid+'_3').val();
			
	if(jQuery('#stockcount-'+pid) && jQuery('#stockcount-'+pid).val() != undefined) {
		var subopt = jQuery('#subopt-'+pid).val();
		advopt = subopt;
		if(subopt  <= 0) {
			proceed = false;
			alert('Please select options before adding to cart');
		} else {
			if(jQuery('#stockcount-'+pid).val() <= 0) {
				proceed = false;
				alert('Sorry, this item is out of stock');
			}
		}
	}
	
	if (proceed == true)
	{
		if (selected_1 == 'null' || selected_2 == 'null' || selected_3 == 'null')	{
			alert("Please select options before adding to cart!");
		} 
		else if (selected_1 == '-1' || selected_2 == '-1' || selected_2 == 'null')	
		{
			alert("This product has options that need to be selected please select more info to select before adding to cart!");
		}
		else
		{
			op1 = encodeURIComponent(selected_1);
			op2 = encodeURIComponent(selected_2);
			op3 = encodeURIComponent(selected_3);			
		
			if (mvc)
			{
				_url = "/cart.php/add_item/"+pid+"/1/"+op1+"/"+op2+"/"+op3+"/5"+"/"+advopt;
				if (url_params["page_id"])
					_url += '/?page_id='+url_params["page_id"];
				window.location.href = _url;
			}
			else
			{
				window.location.href = "info.php?ack=1&id="+pid+"&quantity=1"+"&opt1="+op1+"&opt2="+op2+"&opt3="+op3+"&advopt="+advopt+"&stocklvl=5";
			}
		}
	}
}

function updateCartQuantities()
{
	valid = 1;
	jQuery(".cart_quantities").each(function(index) {			
		if (jQuery(this).val() != 'null' && jQuery(this).val().length)
		{
			//filters = filters + jQuery(this).attr('name')+'='+jQuery(this).val()+'|';
			cart_quantity = jQuery(this).val();
			item_id = jQuery(this).attr('id');
			stock_level_id = item_id+'_stock_level';
			available_quantity = jQuery('#'+stock_level_id).val();
			if (available_quantity > 1)
			{					
				if (parseInt(cart_quantity) > parseInt(available_quantity))
				{
					jQuery('#'+item_id+'_item').css('color', 'red');
					jQuery('#'+item_id+'_price').css('color', 'red');
					jQuery('#'+item_id+'_available_stock').css('color', 'red');
					jQuery('#'+item_id+'_available_stock').html('<small><b>(Only '+available_quantity+' available)</b></small>');
					valid = 0;						
				}
			}
		}
	});
	if (valid)
	{
		document.f.submit();
	}
}

jQuery(document).ready(function($) {
	
	$(".cart_quantities").blur(function() {
		var qty = parseInt($(this).val());
		var max = parseInt($(this).attr('rel'));
		
		// disallow negative quantities
		if(qty < 0) {
			$(this).val(1);
		}
		
		// check quantity is numeric (adv stock opts only)
		if(!isNaN(max)) {
			if(qty > max) { // more than available
				$(this).val(max);
				alert('Sorry, we only have '+max+' available at the moment.');
			}
		}
	});

});

function changeQuantity(pid, index, modifier, mvc, lvl)	{
	if (mvc != '0')
	{
		_url = "/cart.php/update_item_quantity/"+pid+"/"+index+"/"+modifier+"/"+lvl;
		if (url_params["page_id"])
			_url += '/?page_id='+url_params["page_id"];
		window.location.href = _url;		
	}
	else
	{
		location = "info.php?ack=10&item="+pid+"&index="+index+"&modifier="+modifier+"&lvl="+lvl;		
	}
}

/**
 *	components/categories.js 
 */

function changeCategory(id_page, mvc)	{
	id_category = jQuery('#id_category').val();
	if (mvc)
	{
		_url = "/index.php/"+id_page+"/"+id_category;
		if (url_params["page_id"])
			_url += '/?page_id='+url_params["page_id"];
		window.location = _url;
	}
	else
	{
		window.location = "info.php?p="+id_page+"&cat="+id_category;
	}
}

function changePaging(id_page, search, id_category, sort, mvc)
{
	paging = jQuery('#pno').val();
	if (mvc)
	{
		if (search.length)
		{
			_url = "/search.php/"+search+"/0/"+paging;
			if (url_params["page_id"])
				_url += '/?page_id='+url_params["page_id"];
			window.location = _url;
		}
		else
		{
			id_category = jQuery('#id_category').val();
			_url = "/index.php/"+id_page+"/"+id_category+"/0/"+paging;
			if (url_params["page_id"])
				_url += '/?page_id='+url_params["page_id"];
			window.location = _url;
		}
	}
	else
	{
		if (search.length)
		{
			//id_category = jQuery('#id_category').val();
			window.location = "info.php?p="+id_page+"&cat="+id_category+"&pno="+paging+"&search="+search;
		}
		else
		{
			window.location = "info.php?p="+id_page+"&cat="+id_category+"&pno="+paging;
		}
	}
}

function changeSortOrder(id_page, search, id_category, paging, mvc)
{
	sort_order = jQuery('#sort_order').val();
	if (!id_category) {
		id_category = 0;
	}
	if (mvc)
	{
		if (search.length)
		{
			_url = "/search.php/"+search+"/"+sort_order+"/"+paging;
			if (url_params["page_id"])
				_url += '/?page_id='+url_params["page_id"];
			window.location = _url;
		}
		else
		{
			_url = "/index.php/"+id_page+"/"+id_category+"/"+sort_order+"/"+paging;
			if (url_params["page_id"])
				_url += '/?page_id='+url_params["page_id"];
			window.location = _url;
		}
	}
	else
	{
		if (search.length)
		{
			//id_category = jQuery('#id_category').val();
			window.location = "info.php?p="+id_page+"&cat="+id_category+"&pno="+paging+"&search="+search+"&sought="+sort_order;;
		}
		else
		{
			window.location = "info.php?p="+id_page+"&cat="+id_category+"&sought="+sort_order;
		}
		
	}
}

/**
 *	modules/global_search.js
 */

function global_search_perform_search(MVC)
{
	action = jQuery('#global_search').attr('action');
	if (!MVC)
	{		
		action = action + '?p=0&search='+jQuery('#search').val();
	} 
	else
	{			
		action = action + jQuery('#search').val() + '';		
		if (url_params["page_id"])
			action += '/?page_id='+url_params["page_id"];		
	}
	window.location = action;
}

/**
 * 	legacy.js
 */

function openInfo(url, page)	{
	if (typeof(viewit) != "undefined") viewit.close();
	if (page == 'terms.php')
	{
		viewit = window.open("/legal.php?ack=terms_and_conditions", "viewit","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=yes,width=600,height=250");
	}
	if (page == 'privacy.php')
	{
		viewit = window.open("/legal.php?ack=privacy_policy", "viewit","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=yes,width=600,height=250");
	}
}

