$(document).ready(function () {

	// Top main menu 
    $('#menu li a.perfect_menu, #menu li a.perfect_menu_active').mouseover(function(){
		$(this).removeClass('perfect_menu');
		$(this).addClass('create_a_burger_hover');
		
		$(this).parent().find("ul#menu_drop_down").slideDown('medium').show(); //Drop down the subnav on click

		$(this).parent().hover(function() {
		}, function(){
			$('#menu li a.create_a_burger_hover').addClass('perfect_menu');
			$('#menu li a.create_a_burger_hover').removeClass('create_a_burger_hover');
			$(this).parent().find("ul#menu_drop_down").slideUp('medium'); //When the mouse hovers out of the subnav, move it back up
		});
    });
    
    // Choices Drop down list on the showcase 
    $(".showcase_about_drop").click(function(){
    	$(this).parent().find(".showcase_choices").slideToggle('medium');
    	
    });
    
    $(".showcase_extras_drop").click(function(){
    	$(this).parent().find(".showcase_extras").slideToggle('medium');
    });
    
    
    // Choices Drop down list on the showcase 
    /*
    $(".showcase_about_drop").click(function(){
    	$(this).parent().find(".showcase_choices").slideDown('medium').show();
    	
    	$(this).hover(function() {
		}, function(){
			$(this).parent().find(".showcase_choices").slideUp('slow'); //When the mouse hovers out of the subnav, move it back up
		});
    });
    
    // Extras Drop down list on the showcase 
    $(".showcase_extras_drop").click(function(){
    	$(this).parent().find(".showcase_extras").slideDown('medium').show();
    	
    	$(this).hover(function() {
		}, function(){
			$(this).parent().find(".showcase_extras").slideUp('slow'); //When the mouse hovers out of the subnav, move it back up
		});
    });
    */
    // Sides drop down box 1 on the showcase page
    $(".sides a.sodas").click(function(event){
    	//prevent default action
   		event.preventDefault();
       	$(".sodas_options").slideToggle('medium');
       	$(".salads_options").hide('medium');
       	$(".fries_options").hide('medium');
 	});
    
    // Fries drop down box 1 on the showcase page
    $(".sides a.fries").click(function(event){
    	//prevent default action
   		event.preventDefault();
       	$(".fries_options").slideToggle('medium');
       	$(".sodas_options").hide('medium');
       	$(".salads_options").hide('medium');
	});
    
    // salads drop down box 1 on the showcase page
    $(".sides a.salads").click(function(event){
    	//prevent default action
   		event.preventDefault();
       	$(".salads_options").slideToggle('medium');
       	$(".fries_options").hide('medium');
       	$(".sodas_options").hide('medium');
	});
	
    // Select box styling on the contact us page
    $('#contact_ops').selectbox();
    
    $('#extras_showcase').selectbox();
    
	var form = $("#newsletter_sign_up");

	var emaila = $("#contact_email");
	var emailInfo = $("#emailInfo");
	
	//On blur
	emaila.blur(validateEmaila);

	//On key press
	emaila.keyup(validateEmaila);
	
	//On Submitting
	form.click(function(){
		if(validateEmaila()){
			return true;		
		}else{
			return false;
		}
	});
	
	//validation functions
	function validateEmaila(){
		//testing regular expression
		var a = $("#contact_email").val();
		var filter = /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{2,4}$/;
		//if it's valid email
		if(filter.test(a)){
			email.removeClass("");
			email.addClass("");
			emailInfo.text("");
			emailInfo.removeClass("error");
			return true;
		}
		//if it's NOT valid
		else{
			email.removeClass("");
			email.addClass("");
			emailInfo.text("Please use a valid e-mail address.");
			emailInfo.addClass("error");
			return false;
		}
	}

//Validation functions on the enquiry form page
	
	var formb = $("#enquire_form");

	var name = $("#first_name");
	var sname = $("#last_naeme");
	var email = $("#email");
	var cell = $("#cell");
	var tphone = $("#tphone");
	var address = $("#address");
	var code = $("#code");
	var country = $("#country");
	var comment = $("#comment");
	
	var formInfo = $("#error");
	
	//On blur
	name.blur(validateName);
	sname.blur(validateSname);
	email.blur(validateEmail);
	cell.blur(validateCell);
	tphone.blur(validateTphone);
	address.blur(validateAddress);
	code.blur(validateCode);
	country.blur(validateCountry);
	comment.blur(validateMessage);

	//On key press
	name.keyup(validateName);
	sname.keyup(validateSname);
	email.keyup(validateEmail);
	cell.keyup(validateCell);
	tphone.keyup(validateTphone);
	address.keyup(validateAddress);
	code.keyup(validateCode);
	country.keyup(validateCountry);
	comment.keyup(validateMessage);
	
	//On Submitting
	formb.submit(function(){
		if(validateName() && validateSname() && validateEmail() && validateCell() && validateTphone() && validateAddress() && validateCode() && validateCountry() && validateMessage()){
			return true;		
		}else{
			return false;
		}
	});
	
	
	function validateEmail(){
		//testing regular expression
		var a = $("#email").val();
		var filter = /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{2,4}$/;
		//if it's valid email
		if(filter.test(a)){
			//email.removeClass("subquery");
			//email.addClass("forminput_over");
			formInfo.text("");
			formInfo.removeClass("error");
			return true;
		}
		//if it's NOT valid
		else{
			//email.removeClass("query");
			email.addClass("forminput_over");
			formInfo.text("Please use a valid e-mail address!");
			formInfo.addClass("error");
			return false;
		}
	}

	function validateName(){
		//if it's NOT valid
		if(name.val().length < 2){
			name.removeClass("forminput");
			name.addClass("forminput_over");
			formInfo.text("The name field must have more than 3 letters!");
			formInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{
			name.removeClass("forminput_over");
			name.addClass("forminput");
			formInfo.text("");
			formInfo.removeClass("error");
			return true;
		}
	}
	
	function validateSname(){
		//if it's NOT valid
		if(sname.val().length < 2){
			sname.removeClass("forminput");
			sname.addClass("forminput_over");
			formInfo.text("The last name field must have more than 3 letters!");
			formInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{
			sname.removeClass("forminput_over");
			sname.addClass("forminput");
			formInfo.text("");
			formInfo.removeClass("error");
			return true;
		}
	}

	function validateTphone(){
		//if it's NOT valid
		if(tphone.val().length < 10){
			tphone.removeClass("forminput");
			tphone.addClass("forminput_over");
			formInfo.text("The Telephone number field must have more than 6 numbers!");
			formInfo.addClass("");
			return false;
		}
		//if it's valid
		else{
			tphone.removeClass("forminput_over");
			tphone.addClass("forminput");
			formInfo.text("");
			formInfo.removeClass("not_valid");
			return true;
		}
	}

	function validateCell(){
		//if it's NOT valid
		if(cell.val().length < 10){
			cell.removeClass("forminput");
			cell.addClass("forminput_over");
			formInfo.text("The Cellphone number field must have more than 6 numbers!");
			formInfo.addClass("");
			return false;
		}
		//if it's valid
		else{
			cell.removeClass("forminput_over");
			cell.addClass("forminput");
			formInfo.text("");
			formInfo.removeClass("not_valid");
			return true;
		}
	}
	
	function validateCode(){
		//if it's NOT valid
		if(code.val().length < 4){
			code.removeClass("forminput_short");
			code.addClass("forminput_short_over");
			formInfo.text("The area code must have more than 3 numbers!");
			formInfo.addClass("");
			return false;
		}
		//if it's valid
		else{
			code.removeClass("forminput_short_over");
			code.addClass("forminput_short");
			formInfo.text("");
			formInfo.removeClass("not_valid");
			return true;
		}
	}
	
	function validateAddress(){
		//it's NOT valid
		if(address.val().length < 5){
			address.removeClass("forminput_long");
			address.addClass("forminput_long_over");
			formInfo.text("Please add a valid address!");
			formInfo.addClass("");
			return false;
		}
		//it's valid
		else{
			address.removeClass("forminput_long_over");
			address.addClass("forminput_long");
			formInfo.text("");
			formInfo.addClass("");
			return true;
		}
	}
	
	function validateCountry(){
		//it's NOT valid
		if(country.val().length < 5){
			country.removeClass("forminput");
			country.addClass("forminput_over");
			formInfo.text("Please add a valid country name!");
			formInfo.addClass("");
			return false;
		}
		//it's valid
		else{
			country.removeClass("forminput_over");
			country.addClass("forminput");
			formInfo.text("");
			formInfo.addClass("");
			return true;
		}
	}
	
	function validateMessage(){
		//it's NOT valid
		if(comment.val().length < 5){
			comment.removeClass("comment");
			comment.addClass("comment_over");
			formInfo.text("Please add a valid comment!");
			formInfo.addClass("");
			return false;
		}
		//it's valid
		else{
			comment.removeClass("comment_over");
			comment.addClass("comment");
			formInfo.text("");
			formInfo.addClass("");
			return true;
		}
	}
	
	$("#reset").click(function(){
		$("#error").hide('fast');
	});
	
	$("#query").click(function(){

		$('#meis1').show();
		
		var province = $("#province").val();
		
		 var data = {
		  action: 'my_special_action',
		  prov: province
		 };
		
		 $.post("<?php bloginfo( 'wpurl' ); ?>/wp-admin/admin-ajax.php",
			data, 
			function(response) {
				$('#meis1').html(response);
		});
	});
	
	$("#submit_sign_up").click(function(){

		//$('#meis1').show();
		
		var contact_name = $("#contact_email").val();
		
		 var data = $("#newsletter_sign_up").serialize();
		
		 $.post("http://live.pmailer.net/public/subscription",
			data, 
			function(response) {
			 console.log(response);
				//$('#meis1').html(response);
		});
	});
	
});
