/* 
	Written By: Peter Evans
	Last Modified: 24/03/2009
*/


(function($) {
	jQuery.stripPx = function(str) {
		return str.substring(0, str.length - 2);	
	};
	jQuery.addCommas = function(nStr) {
		nStr += '';
		x = nStr.split('.');
		x1 = x[0];
		x2 = x.length > 1 ? '.' + x[1] : '';
		var rgx = /(\d+)(\d{3})/;
		while (rgx.test(x1)) {
			x1 = x1.replace(rgx, '$1' + ',' + '$2');
		}
		return x1 + x2;
	};
	jQuery.isNumeric = function(sText) {
		var ValidChars = "0123456789.";
			var IsNumber=true;
			var Char;

			for (i = 0; i < sText.length && IsNumber == true; i++)  { 
  			Char = sText.charAt(i); 
  			if (ValidChars.indexOf(Char) == -1) {
     			IsNumber = false;
     		}
  		}
		return IsNumber;
	};
	jQuery.showHide = function(id) {
		($(id).is(":hidden") ? $(id).fadeIn("slow") : $(id).fadeOut("slow"));
	};
	jQuery.searchSubmit = function(fromkey) {
		if($("#search_box").val().length > 0) {
			if(fromkey == true) {
				if (window.event && window.event.keyCode == 13) {
		    		$("#search_form").submit();
		    	}
			}
			else {
				
			}
		}
	};
	jQuery.updateCart = function(v, tot) {
		var qty = $("#qty" + v).val();
		var old = $("#qty" + v).attr('src');

		$.post( siteURI + '/ajax/item_available', {'qty': qty, 'variant': v}, function(i) {
			if(i != 'unavailable') {
				if($.isNumeric(qty)) {
					if(qty > 0) {
						$("#qty" + v).attr('src', qty);
						
						$.post( siteURI + '/basket/update', {'variant': v, 'qty': qty, 'type': 'ajax'}, function(i) {
							window.location.reload();
							var data = JSON.parse(i);
							var rawSub = new Number(data.subtotal);
							var rawShip = new Number(data.shipping);
							var rawTot = new Number(data.total);
							
							var subtotal = rawSub.toFixed(2); //
							var shipping = rawShip.toFixed(2);
							var total = rawTot.toFixed(2);
		
							$("#subtotal").html('SUB-TOTAL: &pound;' + $.addCommas(subtotal)); //
							$("#shipping").html('SHIPPING: &pound;' + $.addCommas(shipping));
							$("#totalcost").html('TOTAL: &pound;' + $.addCommas(total));
							
							$("#shopping-bag").html('Shopping Bag ' + data.items);						
						});
					}
					else {
						$.removeCart(v, tot);
						window.location.reload();
					}
				}
				else {
					$(this).blur();
					$("#qty" + v).val(old);
				}
			}
			else {
				alert('Sorry, the quantity you selected is unavailable.');
				$(this).blur();
				$("#qty" + v).val(old);
			}
		});
		
	};
	jQuery.removeCart = function(v, tot) {
		if(basket_items > 1) {
			$.post( siteURI + '/basket/remove', {'variant': v, 'type': 'ajax'}, function(i) {
				window.location.reload();
				var data = JSON.parse(i);
				
				var rawSub = new Number(data.subtotal);
				var rawShip = new Number(data.shipping);
				var rawTot = new Number(data.total);
				
				var subtotal = rawSub.toFixed(2);
				var shipping = rawShip.toFixed(2);
				var total = rawTot.toFixed(2);
	
				$("#subtotal").html('SUB-TOTAL: &pound;' + $.addCommas(subtotal));
				$("#shipping").html('SHIPPING: &pound;' + $.addCommas(shipping));
				$("#totalcost").html('TOTAL: &pound;' + $.addCommas(total));
				
				$("#shopping-bag").html('Shopping Bag ' + data.items);
				
				$("#product" + v).fadeOut("fast");
			});
			basket_items -= 1;
		}
		else {
			$.resetCart();
		}
	};
	jQuery.resetCart = function() {
		$.post( siteURI + '/basket/purge', {'type': 'ajax'}, function(i) {
			$("#basket-table").fadeOut("fast");
			$("#basket-totals").fadeOut("fast");
			$("#empty-basket").fadeIn(1200);
		});
	};
	jQuery.deliverySwap = function() {
		var type = $("#delivery-types").val();

		$.post( siteURI + '/basket/shippingswap', {'type': type}, function(i) {
			window.location.reload();
			if(i > 0) {
				if(type == 'free') {
					var shipping = 0;
				}
				if(type == 'prem_domestic') {
					var shipping = 7.00;
				}
				if(type == 'prem_europe') {
					var shipping = 28.00;
				}
				if(type == 'international') {
					var shipping = 35.00;
				}
				window.location.reload();
				
				var sub = parseInt(i);
				var tot = sub + shipping;
				
				var rawSub = new Number(i);
				var rawShip = new Number(shipping);
				var rawTot = new Number(tot);
				
				var subtotal = rawSub.toFixed(2);
				var ship = rawShip.toFixed(2);
				var total = rawTot.toFixed(2);
				
				
				$("#subtotal").html('SUB-TOTAL: &pound;' + $.addCommas(subtotal));
				$("#shipping").html('SHIPPING: &pound;' + $.addCommas(ship));
				$("#totalcost").html('TOTAL: &pound;' + $.addCommas(total));
				
				$("#delivery-types").blur();
			}
		});
	};
	jQuery.registerNewsletter = function() {
		$("#fname").css("border", "1px solid #6d6e71");
		$("#email").css("border", "1px solid #6d6e71");	
		
		var n = document.newsletter.fname.value;
		var dob = "0"; //document.newsletter.dob.value;
		var e = document.newsletter.email.value;
		var r = document.newsletter.referral.value;

		var error = false;
		
		if(n.length == 0 || n == 'Your name is required.' || n == 'Name') {
			document.newsletter.fname.focus();
			$("#reg-wrap #fname").css("border", "1px solid #FF0000");
			document.newsletter.fname.value = 'Your name is required.';
			error = true;
		}
		else if(e.length == 0 || e == 'Your email is required.' || e == 'Email') {
			document.newsletter.email.focus();
			$("#reg-wrap #email").css("border", "1px solid #FF0000");
			document.newsletter.email.value = 'Your email is required.';
			error = true;
		}
		else if(!error) {
			$.post( siteURI + '/ajax/register', {'fname': n, 'dob': dob, 'email': e, 'referral': r}, function(i) {
				if(i == 'success') {
					// Reset
					document.newsletter.fname.value = '';
					//document.newsletter.dob.value = '';
					document.newsletter.email.value = '';
					document.newsletter.referral.value = '';
					$("#reg-wrap img").css({'display' : 'block'});
					$("#reg-wrap form").hide();
					$("#left span").html("&nbsp;");
					$("#reg-wrap p").html("You are now subscribed. Thank you.");
					//setTimeout('$("#reg-wrap p").html("Register to receive updates of all the latest products, offers and events.");', 5000);
				}
				if(i.substr(0, 1) == 'T') {
					document.newsletter.email.focus();
					$("#reg-wrap #email").css("border", "1px solid #FF0000");
					$("#reg-wrap p").html('A valid email address is required.');
					setTimeout('$("#reg-wrap p").html("Register to receive updates of all the latest products, offers and events.");', 5000);
				}
			});
		}
	};
})(jQuery);

var name = "#infodiv";
var menuYloc = null;



$(document).ready(function() {
	$("#header-right").hover(
  		function () {
  			$("#search_box").focus();
  			$("#search_box").css("border-bottom", "1px solid #ed1c24");
  		}, 
  		function () {
  			$("#search_box").blur();
  			$("#search_box").css("border", "1px solid #FFFFFF");
  		}
	);
	$("#header-right").hover(
  		function () {
  			$("#search_box").focus();
  			$("#search_box").css("border-bottom", "1px solid #ed1c24");
  		}, 
  		function () {
  			$("#search_box").blur();
  			$("#search_box").css("border", "1px solid #FFFFFF");
  		}
	);
	$('a.tooltips').hover(function(){
		$(this).children().fadeIn('fast');
	},function(){
		$(this).children().fadeOut('fast');
	});
});