var xmlhttp = false;
var mnmxmlhttp = Array ();
var mnmString = Array ();
var mnmPrevColor = Array ();
var responsestring = Array ();
var myxmlhttp = Array ();
var responseString = new String();
function XHRConnection() {

    var conn = false;
    var debug = false;
    var datas = new String();
    var areaId = new String();
    var response = new String();

    var xmlObj;
    var xmlLoad;
    try {
        conn = new XMLHttpRequest();        
    }
    catch (error) {
        if (debug) { alert('' + error); }
        try {
            conn = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (error) {
            if (debug) { alert('' + error); }
            try {
                conn = new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch (error) {
                if (debug) { alert('' + error); }
                conn = false;
            }
        }
    }
    this.setDebugOff = function() {
        debug = false;
    };
    this.setDebugOn = function() {
        debug = true;
    };
    this.resetData = function() {
        datas = new String();
        datas = '';
    };
    this.appendData = function(pfield, pvalue) {
        datas += (datas.length == 0) ? pfield+ "=" + escape(pvalue) : "&" + pfield + "=" + escape(pvalue);
    };
    this.setRefreshArea = function(id) {
        areaId = id;
    };
    this.createXMLObject = function() {
        try {
                 xmlDoc = document.implementation.createDocument("", "", null);
                xmlLoad = 'onload';
        }
        catch (error) {
            try {
                xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
                xmlLoad = 'onreadystatechange ';
            }
            catch (error) {
                if (debug) { alert('Erreur lors de la tentative de création de l\'objet XML\n\n'); }
                return false;
            }
        }
        return xmlDoc;
    }
    this.setXMLObject = function(obj) {
        if (obj == undefined) {
                if (debug) { alert('Paramètre manquant lors de l\'appel de la méthode setXMLObject'); }
                return false;
        }
        try {
            xmlObj = obj;
        }
        catch (error) {
                if (debug) { alert('Erreur lors de l\'affectation de l\'objet XML dans la méthode setXMLObject'); }
        }
    }
    this.loadXML = function(xml, callBack) {
        if (!conn) return false;
        // Chargement pour alimenter un objet DOM
        if (xmlObj && xml) {
            if (typeof callBack == "function") {
                if (xmlLoad == 'onload') {
                    xmlObj.onload = function() {
                        callBack(xmlObj);
                    }
                }
                else {
                    xmlObj.onreadystatechange = function() {
                        if (xmlObj.readyState == 4) callBack(xmlObj)
                    }
                }
            }
            xmlObj.load(xml);
            return;
        }        
    }
    this.sendAndLoad = function(Url, httpMode, callBack,param) {
        conn.onreadystatechange = function() {
            if (conn.readyState == 4 && conn.status == 200) {
                // Si une fonction de callBack a été définie
                if (typeof callBack == "function") {
                    callBack(conn,param);
                    return;
                }
                // Si une zone destinée à récupérer le résultat a été définie
                else if (areaId.length > 0){
                    try {
                        document.getElementById(areaId).innerHTML = conn.responseText;
                    }
                    catch(error) {
                        if (debug) { alert('Echec, ' + areaId + ' n\'est pas un objet valide'); }
                    }
                    return;
                }
            }
        };
        return this.load(Url, httpMode, true);
    };  
    this.sendAndWait = function(Url, httpMode){
        if(this.load(Url, httpMode, false)){
            response = conn.responseText;
            return true;
        }
        return false;
    }
    this.load = function (Url, httpMode, async) {
        httpMode = httpMode.toUpperCase();
        switch(httpMode) {
            case "GET":
                try {
                    Url = (datas.length > 0) ? Url + "?" + datas : Url;
                    conn.open("GET", Url, async);
                    conn.send(null);
                    if(!async){
                        this.response = conn.responseText;
                    }
                }
                catch(error) {
                    if (debug) { alert('Echec lors de la transaction avec ' + Url + ' via la méthode GET.'+error.message); }
                    return false;
                }
            break;
            case "POST":
                try {
                    conn.open("POST", Url, async); 
                    conn.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                    conn.send(datas);
                    if(!async){
                        this.response = conn.responseText;
                    }
                }
                catch(error) {
                    if (debug) { alert('Echec lors de la transaction avec ' + Url + ' via la méthode POST.'+error.description ); }
                    return false;
                }
            break;
            default :
                return false;
            break;
        }
        return true;
    }
    return this;
}
function vote (id, instpath)
{
	url = "http://tooristic.net/vote.php?id="+id;
   var XHR = new XHRConnection();
   if(XHR.load(url, "GET", false))
   {
   	changemnmvalues (id, XHR.response);
   }else
   {
	   url = "http://www.tooristic.net/vote.php?id="+id;
	   var XHR = new XHRConnection();
	   if(XHR.load(url, "GET", false))
	   {
		changemnmvalues (id, XHR.response);
	   }
   }
}

function vote2 (id, instpath,ncount,units)
{
	url = "http://tooristic.net/ajaxstarrater/rpc.php?j="+ncount+"&q="+id+"&t="+instpath+"&c="+units+"";
	//url="http://127.0.0.1/ajaxstarrater/rpc.php?j="+ncount+"&q="+id+"&t="+instpath+"&c="+units+"";
   var XHR = new XHRConnection();
   if(XHR.load(url, "GET", false))
   {
   	 if(XHR.response.indexOf('|') != -1) {
            update = XHR.response.split('|');
            changeText(update[0], update[1]);
        }
   }else
   {
	   //url="http://localhost/ajaxstarrater/rpc.php?j="+ncount+"&q="+id+"&t="+instpath+"&c="+units+"";
	   url = "http://www.tooristic.net/ajaxstarrater/rpc.php?j="+ncount+"&q="+id+"&t="+instpath+"&c="+units+"";
	   var XHR = new XHRConnection();
	   if(XHR.load(url, "GET", false))
	   {
		 if(XHR.response.indexOf('|') != -1) {
            update = XHR.response.split('|');
            changeText(update[0], update[1]);
        }
	   }
   }
}


function changemnmvalues (id, nb)
{
	target1 = document.getElementById ('voted-' + id);
	target2 = document.getElementById ('vote-' + id);
	alert("Votre vote a bien été pris en compte !");
	target1.innerHTML = ""+nb;
	return false;
};
function clk(id)
{
	(new Image()).src="/clic.php?id="+id;
	return true;
};
function CheckLen()
{
	fieldToCheck = 'description';
	fieldMaxLength = 512;
	
	for(var i=0;i < document.forms.length; i++)
	{
		for(j=0;j < document.forms[i].elements.length; j++)
		{
			if(document.forms[i].elements[j].name == fieldToCheck)
			{
				StrLen = document.forms[i].elements[j].value.length;
				if ( StrLen > fieldMaxLength )
				{
					document.forms[i].elements[j].value = document.forms[i].elements[j].value.substring(0,fieldMaxLength);
					CharsLeft = fieldMaxLength;
				} else {
					CharsLeft = StrLen;
				};
				var CharsLeft1 = fieldMaxLength - CharsLeft;
				
				// Updating reste field
				document.forms[i].reste.value = CharsLeft1;
			}
		}
	}

};

function confirm_broken( myid, myurl)
{
	confirmation = confirm( "!!! ATTENTION !!!\n\nNe cliquez sur OK que si ce site est inaccessible ou contient du spam :\n\n" + myurl + "\n\n" );
	if(confirmation)
	{
		(new Image()).src = "broken.php?id="+myid;
		alert( "Merci pour votre cooperation !\n\nLe site sera vérifié dans les plus brefs délais." );
	};
};

function ac_return(field, item)
{
        // on met en place l'expression régulière
        var regex = new RegExp('[0123456789]*-mini', 'i');
        // on l'applique au contenu
        var nomimage = regex.exec($(item).innerHTML);
        //on récupère l'id
        id = nomimage[0].replace('-mini', '');
        // et on l'affecte au champ caché
        $(field.name+'_id').value = id;
}


function multiClass(eltId) {
	arrLinkId = new Array('l_0','l_1','l_2');
	intNbLinkElt = new Number(arrLinkId.length);
	arrClassLink = new Array('current','ghost');
	strContent = new String();
	temp=0;
	for (i=0; i<intNbLinkElt; i++) {
		strContent = "menu"+arrLinkId[i];
		temp=i+1;
		if ( arrLinkId[i] == eltId ) {
			//document.getElementById(arrLinkId[i]).className = "onglet".temp;
			document.getElementById(strContent).className = 'on content site_ie6';
		} else {
			//document.getElementById(arrLinkId[i]).className = "onglet".temp;
			document.getElementById(strContent).className = 'off content site_ie6';
		}
	}	
}

function tS(){
    x=new Date();
    x.setTime(x.getTime());
    return x;
}
function lZ(x){
    return (x>9)?x:'0'+x;
}
function dT(){
    if(fr==0){
        fr=1;
        document.write(" " + '<span id="tP">'+eval(oT)+'</span>');
    }
    document.getElementById("tP").innerHTML =  eval(oT);
    setTimeout('dT()',1000);
}
var fr=0;
oT="tS().getHours()+':'+lZ(tS().getMinutes())+':'+lZ(tS().getSeconds())";


function MM_jumpMenu(targ,selObj,restore){ 
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function MM_swapImgRestore() { //v3.0
  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() { //v3.0
  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.01
  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 && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  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];}
}


