/** 
 * Copyright (c) 2003 Agglo. de Rouen
 *
 * File : /script/verif.js
 *
 * 
 * Fonction : Regroupe toutes les fonctions de verifications de formulaire
 *
 * @author Magaly CLEMENT 
 *
 **/
 
/***************************
*
*	FONCTIONS UTILISATEUR
*
***************************/

/**
* 	Verification lorsque l'utilisateur veut générer un 
* 	nouveau mot de passe
**/
function verif_login(formulaire){
	
	var msg = "";
	if (formulaire.elements['utiLogin'].value == "") {
		msg += "Veuillez entrer votre code utilisateur\n";
	}
	if (msg != "") {
		alert(msg);
		return false;
	} else {
		formulaire.elements['genereMotDePasse'].value = "true";
		formulaire.submit();
	}
}


/*****************************
*
*	FIN FONCTIONS UTILISATEUR
*
******************************/



/**************************
*
*	FONCTIONS FAQ
*
**************************/

/**
* 	Verification lors de l'ajout d'une faq
**/
function verif_ajout_faq(formulaire) {

	var msg = "";
	if (formulaire.elements['question'].value == "") {
		msg += "--> La question n'est pas remplie\n";
	}
	
	if (msg != "") {
		msg = "Des erreurs : \n" + msg;
		alert(msg);
		return false;
	} else {
		formulaire.elements['envoi'].disabled = true;
		formulaire.submit();
	}
}
/**
* Verification lors de la maj d'une faq
**/
function verif_maj_faq(formulaire) {

	var msg = "";
	if (formulaire.elements['question'].value == "") {
		msg += "--> La question n'est pas remplie\n";
	}
	if (msg != "") {
		msg = "Des erreurs : \n" + msg;
		alert(msg);
		return false;
	} else {
		formulaire.elements['envoi'].disabled = true;
		formulaire.submit();
	}
}


/**************************
*
*	FIN FONCTIONS FAQ
*
***************************/



/**************************
*
*	FONCTIONS NEWS
*
***************************/

/**
*	Verification lors de l'ajout d'une news
**/
function verif_ajout_news(formulaire) {
	
	var msg = "";
	if (formulaire.elements['newsTitre'].value == "") {
		msg += "--> Le titre n'est pas rempli\n";
	}
	if (formulaire.elements['newsTexte'].value == "") {
		msg += "--> Le texte de la news n'est pas rempli\n";
	}
	if (formulaire.elements['newsFichier'].value != "" && formulaire.elements['newsSourceTitre'].value == "") {
		msg += "--> Veuillez entre un titre pour votre source ou laisser http:* pour le lien si vous n'avez pas de source\n";
	}
	if (msg != "") {
		msg = "Des erreurs : \n" + msg;
		alert(msg);
		return false;
	} else {
		formulaire.elements['envoi'].disabled = true;
		formulaire.submit();
	}
}

/**
* 	Verification lors de la mise à jour d'une news
**/
function verif_modif_news(formulaire) {
	
	var msg = "";
	if (formulaire.elements['newsTitre'].value == "") {
		msg += "--> Le titre n'est pas rempli\n";
	}
	if (formulaire.elements['newsTexte'].value == "") {
		msg += "--> Le texte de la news n'est pas rempli\n";
	}
	if (formulaire.elements['newsFichier'].value != "" && formulaire.elements['newsSourceTitre'].value == "") {
		msg += "--> Veuillez entre un titre pour votre source\n";
	}
	if (msg != "") {
		msg = "Des erreurs : \n" + msg;
		alert(msg);
		return false;
	} else {
		formulaire.elements['envoi'].disabled = true;
		formulaire.submit();
	}
}

/**
* 	Verification lors de l'ajout d'un commentaire pour une news
**/
function verif_ajout_commentaire(formulaire) {
	var msg = "";
	if (formulaire.elements['commentaire'].value == "") {
		msg += "--> Veuillez remplir le commentaire!\n";
	}
	if (msg != "") {
		alert(msg);
		return false;
	} else {
		formulaire.elements['envoi'].disabled = true;
		formulaire.submit();
	}

}

/**
*	Verification lors de la modif d'un commentaire pour une news
**/
function verif_modif_commentaire(formulaire) {
	var msg = "";
	if (formulaire.elements['commentaire'].value == "") {
		msg += "--> Veuillez remplir le commentaire!\n";
	}
	if (msg != "") {
		alert(msg);
		return false;
	} else {
		formulaire.elements['envoi'].disabled = true;
		formulaire.submit();
	}

}


/**************************
*
*	FIN FONCTIONS NEWS
*
***************************/

/**
 * @deprecated voir agglo_date
 * @param element
 * @return
 */
function verif_date(element){
	var exp=new RegExp("[0-9]{2}[/][0-9]{2}[/][0-9]{4}","g");
	msg = "";
	if (!exp.test(element.value) && element.value!="") {
		msg = "--> La date n'est pas valide (ex valide: 04/01/2004)\n";
	} 
	return msg;
}

/**
 * @deprecated voir agglo_date
 * @param element
 * @return
 */
function verification_date(element, anneeMax){
	var exp=new RegExp("[0-3]{1}[0-9]{1}[/][0-1]{1}[0-9]{1}[/][2]{1}[0]{1}[0-7]{1}[0-9]{1}","g");
	msg = "";
	if (!exp.test(element.value) && element.value!="") {
		msg = "--> La date n'est pas valide (ex valide: 04/01/2004)\n";
	} 
	objDate = new Date();
	
	// TODAY
	var anneeActuelle = objDate.getFullYear();
	var moisActuel = objDate.getMonth() + 1;
	var jourActuel = objDate.getDate();

	// DATE DONNEE
	var anneeDonnee   = element.value.substring(6,10);
	var moisDonnee    = element.value.substring(3,5);
	var jourDonnee    = element.value.substring(0,2);

	if (anneeMax && (anneeDonnee > anneeActuelle || anneeDonnee < anneeMax)){
		msg = "--> L'année n'est pas valide!\n";
	}
	
	var datDonnee 	 = new Date(anneeDonnee, moisDonnee, jourDonnee);
	var dateActuelle = new Date(anneeActuelle, moisActuel, jourActuel);
	
	if (fCompareDate(datDonnee,dateActuelle) < 0){
		msg = "--> La date donnée est supérieure à la date du jour!\n";
	}
	
	return msg;
}

/**
 * @deprecated voir agglo_date
 * @param element
 * @return
 */
function verif_heure(element){
	var exp=new RegExp("[0-2]{1}[0-9]{1}[:][0-5]{1}[0-9]{1}","g");
	msg = "";
	
	if (element.value.substring(0, 2) > 23){
		msg = "--> L'heure n'est pas valide (supérieure à 23)\n";
	}
	if (!exp.test(element.value) && element.value!="") {
		msg = "--> L'heure n'est pas valide (ex valide: 09:10)\n";
	} 
	return msg;
}

/**
 * @deprecated voir agglo_date
 * @param element
 * @return
 */
function fCompareDate(pDateDebut,pDateFin) {
	var DureeDebut = Date.parse(pDateDebut);
	var DureeFin = Date.parse(pDateFin);
	
	var iComparaison = DureeFin - DureeDebut;
	return iComparaison;
} 

