var ratingPanel="";
var flagPanel="";
var recoPanel="";
var partagePanel="";
var eclassPanel="";
var CourInfoArray=null;
var userOnSiteArray = new Array();
var filterUserOnSiteArray = new Array();
var profiletypeuser=0;

var ratinginfo=new Array();
var flaginfo=new Array();
var recoinfo=new Array();
var res=0;
function ProfileTypeUser(profiletype){
	profiletypeuser=profiletype;
	
}
// function principal d'initialisation des scripts
function initNeoScripts(_hearbeat){
	
    //refreshAlertsPanel();
   if(sessionid!=0){
    setHeartBeat(_hearbeat);
    setInterval('blinkIt()', 500);
    }
    //initsnow();
}

// function principal d'initialisation des scripts
function launchCheckBuzz(_hearbeat,url){
	
    setHeartBeat4Buzz(_hearbeat,url);
    setInterval('blinkIt()', 500);

    //initsnow();
}


// fonction ajax pour le heartbeat
function setHeartBeat4Buzz(_hearbeatscript,url){
	
    var frequence = 5000;
    var data = "url="+url;
    
	getDataValueJSON(_hearbeatscript,data, repSetHearBeat4Buzz);	
	
	window.setTimeout("setHeartBeat4Buzz('" + _hearbeatscript + "','"+url+"');", frequence);


}

function repSetHearBeat4Buzz(jsonRep){
	

	
	var res = json(jsonRep);
	var result = "";
	
//	var nbbuzz = res
	for(var i = 0;i<res.length;i++){
		
		var fromname = g1J(res[i],'nickname');
		var room = g1J(res[i],'room');
		var url = '<a href="chat.php?room='+room+'" alt="'+MLJS("txtjoinchat")+'" title="'+MLJS("txtjoinchat")+'">'+MLJS("txtalertchat",fromname)+'</a><br />';
		result +=url;


		
	}
	var dom = document.getElementById('chatBuzzDiv');
	var domContain = document.getElementById('containBuzzChatDiv');

	if(nbBuzz != res.length){
//		alert(res);
//		document.getElementById("sound").play();
		dom.innerHTML =result; 	
		nbBuzz = res.length;
		

		var movedown = new YAHOO.util.Anim("containBuzzChatDiv", { height: {from: 150, to:90} }, 1,YAHOO.util.Easing.bounceOut);
		    
	    var moveup = new YAHOO.util.Anim("containBuzzChatDiv", { height : { to:150}	}, 2, YAHOO.util.Easing.smoothOut);
	    domContain.style.display='block';
		moveup.animate();	
	    moveup.onComplete.subscribe(function()  {movedown.animate(); });
	    
	    document.getElementById('chatBuzzOpenCloseDiv').style.display='block';		 
   		document.getElementById("chatBuzzOpenCloseDiv").style.cursor="pointer";	    
	    if (count == 0) 
	    	document.getElementById('chatBuzzOpenCloseDiv').innerHTML = "close";	    	


		    var closedown = new YAHOO.util.Anim("containBuzzChatDiv", { height: {to:24} }, 1,YAHOO.util.Easing.bounceOut);		
			var openup = new YAHOO.util.Anim("containBuzzChatDiv", { height: {to:90} }, 1,YAHOO.util.Easing.bounceOut);	    
	    	YAHOO.util.Event.on("chatBuzzOpenCloseDiv", 'click', function() {
	    		
	    		var closeDOM = document.getElementById('chatBuzzOpenCloseDiv');	    	
	    		if(count == 0){
	    			closedown.animate();  
					count = count+1;
	    			closeDOM.innerHTML = "open";
	    		}
	    		else{

	    			openup.animate();
				    count = 0;
	    			closeDOM.innerHTML = "close";
	    		}
			});
			

			
	}
	if(result == "")
		{
			 domContain.style.display='none';
		}
	

}
	
