function getBrowser()
{
	var agt=navigator.userAgent.toLowerCase();
	var v_maj=parseInt(navigator.appVersion);
	var v_min=parseFloat(navigator.appVersion);
	is_nav=((agt.indexOf('mozilla')!=-1)&&(agt.indexOf('spoofer')==-1) && (agt.indexOf('compatible')==-1)&&(agt.indexOf('opera')==-1) &&	(agt.indexOf('webtv')==-1));
	is_nav3=(is_nav&&(v_maj==3));
	is_nav4up=(is_nav&&(v_maj>=4));
	is_ie=(agt.indexOf("msie")!=-1);
	is_ie5=(is_ie&&(v_maj==4)&&(agt.indexOf("msie 5.0")!=-1)); 
	is_ie6=(is_ie&&(v_maj==4)&&(agt.indexOf("msie 6.0")!=-1)&&(agt.indexOf("msie 7.0")==-1)); 
	is_ie7=(is_ie&&(v_maj==4)&&(agt.indexOf("msie 7.0")!=-1)); 
	is_win=((agt.indexOf("win")!=-1)||(agt.indexOf("16bit")!=-1));
	is_win95=((agt.indexOf("win95")!=-1)||(agt.indexOf("windows 95")!=-1));
	is_win98=((agt.indexOf("win98")!=-1)||(agt.indexOf("windows 98")!=-1));
	is_winnt=((agt.indexOf("winnt")!=-1)||(agt.indexOf("windows nt")!=-1));
	is_win32=(is_win95||is_winnt||is_win98||((v_maj>=4)&&(navigator.platform=="Win32"))||(agt.indexOf("win32")!=-1)||(agt.indexOf("32bit")!=-1));
	is_mac=(agt.indexOf("mac")!=-1);
	is_macPPC=(is_mac&&((agt.indexOf("ppc")!=-1)||(agt.indexOf("powerpc")!=-1)));
	is_chrome=(agt.indexOf("chrome")!=-1);
}
var ns4 = (document.layers);
var ie4 = (document.all && !document.getElementById);
var ie5 = (document.all && document.getElementById);
var ns6 = (!document.all && document.getElementById);
var firefox= (window.XMLHttpRequest);

getBrowser();

//Cette fonction permet de récupérer un Calque grace à son ID
function getIt(id){
	if (!isObject(id))
	{
		if(document.getElementById(id)==null)
		{
			if(document.getElementsByName(id).length>0)
			{
				return document.getElementsByName(id)[0];
			}
		}
		else
		{
			return document.getElementById(id);
		}
	}
	else
	{
		return id;
	}
}

function isObject(o) {return (o && "object" == typeof o) || isFunction(o);}

function isFunction(o) {return "function" == typeof o;}



