// +--------------------------------------------------------------------------+
// | <G a n e s h a> - Free Web Based Training System                         |
// +--------------------------------------------------------------------------+
// | <G a n e s h a> - Plate-forme de t?formation gratuite et en open source|
// +--------------------------------------------------------------------------|
// | Copyright (C) 2000-2003  An? Formation  <http://www.anema.fr/>           |
// +--------------------------------------------------------------------------+
// |           Developer : Georges CALDEIRA <gcaldeira@anemalab.org>          |
// +--------------------------------------------------------------------------+
// |              Infos on project <http://anemalab.org/>                     |
// +--------------------------------------------------------------------------+
// | This program is free software; you can redistribute it and/or modify     |
// | it under the terms of the GNU General Public License as published by     |
// | the Free Software Foundation; either version 2 of the License, or        |
// | (at your option) any later version.                                      |
// |                                                                          |
// | This program is distributed in the hope that it will be useful,          |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of           |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            |
// | GNU General Public License for more details.                             |
// |                                                                          |
// | You should have received a copy of the GNU General Public License        |
// | along with this program; if not, write to the Free Software              |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA |
// +--------------------------------------------------------------------------+

/* =============================================================================
/* Fonction qui vérifie que les champs input text, password 
/* et select requis d'un formulaire soit bien renseignés.
*/