function addlinkUrl(nbTotalResult,nbLignResultByPage,nbLinkByPage,strFctForLink,unArray,page){				

	var res = "";
	if( ( nbTotalResult - nbLignResultByPage )>0){
	
			strFctForLink="javascript:"+strFctForLink+"("; 
			if(unArray.length>0){
				for(var i=0;i<unArray.length;i++){
					strFctForLink +="'"+unArray[i]+"'";
					if(i<unArray.length)
						strFctForLink +=",";
					
				}
			}
			
		
			var linkDiv="";
			var endNumberLinkInPage = 0;
			var firstNumberLinkInPage = 0;
			if(page==0)
				page=1;
			
			var nbLink = Math.ceil(nbTotalResult/nbLignResultByPage);
			var nbIntervalleLink = ( Math.ceil(nbLink/nbLinkByPage)+1 );
		
			for (var i = 0; i < nbIntervalleLink; i++) {		
				firstNumberLinkInPage = parseInt( (i*nbLinkByPage) + 1 );
				endNumberLinkInPage = parseInt((i*nbLinkByPage)) + parseInt(nbLinkByPage)  ;
			if ( ( page>=firstNumberLinkInPage ) && ( page <=endNumberLinkInPage)  ){

					if(firstNumberLinkInPage != 1){
						
						linkDiv = document.getElementById('templateLinkArray').innerHTML;
					
						linkPrecedent = firstNumberLinkInPage-nbLinkByPage;
						if(nbLinkByPage == 1)
							linkDiv = replaceCodeByString(linkDiv,"NumberPage","xxx<<<");				
						else
							linkDiv = replaceCodeByString(linkDiv,"NumberPage","<<<");
						linkDiv = replaceCodeByString(linkDiv,"GotoPageUrl",strFctForLink+linkPrecedent+")");
						res +=linkDiv;
					}
					
				
				for(numPage=firstNumberLinkInPage;(numPage<=endNumberLinkInPage)&&(numPage<=nbLink);numPage++){
		
					if(numPage==page){
									
							linkDiv = document.getElementById('templateLinkInactive').innerHTML;		
						
							if(nbLinkByPage==1){
								if(numPage != 1 && nbLink != endNumberLinkInPage)
									linkDiv = replaceCodeByString(linkDiv,"NumberPageInactive","|");
								else if(numPage==1 || numPage == endNumberLinkInPage)
									linkDiv = replaceCodeByString(linkDiv,"NumberPageInactive","");
							}
							else
								linkDiv = replaceCodeByString(linkDiv,"NumberPageInactive",numPage);
							


							res +=linkDiv;
							
						
					}
		
					else{
						linkDiv = document.getElementById('templateLinkArray').innerHTML;
						linkDiv = replaceCodeByString(linkDiv,"NumberPage",numPage);
						linkDiv = replaceCodeByString(linkDiv,"GotoPageUrl",strFctForLink+numPage+")");				
						res +=linkDiv;
					}
		
				}
				
				if(i!=(nbIntervalleLink-1) ){
					
					pageSuivanteNum=endNumberLinkInPage+1;
		
					if(pageSuivanteNum<=nbLink){
						
						linkDiv = document.getElementById('templateLinkArray').innerHTML;	
						if(nbLinkByPage == 1)		
							linkDiv = replaceCodeByString(linkDiv,"NumberPage","xxx>>>");
						else
							linkDiv = replaceCodeByString(linkDiv,"NumberPage",">>>");
						linkDiv = replaceCodeByString(linkDiv,"GotoPageUrl",strFctForLink+pageSuivanteNum+")");				
						res +=linkDiv;
		
					}
		
				}
			}
					
		}
	
	}
	
	if(nbLinkByPage == 1){
		res = replaceCodeByString(res,"<<<","back");
		res = replaceCodeByString(res,">>>","next");		
	}

	return res;

}

// fait clignoter les tags blink 
function blinkIt(){
    if (!document.all) 
        return;
    else {
        for (i = 0; i < document.all.tags("blink").length; i++) {
            s = document.all.tags("blink")[i];
            s.style.visibility = (s.style.visibility == "visible") ? "hidden" : "visible";
        }
    }
}





function SelectAllNone(all_checkbox){
    var cb = document.getElementsByTagName("input");
    for (var i = 0; i < cb.length; ++i) {
        if (cb[i].id != null) {
            if ((cb[i].id.indexOf("check_") >= 0) && (cb[i].id != all_checkbox.id)) 
                cb[i].checked = all_checkbox.checked;
        }
    }
}

function msgattention(){
	if(profiletypeuser==2)
		document.location.href="verification.php";
	else
		showalertpanel(MLJS("txtattention"),MLJS("txtmsgattention"),'',3,1,'');
	}