function addListener(element, event, listener, bubble){
      if(element.addEventListener)
      {
            if(typeof(bubble) == "undefined") bubble = false;
            element.addEventListener(event, listener, bubble);
      }
      else if(this.attachEvent)
      {
            element.attachEvent("on" + event, listener);
      }
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function bascule_visibilite(baliseId){
    if (document.getElementById && document.getElementById(baliseId) != null)
    {
        if(document.getElementById(baliseId).style.visibility=="visible")
        {
            cacheDIV(baliseId);
        }
        else
        {
            afficheDIV(baliseId);
        }
    }
}

function afficheDIV(baliseId) 
{
    if (document.getElementById && document.getElementById(baliseId) != null) 
    {
        document.getElementById(baliseId).style.visibility='visible';
        document.getElementById(baliseId).style.display='block';
    }
}

function cacheDIV(baliseId)
{
    if (document.getElementById && document.getElementById(baliseId) != null) 
    {
        document.getElementById(baliseId).style.visibility='hidden';
        document.getElementById(baliseId).style.display='none';
    }
}


function clearChamp(champs) 
{
    var reg=new RegExp("[,]+", "g");
    var tableau=champs.split(reg);
    for (var i=0; i<tableau.length; i++) {
     document.getElementById(tableau[i]).value='';
    }
}


function donnepos(baliseId,type) 
{
     if(type == 'left') {
     var l = document.getElementById(baliseId).offsetLeft;
     //l = l.replace('px','');
     return l;
     }
     if(type == 'top') {
     var t = document.getElementById(baliseId).offsetTop;
     //t = t.replace('px','');
     return t; 
     }

}

function get_offset(elem, pos)
{
    var offset = 0;
    while(elem) {
        offset += elem[pos];
        elem = elem.offsetParent
    }
    return offset
}

function get_full_position(id,type)
{
    var d = document.getElementById(id);
    var offsets = new Object;
    offsets.top = get_offset(d, "offsetTop");
    offsets.left = get_offset(d, "offsetLeft");
    offsets.width = d.clientWidth;
    offsets.height = d.clientHeight;
    if(type == 'height') { 
    return  offsets.height;
    }
    if(type == 'width') {
    return  offsets.width; 
    }
     if(type == 'left') {  
      return  offsets.left; 
     }
     if(type == 'top') {  
      return  offsets.top; 
     }
     if(type == 'y') {
          y =  offsets.top - offsets.height;
          if(y>=0) {
            return y;
          } else { return 0; } 
     }
      if(type == 'x') {
          x =  offsets.left;
          if(x>=0) {
            return x;
          } else { return 0; } 
     }   
     
}

function taille(baliseId,type) 
{
     if(type == 'height') {
     var h = document.getElementById(baliseId).style.height;
     h = h.replace('px','');
     return h;
     }
     if(type == 'width') {  
     var w = document.getElementById(baliseId).style.width;
     w = w.replace('px','');
     return w; 
     }

}

function changeTexte(baliseId,texte) {
      if(texte) {  
        document.getElementById(baliseId).innerHTML = texte;
      }        
}

function donneValeur(baliseId) {

      var d = document.getElementById(baliseId);
        
      if(baliseId) {      
         if(d.type=="checkbox") {
            if(d.checked) { 
            
            if(d.value) { return d.value; } else { return ""; }
            
            } else { return "";}
         } else if(d.type=="radio") {
            if(d.value) { return d.value; } else { return ""; }
         } else {
           if(d.value) { return d.value; } else { return ""; } 
         }
      }        
}


function donneValeurRadio(baliseName,Form) { 
      var d = eval('document.'+Form+'.'+baliseName);
           
      for (var i=0; i<d.length;i++) {
         if (d[i].checked) {
            return d[i].value;
         }
      }       
}


function HexToR(h) {return parseInt((cutHex(h)).substring(0,2),16)}
function HexToG(h) {return parseInt((cutHex(h)).substring(2,4),16)}
function HexToB(h) {return parseInt((cutHex(h)).substring(4,6),16)}
function cutHex(h) {return (h.charAt(0)=="#") ? h.substring(1,7):h}

function fenetre(url,options) {
    var w=window.open(url,"windows",options);
    w.document.close();
    w.focus();
  }
  
function changebg(baliseId,bg) {
  document.getElementById(baliseId).style.backgroundImage = "url("+bg+")";
}

function changepropri(baliseId,propri,valeur) {
  eval('document.getElementById(\''+baliseId+'\').'+propri+'=\''+valeur+'\'');  
} 

function changevaleur(valeur,baliseId) {
  document.getElementById(baliseId).value = valeur;
}

function changevaleurHTML(valeur,baliseId) {
  document.getElementById(baliseId).innerHTML = valeur;
}

function selectListe(baliseId,valeur) {
    for (i=0; i < document.getElementById(baliseId).options.length ; i++) {
        if(document.getElementById(baliseId).options(i).value==valeur) {
            document.getElementById(baliseId).selectedIndex = i;
        }    
    }
}   

function minuscule(valeur,baliseId) {
    valeur = valeur.toLowerCase();
    changevaleur(valeur,baliseId);
}

function letternumber(e) {
    var key;
    var keychar;
    if (window.event)
    key = window.event.keyCode;
    else if (e)
    key = e.which;
    else
    return true;
    keychar = String.fromCharCode(key);
    keychar = keychar.toLowerCase();
    // control keys
    if ((key==null) || (key==0) || (key==8) || 
    (key==9) || (key==13) || (key==27) )
    return true;
    // alphas and numbers
    else if ((("abcdefghijklmnopqrstuvwxyz0123456789").indexOf(keychar) > -1)) {
    return true;
    }
    else
    return false;
}

function letternumbertiret(e) {
    var key;
    var keychar;
    if (window.event)
    key = window.event.keyCode;
    else if (e)
    key = e.which;
    else
    return true;
    keychar = String.fromCharCode(key);
    keychar = keychar.toLowerCase();
    // control keys
    if ((key==null) || (key==0) || (key==8) || 
    (key==9) || (key==13) || (key==27) )
    return true;
    // alphas and numbers
    else if ((("abcdefghijklmnopqrstuvwxyz0123456789-").indexOf(keychar) > -1)) {
    return true;
    }
    else
    return false;
}


function viderListe(maliste){
    while (document.getElementById(maliste).options.length>0)
    {
        document.getElementById(maliste).options[0] = null;
    }
}

function unOrselectListe(maliste,action){  
    for (i = 0; i < Number(document.getElementById(maliste).options.length); i++) 
    {
        document.getElementById(maliste).options[i].selected = action;
    }
}


function ajouteListe(maliste,label,valeur){
    nextIndice = document.getElementById(maliste).options.length;
    nouvel_element = new Option(label,valeur,true,true);
    document.getElementById(maliste).options[nextIndice] = nouvel_element;
}

function modifierLabelListe(maliste,valeur){
    Indice = document.getElementById(maliste).options.selectedIndex;
    document.getElementById(maliste).options[Indice].text = valeur;
}

function supprimerOptionlListe(maliste){
    Indice = document.getElementById(maliste).options.selectedIndex;
    for (i = Indice; i < Number(document.getElementById(maliste).options.length-1); i++){ 
      document.getElementById(maliste).options[i] = new Option((document.getElementById(maliste).options[ Number(i+1) ].text ),(document.getElementById(maliste).options[Number(i+1)].value) ); 
    } 
    document.getElementById(maliste).options.length--; 
}  
 


function remplirListe(montab,maliste,texte) {

   nextIndice = 0;
    if(texte)
    {
        nouvel_element = new Option(texte,'',true,true);
        document.getElementById(maliste).options[0] = nouvel_element;
        nextIndice = 1;
    }
 
    for (i=0;i<montab.length;i++)
    { 
        splitString = montab[i].split("|");
        value = splitString[0];
        label = splitString[1];
        selected = splitString[2];
        if(selected=="true") {
        nouvel_element = new Option(label,value,selected,selected);
        } else {
        nouvel_element = new Option(label,value,false,false)
        }
        document.getElementById(maliste).options[i+nextIndice] = nouvel_element;
    } 
}

function supp(url) {
    if (confirm("Etes vous sur de vouloir supprimer cet  élément.")) {
    location.href=url;
    }
}

function mail(url) {
    if (confirm("Etes vous sur de vouloir envoyer cet  élément.")) {
    location.href=url;
    }
}

var newWin = null;
function closeWin(){
    if (newWin != null)
    {
        if(!newWin.closed){newWin.close();}
    }
}

function popUp(strURL,strType,strWidth,strHeight) {
    closeWin();
    var strOptions="";
    if (strType=="console") strOptions="resizable,height="+strHeight+",width="+strWidth;
    if (strType=="fixed") strOptions="status,height="+strHeight+",width="+strWidth;
    if (strType=="tchat") strOptions="top=5000,left=5000,scrollbars,height="+strHeight+",width="+strWidth; 
    if (strType=="elastic") strOptions="toolbar,menubar,scrollbars,resizable,location,height="+strHeight+",width="+strWidth;
    newWin = window.open(strURL, 'newWin', strOptions);
    newWin.focus();
} 


function aumilieu(mondiv) {
    afficheDIV(mondiv);
    var d = document.getElementById(mondiv);
    var L = document.body.clientWidth;
    var H = document.body.clientHeight;
    var l=d.style.width;
    var h=d.style.height;
    splitString = l.split("px");
    l = splitString[0];
    splitString = h.split("px");
    h= splitString[0]; 
    M = L-l;
    P = H-h;
    d.style.left = M-(M/2)+"px";
    d.style.top = P-(P/2)+"px";
}

function goSubmit(formulaire) {
    document.getElementById(formulaire).submit(); 
}

function etireboxmain() {
    if(document.getElementById('boxmain')) {
    var H = document.body.clientHeight; 
       document.getElementById('boxmain').style.height = H-100+"px";
    }
}


function cocherdecocher(element,action) { 
    var tab = document.getElementsByName(element); 

    for (var i=0; i<tab.length; ++i) { 
        if(action == 'cocher') { 
            tab[i].checked = true; 
        } else { 
            tab[i].checked = false; 
        } 
    } 
}

function cocher(element,id) { 
    var tab = document.getElementsByName(element);
        
    for (var i=0; i<tab.length; ++i) { 
        if(document.getElementById(id).checked == true) { 
            tab[i].checked = true; 
        } else { 
            tab[i].checked = false; 
        } 
    } 
}

function CombienCaseCochee(element){
    cases = document.getElementsByName(element);
    if(cases.length==null) {
     nbrCasesCochees=cases.checked;
    } else {
        nbrCasesCochees = 0;
        for (i = 0; i < cases.length; i++) {
            if (cases[i].checked) {nbrCasesCochees++;}
        }
    }
    return nbrCasesCochees;
}

function verifCheckMax(element,nbMax,lediv) {

    document.getElementById(lediv).innerHTML = '';
    var label;
    label='';
    var objCheckBoxes = document.getElementsByName(element);
    var countCheckBoxes = objCheckBoxes.length;
    
    
  if(CombienCaseCochee(element)>=nbMax) {

            for(var i = 0; i < countCheckBoxes; i++) {
                if(objCheckBoxes[i].checked==false) {    
                objCheckBoxes[i].disabled = 'disabled';            
                }
            }
   } else {
            for(var i = 0; i < countCheckBoxes; i++) {   
                objCheckBoxes[i].disabled = '';          
            }
   }
   
    for(var i = 0; i < countCheckBoxes; i++) {
    if(objCheckBoxes[i].checked==true) {    
        splitString = objCheckBoxes[i].value.split("#");
        if(splitString[1]!='') {
            label +=  '<div class=\'texte-noir\' style=\'margin-top:8px;\'>'+splitString[1]+'</div>';
        }               
    }
   }
 
 if(label!='') {  
    document.getElementById(lediv).innerHTML = label;
 }
     
}

function retour_supprimer_photo(strNomChamp){
    cacheDIV("divImage_"+strNomChamp);
    if(document.getElementById(strNomChamp+"_old"))
    {
        document.getElementById(strNomChamp+"_old").value="";
    }
}

function alertconsole(message) {
    
    if(message) {
        if(document.getElementById('dialog')) {
            Aide(message);    
        } else {
            changeTexte('consolecontenu',message);
            afficheDIV('console');
        }    
    }
}



function IsNumeric(sText)
{
   var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;

   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
}

function clearAvaldation(e) {
    frmvalidator.clearOneValidations(e);
}

function positionDIV(origindiv,mondiv,decalageTop,decalageLeft) {
    
    var l = donnepos(origindiv,'left');
    var t = donnepos(origindiv,'top');
    
    
       
    Nom = navigator.appName;

    if (Nom == 'Microsoft Internet Explorer') {
      decalageTop = decalageTop + 80;
      decalageLeft = decalageLeft + 15;
      
    }
    
    document.getElementById(mondiv).style.top = t + decalageTop +"px";
    document.getElementById(mondiv).style.left = l + decalageLeft +"px";
           
}

function addClient(nom,prenom,id) {
    document.getElementById('ajaxaddclient').innerHTML = nom + " " +prenom;
    changevaleur(id,'id_client');
}

function chacheDIVtime(mondiv,temps) {
    setTimeout("cacheDIV('"+mondiv+"');",temps);
}


function insertHTML(html) {
    tinyMCE.execInstanceCommand("mceEditor","mceInsertContent",false,html);
}

function showHide(div,effect) {
    
    
 if($(div).css('display')=="none") {
    
    if(effect) {
        $(div).show("slide", {}, 1000);     
    } else {
        $(div).show();    
    } 
         
 } else {
    if(effect) {
        $(div).hide("slide", {}, 1000);     
    } else {
        $(div).hide();    
    }     
 }   
}

function TimeRedirect(temps,url) {
    setTimeout("Redirect('"+url+"');",temps);    
}

function Redirect(url) {
    location.href=url;
}

        
function getDate(strDate){      
        day = strDate.substring(0,2);
        month = strDate.substring(3,5);
        year = strDate.substring(6,10);
        d = new Date();
        d.setDate(day);
        d.setMonth(month);
        d.setFullYear(year); 
        return d;  
}
      
      //Retorune:
      //   0 si date_1=date_2
        //   1 si date_1>date_2
      //  -1 si date_1<date_2      
function compareDate(date_1, date_2){
        splitDate_1 = date_1.split("/");
        jour_1 = splitDate_1[0];
        mois_1 = splitDate_1[1];
        annee_1 = splitDate_1[2];    
    
        date_1 = new Date();
        date_1.setDate(jour_1);
        date_1.setMonth(mois_1-1);
        date_1.setFullYear(annee_1);
        

        splitDate_2 = date_2.split("/");
        jour_2 = splitDate_2[0];
        mois_2 = splitDate_2[1];
        annee_2 = splitDate_2[2];    
    
        date_2 = new Date();
        date_2.setDate(jour_2);
        date_2.setMonth(mois_2-1);
        date_2.setFullYear(annee_2); 
            
        diff = date_1.getTime()-date_2.getTime();
        return (diff==0?diff:diff/Math.abs(diff));
        
      //Retorune:
      //   0 si date_1=date_2
      //   1 si date_1>date_2
      //  -1 si date_1<date_2   
}

function changePosition(mondiv,divquibouge,decalageX,decalageY) {


  var pos = $("#"+mondiv+"").offset();   
  var width = $("#"+mondiv+"").width();
       
  //show the menu directly over the placeholder 
  $("#"+divquibouge+"").css( { "left": (pos.left+decalageX) + "px", "top":(pos.top+decalageY) + "px" } ); 
  $("#"+divquibouge+"").show(); 
                
}