function checkRequiredFormFields(form) {
    var type,nodeName,el;
    var hasError = false;
    
    //On parcours tous les champs définis comme requis
    $(form).find(".required").each(function() {
        //Tant qu'il n'y a pas d'erreur on teste
        if(!hasError) {
            nodeName = this.nodeName.toLowerCase();
            el = this;
        
            //Pour les éléments INPUT
            if(nodeName == "input") {
                type = $(this).attr("type").toLowerCase();
                
                //S'il s'agit d'un input text ou password
                if(type == "text" || type == "password") {
                    //On vérifie qu'il ne soit pas vide
                    if($.trim($(this).val()).length == 0) {
                        hasError = true;
                    }
                }
            }
            //Pour les SELECT
            else if(nodeName == "select") {
                if($(this).val() < 0 || $(this).val() == "") {
                    hasError = true;
                } 
            }
            
            //En cas d'erreur à la suite des vérification
            if(hasError) {
                var message = fieldIsEmpty;
                message = message.replace(/%s/,$(el).attr("alt"));
                
                alertCss(message,function(){
                    $(el).focus();
                });
            } 
        }
    });
    
    return !hasError;
}

	function VerificationEmail(email) {
		var emailRequired = $(email).is(".required");
		var emailLength = email.value.length;
		var place = email.value.indexOf("@",1);
		var point = email.value.indexOf(".",place+1);
		
        if(!emailRequired && emailLength == 0) {
            return(true);
        } 
        
        if ((place > -1)&&(emailLength > 2)&&(point > 1)) {
			return(true);
		} else {
			alertCss(invalidEmail,function(){email.focus();});
			return(false);
		}
	}

	/************************************************/
	function DeleteItem(url)  {
		confirmCss(recordDeleteConfirm,function() {
			window.location.href=url;
        });
	}
    
	/************************************************/
	function DeleteItemMaj(url)  {
		confirmCss(
            recordDeleteConfirm,
            function() {
                confirmCss(
                    deleteElementConfirm,
                    function(){
                        url += "&maj=1";
                        window.location.href=url;
                    },
                    function(){
                        window.location.href=url;
                    },
                    function(){
                        window.location.href=url;
                    }
                );
            }
        );
        
        /*
		ans = window.confirm(recordDeleteConfirm);
		if(ans)	{
			ans = window.confirm("ATTENTION : Voulez vous SUPPRIMER cet élément dans les sessions existantes ?");
			if(ans)	{
				url += "&maj=1";
			}
			window.location.href=url;
		}*/
	}

	/************************************************/
	function AddItemMaj(url)  {
		confirmCss(
            addElementConfirm,
            function(){
                url += "&maj=1";
                window.location.href=url;
            },
            function(){
                window.location.href=url;
            }
        );
        
        /*
		ans = window.confirm("ATTENTION : Voulez vous AJOUTER cet élément dans les SESSIONS GROUPES existantes ?");
		if(ans)	{
			url += "&maj=1";
		}
		window.location.href=url;*/
	}

	/************************************************/
	function DeleteListItem() {
		confirmCss(recordDeleteConfirm,function() {
			document.formulaire_liste.submit();
        });
		}

    /************************************************/
	function rappelIdentifiant(link,message) {
        confirmCss(message,function() {
            setTimeout(function(){
                if(link.href) {
                    loadingLayout.show();
                    $.get(link.href,function(response) {
                        loadingLayout.hide();
                        processXmlHttpResponse(response);
                    });
                }
            },1000);
        });
	}

	/************************************************/
	var val_checked = true ;
	function select_all() {
		var nb  = document.formulaire_liste.nb_select.value ;
		for (var j = 0; j < nb; j++) {
			box = eval("document.formulaire_liste.id" + j);
			box.checked = val_checked;
			toggleSelectLine(box);
		}
		val_checked = !val_checked ;
		return(true);
	}

    function toggleSelectLine(element) {
        var cssClassSelected = "ligneSelectionnee";
        var tr = element.parentNode.parentNode;
        
        if(element.checked) {
            $(tr).addClass(cssClassSelected);
        }
        else {
            $(tr).removeClass(cssClassSelected);
        }
    }

	/*********************************************************/
	function VerifAddGroupe(form) {
		if ( form.text1.value=='' ) {
			alertCss(groupNameIsEmpty, function(){
			form.text1.focus();
			});
			return(false);
		}
        ValidLoad(form);
	}

	/*********************************************************/
	function VerifGroupe(form,add) {
		if ( form.text1.value=='' ) {
			alertCss(groupNameIsEmpty, function(){
			form.text1.focus();
            });
            
			return(false);
		}
		
        submitForm(form);
	}


	/*********************************************************/
	function VerifMembreTuteur(form) {
	   if(checkRequiredFormFields(form)) {
	   var id = form.id.value;
	   var nb_car_login = form.nb_car_login.value;
	   var nb_car_mdp = form.nb_car_mdp.value;
	   
	   //test si l'identifiant contient au minimum 5 caractères
	   if((form.login.value.length)<nb_car_login){
            alertCss(loginMinChars+' '+nb_car_login,function(){form.login.focus();});return(false);
        }
        
        //test si le mot de passe contient au minimum 5 caractères
	    if((form.pwd.value.length)<nb_car_mdp) {
            alertCss(passwordMinChars+' '+nb_car_mdp,function(){form.pwd.focus();});return(false);
        }
		
            //test numéro de matricule
		if (G_MODE_FCT == "dfpn" && form.ville.value.length != 7) {
			alertCss(cityIsEmpty,function(){form.ville.focus();});
			return(false);
		}
    		
    		//Test email
		if ( !VerificationEmail(form.email)) {
			return(false);
		}
    		
		// test si pwd different
		var new_pwd = form.pwd.value ;
		if ( form.old_password.value!=form.pwd.value) {
		  if (form.crypt.value == 'md5' ) {
		     new_pwd = MD5(form.pwd.value) ;
          }
        }
            
        // verification avant submit
        var url = form.action + "&action=ajax_verifLoginPwdEmail";
        if ( ajax_verifLoginPwdEmail(url,id,form.login.value,new_pwd,form.email.value) ) {
            //Vérification suplémentaire pour la DFPN
            url = form.action + "&action=ajax_verifVilleDfpn";
            if(G_MODE_FCT == "dfpn") {
                if(ajax_verifVilleDfpn(url,form.ville.value,id)) {
                    form.pwd.value = new_pwd ;
                    submitForm(form);
                }
            } else {
            form.pwd.value = new_pwd ;
            submitForm(form);
        }        
	}
	}
	}


	/*********************************************************/
	function VerifMembreAdmin(form) {
        if(checkRequiredFormFields(form)) {
	   var id = form.id.value;
	   var nb_car_login = form.nb_car_login.value;
	   var nb_car_mdp = form.nb_car_mdp.value;
    	   
	   //test si l'identifiant contient au minimum 5 caractères
	   if((form.login.value.length)<nb_car_login){
            alertCss(loginMinChars+' '+nb_car_login,function(){form.login.focus();});
            return(false);
        }
        //test si le mot de passe contient au minimum 5 caractères
	    if((form.pwd.value.length)<nb_car_mdp){
            alertCss(passwordMinChars+' '+nb_car_mdp,function(){form.pwd.focus();});
            return(false);
        }
            
    		//Vérification dfpn numéro matricule
		if (G_MODE_FCT == "dfpn" && form.ville.value.length != 7) {
			alertCss(cityIsEmpty,function(){form.ville.focus();});
			return(false);
		}
    		
            //Vérification du mail
		if ( !VerificationEmail(form.email)) {
			return(false);
		}		
    		
		// test si pwd different
		var new_pwd = form.pwd.value ;
		if ( form.old_password.value!=form.pwd.value) {
		  if (form.crypt.value == 'md5' ) {
		     new_pwd = MD5(form.pwd.value) ;
          }
        }

        // verification avant submit
        var url = form.action + "&action=ajax_verifLoginPwdEmail";
        if ( ajax_verifLoginPwdEmail(url,id,form.login.value,new_pwd,form.email.value) ) {
            //Vérification suplémentaire pour la DFPN
            url = form.action + "&action=ajax_verifVilleDfpn";
            if(G_MODE_FCT == "dfpn") {
                if(ajax_verifVilleDfpn(url,form.ville.value,id)) {
            form.pwd.value = new_pwd ;
            submitForm(form);
        }
            } else {
                form.pwd.value = new_pwd ;
                submitForm(form);
            }
        }
	}
	}

	/*********************************************************/
	function VerifAdmin(form) {
		if ( form.text1.value=='' ) {
			alertCss(firstNameIsEmpty,function(){
			form.text1.focus();
            });
            
			return(false);
		}
		if ( form.text2.value=='' ) {
			alertCss(nameIsEmpty,function(){
			form.text2.focus();
            });
			
			return(false);
		}
		if ( form.text3.value=='' ) {
			alertCss(loginIsEmpty,function(){
			form.text3.focus();
            });
			
			return(false);
		}
		if ( form.text4.value=='' ) {
			alertCss(passwordIsEmpty,function(){
			form.text4.focus();
            });
			
			return(false);
		}
		submitForm(form);
	}

    function VerifAgence(form) {
		if($.trim(form.name.value) == '') {
			alertCss(agenceIsEmpty,function(){form.name.focus();});
			return(false);
		}
		
		submitForm(form);
	}

	/********************************************************
	 * A priori inutilisé
	 */
	function VerifSequence(form) {
		if ( form.text1.value=='' ) {
			alertCss(titleIsEmpty,function(){form.text1.focus();});
			return(false);
		}
		lib1 = form.elements[6] ;
		if ( lib1.value=='' ) {
			alertCss(title1IsEmpty,function(){lib1.focus();});
			return(false);
		}
		fic1 = form.elements[7] ;
		if ( fic1.value=='' ) {
			alertCss(file1IsEmpty,function(){fic1.focus();});
			return(false);
		}
		submitForm(form);
	}

	/*********************************************************/
	function VerifAddSequence(form) {
		if ( form.text1.value=='' ) {
			alertCss(titleIsEmpty,function(){form.text1.focus();});
			return(false);
		}
		submitForm(form);
	}

	/*********************************************************/
	function VerifAddModule(form) {
		if ( form.text1.value=='' ) {
			alertCss(titleIsEmpty,function(){form.text1.focus();});
			return(false);
		}
		submitForm(form);
	}

	/*********************************************************/
	function VerifAddParcours(form) {
		if ( form.text1.value=='' ) {
			alertCss(titleIsEmpty,function(){form.text1.focus();});
			return(false);
		}
		submitForm(form);
	}

	/*********************************************************/
	function VerifChapitreIFTI(form) {
		// debut IFTI
		if ((form.code_ltype.value=='CP' ||
			form.code_ltype.value=='CI' ||
			form.code_ltype.value=='CF' ||
			form.code_ltype.value=='CC') && (form.text5.checked)){
			
            alertCss(mustBeInvisible,function(){
			form.code_ltype.focus();
            });
			
			return(false);
		}
		if ((form.code_lformat.value=='M' ||
			form.code_lformat.value=='C') && (form.LType.value!='1')) {
			alertCss(mustBeAsset,function(){
			form.LType.focus();
            });
			
			return(false);
		} else if ((form.code_lformat.value=='G') &&
			(form.LType.value=='0'||form.LType.value=='1'||form.LType.value=='2')) {
			
			alertCss(mustBeActTerminateScormOrAicc,function(){
			form.LType.focus();
            });
			
			return(false);
		}
		VerifChapitre(form) ;
	}

	/*********************************************************/
	function VerifChapitre(form) {
		type = form.LType.value;
		if ( form.text2.value=='' ) {
			alertCss(activityTitleIsEmpty,function(){
			form.text2.focus();
            });
			
			return(false);
		}
		if ( type != 0 ) {
			if ( form.text3.value=='' ) {
				alertCss(activityFileIsEmpty,function(){
				form.text3.focus();
                });
				
				return(false);
			}
		} else {
			form.text3.value='' ;
		}
		submitForm(form);
	}

	/*********************************************************/
	function VerifSociete(form) {
		if ( form.text1.value=='' ) {
			alertCss(nameIsEmpty,function(){
			form.text1.focus();
            });
			
			return(false);
		}
		submitForm(form);
	}

	/*********************************************************/
	function VerifModifSiteLocal(form) {
		if ( form.site_name.value=='' ) {
			alertCss(nameIsEmpty,function(){
			form.site_name.focus();
            });
			
			return(false);
		}

		if ( form.pushdata.value=='' ) {
			alertCss(requiredInputIsEmpty,function(){
			form.pushdata.focus();
            });
			
			return(false);
		}
		if ( form.ip.value=='' ) {
			alertCss(requiredInputIsEmpty,function(){
			form.ip.focus();
            });
			
			return(false);
		}
		if ( form.login.value=='' ) {
			alertCss(requiredInputIsEmpty,function(){
			form.login.focus();
            });
			
			return(false);
		}
		if ( form.password.value=='' ) {
			alertCss(requiredInputIsEmpty,function(){
			form.password.focus();
            });
			
			return(false);
		}
		if ( $("input[@name=ws_url]:text").size() == 1 && form.ws_url.value=='' ) {
			alertCss(requiredInputIsEmpty,function(){
			form.ws_url.focus();
            });
			
			return(false);
		}
		if ( $("input[@name=ws_login]:text").size() == 1 && form.ws_login.value=='' ) {
			alertCss(requiredInputIsEmpty,function(){
			form.ws_login.focus();
            });
			
			return(false);
		}
		if ( $("input[@name=ws_password]:password ").size() == 1 && form.ws_password.value=='' ) {
			alertCss(requiredInputIsEmpty,function(){
			form.ws_password.focus();
            });
			
			return(false);
		}
		submitForm(form);
	}

	/*********************************************************/
	function VerifFormSiteServeur(form) {
		if ( form.text1.value=='' ) {
			alertCss(nameIsEmpty,function(){
			form.text1.focus();
            });
			
			return(false);
		}

		if ( form.text2.value=='' ) {
			alertCss(requiredInputIsEmpty,function(){
			form.text2.focus();
            });
			
			return(false);
		}
		if ( form.text3.value=='' ) {
			alertCss(requiredInputIsEmpty,function(){
			form.text3.focus();
            });
			
			return(false);
		}
		if ( form.text4.value=='' ) {
			alertCss(requiredInputIsEmpty,function(){
			form.text4.focus();
            });
			
			return(false);
		}
		if ( form.text6.value=='' ) {
			alertCss(requiredInputIsEmpty,function(){
			form.text6.focus();
            });
			
			return(false);
		}
		submitForm(form);
	}

	/********************************************************
	 * A priori inutilisé
	 */
	function VerifSession(form) {
		if ( form.text1.value=='' ) {
			alertCss(titleIsEmpty,function(){form.text1.focus();});
			return(false);
		}
		if ( form.text2.value=='' ) {
			alertCss(directoryIsEmpty,function(){form.text2.focus();});
			return(false);
		}
		lib1 = form.elements[5] ;
		if ( lib1.value=='' ) {
			alertCss(title1IsEmpty,function(){lib1.focus();});
			return(false);
		}
		fic1 = form.elements[6] ;
		if ( fic1.value=='' ) {
			alertCss(file1IsEmpty,function(){fic1.focus();});
			return(false);
		}
		submitForm(form);
	}

    function ajax_verifVilleDfpn(url,ville,id) {
    	var result = false;
    	$.ajax({
            url:url,
            data:{ville:ville,id:id},
            async: false, 
            type:'post', 
            success: function(data){
                var success = G_OK + "";
                
                if(data == success) { 
                    result = true; 
                } else {
                    result = false;
                    alertCss("Ce numéro de matricule est déjà utilisé.", function(){
                        if($("#ville:input").size() > 0) {
                            $("#ville:input").focus();
                        }
                    }); 
                }
            }
        });
        
        return result;
    }

    function ajax_verifLoginPwdEmail(url,id,login,pwd,email) {
    	var result = false;
    	$.ajax({
            url:url,
            data:{id:id,login:login,pwd:pwd,email:email},
            async: false, 
            type:'post', 
            success: function(data){
                switch(data){
                case G_OK + "" : result = true; break;
                case G_ERR_LOGIN_PWD + "" : 
                    alertCss(incorrectIdentPwd, function(){
                        if($("#login:input").size() > 0) {
                            $("#login:input").focus();
                        }
                    }); 
                    break;
                case G_ERR_EMAIL_INVALID + "" : 
                    alertCss(invalidEmail, function(){
                        if($("#email:input").size() > 0) {
                            $("#email:input").focus();
                        }
                    }); 
                    break;
                case G_ERR_EMAIL_USED + "" : 
                    alertCss(emailUsed, function(){
                        if($("#email:input").size() > 0) {
                            $("#email:input").focus();
                        }
                    }); 
                    break;
                case G_ERR_VILLE_USED + "" :
                    alertCss(emailUsed, function(){
                        if($("#email:input").size() > 0) {
                            $("#email:input").focus();
                        }
                    }); 
                    break;
                }
            }
        });
        
        return result;
    }

	/*********************************************************/
	function VerifStagiaire(form) {
        if(checkRequiredFormFields(form)) {
	   var id = form.id.value;
	   var nb_car_login = form.nb_car_login.value;
	   var nb_car_mdp = form.nb_car_mdp.value;
       
            //Test si l'identifiant contient le minimum de caractères
	   if((form.login.value.length)<nb_car_login) {
            alertCss(loginMinChars+' '+nb_car_login,function(){form.login.focus();});
            return(false);
        }
            //Test si le mot de passe contient le minimum de caractères
	    if((form.pwd.value.length)<nb_car_mdp){
            alertCss(passwordMinChars+' '+nb_car_mdp,function(){form.pwd.focus();});
            return(false);
        }
            //Test la taille du numéro de matricule => pour DFPN ville = matricule
		if (G_MODE_FCT == "dfpn" && form.ville.value.length != 7) {
			alertCss(cityIsEmpty,function(){form.ville.focus();});
			return(false);
		}
            //On vérifie le format du mail
		if (!VerificationEmail(form.email)) {
			return(false);
		}		
            
		// test si pwd different
		var new_pwd = form.pwd.value ;
		if ( form.old_password.value!=form.pwd.value) {
		  if (form.crypt.value == 'md5' ) {
		     new_pwd = MD5(form.pwd.value) ;
          }
        }

        // verification avant submit
        var url = form.action + "&action=ajax_verifLoginPwdEmail";
        if ( ajax_verifLoginPwdEmail(url,id,form.login.value,new_pwd,form.email.value) ) {
            //Vérification suplémentaire pour la DFPN
            url = form.action + "&action=ajax_verifVilleDfpn";
            if(G_MODE_FCT == "dfpn") {
                if(ajax_verifVilleDfpn(url,form.ville.value,id)) {
            form.pwd.value = new_pwd ;
            submitForm(form);
                        return true;
                }
            } else {
                form.pwd.value = new_pwd ;
                submitForm(form);
                    return true;
                }
            }
        }
        
        return false;
	}

	/*********************************************************/
	function CheckRadio(radio) {
		radio.checked = true ;
	}

	/*********************************************************/
	function VerifAddInscription(form) {
		if ( form.text1.value=='' ) {
			alertCss(inscriptionCodeIsEmpty,function(){form.text1.focus();});
			return(false);
		}
		submitForm(form);
	}

	/*********************************************************/
	function VerifInscription(form) {
		if ( form.text1.value=='' ) {
			alertCss(inscriptionCodeIsEmpty,function(){form.text1.focus();});
			return(false);
		}
		submitForm(form);
	}

	/*********************************************************/
	function VerifOpptions2(form) {
		if ( form.text2.value=='' ) {
			alertCss(codeGroupIsEmpty,function(){
			form.text2.focus();
            });
			
			return(false);
		}
		if ( form.text3.value=='' ) {
			alertCss(codeSequenceIsEmpty,function(){
			form.text3.focus();
            });
			
			return(false);
		}
		if ( form.text7.value=='' ) {
			alertCss(uploadLimitIsEmpty,function(){
			form.text7.focus();
            });
			
			return(false);
		}
		if ( form.text8.value=='' ) {
			alertCss(numOfCharsIsEmpty,function(){
			form.text8.focus();
            });
			
			return(false);
		}
		submitForm(form);
	}

	/*********************************************************/
	function VerifAddDomaine(form) {
		if ( form.text1.value=='' ) {
			alertCss(hostIsEmpty,function(){
			form.text1.focus();
            });
			
			return(false);
		}
		submitForm(form);
	}

	/*********************************************************/
	function VerifAddMatiere(form) {
		if ( form.text1.value=='' ) {
			alertCss(domainNameIsEmpty,function(){
			form.text1.focus();
            });
			
			return(false);
		}
		submitForm(form);
	}

	/*********************************************************/
	function VerifModifMatiere(form) {
		if ( form.text1.value=='' ) {
			alertCss(domainNameIsEmpty,function(){
			form.text1.focus();
            });
			
			return(false);
		}
		submitForm(form);
	}

	/*********************************************************/
	function VerifInportCSVForm(form) {
		if ( form.text1.value=='' ) {
			alertCss(fileIsEmpty,function(){
			form.text1.focus();
            });
			
			return(false);
		}
		submitForm(form);
	}

	/*********************************************************/
	function ModifContenuForm(id,url) {
		contenu = document.getElementById(id).value;
		window.location.href=url+'&contenu='+escape(contenu);
	}

	/*********************************************************/
	function VerifAddSerie(form) {
		if ( form.text1.value=='' ) {
			alertCss(titleIsEmpty,function(){form.text1.focus();});
			return(false);
		}
		submitForm(form);
	}

	/*********************************************************/
	function VerifImportCSVSerie(form) {
		if ( form.text1.value=='' ) {
			alertCss(fileIsEmpty,function(){
			form.text1.focus();
            });
			
			return(false);
		}
		submitForm(form);
	}

		/*********************************************************/
	function VerifQuestion(form) {
		if ( form.text1.value=='' ) {
			alertCss(questionTitleIsEmpty,function(){
			form.text1.focus();
            });
			
			return(false);
		}
		if ( form.text2.value=='' ) {
			alertCss(correctTextIsEmpty,function(){
			form.text2.focus();
            });
			
			return(false);
		}
		if ( form.text3.value=='' ) {
			alertCss(incorrectTextIsEmpty,function(){
			form.text3.focus();
            });
			
			return(false);
		}
		if ( form.text5.value=='' ) {
			alertCss(questionPonderationIsEmpty,function(){
			form.text5.focus();
            });
			
			return(false);
		}
		if ( isNaN(form.text5.value) ) {
			alertCss(questionPonderationMustBeInteger,function(){
			form.text5.focus();
            });
			
			return(false);
		}
		submitForm(form);
	}

	function VerifNews(form) {
		if ( form.text1.value=='' ) {
			alertCss(newsIsEmpty,function(){
			form.text1.focus();
            });
			
			return(false);
		}
		submitForm(form);
	}

	/************************************************************************/

	//retourne si une periode est valide dateDeb<=dateFin
	//@parm dateDeb la date de debut de période format jj/mm/aa
	//@parm dateFin la date de fin de période format jj/mm/aa
	//un booleen a true si la période est valide
	function verifPeriode(dateDeb,dateFin){
		var jourDeb=(dateDeb.substring(0,2));
		var moisDeb=(dateDeb.substring(3,5));
		var anneeDeb=(dateDeb.substring(6,8));

		var jourFin=(dateFin.substring(0,2));
		var moisFin=(dateFin.substring(3,5));
		var anneeFin=(dateFin.substring(6,8));

		var periodeOk;
		if(anneeDeb==anneeFin) {
			if(moisDeb==moisFin) {
				if(jourDeb<=jourFin) {
					periodeOk=true;
				}else{
					periodeOk=false;
				}
			}else{
				if(moisDeb<moisFin) {
					periodeOk=true;
				}else{
					periodeOk=false;
				}
			}
		}else{
			if(anneeDeb<anneeFin) {
				periodeOk=true;
			}else{
				periodeOk=false;
			}
		}
		return periodeOk;
	}

	function StatistiquesStagiaire(form) {
		//verification de la presence de date
		if(form.text1.value=='' || form.text2.value=='') {
			alertCss(startAndEndDateAreEmpty,function(){form.text1.focus();});



			return(false);
		} else {

			//Vérification que la période est valide : dateDeb<=dateFin
			if(!verifPeriode(form.text1.value,form.text2.value)){
				alertCss(datePeriodInvalid);
				return false;
			}
		}
		//verification que l'on a pas coché des groupes et des societes
		//en même temps
		var groupe=false;
		var societe=false;
		if(form.elements["groupe[]"]) {
			if (typeof(form.elements["groupe[]"].length) != "undefined") {
			    groupe = form.elements["groupe[]"].selectedIndex>-1 ;
			} else {
				groupe = form.elements["groupe[]"].selected ;
			}
		}

		if(form.elements["societe[]"]) {
			if (typeof(form.elements["societe[]"].length) != "undefined") {
				boucleSociete:for(i=0;i<form.elements["societe[]"].length;i++){
					if(form.elements["societe[]"][i].selected){
						societe=true;
						break boucleSociete;
					}
				}
			} else {
				societe = form.elements["societe[]"].selected ;
			}
		}
		
		if(groupe==true && societe==true){
			alertCss(selectOnlyGroupOrSociety);
			return false;
		}
		if(!groupe && !societe){
			alertCss(selectAtLeastOneGroupOrSociety);
			return false;
		}
		return true ;
	}

	function VerifStatistiqueStagiaire(form) {
		if ( StatistiquesStagiaire(form) ) {
			submitForm(form);
			return(true);
		} else {
			return(false);
		}
	}

	function VerifStatistiqueStagiaireMultiple(form) {
		if(form.text1.value=='' || form.text2.value=='') {
			alertCss(startAndEndDateAreEmpty,function(){form.text1.focus();});
			return(false);
		} else {
			//Vérification que la période est valide : dateDeb<=dateFin
			if(!verifPeriode(form.text1.value,form.text2.value)){
				alertCss(datePeriodInvalid);
				return false;
			}
		}
		submitForm(form);
		return(true);
	}

	function ExportStatistiqueStagiaire	(form,url) {
		var groupe_societe=1;
		var select="";
		if ( StatistiquesStagiaire(form) ) {
			if(form.elements["groupe[]"]) {
				if (typeof(form.elements["groupe[]"].length) != "undefined") {
					for(i=0;i<form.elements["groupe[]"].length;i++){
						if(form.elements["groupe[]"][i].selected){
							select += form.elements["groupe[]"][i].value + ";";
						}
					}
				} else {
					if ( form.elements["groupe[]"].selected ) {
						select = form.elements["groupe[]"].value;
					}
				}
			}
			if(form.elements["societe[]"]) {
				if (typeof(form.elements["societe[]"].length) != "undefined") {
					for(i=0;i<form.elements["societe[]"].length;i++){
						if(form.elements["societe[]"][i].selected){
							select += form.elements["societe[]"][i].value + ";";
							groupe_societe = 0 ;
						}
					}
				} else {
					if ( form.elements["societe[]"].selected ) {
						select = form.elements["societe[]"].value;
						groupe_societe = 0 ;
					}
				}
			}
			thewin = window.open(url+"&groupe_societe="+groupe_societe+"&id="+select+"&datedebut="+form.text1.value+"&datefin="+form.text2.value,"tst","width=10,height=10");
		}
		return true ;
	}

	/************************************************/
	var statistiqueStagiaireSelectGroupe_selected = true ;
	function statistiqueStagiaireSelectGroupe_all() {
		if(document.formGroupe.elements["groupe[]"]) {
			if (typeof(document.formGroupe.elements["groupe[]"].length) != "undefined") {
				for(i=0;i<document.formGroupe.elements["groupe[]"].length;i++){
					document.formGroupe.elements["groupe[]"][i].selected = statistiqueStagiaireSelectGroupe_selected ;
				}
			} else {
				document.formSociete.elements["societe[]"].selected = statistiqueStagiaireSelectGroupe_selected ;
			}
			if ( statistiqueStagiaireSelectGroupe_selected ) {
				statistiqueStagiaireSelectSociete_selected = false ;
				statistiqueStagiaireSelectSociete_all();
			}
			statistiqueStagiaireSelectGroupe_selected = !statistiqueStagiaireSelectGroupe_selected ;
		}
		return(true);
	}

	function statistiqueStagiaireUnSelectGroupe_all() {
		statistiqueStagiaireSelectGroupe_selected = false ;
		statistiqueStagiaireSelectGroupe_all();
		return(true);
	}

	/************************************************/
	var statistiqueStagiaireSelectSociete_selected = true ;
	function statistiqueStagiaireSelectSociete_all() {
		if(document.formSociete.elements["societe[]"]) {
			if (typeof(document.formSociete.elements["societe[]"].length) != "undefined") {
				for(i=0;i<document.formSociete.elements["societe[]"].length;i++){
					document.formSociete.elements["societe[]"][i].selected = statistiqueStagiaireSelectSociete_selected ;
				}
			} else {
				document.formGroupe.elements["societe[]"].selected = statistiqueStagiaireSelectSociete_selected ;
			}
			if ( statistiqueStagiaireSelectSociete_selected ) {
				statistiqueStagiaireSelectGroupe_selected = false ;
				statistiqueStagiaireSelectGroupe_all();
			}
			statistiqueStagiaireSelectSociete_selected = !statistiqueStagiaireSelectSociete_selected ;
		}
		return(true);
	}
    
    /************************************************/
	function statistiqueStagiaireUnSelectSociete_all() {
		statistiqueStagiaireSelectSociete_selected = false ;
		statistiqueStagiaireSelectSociete_all();
		return(true);
	}
	
    /************************************************/
	function ChangeFormActivite(type) {
	   switch(type) {
	    case "0" : 
            alertCss('titre'); 
            break;
	    case "1" : 
            alertCss('Document asset'); 
            break;
	    case "2" : 
            alertCss('Ganesha chapitre lu'); 
            break;
	    case "3" : 
            alertCss('Activite terminee'); 
            break;
	    case "4" : 
            alertCss('AICC'); 
            break;
	    case "5" : 
            alertCss('SCORM 1.2'); 
            break;
	    case "6" : 
            alertCss('ACT_COLLAB'); 
            break;
	    default : 
            alertCss('default'); 
            break;
       }
    }
    
    /************************************************/
    function testerWebService(form) {
        loadingLayout.show();
        $.ajax({
            url : G_URL + "ganesha/admin/site.php?connexion=" + G_CNX + "&action=ajax_testWebService",
            type : "POST",
            data : {
                ws_url : form.ws_url.value, 
                login : form.ws_login.value, 
                password : form.ws_password.value
            },
            success : function(data){
                loadingLayout.hide();
                alertCss(data);
            }
        });
    }

    /************************************************/
    function changeDatePicker() {
        if ( jQuery.browser.msie ) {
            var deb = document.formGroupe.text1.value ;
            var fin = document.formGroupe.text2.value ;
            document.formSociete.text1.value = deb ;
            document.formSociete.text2.value = fin ;
            document.formMultiple.text1.value = deb;        
            document.formMultiple.text2.value = fin;
        }
    }