function msgattention2(){
	showalertpanel(MLJS("txtattention"),MLJS("txtmsgattention2"),'',3,1,'');

}
function msgattention5(){
	showalertpanel(MLJS("txtattention"),MLJS("txtmsgattention4"),'',3,1,'');
}
function msgattention3(iduser,type){
		var tabarray=new Array();
			tabarray.push(iduser);
			tabarray.push(type);
		showalertpanel(MLJS("txtattention"),MLJS("txtmsgattention3"),tabarray,3,1,reppermisioninvite);

}
function msgattention4(lessonid,iduser,idcontact){
	
		var tabarray=new Array();
			tabarray.push(iduser);
			tabarray.push(lessonid);
			tabarray.push(idcontact);
		showalertpanel(MLJS("txtattention"),MLJS("txtmsgattention5"),tabarray,3,2,repmsgattention4);

}
function repmsgattention4(tabarray){
	var iduser=tabarray[0];
	var lessonid=tabarray[1];
	var idcontact=tabarray[2];
	
	addContact(idcontact,iduser,0);
	thedata="lessonid="+encodeURIComponent(lessonid);
	postDataValue("sscripts/insparticipant.php", document.getElementById(''), thedata);
 	document.location='active_lessons.php';
}

function reppermisioninvite(tabarray){
	var iduser=tabarray[0];
	var type=tabarray[1];
	if(type==1)
	document.location.href='invitation.php?user='+iduser+'&idcodemessage=2';
	else
	document.location.href='inbox.php?modeMail=3&to='+iduser;
}
function showprompt(tabarray,fct,title){
	showpromtpanel(2,title,MLJS("txtmotdepasse"),tabarray,2,fct);
}


function checkHourlyRate(divhourlyrate){

    valuehorlyrate = divhourlyrate.value;
    valuehorlyrate = treatComma(valuehorlyrate);
    var checkOK = true;
    var message = "";
    if (valuehorlyrate.length == 0) {
        checkOK = false;
        message += MLJS("txttarifpasrempli");//YVONNE
        divhourlyrate.style.backgroundColor = "yellow";
    }
    else {
        if (Num(valuehorlyrate) == false) {
        
        
            message += MLJS("txttarifnumerique");//YVONNE
            divhourlyrate.style.backgroundColor = "red";
            valuehorlyrate = '';
            checkOK = false;
			
        }
    
    }
    if (checkOK == false) {
    
		showalertpanel(MLJS("txtattention"),message,'',3,1,'');
    }
    divhourlyrate.value = valuehorlyrate;
	
    return checkOK;
}


function Num(strString){

    var strValidChars = "0123456789.";
    var strChar;
    var nombredepoint = 0;
    var blnResult = true;
    for (i = 0; i < strString.length && blnResult == true; i++) {
        strChar = strString.charAt(i);
        if (strChar == '.') 
            nombredepoint += 1;
        if ((strValidChars.indexOf(strChar) == -1) || (nombredepoint > 1)) 
            blnResult = false;
    }
    return blnResult;
}



function treatComma(strString){

    var s2 = "";
    var strChar = "";
    
    for (i = 0; i < strString.length; i++) {
    
        strChar = strString.charAt(i);
        
        if (strChar == ',') {
            s2 += '.';
        }
        else 
            s2 += strChar;
    }
    
    return s2;
}


function onKeyBoardActivity(){

    // récuppérer le tps de la 1ère saisie
    lastActivityTime = new Date();
    isRequestOn = false;
    
    
}
function onKeyBoardActivity2(){

    // récuppérer le tps de la 1ère saisie de l'enfant dans le cas où inscription enfant+parent
    lastActivityTime2 = new Date();
    isRequestOn2 = false;
    
    
}

function showdetailcours(id){
	var frmDetailCoursDiv = document.getElementById('frmDetailCoursDiv_'+id);
		frmDetailCoursDiv.style.display="block";
}

function replaceCodeByString(strIn,code,str){
	var s = "xxx"+code;
	
	return strIn.replace(new RegExp(s, "g"),str);
}

function repS(strIn,code,str){
	return replaceCodeByString(strIn,code,str);
}

function replaceCodeByString2(strIn,code,str){
	var s = code;
	
	return strIn.replace(new RegExp(s, "g"),str);
}

function repS2(strIn,code,str){
	return replaceCodeByString2(strIn,code,str);
}

function closeFrm(divName){
	
	var div = document.getElementById(divName);

	if(div.style.display != "none"){
		div.style.display ="none";

	}
	else{
		div.style.display ="block";
		
	}

}

function closeFrm_update(divName,mode){

	
	var div = document.getElementById(divName);

	if(mode == 0){

		if(div.style.display != "none"){
			div.style.display ="none";
	
		}
		else{
			div.style.display ="block";
			
		}

	}
	else if(mode == 1){
		div.style.display ="none";
	}
	else if(mode == 2)
		div.style.display ="block";		
		
		
}

function isTheSame(string1, string2) {
	
	return new RegExp(string1).test(string2) && new RegExp(string2).test(string1)
	
}


