/* AUTEUR: Dje */
/* DATE DE CREATION: 13/11/2000 */
/* DATE DE MODIFICATION: 20/11/2007 */

//Declaration Interface CONSOLE
var Console = {}

Console.Ajax = {
    //
    getTransport: function() {
        try {return new ActiveXObject('Msxml2.XMLHTTP')} catch(e) {} // MSIE5
        try {return new ActiveXObject('Microsoft.XMLHTTP')} catch(e) {} // MSIE6
        try {return new XMLHttpRequest()} catch(e) {} // les autres
        return undefined // les navigateurs ne supportant pas XMLHttpRequest
    },
    Request : function (method,url,synchrone,options){
        //Recuperation des options
        var onComplete = options.onComplete;
        var onSuccess = options.onSuccess;
        var onFailure = options.onFailure;
        var postBody = options.postBody;
        var headers = options.headers;
        
        //Creation Objet
        var HTTPRequest = this.getTransport();  
        
        if(synchrone == true){
            HTTPRequest.onreadystatechange = function () {
                switch(HTTPRequest.readyState){
                    case 0 :
                      //console.log(HTTPRequest.readyState+"|Nothing");
                    break;
                    case 1 :
                      //console.log(HTTPRequest.readyState+"|AJAX Connect");
                    break;
                    case 2 :
                      //console.log(HTTPRequest.readyState+"|Requete envoyée attente de réponse");
                    break;
                    case 3 :
                      //console.log(HTTPRequest.readyState+"|Reception en cours");
                    break;
                    case 4 :
                      if(onComplete){onComplete();}
                      if((HTTPRequest.status == 200 || HTTPRequest.status == 302) && onSuccess){
                           onSuccess(HTTPRequest.responseText);
                      }else{
                         if(onFailure){onFailure();}
                      }
                    break;
                }
             }
        }
        
        //Onverture de connexion sur webservice
        HTTPRequest.open(method, url, synchrone); 
        if(method == "POST" && headers){HTTPRequest.setRequestHeader("Content-type", headers);}
              
        HTTPRequest.send(method == "POST"?postBody:'');
        
        if(synchrone == false){
            if(HTTPRequest.readyState == 4){
               if(onSuccess){onSuccess(HTTPRequest.responseText);}
            }else{
               if(onFailure){onFailure();}
            }         
        }
    } 
}



//Fonctin Générique
function getElementsByClass(searchClass, node, tag) { 
    var classElements = new Array(); 
    if ( node == null ) 
        node = document; 
    if ( tag == null ) 
        tag = '*'; 
    var els = node.getElementsByTagName(tag); 
    var elsLen = els.length; 
    var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)"); 
    for (i = 0, j = 0; i < elsLen; i++) { 
        if ( pattern.test(els[i].className) ) { 
            classElements[j] = els[i]; 
            j++; 
        } 
    } 
    return classElements;
} 

function OpenUrgence(){
    var leftPos = (screen.availWidth-500) / 2
        var topPos = (screen.availHeight-600) / 2
        popupWindow = window.open('http://www.maisoning.com/urgence.htm','urgence','width=370,height=250,scrollbars=no,resizable=no,titlebar=0,top=' + topPos + ',left=' + leftPos);
    
}                                        

