var mainurl = "http://simplifia.fr/";

$(document).ready(function(){
	$('#simplifia_form .element .widget select').each(function(){
	    if ($(this).attr('id').search(/day/i) > 0 || $(this).attr('id').search(/jour/i) > 0)
	    	$(this).css("width","70px");
	    if ($(this).attr('id').search(/month/i) > 0 || $(this).attr('id').search(/mois/i) > 0)
	    	$(this).css("width","142px");
	    if ($(this).attr('id').search(/year/i) > 0 || $(this).attr('id').search(/annee/i) > 0)
	    	$(this).css("width","80px");
	});
	
	$('#simplifia_form .element .error').each(function() {
	    if ($(this).children().size() > 0){
	    	$(this).parent().css('background', 'red');
	    	$(this).parent().css('color', 'white');
	    	$(this).css('font-size', '10px');
	    	$(this).css('color', '#F7B63A');
	    }
	});
	
	//Erase content of contact form on click
	$('#contact-form #email').focus(function(){if (this.value == 'Votre adresse mail') {this.value = '';}});
	$('#contact-form #objet').focus(function(){if (this.value == 'Objet') {this.value = '';}});
	$('#contact-form #message').focus(function(){if (this.value == 'Votre message') {this.value = '';}});
	// Replace default text if left blank
	$('#contact-form #email').blur(function(){if (this.value == '') {this.value = 'Votre adresse mail';}});
	$('#contact-form #objet').blur(function(){if (this.value == '') {this.value = 'Objet';}});
	$('#contact-form #message').blur(function(){if (this.value == '') {this.value = 'Votre message';}});
	
	$('#inscription').click(function(){
		$("#connection-inscription").qtip("hide");
		$("#commencer").qtip("hide");
		$('#email').val($('[name=pre_login]').val());
		$('#email2').val($('[name=pre_login]').val());
		$('#inscription_form #password').val($('[name=pre_pass]').val());
	});
	
	$('#inscription').qtip({
	  id: 'modal-inscription', content: { text: $('.inscription-div'), title: { text: 'Créer mon compte', button: true } },
	  position: { my: 'center', at: 'center', target: $(window) },
	  show: { event: 'click', /*solo: true,*/ modal: true }, hide: false, style: 'ui-tooltip-light ui-tooltip-rounded'
	});
	
	$('#creation-part-pro').qtip({
	  id: 'modal-creation-part-pro', content: { text: $('.creation-part-pro-div'), title: { text: 'Créer un espace famille', button: true } },
	  position: { my: 'center', at: 'center', target: $(window) },
	  show: { event: 'click', /*solo: true,*/ modal: true }, hide: false, style: 'ui-tooltip-light ui-tooltip-rounded'
	});
	
	$('#creation-part-pro-2').qtip({
	  id: 'modal-creation-part-pro-2', content: { text: $('.creation-part-pro-div'), title: { text: 'Créer un espace famille', button: true } },
	  position: { my: 'center', at: 'center', target: $(window) },
	  show: { event: 'click', /*solo: true,*/ modal: true }, hide: false, style: 'ui-tooltip-light ui-tooltip-rounded'
	});
	
	$('#connection').qtip({
	  id: 'modal-connection', content: { text: $('.connection-simple-div'), title: { text: 'Se connecter', button: true } },
	  position: { my: 'center', at: 'center', target: $(window) },
	  show: { event: 'click', /*solo: true,*/ modal: true }, hide: false, style: 'ui-tooltip-light ui-tooltip-rounded'
	});
	
	$('#connection-inscription').qtip({
	  id: 'modal-connection-2', content: { text: $('.connection-div'), title: { text: 'Se connecter', button: true } },
	  position: { my: 'center', at: 'center', target: $(window) },
	  show: { event: 'click', /*solo: true,*/ modal: true }, hide: false, style: 'ui-tooltip-light ui-tooltip-rounded'
	});
	
	$('#connection-pro').qtip({
	  id: 'modal-connection-pro', content: { text: $('.connection-pro-div'), title: { text: 'Me connecter à mon compte', button: true } },
	  position: { my: 'center', at: 'center', target: $(window) },
	  show: { event: 'click', /*solo: true,*/ modal: true }, hide: false, style: 'ui-tooltip-light ui-tooltip-rounded'
	});
	
	$('#commencer').qtip({
	  id: 'modal-inscription-2', content: { text: $('.connection-div'), title: { text: 'Se connecter', button: true } },
	  position: { my: 'center', at: 'center', target: $(window) },
	  show: { event: 'click', /*solo: true,*/ modal: true }, hide: false, style: 'ui-tooltip-light ui-tooltip-rounded'
	});
	
	
	//jQuery Validate
	jQuery.fn.byPassValidation = function(){
		return $('.bypass_validate').attr('checked');
	}

	//CREATE ACCOUNT
	$(function(){
		  $('#creer_compte').click(function(e) {
			    e.preventDefault();
			    $("#inscription_form").submit();
		  });
		  
		  var validator = $("#inscription_form").validate({
			rules: {
				"utilisateur[prenom]":  			{required: true, maxlength: 255},
				"utilisateur[nom]":  				{required: true, maxlength: 255},
				"utilisateur[titre]":  				{required: true},
				"utilisateur[email]":  				{required: true, maxlength: 255, email: true, remote: {url: "/utilisateur/checkEmail", type: "post", data: {email: function() {var email = $("#email").val(); return email.replace('.', '|DOT|');}}}},
				"utilisateur[email2]":  			{required: true, maxlength: 255, email: true, equalTo: "#email"},
				"utilisateur[password]":  			{required: true, maxlength: 255},
				"utilisateur[telephone]":  			{required: true, maxlength: 255},
				"utilisateur[nom_defunt]":  		{required: true, maxlength: 255},
				"utilisateur[prenom_defunt]": 		{required: true, maxlength: 255},
				"utilisateur[titre_defunt]":  		{required: true},
				"utilisateur[date_defunt][day]":  	{required: true},
				"utilisateur[date_defunt][month]":	{required: true},
				"utilisateur[date_defunt][year]":  	{required: true, verifDate:"utilisateur[date_defunt]"}
			},
			messages: {
				"utilisateur[prenom]":  			"Entrez votre prénom",
				"utilisateur[nom]":  				"Entrez votre nom de famille",
				"utilisateur[titre]":  				"Entrer votre titre",
				"utilisateur[email]":  				{required:"Entrez votre email",email:"Le mail entré n'est pas valide",remote:"Le mail entré existe déjà en base"},
				"utilisateur[email2]":  			{required:"Entrez une nouvelle fois votre mail",equalTo:"Les mails entrés ne concordent pas",email:"Le mail entré n'est pas valide"},
				"utilisateur[password]":  			"Entrez votre mot de passe",
				"utilisateur[telephone]":  			"Entrez votre numéro de téléphone",
				"utilisateur[nom_defunt]":  		"Entrez le nom du défunt",
				"utilisateur[prenom_defunt]": 		"Entrez le prénom du défunt",
				"utilisateur[titre_defunt]":  		"Entrez le titre du défunt",
				"utilisateur[date_defunt][day]":  	"Entrez le jour de son décès",
				"utilisateur[date_defunt][month]":	"Entrez le mois de son décès",
				"utilisateur[date_defunt][year]":  	"Entrez l'année de son décès"
			},
			submitHandler: function(form) {
				$('#creer_compte').hide();
				jQuery(form).ajaxSubmit({
					target: "#ui-tooltip-modal-inscription-content"
				});
			}
	    });
	});
	
	//CREATE ACCOUNT
	$(function(){
		  $('#creer_compte_part_pro').click(function(e) {
			    e.preventDefault();
			    $("#creation-part-pro_form").submit();
		  });
		  
		  var validator = $("#creation-part-pro_form").validate({
			rules: {
				"utilisateur[prenom]":  			{required: true, maxlength: 255},
				"utilisateur[nom]":  				{required: true, maxlength: 255},
				"utilisateur[email]":  				{required: true, maxlength: 255, email: true, remote: {url: "/utilisateur/checkEmail", type: "post", data: {email: function() {var email = $("#email_part-pro").val(); return email.replace('.', '|DOT|');}}}},
				"utilisateur[telephone]": 			{required: true, maxlength: 255},
				"utilisateur[nom_defunt]":  		{required: true, maxlength: 255},
				"utilisateur[prenom_defunt]": 		{required: true, maxlength: 255},
				"utilisateur[date_defunt][day]":  	{required: true},
				"utilisateur[date_defunt][month]":	{required: true},
				"utilisateur[date_defunt][year]":  	{required: true},
				"utilisateur[titre]":				{required: true, range: [0,2]},
				"utilisateur[titre_defunt]":		{required: true, range: [0,2]}
			},
			messages: {
				"utilisateur[prenom]":  			"Entrez le prénom",
				"utilisateur[nom]":  				"Entrez le nom de famille",
				"utilisateur[email]":  				{required:"Entrez l'email",email:"Le mail entré n'est pas valide",remote:"Le mail entré existe déjà en base"},
				"utilisateur[telephone]":  			"Entrez le numéro de téléphone",
				"utilisateur[nom_defunt]":  		"Entrez le nom du défunt",
				"utilisateur[prenom_defunt]": 		"Entrez le prénom du défunt",
				"utilisateur[date_defunt][day]":  	"Entrez le jour de son décès",
				"utilisateur[date_defunt][month]":	"Entrez le mois de son décès",
				"utilisateur[date_defunt][year]":  	{required:"Entrez l'année de son décès", verifDate:"Date non valide"},
				"utilisateur[titre]":				"Sélectionnez votre titre",
				"utilisateur[titre_defunt]":		"Sélectionnez le titre du défunt"
			}
	    });
	});
	
	// Vérifie le format d une date saisie
	$.validator.addMethod(
	    "verifDate", function(value, element, params){
	    	var date = new Date();

			var jsaisi = $("#date_defunt_jour").val();
			var msaisi = $("#date_defunt_mois").val();
			var asaisi = $("#date_defunt_annee").val();
						
			var tabDate = new Array(jsaisi, msaisi, asaisi);
			tabDate = ConvNum(tabDate);
			var datTest_Date = new Date(parseInt(tabDate[2]), parseInt(tabDate[1])-1, parseInt(tabDate[0]));
	
			if (value.length > 0){ 
				if ((parseInt(tabDate[0]) != datTest_Date.getDate()) || (parseInt(tabDate[1]) != parseInt(datTest_Date.getMonth())+1)){ 
					return false;
				}
			}
			var date = new Date();
			var j = date.getDate();
			var m = date.getMonth() + 1;
			var a = date.getFullYear();

			if (a <=  parseInt(tabDate[2]) && parseInt (tabDate[1]) > m){
				//Année supérieure à l'année courante
				return false;
			}
			if (a  - 99 >  parseInt(tabDate[2])){
				//Plus de 99 ans
				return false;
			}
			return true;
		}, "Date non valide"
	);
	
	// Required + gestion de hidden ou pas
	$.validator.addMethod(
	    "requiredifvisible", function(value, element, param){
	    	if ($(element).is(":visible") == false)
	    		return true;
			// check if dependency is met
			if ( !this.depend(param, element) )
				return "dependency-mismatch";
			switch( element.nodeName.toLowerCase() ) {
			case 'select':
				// could be an array for select-multiple or a string, both are fine this way
				var val = $(element).val();
				return val && val.length > 0;
			case 'input':
				if ( this.checkable(element) )
					return this.getLength(value, element) > 0;
			default:
				return $.trim(value).length > 0;
			}
		}
	);
	
	// Enleve le '0' des nb < 10
	function ConvNum(tabDeDate){
		for (i=0; i<tabDeDate.length; i++)
		tabDeDate[i] = (tabDeDate[i].charAt(0)=='0')?tabDeDate[i].charAt(1):tabDeDate[i];
		return tabDeDate;
	}
	
	//LOGIN
	$(function(){
		  $('#connect').click(function(e) {
			    e.preventDefault();
			    $("#connection_form").submit();
		  });
		  
		  var validator = $("#connection_form").validate({
			rules: {
				"login[login]":	{required: true, email: true, remote: {url: "/utilisateur/checkEmail", type: "post", data: {email: function() {var email = $("#mail").val(); return email.replace('.', '|DOT|');}, reverse: true}}},
				"login[pass]":	{required: true, remote: {url: "/utilisateur/checkLogin", type: "post", data: {email: function() {var email = $("#mail").val(); return email.replace('.', '|DOT|');}}}}
			},
			messages: {
				"login[login]":	{required:"Entrez votre email",email:"Le mail entré n'est pas valide",remote:"Le mail entré n'existe pas en base ou le compte n'est pas actif"},
				"login[pass]":	{required:"Entrez votre mot de passe",remote:"Le couple email / mot de passe n'est pas valide"}
			}
	    });
	});
	
	//LOGIN SIMPLE
	$(function(){
		  $('#connect-simple').click(function(e) {
			    e.preventDefault();
			    $("#connection_simple_form").submit();
		  });
		  
		  var validator = $("#connection_simple_form").validate({
			rules: {
				"login[login]":	{required: true, email: true, remote: {url: "/utilisateur/checkEmail", type: "post", data: {email: function() {var email = $("#mail_simple").val(); return email.replace('.', '|DOT|');}, reverse: true}}},
				"login[pass]":	{required: true, remote: {url: "/utilisateur/checkLogin", type: "post", data: {email: function() {var email = $("#mail_simple").val(); return email.replace('.', '|DOT|');}}}}
			},
			messages: {
				"login[login]":	{required:"Entrez votre email",email:"Le mail entré n'est pas valide",remote:"Le mail entré n'existe pas en base ou le compte n'est pas actif"},
				"login[pass]":	{required:"Entrez votre mot de passe",remote:"Le couple email / mot de passe n'est pas valide"}
			}
	    });
	});
	
	//LOGIN PRO
	$(function(){
		  $('#connect-pro').click(function(e) {
			    e.preventDefault();
			    $("#connection_pro_form").submit();
		  });
		  
		  var validator = $("#connection_pro_form").validate({
			rules: {
				"login[login]":	{required: true, email: true, remote: {url: "/utilisateur/checkEmail", type: "post", data: {email: function() {var email = $("#mail_pro").val(); return email.replace('.', '|DOT|');}, reverse: true}}},
				"login[pass]":	{required: true, remote: {url: "/utilisateur/checkLogin", type: "post", data: {email: function() {var email = $("#mail_pro").val(); return email.replace('.', '|DOT|');}}}}
			},
			messages: {
				"login[login]":	{required:"Entrez votre email",email:"Le mail entré n'est pas valide",remote:"Le mail entré n'existe pas en base ou le compte n'est pas actif"},
				"login[pass]":	{required:"Entrez votre mot de passe",remote:"Le couple email / mot de passe n'est pas valide"}
			}
	    });
	});
	
	//CONTACT
	$(function(){
		  $('#envoyer').click(function(e) {
			    e.preventDefault();
			    $("#contact-form").submit();
		  });
		  
		  var validator = $("#contact-form").validate({
			rules: {"email": {required: true, email: true}, "objet": {required: true}, "message": {required: true}},
			messages: {
				"email":	{required:"Entrez votre email",email:"Le mail entré n'est pas valide"},
				"objet":	{required:"Entrez l'objet de votre message"},
				"message":	{required:"Entrez votre message"}
			}
	    });
	});
});

//Slider homepage
var i = 2;
window.setInterval(function() {
	if (i==0) i=2;
	jQuery("#slider_image").css("background-image", "url(images/slider_"+i+".png)");
	jQuery(".active").removeClass('active');
	jQuery(".p"+i).addClass('active');
	jQuery(".cactive").removeClass('cactive');
	jQuery(".c"+i).addClass('cactive');
	if(i != 3) i++;
	else i = 1;
}, 7000);

jQuery(".p1, .p2, .p3").click(function(){
	var j = $(this).children('span').html();
	jQuery("#slider_image").css("background-image", "url(images/slider_"+j+".png)");
	jQuery(".active").removeClass('active');
	jQuery(".p"+j).addClass('active');
	jQuery(".cactive").removeClass('cactive');
	jQuery(".c"+j).addClass('cactive');
	i = j;
});
