//
// DOM LOAD FUNCTIONS
// $Rev: 500 $:     Revision of last commit
// $Author: david $:  Author of last commit
// $Date: 2009-02-25 13:23:49 +0000 (Wed, 25 Feb 2009) $:    Date of last commit

// add class to show js enabled (all javascript enabled css styles can be prepended with html.js)
$('html').addClass('js');

$(function(){

	//
	//	GLOBAL
	//
	// open rel="external" links in new window (instead of target="_blank")
	$("a[rel='external']").addClass("external").click( function() { window.open( $(this).attr('href') ); return false; } );
	
	//search ajax code
	$("#searchBox #keyword").attr('disabled', false);
	$("#searchBox #keyword").bind('keyup',
		function(event){
			$('#searchBox #suggest').load("/suggest.php", {keyword: $('#searchBox #keyword').val()});
	});
	
	if($('form#checkoutform input:hidden[name="payment"]').val()){
		$('form#checkoutform').removeClass();
		$('form#checkoutform').addClass($('form#checkoutform input:hidden[name="payment"]').val());
	}
	
	$('form#checkoutform input:radio[name="payment"]').bind('change', function(){
		$('form#checkoutform').removeClass();
		$('form#checkoutform').addClass($(this).val());	
	});
	
	// GIFT BOX SLIDING MAGIC
	if ($('form#checkoutform input[name="giftwrap"]').is(':checked')) {
		$("#giftwrapMessage").removeAttr("disabled").removeClass("disabled").show();
	} else {
		$("#giftwrapMessage").attr("disabled",'disabled').addClass("disabled").hide();
	}
	
	$('form#checkoutform input[name="giftwrap"]').click(function(){
		if($(this).is(':checked')){	
			$("#giftwrapMessage").removeAttr("disabled").removeClass("disabled").show();
		} else {
			$("#giftwrapMessage").attr("disabled",'disabled').addClass("disabled").hide();	
		}
	});
	
	$('form#checkoutform input[name="shippingsame"]').click(function(){
		if($(this).is(':checked')){	
			$('form#checkoutform #deliveryDetailsFields :input').each(function(){
				$(this).val($('form#checkoutform #billingDetailsFields :input[name="' + $(this).attr('name').substr(1) + '"]').val());
			});
		} else {
			$('form#checkoutform #deliveryDetailsFields :input').each(function(){
				$(this).val('');
			});
		}
		$('form#checkoutform #scountry').trigger('change');
	});
	$('form#checkoutform #billingDetailsFields :input').each(function(){
		$(this).change(function(){
			if($('form#checkoutform input[name="shippingsame"]').is(':checked')){
				$('form#checkoutform #deliveryDetailsFields :input[name="s' + $(this).attr('name') + '"]').val($(this).val());
			}
		});
	});

	//ajax checkout
	$('form#checkoutform #scountry').change(function(){
		$('#deliveryDetails').addClass('loading');
		$('#deliveryDetails').html('');
		$('#deliveryDetails').load('ajax_shipping.php',
		 	{shipping: $(this).val()},
			function(){
				$('#deliveryDetails').removeClass('loading');
			}
		);
	});
	$('form#checkoutform #country').change(function(){
		if($('form#checkoutform input[name="shippingsame"]').is(':checked')){
			$('form#checkoutform #scountry').trigger('change');
		}
	});
	
	// submit hover
	$('#bodyCollection #prodInfo .image, #p-submit .image, .prodBox .submitter, #pSubmit .submit').hover(
		function () {
			string = $(this).attr("src");
			stringNew = string.replace(/.png/gi, "_hover.png");
			$(this).attr("src",stringNew);
		}, 
		function () {
			string = $(this).attr("src");
			stringNew = string.replace(/_hover.png/gi, ".png");
			$(this).attr("src",stringNew);
		}
	);
	
	// live test site - disable product links
	$('.testSite .productsMini a, .testSite .productsListing a').click(function(){ return false; });
	
	
	// open delivery details within product page
	var attachDelEvents = function(e){
		$('#closeDel')
			.click(
				function(){
					$('#delHolder').hide();
					$('#closeDel').hide();
					$('#primaryContent #cart_quantity').show();
					return false;
				}
			);
	};
	$('#bodyCollection #prodInfo li.del a').click(function(){
		
		$('#primaryContent #cart_quantity').hide();
		$('#delLoader').show();
		$("#delHolder").load("/terms-conditions/delivery-details/ #primaryContent .terms", '', function(){
			$('#delLoader').hide();
			$('#closeDel').show();
			$('#delHolder').show();
			attachDelEvents();
		 });
		return false;
	});

	
}); 