// Images swaps
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) 
{ //v3.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); 
    
    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];
        }
    }
}

// Cacher / Montrer un élément
function ElementVisibility(elm)
{
    // IE 5+ and NS 6...
    if(typeof elm=='object')
    {
        elm.style.display = display; 
    }
    else
    {
        if (document.getElementById(elm).style.display == 'none')
            display = 'block';
        else
            display = 'none';
        document.getElementById(elm).style.display = display;
    }
}

function HideElement (elm)
{
    document.getElementById(elm).style.display = 'none';
}

function ShowElement (elm)
{
    document.getElementById(elm).style.display = 'block';
}

// Ouvrir un eimage dans une popup
function openImage(Image_Enc, Name_Enc, X, Y)
{
    lien = "/show-image.html?P=1&I=" + Image_Enc + "&T=" + Name_Enc;
    Vote = window.open (lien, "Image" + Math.floor(Math.random()*1000), "toolbar=0,location=0,top=0,left=0,status=0,menubar=0,scrollbars=0,resizable=0,width=" + X + ",height=" + Y);
}

// XmlHTTPRequest
function GetXmlHttpObject()
{
    var objXMLHttp = null;
    if (window.XMLHttpRequest)
    {
        objXMLHttp = new XMLHttpRequest();
    }
    else if (window.ActiveXObject)
    {
        objXMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    return objXMLHttp;
}

// Insertion balise dans textarea :
function insertTag(balise, formulaire, zone_texte) {
	// initialisation :
	var prompt_msg =''; 
	var balise_ouvrante = '';
	var balise_fermante = '';
	
	// si prompt_msg reste vide, pas de prompt !
	switch (balise) {
		case 'video':
			// balise video
			var balise_ouvrante = '[video]';
			var balise_fermante = '[/video]';
			prompt_msg = 'URL de la video:\n(Hébergeurs supportés : youtube, dailymotion, vimeo)';
			break;
		case 'gras':
			var balise_ouvrante = '<b>';
			var balise_fermante = '</b>';
			prompt_msg = '';
			break;
		case 'souligne':
			var balise_ouvrante = '<u>';
			var balise_fermante = '</u>';
			prompt_msg = '';
			break;
		case 'italique':
			var balise_ouvrante = '<i>';
			var balise_fermante = '</i>';
			prompt_msg = '';
			break;
		case 'quote':
			var balise_ouvrante = '[quote=]';
			var balise_fermante = '[/quote]';
			prompt_msg = '';
			break;
		case 'image':
			var balise_ouvrante = '<img src=\'';
			var balise_fermante = '\'/>';
			prompt_msg = 'URL de l\'image :';
			break;
		case 'lien':
			var balise_ouvrante = '<a href=\'';
			var balise_fermante = '\'>Nom du lien</a>';
			prompt_msg = 'URL du lien :';
			break;				
		default: 
			exit;
			break;
	}
	
	var input = document.forms[formulaire].elements[zone_texte];
	input.focus();
	/* pour Internet Explorer*/
	if(typeof document.selection != 'undefined') {
		/* Insertion du code de formatage */
		var range = document.selection.createRange();
		var insText = range.text;
		if (insText.length == 0 && prompt_msg.length != 0) {
			insText = prompt (prompt_msg,'');
			/* Pas de valeur par défaut*/
		}
		if (insText == null) {
			return;
		}
		else {
			range.text = balise_ouvrante + insText + balise_fermante;
			/* Ajustement de la position du curseur */
			range = document.selection.createRange();
			if (insText.length == 0) {
				range.move('character', -balise_fermante.length);
			} else {
				range.moveStart('character', balise_ouvrante.length + insText.length + balise_fermante.length);
			}
			range.select();
		}
	}
	/* pour navigateurs plus récents basés sur Gecko*/
	else if(typeof input.selectionStart != 'undefined')
	{
		/* Insertion du code de formatage */
		var start = input.selectionStart;
		var end = input.selectionEnd;
		var insText = input.value.substring(start, end);
		if (insText.length ==0 && prompt_msg.length != 0) {
			insText = prompt (prompt_msg,'');
		}
		if (insText == null) {
			return;
		}
		else {
		input.value = input.value.substr(0, start) + balise_ouvrante + insText + balise_fermante + input.value.substr(end);
			/* Ajustement de la position du curseur */
			var pos;
			if (insText.length == 0) {
				pos = start + balise_ouvrante.length;
			} else {
				pos = start + balise_ouvrante.length + insText.length + balise_fermante.length;
			}
			input.selectionStart = pos;
			input.selectionEnd = pos;
		}
	}
	/* pour les autres navigateurs */
	else
	{
		/* requête de la position d'insertion */
		var pos;
		var re = new RegExp('^[0-9]{0,3}$');
		while(!re.test(pos)) {
			pos = prompt("Insertion à la position (0.." + input.value.length + "):", "0");
		}
		if(pos > input.value.length) {
			pos = input.value.length;
		}
		/* Insertion du code de formatage */
		var insText = prompt("Veuillez entrer le texte à formater:");
		input.value = input.value.substr(0, pos) + balise_ouvrante + insText + balise_fermante + input.value.substr(pos);
	}
}

// Limite le nombre de caractères
// Adapté de http://www.mediacollege.com/internet/javascript/form/limit-characters.html
function limiteTexte(limitField, limitSpan, limitNum) {
	if (limitField.value.length > limitNum) {
		limitField.value = limitField.value.substring(0, limitNum);
	}
	else {
		//limitCount.value = limitNum - limitField.value.length;
		//alert(limitNum - limitField.value.length);
		document.getElementById(limitSpan).innerHTML = (limitNum - limitField.value.length);
	}
}

function decision(message, url){
if(confirm(message)) location.href = url;
}

