/***************************/
//@Author: Adrian "yEnS" Mato Gondelle & Ivan Guardado Castro
//@website: www.yensdesign.com
//@email: yensamg@gmail.com
//@license: Feel free to use it, but keep this credits please!					
/***************************/
$(document).ready(function(){

	//global vars
	var form = $("#validateForm");
	var name = $("#name");
	var nameInfo = $("#nameInfo");
	var email = $("#email");
	var emailInfo = $("#emailInfo");
	
	var tel_num= $("#tel_num");
	var tel_numInfo = $("#tel_numInfo");
	var delivery_address = $("#delivery_address");
	var delivery_addressInfo = $("#delivery_addressInfo");
	var vehicle = $("#vehicle");
	var vehicleInfo = $("#vehicleInfo");
	var message = $("#message");
	
	//On blur
	name.blur(validateName);
	email.blur(validateEmail);
	tel_num.blur(validateTelephoneNumber);
	delivery_address.blur(validateAddress);
	vehicle.blur(validateVehicle);
	//On key press
	name.keyup(validateName);
	email.keyup(validateEmail)
	tel_num.keyup(validateTelephoneNumber);
	delivery_address.keyup(validateAddress);
	//message.keyup(validateMessage);
	vehicle.keyup(validateVehicle);
	//On Submitting
	form.submit(function(){
		if(validateName() & validateEmail() & validateTelephoneNumber() & validateAddress() & validateVehicle())
		{
				return true;
		}

		else{
					return false;
		}
		
	});
	
//validation functions
	function validateEmail(){
		//testing regular expression
		var a = $("#email").val();
		var filter = /^[a-z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_-]+@[a-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("error");
			//emailInfo.css({'color' : 'green'});
			emailInfo.text("OK").css({'color' : 'green'});
			emailInfo.removeClass("error");
			return true;
		}
		//if it's NOT valid
		else{
			email.addClass("error");
			emailInfo.text("Type a valid e-mail ").css({'color' : 'red'});
			emailInfo.addClass("error");
			return false;
		}
	}
	function validateName(){
		//if it's NOT valid
		if(name.val().length < 4){
			name.addClass("error");
			nameInfo.text("We want names with more than 3 letters!").css({'color' : 'red'});
			nameInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{
			name.removeClass("error");
			nameInfo.text("OK").css({'color' : 'green'});
			nameInfo.removeClass("error");
			return true;
		}
	}

	function validateTelephoneNumber(){
		//if it's NOT valid
		if(tel_num.val().length < 1){
			tel_num.addClass("error");
			tel_numInfo.text("Type your telphone number").css({'color' : 'red'});
			tel_numInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{
			tel_num.removeClass("error");
			tel_numInfo.text("OK").css({'color' : 'green'});
			tel_numInfo.removeClass("error");
			return true;
		}
	}
	
	function validateAddress(){
		//if it's NOT valid
		if(delivery_address.val().length < 1){
			delivery_address.addClass("error");
			delivery_addressInfo.text("Type your delivery address").css({'color' : 'red'});
			delivery_addressInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{
			delivery_address.removeClass("error");
			delivery_addressInfo.text("OK").css({'color' : 'green'});
			delivery_addressInfo.removeClass("error");
			return true;
		}
	}
		
	function validateVehicle(){
		//if it's NOT valid
		if(vehicle.val().length < 1){
			vehicle.addClass("error");
			vehicleInfo.text("Type your vehicle").css({'color' : 'red'});
			vehicleInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{
			vehicle.removeClass("error");
			vehicleInfo.text("OK").css({'color' : 'green'});
			vehicleInfo.removeClass("error");
			return true;
		}
	}		

	function validateMessage(){
		//it's NOT valid
		if(message.val().length < 10){
			message.addClass("error");
			return false;
		}
		//it's valid
		else{			
			message.removeClass("error");
			return true;
		}
	}
	
//RESET ALL CHECKBOX
$("INPUT[type='checkbox']").attr('checked', false);

//START of checkbox funciton for counting the price	

var total = 0, total_round = 0;

$(".freight").click(
   function()
   {
	   	if ($(this).attr("checked")) {
		     
	  		//GET VALUE AND ADD TO TOTAL PRICE
	   		total = total  + parseFloat($(this).val());
	   		
	   		//format a number to a certain precision
	   		total_round = total.toFixed(2);
	   		
	   		//insert total_round to form and to hidden input
	   		$("#total_round").text("$" + total_round);
	   		$("input#hidden_total_round").val("$" + total_round);
		}
		else{  
			//GET VALUE AND ADD TO TOTAL PRICE
			total = total  - parseFloat($(this).val());
	   		
	   		//format a number to a certain precision
	   		total_round = total.toFixed(2);
	   		
	   		//insert total_round to form and to hidden input
	   		$("#total_round").text("$" + total_round);
	   		$("input#hidden_total_round").val("$" + total_round);
		}
   }
);


$('#freightAll').click(
   function()
   {
    	if ($("#freightAll").attr("checked")) {
		    $("INPUT[type='checkbox']").attr('checked', false);
		    $("INPUT[name = 'KAG2015'][type='checkbox']").attr('checked', true);
		    $("INPUT[name = 'KAG2000'][type='checkbox']").attr('checked', true).attr('disabled', true).parent().parent().css({'color' : '#73c873'});
		    $("INPUT[name = 'KAG2000'][type='checkbox']").attr('checked', true).attr('disabled', true).parent().parent().css({'color' : '#73c873'});
		    $("INPUT[name = 'KAG2001'][type='checkbox']").attr('checked', true).attr('disabled', true).parent().parent().css({'color' : '#73c873'});
		    $("INPUT[name = 'KAG2002'][type='checkbox']").attr('checked', true).attr('disabled', true).parent().parent().css({'color' : '#73c873'});
		    $("INPUT[name = 'KAG2005'][type='checkbox']").attr('checked', true).attr('disabled', true).parent().parent().css({'color' : '#73c873'});
		    $("INPUT[name = 'KAG2006'][type='checkbox']").attr('checked', true).attr('disabled', true).parent().parent().css({'color' : '#73c873'});
		    $("INPUT[name = 'KAG2009'][type='checkbox']").attr('checked', true).attr('disabled', true).parent().parent().css({'color' : '#73c873'});
		    $("INPUT[name = 'KAG2010'][type='checkbox']").attr('checked', true).attr('disabled', true).parent().parent().css({'color' : '#73c873'});
		   
			//GET VALUE AND ADD TO TOTAL PRICE
	   		total = parseFloat($(this).val());
	   		
	   		//format a number to a certain precision
	   		total_round = total.toFixed(2);
	   		
	   		//insert total_round to form and to hidden input
	   		$("#total_round").text("$" + total_round);
	   		$("input#hidden_total_round").val("$" + total_round); 
			
		}
		else {  
		$("INPUT[type='checkbox']").attr('checked', false).attr('disabled', false).parent().parent().css({'color' : '#797979'});
		 
		//Reset to default setting => 0
   		 total = 0;
		 total_round = 0;
   		
   		//insert total_round to form and to hidden input
   		$("#total_round").text("$" + total_round);
   		$("input#hidden_total_round").val("$" + total_round); 
		 
		}
   }
);

});
