jQuery.extend(jQuery.validator.messages, {
        required: "Ce champ est requis.",
        remote: "Veuillez remplir ce champ pour continuer.",
        email: "Veuillez entrer une adresse email valide.",
        domain: "Veuillez entrer un domaine valide.",
        sdomain: "Veuillez entrer un sous-domaine valide.",
        url: "Veuillez entrer une URL valide.",
        date: "Veuillez entrer une date valide.",
        dateISO: "Veuillez entrer une date valide (ISO).",
        number: "Veuillez entrer un nombre valide.",
        digits: "Veuillez entrer (seulement) une valeur numŽrique.",
        creditcard: "Veuillez entrer un numŽro de carte de crŽdit valide.",
        equalTo: "Veuillez entrer une nouvelle fois la mme valeur.",
        accept: "Veuillez entrer une valeur avec une extension valide.",
        maxlength: jQuery.format("Veuillez ne pas entrer plus de {0} caractres."),
        minlength: jQuery.format("Veuillez entrer au moins {0} caract&egrave;res."),
        rangelength: jQuery.format("Veuillez entrer entre {0} et {1} caractres."),
        range: jQuery.format("Veuillez entrer une valeur entre {0} et {1}."),
        max: jQuery.format("Veuillez entrer une valeur infŽrieure ou Žgale ˆ {0}."),
        min: jQuery.format("Veuillez entrer une valeur supŽrieure ou Žgale ˆ {0}.")
});

jQuery.validator.addMethod("domain", function(value, element) {
	return this.optional(element) || /^[0-9a-z\-\.]+\.[a-z]{2,3}$/i.test(value);
}, jQuery.validator.messages.domain);

jQuery.validator.addMethod("sdomain", function(value, element) {
	return this.optional(element) || /^[0-9a-z\-]+$/i.test(value);
}, jQuery.validator.messages.sdomain);


$(document).ready(function(){

	// COLORBOX
	$.fn.colorbox.settings.bgOpacity = "0.7";
	$.fn.colorbox.settings.modalClose = "Fermer";
	$("#manager").colorbox({transition:"elastic", overlayClose:false, fixedWidth:"550px", fixedHeight:"290px", inline:true, href:"#manager_login"});
	$("#manager2").colorbox({transition:"elastic", overlayClose:false, fixedWidth:"550px", fixedHeight:"290px", inline:true, href:"#manager_forgot"});

    // TABS UI
	var tabs = $("#tabs").tabs({
		add: function(event, ui) {
			$("#tabs").tabs('select', '#' + ui.panel.id);
		},
		cache: true
	});
	
	$(".domain_webmaster").click(function() {
		$("#tabs").tabs('remove', '1');
		$("#tabs").tabs('add', '/forms/domain_webmaster.html', 'Configuration de votre domaine');
	});
	$(".domain_sdom").click(function() {
		$("#tabs").tabs('remove', '1');
		$("#tabs").tabs('add', '/forms/domain_sdom.html', 'Configuration de votre sous-domaine');
	});
	$(".domain_freedom").click(function() {
		$("#tabs").tabs('remove', '1');
		$("#tabs").tabs('add', '/forms/domain_freedom.html', 'Enregistrement de votre domaine');
	});
	
	$("#goto_site").change(function() {
		if($(this).val() != ''){
			top.location.href = '/manager/index.php?m=lauch&id_site=' + $(this).val();
		}
	});



	// FORM VALIDATE
	$("#manager_login_form").validate({
		errorClass: "error_icons",
		rules: {
			login: "required",
			pass: "required"
		},
		messages : {
			login: false,
			pass: false
		},
		submitHandler: function(form) {
			$(form).ajaxSubmit({target:"#manager_login_result", success:showResponse});
		}
	});
	
	$("#manager_forgot_form").validate({
		errorClass: "error_icons",
		rules: {
			mail: {
				required: true,
				email: true
			}
		},
		messages: {
			mail: false
		},
		submitHandler: function(form) {
			$(form).ajaxSubmit({target:"#manager_forgot_result", success:showResponse});
		}
	});
	
	$("#edit_profile_form").validate({
		errorClass: "error_icons",
		rules: {
			mail: {
				required: true,
				email: true
			},
			pass: "required",
			pass2: {
				required: true,
				equalTo: "#pass"
			},
			statut: "required"
		},
		messages: {
			mail: false,
			pass: false,
			pass2: false,
			statut: false
		}
	});
	
	$("#contact_form").validate({
		rules: {
			mail: {
				required: true,
				email: true
			},
			sujet: "required",
			msg: "required"
		}
	});
	
	$("#suscribe_form").validate({
		errorContainer: "#display_error",
		rules: {
			login: {
				required: true,
				minlength: 3,
				remote: "js/ajax.php"
			},
			pass: "required",
			pass2: {
				required: true,
				equalTo: "#pass"
			},
			mail: {
				required: true,
				email: true
			},
			statut: "required",
			domain_webmaster: {
				required: true,
				domain: true,
				remote: "/js/ajax.php"
			},
			domain_sdom: {
				required: true,
				sdomain: true,
				remote: {
					url: "/js/ajax.php",
					data: {
						domain_sdom_dom: function (){
							return $("#domain_sdom_dom").val();
						}
					}
				}
			},
			domain_freedom: {
				required: true,
				domain: true,
				remote: "/js/ajax.php"
			}
		},
		messages: {
			login: {
				remote: jQuery.format("{0} est d&eacute;j&agrave; utilis&eacute;")
			},
			domain_webmaster: {
				remote: jQuery.format("{0} est d&eacute;j&agrave; utilis&eacute;")
			},
			domain_sdom: {
				remote: jQuery.format("{0} est d&eacute;j&agrave; utilis&eacute; avec ce domaine")
			}
		},
		success: function(label) {
			label.html('OK')
		}
	});
	
	// overwrite focusInvalid to activate tab with invalid elements
	$("#suscribe_form").validate.focusInvalid = function() {
		if(this.settings.focusInvalid) {
			try {
				var focused = $(this.findLastActive() || this.errorList.length && this.errorList[0].element || []).filter(":visible");
				$("#tabs").tabs("select", $("#tabs").find(">div").index(focused.parent().parent()));
				focused.focus();
			} catch(e) {
				// ignore IE throwing errors when focusing hidden elements
			}
		}
	};
});







function showResponse(responseText, statusText){ 
	if(statusText == 'success' && responseText == 'LOGIN OK'){
		$("#manager_login_form").text('Connexion en cours...');
		setTimeout("manager()", 1000);
	}
}

function manager(){
	top.location.href = '/manager/';
}