function addUserOnSite(userid, nickname, mail, groupname, groupid,isokinvite){
	if(userOnSiteArray.length!=0){
		if(!checkIsUserOnSite(userid)){
		    userOnSiteArray.push({
		        userid: userid,
		        nickname: nickname,
		        email: mail,
		        groupname: groupname,
		        groupid: groupid,
				isokinvite:isokinvite
		    });			
		}	
	}
	else
	    userOnSiteArray.push({
	        userid: userid,
	        nickname: nickname,
	        email: mail,
	        groupname: groupname,
	        groupid: groupid,
			isokinvite:isokinvite
	    });
    
}

function addFilterUserOnSite(userid, nickname, mail, groupname, groupid){

    filterUserOnSiteArray.push({
        userid: userid,
        nickname: nickname,
        email: mail,
        groupname: groupname,
        groupid: groupid
    
    });
    
}

function checkIsUserOnSite(id){

    var ok = false;
    for (var i = 0; i < userOnSiteArray.length; i++) {
        if (userOnSiteArray[i].userid == id) {
            ok = true;
            break;
        }
    }
    return ok;
}
function removeElementById(userid, unArray){

    for (var i = 0; i < unArray.length; i++) {
    
        if (unArray[i].userid == userid) {
        
            unArray.splice(i, 1);
            
            break;
            
        }
        
    }
}
function HideDiv(namepref){
	thedata="namepref="+namepref;
	postDataValueAndRefresh("sscripts/userpref.php", document.getElementById(''), thedata);
 			
}
function MLJS(){
	
	var txt=document.getElementById("MLJS_"+arguments[0]).innerHTML;
	if(txt!=""){
		for(var i = 1; i <arguments.length; i++) {
			var reg=new RegExp("[[](arg"+i+"])", "gi");
			txt=txt.replace(reg,arguments[i]);
		}
	}
return txt;
}
function addflaginfo(tutoid,name){
	 flaginfo.push({
        flagid: tutoid,
        name: name
    })
}
function addrecoinfo(recoid,name){
	
	recoinfo.push({
        recoid: recoid,
        name: name
    })

}
function addratinginfo(ratingid,name,type){
	ratinginfo.push({
        ratingid: ratingid,
        name: name,
		type:type
    })
}
function initYUI(webuserid){
	YUI({combine: true, timeout: 0}).use('dd-constrain', 'dd-proxy', 'dd-drop','json','cookie', function(Y) {
    onReady:
       YuiIndex('',webuserid,2);
});
}

function updateMenuDeroulant(val,menuid){
	
	if(val > 0 ){
		
		var menuDOM = document.getElementById(menuid);
		
		for(var i= 0;i < menuDOM.length;i++){

			if(menuDOM[i].value == val){
	
				menuDOM[i].selected = true;
				
			}	
				
		}
		
	}
}

// returns true if email is valid
function isValidEmail(str){
	var maReg = new RegExp ("^([a-zA-Z0-9]+(([\.\\-]?[a-zA-Z0-9\_]+)+)?)\@(([a-zA-Z0-9]+[\.\\-\_])+[a-zA-Z]{2,4})$");
	if ( (str).search( maReg ) == -1 )
		return false;
	else 
		return true;    //return (str.lastIndexOf(".") > 2) && (str.indexOf("@") > 0) && (str.lastIndexOf(".") > (str.indexOf("@") + 1)) && (str.indexOf("@") == str.lastIndexOf("@"));
}


function updateCheckBox(val,checkboxid){
		
		var checkBoxDOM = document.getElementById(checkboxid);
		
		if(val == 1)
			checkBoxDOM.checked = true;
		else
			checkBoxDOM.checked = false;
}

function classNameMenu(classlink,namedivresult){
	var classlinkretour='';
	if(classlink=="linkActiveFiche"){
		classlink="linkInactiveFiche";
		document.getElementById(namedivresult).style.display='none';
	}
	else if(classlink=="linkInactiveFiche"){
		classlink="linkActiveFiche";
		document.getElementById(namedivresult).style.display='block';
	}
	classlinkretour=classlink;
	return classlinkretour;
}

//function for change status in left bar
function userChangeStatus(id, idstatus){
    var thedata="";
	thedata+="id="+encodeURIComponent(id);
	thedata+="&idstatus="+encodeURIComponent(idstatus);			

	getDataValueJSON("sscripts/update_status.php", thedata, repuserChangeStatus);
}

function repuserChangeStatus(jsonRep){
	
	var array=json(jsonRep);

	var statusdiv = document.getElementById('statusdiv').style.display = 'none';
}