$(document).ready(function(){
	$('#date').datepicker();
	//$('#deposit_due_date').datepicker();
	//$('#remainder_due_date').datepicker();
	$.datepicker.regional['au'] = {dateFormat: 'dd/mm/yy'};
	$.datepicker.setDefaults($.datepicker.regional['au']);

	$("#search-text").click(function(){
		$("#search-text").val("");
	});

	$("#search-filter-options").css("visibility","visible");
	$("#search-filter-options").hide()
	$("#search-filter").mouseenter(function(){
		$("#search-filter-options").slideDown("fast");
	});
	$("#search-filter").mouseleave(function(){
		$("#search-filter-options").slideUp("fast");
	});

	$("#grpopup-container").css("visibility","visible");
	$("#grpopup-container").hide()
	$("#grpopup").mouseenter(function(){
		$("#grpopup-container").slideDown("fast");
	});
	$("#grpopup").mouseleave(function(){
		$("#grpopup-container").slideUp("fast");
	});

	$("#shopping-cart-container").css("visibility","visible");
	$("#shopping-cart-container").hide()
	$("#shopping-cart").mouseenter(function(){
		$("#shopping-cart-container").slideDown("fast");
	});
	$("#shopping-cart").mouseleave(function(){
		$("#shopping-cart-container").slideUp("fast");
	});

	$("#page-numbers").css("visibility","visible");
	$("#page-numbers").hide()
	$("#page-number").mouseenter(function(){
		$("#page-numbers").slideDown("fast");
	});
	$("#page-number").mouseleave(function(){
		$("#page-numbers").slideUp("fast");
	});

	$("#suburb-select-box").css("visibility","visible");
	$("#suburb-select-box").hide()
	$("#postcode").keyup(function(){
		var pcode = $("#postcode").val();
		$.get("/includes/suburb-select.php", { postcode: pcode }, function(data){
	 		$("#suburb-select-box").html(data);
	 		$("#suburb-select-box").slideDown("fast");
		});
	});
	$("#postcode").click(function(){
		var pcode = $("#postcode").val();
		$.get("/includes/suburb-select.php", { postcode: pcode }, function(data){
			$("#suburb-select-box").html(data);
			$("#suburb-select-box").slideToggle("fast");
		});
	});

	$("#delivery-details").css("visibility","visible");
	$("#delivery-details").show()

	$("#payment-details").css("visibility","visible");
	$("#payment-details").hide()

	$("#confirm-order").css("visibility","visible");
	$("#confirm-order").hide()

	$("#transaction-status").css("visibility","visible");
	$("#transaction-status").hide()

	$("#state-other").css("visibility","hidden");

	$("#state").click(function(){
	 if($("#state").val() == "Other"){
	  $("#state-other").css("visibility","visible");
	 }else{
	  $("#state-other").css("visibility","hidden");
	 }
	});

	$("#do-not-deliver").click(function(){
		if($('input[name=do-not-deliver]').is(':checked')){ var donotdeliver = $("#do-not-deliver").val(); }
		else{ var donotdeliver = ""; }
		var city = $("#city").val();
		var postcode = $("#postcode").val();

		$.get("/includes/calculate-freight.php", { postcode: postcode, city: city, donotdeliver: donotdeliver }, function(data){
  			var responsetext = data;
			var responsearray = responsetext.split("|");
			var freight = responsearray[0];
  			var carttotal = responsearray[1];
  			var amount = responsearray[2];

			$("#freight-charge").html(freight);
			$("#cart-total").html(carttotal);
			$("#amount").val(amount);
		});

		if(donotdeliver == "true"){ $("#address-details-table").css("display","none"); }
		else{ $("#address-details-table").css("display","block"); }

	});

	$("#next-delivery-details").click(function(){
		var firstname = $("#fname").val();
		var lastname = $("#lname").val();
		var email = $("#emailaddress").val();
		var phone = $("#phonenumber").val();
		var company = $("#company").val();
		var streetaddress = $("#address").val();
		var address2 = $("#address2").val();
		var suburb = $("#city").val();
		var state = $("#state").val();
		var state_other = $("#state-other").val();
		var pcode = $("#postcode").val();
		var country = $("#country").val();
		var addresshash = $("#addresshash").val();
		if($('input[name=do-not-deliver]').is(':checked')){ var donotdeliver = "true"; }
		else{ var donotdeliver = "false"; }

		if(firstname != "" && email != "" && phone != "" && IsValidEmail(email)){
			$("#delivery-details-processing").css("visibility","visible");
			$.get("/includes/delivery-details.php", { fname: firstname, lname: lastname, emailaddress: email, phonenumber: phone, company: company, address: streetaddress, address2: address2, city: suburb, state: state, stateother: state_other, postcode: pcode, country: country, donotdeliver: donotdeliver, addresshash: addresshash }, function(data){
				$("#delivery-details").html(data);
				$("#payment-details").slideToggle("fast");
			});
		}else{
			alert("Please make sure you fill in all required fields, including a valid email address.");
		}
	});

	$("#next-payment-details").click(function(){
		var cardtype = $("#cardtype").val();
		var cardname = $("#cardname").val();
		var cardnumber = $("#cardnumber").val();
		var expmonth = $("#expmonth").val();
		var expyear = $("#expyear").val();

		if(cardtype != "" && cardname != "" && cardnumber != "" && expmonth != "" && expyear != ""){
			$("#payment-details-processing").css("visibility","visible");
			$.get("/includes/payment-details.php", { cardtype: cardtype, cardname: cardname, cardnumber: cardnumber, expmonth: expmonth, expyear: expyear }, function(data){
				$("#payment-details").html(data);
				$("#confirm-order").slideToggle("fast");
			});
		}else{
			alert("Please make sure you fill in all required fields.");
		}
	});

	$("#btnconfirmorder").click(function(){
		var firstname = $("#fname").val();
		var lastname = $("#lname").val();
		var email = $("#emailaddress").val();
		var phone = $("#phonenumber").val();
		var company = $("#company").val();
		var streetaddress = $("#address").val();
		var address2 = $("#address2").val();
		var suburb = $("#city").val();
		var state = $("#state").val();
		var state_other = $("#state-other").val();
		var pcode = $("#postcode").val();
		var country = $("#country").val();
		var donotdeliver = $("#do-not-deliver").val();

		if($('input[name=savedeliverydetails]').is(':checked')){ var savedeliverydetails = "true"; }
		else{ var savedeliverydetails = "false"; }

		var cardtype = $("#cardtype").val();
		var cardname = $("#cardname").val();
		var cardnumber = $("#cardnumber").val();
		var expmonth = $("#expmonth").val();
		var expyear = $("#expyear").val();
		var amount = $("#amount").val();

	  $("#transaction-status").show()
		$("#overlay").css("visibility","visible");
		$("#processing-transaction").css("visibility","visible");
		$.post("/includes/order-ajax.php", { fname: firstname, lname: lastname, emailaddress: email, phonenumber: phone, company: company, address: streetaddress, address2: address2, city: suburb, state: state, stateother: state_other, postcode: pcode, country: country, donotdeliver: donotdeliver, savedeliverydetails: savedeliverydetails, cardtype: cardtype, cardname: cardname, cardnumber: cardnumber, expmonth: expmonth, expyear: expyear, amount: amount }, function(data){
			$("#checkout-container").html(data);
		});
	});

	$("#next-delivery-details-events").click(function(){
		var firstname = $("#fname").val();
		var lastname = $("#lname").val();
		var email = $("#emailaddress").val();
		var phone = $("#phonenumber").val();
		var dietary = $("#dietary").val();

		if(firstname != "" && email != "" && phone != "" && IsValidEmail(email)){
			$("#delivery-details-processing").css("visibility","visible");
			$.get("/includes/delivery-details-events.php", { fname: firstname, lname: lastname, emailaddress: email, phonenumber: phone, dietary: dietary }, function(data){
				$("#delivery-details").html(data);
				$("#payment-details").slideToggle("fast");
			});
		}else{
			alert("Please make sure you fill in all required fields, including a valid email address.");
		}
	});

	$("#next-payment-details-events").click(function(){
		var cardtype = $("#cardtype").val();
		var cardname = $("#cardname").val();
		var cardnumber = $("#cardnumber").val();
		var expmonth = $("#expmonth").val();
		var expyear = $("#expyear").val();

		if(cardtype != "" && cardname != "" && cardnumber != "" && expmonth != "" && expyear != ""){
			$("#payment-details-processing").css("visibility","visible");
			$.get("/includes/payment-details-events.php", { cardtype: cardtype, cardname: cardname, cardnumber: cardnumber, expmonth: expmonth, expyear: expyear }, function(data){
				$("#payment-details").html(data);
				$("#confirm-order").slideToggle("fast");
			});
		}else{
			alert("Please make sure you fill in all required fields.");
		}
	});

	$("#btnconfirmorder-events").click(function(){
		var pid = $("#pid").val();
		var qty = $("#qty").val();
		var firstname = $("#fname").val();
		var lastname = $("#lname").val();
		var email = $("#emailaddress").val();
		var phone = $("#phonenumber").val();
		var cardtype = $("#cardtype").val();
		var cardname = $("#cardname").val();
		var cardnumber = $("#cardnumber").val();
		var expmonth = $("#expmonth").val();
		var expyear = $("#expyear").val();
		var amount = $("#amount").val();
		var dietary = $("#dietary").val();

	  $("#transaction-status").show()
		$("#overlay").css("visibility","visible");
		$("#processing-transaction").css("visibility","visible");
		$.post("/includes/order-events-ajax.php", { pid: pid, qty: qty, fname: firstname, lname: lastname, emailaddress: email, phonenumber: phone, dietary: dietary, cardtype: cardtype, cardname: cardname, cardnumber: cardnumber, expmonth: expmonth, expyear: expyear, amount: amount}, function(data){
			$("#checkout-container").html(data);
		});
	});
	
	$(".events-filter").click(function(){
	 	var etype = $(this).attr("ref");
		//alert(etype);
	 	//$("#transaction-status").show()
	 	//$("#overlay").css("visibility","visible");
	 	$("#events-processing").css("visibility","visible");
		$.get("/includes/load-events-ajax.php", { etype: etype}, function(data){
			$("#events-container").html(data);
			$("#events-processing").css("visibility","hidden");
		});
	});

	$(".sale-icon").click(function(){
		//alert(etype);
	 	//$("#transaction-status").show()
	 	//$("#overlay").css("visibility","visible");
	 	$("#products-processing").css("visibility","visible");
		$.get("/includes/load-products-ajax.php", { show_specials_only: true}, function(data){
			$("#products-container").html(data);
			$("#products-processing").css("visibility","hidden");
		});
	});

	function IsValidEmail(email){
		var filter = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
		return filter.test(email);
	}
});

