$(document).ready(function() {

	var basketHeight = $(".basketItems").height();

	$("#basket").mouseenter(function (event) {
		$(".basketItems").stop().animate({
	        height: basketHeight+"px"
	      }, 500 );
	});

	$("#basket").mouseleave(function (event) {
		$(".basketItems").stop().animate({
	        height: "0px"
	      }, 500 );
	});

	$(".basketItems").animate({
	        height: "0px"
	}, 500 );


	/* basket modals */
	$.modal.defaults.onShow = function () {
		$( ".editBasketBoxForm" ).submit(function(e){
			$.modal.close();
			ajaxBasketFormSubmission(e);
			return false;
		});

		$( ".editBasketBoxForm select" ).change(function(e){
			$( ".editBasketBoxForm" ).trigger("submit");
		});
	};


	function ajaxBasketFormSubmission(e){
		target = $(e.target);

		var p = target.find("input").serialize();
		var p = p + "&" + target.find("select").serialize();
		$.ajax({
			type: "POST",
			url: target.attr("action"),
			data: p,
			success: function(){
				// Now Show Basket
				$.ajax({
					type: "POST",
					url: $('a[rel*=basket]').attr("href")+"?ajax=ajax",
					data: "",
					success: function(msg){
						$.modal(msg); // HTML
					}
				});

				$.ajax({
					type: "POST",
					url: $('a[rel*=basket]').attr("href")+"?ajax=ajax2",
					data: "",
					success: function(msg){
						$(".basketContent").html(msg); // HTML
					    $('a[rel*=basket]').click(function(){

							$.ajax({
								type: "POST",
								url: $(this).attr("href")+"?ajax=ajax",
								data: "",
								success: function(msg){
									$.modal(msg); // HTML
								}
							});

							return false;
					    });
					}
				});

			}
		});

		return false;
	}

	$( ".productPriceForm" ).submit(function(e){
		ajaxBasketFormSubmission(e);
		return false;
	});


    $('a[rel*=basket]').click(function(){

		$.ajax({
			type: "POST",
			url: $(this).attr("href")+"?ajax=ajax",
			data: "",
			success: function(msg){
				$.modal(msg); // HTML
			}
		});

		return false;
    });




	/* OFFER BANNER */

	$('#specialOffers').cycle({
	    fx:     'scrollLeft',
	    timeout: 8000,
	    delay:  -2000
	});


	/* PRODUCT HOVER (home page)*/

	$('.products a').mouseenter(function (event) {
		target = $(event.currentTarget);
		target.find("img").stop().animate({
	        left: "0px"
	      }, 500 );

	});

	$('.products a').mouseleave(function (event) {
		target = $(event.currentTarget);
		target.find("img").stop().animate({
	        left: "-114px"
	      }, 500 );
	});


	/* PRODUCT HOVER (product listings)*/

	$('.productsListImageHolder').mouseenter(function (event) {
		target = $(event.currentTarget);
		target.find(".moreInfoHover").stop().animate({
	        left: "0px"
	      }, 500 );

	});

	$('.productsListImageHolder').mouseleave(function (event) {
		target = $(event.currentTarget);
		target.find(".moreInfoHover").stop().animate({
	        left: "-78px"
	      }, 500 );
	});

	/*SEARCH FOCUS */
	$('#searchBoxWrapper input:not(:submit)').toggleVal('active');


	//default input values
	$(".contactForm input[type='text'] , textarea").focus(function(){
		if( $(this).attr("value") == $(this).attr("defaultValue") ){
			$(this).attr("value","");
		}
	}).blur(function(){
		if( $(this).attr("value")=="" ){
			$(this).attr("value",$(this).attr("defaultValue"));
		}
	});


	/* checkout form submission */
	$( ".editBasketBox_checkout select" ).change(function(e){
		$( ".editBasketBoxForm_checkout" ).trigger("submit");
	});


	$("#autoFillAddress").click(function(){

		var cForm = $("#checkoutForm");

		cForm.find("input[name=address]").val(cForm.find("input[name=billingaddress]").val());
		cForm.find("input[name=address2]").val(cForm.find("input[name=billingaddress2]").val());
		cForm.find("input[name=town]").val(cForm.find("input[name=billingtown]").val());
		cForm.find("input[name=town]").val(cForm.find("input[name=billingtown]").val());
		cForm.find("input[name=county]").val(cForm.find("input[name=billingcounty]").val());
		cForm.find("input[name=postcode]").val(cForm.find("input[name=billingpostcode]").val());


	});


});



jQuery.fn.toggleVal = function(focusClass) {
	this.each(function() {
		$(this).focus(function() {

			if($(this).val() == this.defaultValue) { $(this).val(''); }


			if(focusClass) { $(this).addClass(focusClass); }
		}).blur(function() {

			if($(this).val() == '') { $(this).val(this.defaultValue); }


			if(focusClass) { $(this).removeClass(focusClass); }
		});
	});
}