function MM_swapImgRestore() {
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() {
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImage() {
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_controlShockwave(objStr,x,cmdName,frameNum) {
 		var obj=MM_findObj(objStr);
  		if (obj) eval('obj.'+cmdName+'('+((cmdName=='GotoFrame')?frameNum:'')+')');
}


function SendMessage(ind)
{
   if (!(layer = MM_findObj('palettesend'))) return;
   layer.style.display = 'block';
   //document.location.href = '#paletteenvoi';
}
/*
    fonction pour ordonné vers le haut
    l : objet représentant la liste
*/
function tjs_haut(l) {
    var indice=l.selectedIndex
    if (indice<0) {
        alert("Aucune ligne n'est sélectionnée");
    }
    if (indice>0) {    // Il reste une ligne au-dessus
        tjs_swap(l,indice,indice-1);
    }
}
/*
    fonction pour ordonné vers le bas
    l : objet représentant la liste
*/
function tjs_bas(l) {
    var indice=l.selectedIndex
    if (indice<0) {
        alert("Aucune ligne n'est sélectionnée");
    }
    if (indice<l.options.length-1) {    // Il reste une ligne en-dessous
        tjs_swap(l,indice,indice+1);
    }
}

function tjs_swap(l,i,j) {
    var valeur=l.options[i].value;
    var texte=l.options[i].text;
    l.options[i].value=l.options[j].value;
    l.options[i].text=l.options[j].text;
    l.options[j].value=valeur;
    l.options[j].text =texte;
    l.selectedIndex=j
    tjs_ordre(l.form);
}

function tjs_ordre(f) {
    var l=f.liste;
    var ordre="";
    for(var i=0;i<l.options.length;i++) {
        if (i>0) {ordre+="-";}
        ordre+=l.options[i].value;
    }
    f.ordre.value=ordre;
}


function heartBeat() {if(IE) { diffY = document.body.scrollTop; diffX = document.body.scrollLeft; }
            if(NS) { diffY = self.pageYOffset; diffX = self.pageXOffset; }
        if(diffY != lastScrollY) {percent = .1 * (diffY - lastScrollY);
                if(percent > 0) percent = Math.ceil(percent);
                else percent = Math.floor(percent);
                                if(IE) document.all.floater.style.pixelTop += percent;
                                if(NS) document.floater.top += percent;
                lastScrollY = lastScrollY + percent;}
        if(diffX != lastScrollX) {
                percent = .1 * (diffX - lastScrollX);
                if(percent > 0) percent = Math.ceil(percent);
                else percent = Math.floor(percent);
                if(IE) document.all.floater.style.pixelLeft += percent;
                if(NS) document.floater.left += percent;
                lastScrollX = lastScrollX + percent;
        }
}

function ShowTransientMessage() {
	window.status="Veuillez patienter pendant le transfert des données...";
//	DisplayMessageBox.innerText=sMessage;
	DisplayMessageBox.style.display='';
	DisplayMessageBox.style.pixelTop=(document.body.clientHeight/2)-(DisplayMessageBox.offsetHeight/2)+(document.body.scrollTop);
	DisplayMessageBox.style.pixelLeft=(document.body.clientWidth/2)-(DisplayMessageBox.offsetWidth/2)+(document.body.scrollLeft);
}

function HideTransientMessage() {
	window.status="";
	DisplayMessageBox.style.display='none';
}

function Balise_Double(_object,_balise)
{
    if (_object.selectionStart>-1)
    {
        if (_object.selectionEnd>_object.selectionStart)
        {
            var sDebut = _object.value.substr(0,_object.selectionStart);
            var sSel = _object.value.substr(_object.selectionStart,_object.selectionEnd-_object.selectionStart);
            var sFin = _object.value.substr(_object.selectionEnd,_object.value.length);
            _object.value = sDebut + "<" + _balise + ">" + sSel + "</" + _balise + ">" + sFin;
        return;
        }
    }
    else
    {
        var chaine = document.selection.createRange().text;
        _object.focus();
        var sel = document.selection.createRange();
        sel.text = "<" + _balise + ">" + chaine + "</" + _balise + ">";
        return;
    }
}

function Balise_Simple(_object,_balise)
{
    if (_object.selectionStart>-1)
    {
        if (_object.selectionEnd>_object.selectionStart)
        {
            var sDebut = _object.value.substr(0,_object.selectionStart);
            var sSel = _object.value.substr(_object.selectionStart,_object.selectionEnd-_object.selectionStart);
            var sFin = _object.value.substr(_object.selectionEnd,_object.value.length);
            _object.value = sDebut + sSel + "<" + _balise + ">" + sFin;
        return;
        }
    }
    else
    {
        var chaine = document.selection.createRange().text;
        _object.focus();
        var sel = document.selection.createRange();
        sel.text = chaine + "<" + _balise + ">";
        return;
    }
}

//Gestion ToolTip
function ietruebody(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function ddrivetip(thetext, thecolor, thewidth){
if (ns6||ie){
if (typeof thewidth!="undefined") tipobj.style.width=thewidth+"px"
if (typeof thecolor!="undefined" && thecolor!="") tipobj.style.backgroundColor=thecolor
tipobj.innerHTML=thetext
enabletip=true
return false
}
}

function positiontip(e){
if (enabletip){
var curX=(ns6)?e.pageX : event.clientX+ietruebody().scrollLeft;
var curY=(ns6)?e.pageY : event.clientY+ietruebody().scrollTop;
//Find out how close the mouse is to the corner of the window
var rightedge=ie&&!window.opera? ietruebody().clientWidth-event.clientX-offsetxpoint : window.innerWidth-e.clientX-offsetxpoint-20
var bottomedge=ie&&!window.opera? ietruebody().clientHeight-event.clientY-offsetypoint : window.innerHeight-e.clientY-offsetypoint-20

var leftedge=(offsetxpoint<0)? offsetxpoint*(-1) : -1000

//if the horizontal distance isn't enough to accomodate the width of the context menu
if (rightedge<tipobj.offsetWidth)
//move the horizontal position of the menu to the left by it's width
tipobj.style.left=ie? ietruebody().scrollLeft+event.clientX-tipobj.offsetWidth+"px" : window.pageXOffset+e.clientX-tipobj.offsetWidth+"px"
else if (curX<leftedge)
tipobj.style.left="5px"
else
//position the horizontal position of the menu where the mouse is positioned
tipobj.style.left=curX+offsetxpoint+"px"

//same concept with the vertical position
if (bottomedge<tipobj.offsetHeight)
tipobj.style.top=ie? ietruebody().scrollTop+event.clientY-tipobj.offsetHeight-offsetypoint+"px" : window.pageYOffset+e.clientY-tipobj.offsetHeight-offsetypoint+"px"
else
tipobj.style.top=curY+offsetypoint+"px"
tipobj.style.visibility="visible"
}
}

function hideddrivetip(){
if (ns6||ie){
enabletip=false
tipobj.style.visibility="hidden"
tipobj.style.left="-1000px"
tipobj.style.backgroundColor=''
tipobj.style.width=''
}  }

function lienMa(pLien)
{ window.location=decode(pLien);}

function lienMaBlank(pLien)     
{ window.open(decode(pLien));}

function decode(pLien)       
{    return pLien.substr(1).replace(/^:/,'http:||').replace(/\|/g,'/').replace('@','?');}