/*
 * Created: Samuel
 * Used: all pages
 * Needs: jquery, jquery.tools.min.js, jquery.livequery.js
 * 
 */

/*
 * Function; mail
 * Affiche un lien pour envoyer un mail
 */
function mail(texte,sujet,body) {
	var name = "webmaster" ;
	var domain = "fruits-seches" ;
	var extension = "com";
	document.write('<a href=\"mailto:' + name + '@' + domain + '.' + extension + ' ?subject=' + sujet + '&body=' + body + '\">') ;
	document.write(texte + '</a>') ;
}

//Form validation and ajax display
jQuery.iFormValidate = {
		build : function(user_options)
		{
			var defaults = {
				ajax: true,
				validCheck: false,
				phpFile:"/js/formvalidator/send.php"
			};
			return $(this).each(
				function() {
				var options = $.extend(defaults, user_options); 
				if(options.validCheck){
					var $inputs = $(this).find(":input").filter(":not(:submit)").filter(":not(:checkbox)").filter(":not(:radio)").filter(":not(.novalid)");
				}else{
					var $inputs = $(this).find(":input").filter(":not(:submit)").filter(":not(:checkbox)").filter(":not(:radio)");
				}
				//catch the submit
				$(this).submit(function(){
					//we need to do a seperate analysis for checboxes
					var $checkboxes = $(this).find(":checkbox");
					
					//we need to do a seperate analysis for radio
					var $radios = $(this).find(":radio");

					//we test all our inputs
					var isValid = jQuery.iFormValidate.validateForm($inputs);
					//if any of them come back false we quit
					if(!isValid){
						return false;
					}
					if(options.ajax){
						var data = {};
						$inputs.each(function(){
							data[this.name] = this.value;
						});
						$checkboxes.each(function(){
							if($(this).is(':checked')){
								data[this.name] = this.value;
							}else{
								data[this.name] = "";
							}
						});
						$radios.each(function(){
							if($(this).is(':checked')){
								data[this.name] = this.value;
							}
						});
						data["trigger"] = "teeeeeeeeeeee";
						$(document.getElementById(options.resultId)).fadeOut("slow", function(){
							$(document.getElementById(options.resultId)).load(options.phpFile, data, function(){
								$(document.getElementById(options.resultId)).fadeIn("slow");
							});
						});
						return false;
					}else{
						return true;
					}
				});
				
				$inputs.bind("keyup", jQuery.iFormValidate.validate);
				$inputs.filter("select").bind("change", jQuery.iFormValidate.validate);
			});
		},
		validateForm : function($inputs)
		{
			var isValid = true; //benifit of the doubt?
			$inputs.filter(".is_required").each(jQuery.iFormValidate.validate);
			if($inputs.filter(".is_required").hasClass("invalid")){isValid=false;}
			return isValid;
		},
			
		validate : function(){
			//password check for wether vpassword == vpasswordconfirm
			//var $password = $("#"+formId).find(".vpassword");
			//var $passwordconfirm = $("#"+formId).find(".vpasswordconfirm");
			var $val = $(this).val();
			var isValid = true;
			//Regex for DATE
			if ($(this).hasClass('vhour')) {
				var Regex = /^[0-9]{1,2}$/;
				isValid = Regex.test($val);
			//Regex for nombre
			} else if ($(this).hasClass('vnombre')) {
				var Regex = /^[0-9]{1,4}$/;
				isValid = Regex.test($val);			
			//Regex for price without cents
			} else if($(this).hasClass('vprix')){
				var Regex = /^[0-9]{1,5}$/;
				isValid = Regex.test($val);
			//Regex for Email
			}else if($(this).hasClass('vemail')){
				var Regex =/^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
				if(!Regex.test($val)){isValid = false;}		
			//Regex for Phone
			}else if($(this).hasClass('vphone')){
				var Regex = /^[0-9]\d{8,15}$/;
				if(!Regex.test($val)){isValid = false;}
			//Regex for Valid=0
			}else if($(this).hasClass('vvalid')){
				isValid = false;
				if($val == 9){isValid = true;}
			//Check for name	
			}else if($(this).hasClass('vname')){
				var Regex = /^[a-zA-Z0-9\ 'áéíóäëiöúàèììù]{2,50}$/;
				if(!Regex.test($val)){isValid = false;}
			//Can be empty
			}else if($(this).hasClass('vcanbeempty')){
				if ($val.length == 0) {
					isValid = true;
				}
			//Phone or empty
			}else if($(this).hasClass('vphoneorcanbeempty')){
				var Regex = /^[0-9]\d{8,15}$/;
				if ($val.length != 0) {
					if(!Regex.test($val)){isValid = false;}
				}
			//Check for not empty empty
			}else if($(this).hasClass('vpasswordconfirm')){
				//we need to find the other password field and check it
				$el = $(this);
				//locate the form so we can search for the other field
				while($el.attr("tagName").toLowerCase() != "form"){$el = $el.parent();}
				$el = $el.find(".vpassword");
				//store text of other password field
				var checkValue = $el.val();
				//comapre and set the other to red if appropriate, or green
				if($val != checkValue){isValid= false;$el.removeClass("valid").addClass("invalid");
				}else{$el.removeClass("invalid").addClass("valid");}
			}else if($(this).hasClass('vpassword')){
				$el = $(this);
				while($el.attr("tagName").toLowerCase() != "form"){$el = $el.parent();}
				$el = $el.find(".vpasswordconfirm");
				var checkValue = $el.val();
				if($val != checkValue){isValid= false;$el.removeClass("valid").addClass("invalid");
				}else{$el.removeClass("invalid").addClass("valid");}
			}else if($val.length === 0){
				isValid = false;
			}
			
			if(isValid){
				$(this).removeClass("invalid").addClass("valid");
			}else{
				$(this).removeClass("valid").addClass("invalid");
			}
		}	
	}
	jQuery.fn.FormValidate = jQuery.iFormValidate.build;

$(document).ready(function ()
{
	//Menu
	var path = location.pathname;
	var pathExploded = path.split('/');
	var menuTitre = pathExploded[1];

	if ((menuTitre == "comparatif_accessoire_deshydrateur")||
		(menuTitre == "comparatif_accessoire_deshydrateur_Canada")||
		(menuTitre == "comparatif_deshydrateur")||
		(menuTitre == "comparatif_deshydrateur_Canada")||
		(menuTitre == "deshydrateur-d-occasion")||
		(menuTitre == "sites-marchands-deshydrateurs")){
		$('#navigation2 a[href$="/deshydrateur"]').addClass('active');
	} else if (menuTitre == "sechage"){
		$('#navigation2 a[href$="/sechage-des-fruits"]').addClass('active');	
	} else if (menuTitre == "utilisation"){
		$('#navigation2 a[href$="/utilisation-conservation-des-fruits-seches"]').addClass('active');	
	} else if (menuTitre == "temps_sechage"){
		$('#navigation2 a[href$="/sechage-des-fruits"]').addClass('active');	
	} else {
		$('#navigation2 a[href$="/' + menuTitre + '"]').addClass('active');
	}	
	
	//Contact overlay
	$(".contactClic").overlay({ 	
        expose: 'grey', 
        closeOnClick: false,
        oneInstance : false, 
        onBeforeLoad: function() { 
            // grab wrapper element inside content 
            var wrap = this.getContent().find(".contentWrap");
            // load the page specified in the trigger
            wrap.load("../shared/contact_form.php"); 
        } 
    });
   	$('#contactform').livequery(function(){
		$(this).FormValidate({
			phpFile:"../shared/valid_contact_form.php",
			ajax:true,
			validCheck: false,
			resultId: 'contactform'
		});	
	});
	
	//Page ajouter occaz
    $("#modele").change(function () {
          $("#id img").attr({
		  	src: '/images/deshydrateurs/'+$("#modele").val().split('#')[1]
		  });
        })
        .change();

	$('#form_occaz').FormValidate({
		phpFile:"/wp-content/themes/flyaway/ajout_occaz.php",
		ajax:true,
		validCheck: false,
		resultId: 'form_occaz'			
	});
	
	//Page mon deshydrateur
	$('#form_mondeshydrateur2').FormValidate({
		phpFile:"/wp-content/themes/flyaway/valider_mon_deshydrateur.php",
		ajax:true,
		validCheck: false,
		resultId: 'form_mondeshydrateur'			
	});   	
   	
});
