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

if(window.XMLHttpRequest)
{
	// Firefox   
	xmlhttp = new XMLHttpRequest();   
}
else if(window.ActiveXObject)
{
	// Internet Explorer   
	xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");   
}
else
{
	// XMLHttpRequest non supporté par le navigateur
	alert("Your browser doesn't support XMLHTTPRequest Objects");
}

function myXMLHttpRequest ()
{
	var xmlhttplocal;
	if (window.XMLHttpRequest)
	{
		xmlhttplocal = new XMLHttpRequest();

		// Évite un bug du navigateur Safari :
		if (xmlhttplocal.overrideMimeType)
		{
			xmlhttplocal.overrideMimeType("text/xml");
		}
	}
	else
	{
		if (window.ActiveXObject)
		{

			try 
			{
				// essaie de charger l'objet pour IE
				xmlhttplocal = new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch (e)
			{
				try
				{
					// essaie de charger l'objet pour une autre version IE
					xmlhttplocal = new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch (e)
				{
					window.alert("Your browser doesn't support XMLHTTPRequest Objects");
				} // try-catch
			} // try-catch

		}
	} // if-else
	return (xmlhttplocal);
};

function vote (id, instpath)
{
  	if (xmlhttp)
	{
		url = instpath + "/vote.php";
		strContent = new String();
		strContent = 'id=' + id;
		anonymous_vote = true;
		mnmxmlhttp[id] = myXMLHttpRequest ();
		
		if (mnmxmlhttp[id])
		{
			mnmxmlhttp[id].open ("POST", url, true);
			mnmxmlhttp[id].setRequestHeader ('Content-Type',
					   'application/x-www-form-urlencoded');

			mnmxmlhttp[id].send (strContent);
			errormatch = new RegExp ("^ERROR:");

			target1 = document.getElementById ('vote-' + id);

			mnmPrevColor[id] = target1.style.backgroundColor;
			
			mnmxmlhttp[id].onreadystatechange = function () 
			{
				if (mnmxmlhttp[id].readyState == 4) 
				{
					mnmString[id] = mnmxmlhttp[id].responseText;
					if (mnmString[id].match (errormatch)) 
					{
						mnmString[id] = mnmString[id].substring (6, mnmString[id].length);
						changemnmvalues (id, true);
					} else 
					{
						changemnmvalues (id, false);
					}
				}
			}
		}
	}
};

function changemnmvalues (id, error)
{
	split = new RegExp ("~--~");
	b = mnmString[id].split (split);
	//alert(id);
	target1 = document.getElementById ('voted-' + id);
	target2 = document.getElementById ('vote-' + id);
	if (error) {
		return false;
	}
	if (b.length <= 3) {
		target1.innerHTML = b[0];
		target1.style.backgroundColor = mnmPrevColor[id];
	}
	return false;
};


function clk(id)
{
	(new Image()).src="clic.php?id="+id;
	return true;
};

function CheckLen()
{
	fieldToCheck = 'description';
	fieldMaxLength = 255;
	
	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','l_3');
    intNbLinkElt = new Number(arrLinkId.length);
    arrClassLink = new Array('current','ghost');
    strContent = new String();
  
    for (i=0; i<intNbLinkElt; i++) {
        strContent = "menu"+arrLinkId[i];
        if ( arrLinkId[i] == eltId ) {
            document.getElementById(arrLinkId[i]).className = arrClassLink[0];
            document.getElementById(strContent).className = 'on content';
        } else {
            document.getElementById(arrLinkId[i]).className = arrClassLink[1];
            document.getElementById(strContent).className = 'off content';
        }
    }    
}