$(document).ready(function() {
	//font Replacement
	Cufon.replace(".replace", {fontFamily: 'Avenir LT Std', hover: 'true'});
	
	//Finally, let the replaced be seen (ie)
	$('.replace').css('visibility','visible');
	
	//Callback
	$('#callbackform').ajaxInit();
	
	//Pricematch
	$('.pricematch').click(function() {
		window.open(''+$(this).attr("href")+'', 'priceMatch', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=464,height=354');
		return false;
	});
	
	//EmailFriend
	$('.emailfriend').click(function() {
		window.open(''+$(this).attr("href")+'', 'emailFriend', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=464,height=354');
		return false;
	});
	
	//Fancybox
	$("a.fancybox").fancybox({
		'overlayShow'			: true,
		'zoomSpeedIn'			: 600,
		'zoomSpeedOut'			: 500,
		'easingIn'				: 'easeOutBack',
		'easingOut'				: 'easeInBack'
	});
	
	//Contact Form
	$('form#contactForm').submit(function() {
		var contactName = this.contactName.value;
		var contactEmail = this.contactEmail.value;
		var contactQuery = this.contactQuery.value;
		var setError = 0;
		var setErrorLog = "";
		
		if(contactName == "") {
			setError = 1;
			setErrorLog += "+ Please enter your name.\n";
		}
		if(contactEmail == "") {
			setError = 1;
			setErrorLog += "+ Please enter your email address.\n";
		}
		if(contactQuery == "") {
			setError = 1;
			setErrorLog += "+ Please enter your enquiry.\n";
		}
		if(setError == 1) {
			alert(setErrorLog);
			return false;
		}		
		return true;
	});
	
	//Demo Form
	$('form#demoForm').submit(function() {
		var contactDate = this.contactDate.value;
		var contactName = this.contactName.value;
		var contactEmail = this.contactEmail.value;
		var setError = 0;
		var setErrorLog = "";
		
		if(contactDate == "") {
			setError = 1;
			setErrorLog += "+ Please enter an approximate date of the demonstration.\n";
		}
		if(contactName == "") {
			setError = 1;
			setErrorLog += "+ Please enter your name.\n";
		}
		if(contactEmail == "") {
			setError = 1;
			setErrorLog += "+ Please enter your email address.\n";
		}
		if(setError == 1) {
			alert(setErrorLog);
			return false;
		}		
		return true;
	});
	
	//Checkout - Address
	$('form#checkoutAddress').submit(function() {
		var step = this.step.value;
		var delivery_name = this.delivery_name.value;
		var delivery_housenumber = this.delivery_housenumber.value;
		var delivery_street = this.delivery_street.value;
		var delivery_town = this.delivery_town.value;
		var delivery_county = this.delivery_county.value;
		var delivery_country = this.delivery_country.value;
		var delivery_postcode = this.delivery_postcode.value;
		var delivery_telephone = this.delivery_telephone.value;
		var delivery_email = this.delivery_email.value;
		
		if(step == 3 || step == "3") {
			var setError = 0;
			var setErrorLog = "";
			
			if(delivery_name == "") {
				setError = 1;
				setErrorLog += "+ Please enter your full name.\n";
			}
			if(delivery_housenumber == "") {
				setError = 1;
				setErrorLog += "+ Please enter your house/flat/apartment number or name.\n";
			}
			if(delivery_street == "") {
				setError = 1;
				setErrorLog += "+ Please enter your delivery street name.\n";
			}
			if(delivery_town == "") {
				setError = 1;
				setErrorLog += "+ Please enter your town/city.\n";
			}
			if(delivery_county == "") {
				setError = 1;
				setErrorLog += "+ Please enter your county/region.\n";
			}
			if(delivery_country == "") {
				setError = 1;
				setErrorLog += "+ Please select your country from the list.\n";
			}
			if(delivery_postcode == "") {
				setError = 1;
				setErrorLog += "+ Please enter your full postal code.\n";
			}
			if(delivery_telephone == "") {
				setError = 1;
				setErrorLog += "+ Please enter a contact telephone number.\n";
			}
			if(delivery_email == "") {
				setError = 1;
				setErrorLog += "+ Please enter your email address (confirmation will be sent to this).\n";
			}
			if(setError == 1) {
				alert(setErrorLog);
				return false;
			}		
			return true;
		}
	});
	
	//Checkout - Payment
	$('form#checkoutPayment').submit(function() {
		var step = this.step.value;
		var card_name = this.card_name.value;
		var card_type = this.card_type.value;
		var card_number = this.card_number.value;
		var card_ccv = this.card_ccv.value;
		var card_expires_month = this.card_expires_month.value;
		var card_expires_year = this.card_expires_year.value;
		
		if(step == 4 || step == "4") {
			var setError = 0;
			var setErrorLog = "";
			
			if(card_name == "") {
				setError = 1;
				setErrorLog += "+ Please enter the full name on the card.\n";
			}
			if(card_type == "") {
				setError = 1;
				setErrorLog += "+ Please select the cart type from the list.\n";
			}
			if(card_number == "") {
				setError = 1;
				setErrorLog += "+ Please enter the card number.\n";
			}
			if(card_ccv == "") {
				setError = 1;
				setErrorLog += "+ Please enter the card security number (last 3/4 digits on reverse).\n";
			}
			if(card_expires_month == "") {
				setError = 1;
				setErrorLog += "+ Please select the card expires month.\n";
			}
			if(card_expires_year == "") {
				setError = 1;
				setErrorLog += "+ Please select the card expires year.\n";
			}
			if(setError == 1) {
				alert(setErrorLog);
				return false;
			}		
			return true;
		}
	});
});

//Callback AJAX
$.fn.ajaxInit = function(e) {
	this.submit(function(){
	  var cb_name = $("#cb_name").val();
	  var cb_telephone = $("#cb_telephone").val();
	  var cb_when = $("#cb_when").val();
	  if(cb_name == "" || cb_name == "Name" || cb_telephone == "" || cb_telephone == "Phone Number") {
		alert("For us to call you back please leave us your name, telephone number and when you'd like us to give you a call.");
		return false;
	  } else {
		var dataString="type=callback&name="+cb_name+"&telephone="+cb_telephone+"&when="+cb_when
		$.ajax({
		  type: "POST", 
		  url: "/includes/ajax.inc.php", 
		  data: dataString, 
		  timeout: 3000,
		  error: function() { 
		  	alert('There was a problem trying to sent you request, please try again.');
			return false;
		  },
		  success: function() {
			  	//do something
		  },
		  complete: function() {
			  	$('.callback-active').fadeOut('fast', function() {
					$('.callback-active').html('<span style="font-size:16px;color:#E25B00;font-weight:600">Thank you!</span><br /><br />Your callback request has been sent to us and you can expect a callback as requested.');				
				}).fadeIn('slow');
		  }
		});
		return false;
	  }
	});
}

//Callback Toggle on Leftcol
function callbackSwitch() {
	if($('.callback-inactive').css('display') == 'block') {
		$('.callback-inactive').slideUp('fast', function() {$('.callback-active').slideDown('fast')});
	} else {
		$('.callback-active').slideUp('fast', function() {$('.callback-inactive').slideDown('fast')});
	}
}