$(document).ready(function(){
	
	
	$('#form_login').ajaxForm({ 
			beforeSubmit: validate_login, 
			success: success_login 
	});
	
	$('#form_contact').ajaxForm({
			beforeSubmit: validate_contact,
			success: success_contact
	});
	
	$('#form_postuler_en_ligne').ajaxForm({
		beforeSubmit: validate_postuler,
		success: success_postuler
	});
	
	

	
	
	
	function throw_notice(title, notice, state, obj_to_hide){
		
		if (state == 'error'){
			if(title == null){ title = 'Veuillez vérifier ceci:';}			
			$('#_notice').addClass(state).html('<p class="title">'+ title +'</p>'+notice).show();
		} else if(state == 'success'){
			if(title == null){ title = 'Confirmation ';}
			
			$('#'+obj_to_hide).hide();
			$('#_notice').addClass(state).html('<p class="title">'+ title +'</p>'+notice).show();
		}
		
		document.location.href = '#notice';
		return;
	} // throw_notice
	
	function redirect_to(url){
		window.location.href = url;
	} // redirect_to

	
	function must_not_empty(xfield){
		
		var field = $('#'+xfield['id']);
		var output = "";
		if (field.val()=="") {	output = "Le champs "+ xfield['name'] +" est vide.<br>";	}
		return output;
	} // must_not_empty
	
	// ---------------------------
	function validate_postuler (formData, jqForm, postuler_options) {
		var msg = "";
		var name = "";
		for (var i=0; i < formData.length; i++) {
			if (formData[i].name == 'firstname') {  name = "Prénom "; }
			else if(formData[i].name == 'lastname') {  name = "Nom de famille "; }
			else if(formData[i].name == 'email') {  name = "Courriel "; }
			else if(formData[i].name == 'lettre_presentation') {  name = "Lettre de présentation "; }
			else if(formData[i].name == 'cv') {  name = "CV "; }
			else { name = null;}
		   
			if(name != null){
				// verifier non-vide
				
				
				if (!formData[i].value) { 
	       		msg += 'Le champs '+ name +' est vide.<br>'; 	
			   } 


				if (formData[i].name == 'email'){

					var valid_email = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
					if (!valid_email.test(formData[i].value)){ 
						msg += 'Le champs Expéditeur doit contenir un adresse email valide (abc@domain.xyz)<br>';
					}
				}
			}
			}
		   
		
		if (msg == ""){
			
			return true;
			
		} else {
			throw_notice(null, msg, 'error', null);
			return false;
		}
		
	}	// validate_postuler
	
	function validate_contact (formData, jqForm, contact_options) {
		var msg = "";
		var name = "";
		for (var i=0; i < formData.length; i++) {
			if (formData[i].name == 'expediteur') {  name = "Expediteur "; }
			else if(formData[i].name == 'subject') {  name = "Sujet "; }
			else if(formData[i].name == 'message') {  name = "Message "; }
		   
		
		   // verifier non-vide
			if (!formData[i].value) { 
       		msg += 'Le champs '+ name +' est vide.<br>'; 	
		   } 
		
			
			if (formData[i].name == 'expediteur'){
				
				var valid_email = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
				if (!valid_email.test(formData[i].value)){ 
					msg += 'Le champs Expéditeur doit contenir un adresse email valide (abc@domain.xyz)<br>';
				}
			}
		}
		
		if (msg == ""){
			return true;

		} else {
			throw_notice(null, msg, 'error', null);
			return false;
		}
		
	}	// validate_contact
		
	
		function validate_login (formData,jqForm, login_options) {
			
			var msg = "";
			var name = "";
			for (var i=0; i < formData.length; i++) {
				if (formData[i].name == 'username') {  name = "Nom d'utilisateur "; }
				else if(formData[i].name == 'password') {  name = "Mot de passe "; }
			
			        
				if (!formData[i].value) { 
	       		msg += 'Le champs '+ name +' est vide.<br>'; 
		      	
			   } 
			}   
			
			if (msg == ""){
				return true;
				
			}else {
				throw_notice(null, msg, 'error', null);
				return false;
			}
		}
		
		function success_login (responseText) {
			if(responseText == 1){
				redirect_to("admin");
			} else {
				throw_notice(null, responseText,'error', null);
			}
		} // success_login
	
		
		
		
		function success_contact (responseText) {
			if(responseText != 0 ){
				throw_notice('Confirmation :', responseText,'success','form_contact');
			} else {
				throw_notice(null, responseText,'error',null);
			}
		} // success_login
		
	
		function success_postuler (responseText) {
			
			
			if(responseText != 0 ){
				
				throw_notice('Confirmation :', responseText,'success','form_postuler_en_ligne');
			} else {
				throw_notice(null, responseText,'error',null);
			}
		} // success_login
		
		
		
		function getScrollXY() {
		  var scrOfX = 0, scrOfY = 0;
		  if( typeof( window.pageYOffset ) == 'number' ) {
		    //Netscape compliant
		    scrOfY = window.pageYOffset;
		    scrOfX = window.pageXOffset;
		  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
		    //DOM compliant
		    scrOfY = document.body.scrollTop;
		    scrOfX = document.body.scrollLeft;
		  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
		    //IE6 standards compliant mode
		    scrOfY = document.documentElement.scrollTop;
		    scrOfX = document.documentElement.scrollLeft;
		  }
		  return [ scrOfX, scrOfY ];
		}
		
	
});
