function decision(message, url)
{
	if(confirm(message)) location.href = url;
}
function switch_spoiler(div2)
{
	var divs = div2.getElementsByTagName('div');
	var div3 = divs[0];
	if (div3.style.visibility == 'visible')
		div3.style.visibility = 'hidden';
	else
		div3.style.visibility = 'visible';
	return true;
}

var isMozilla = (navigator.userAgent.toLowerCase().indexOf('gecko')!=-1) ? true : false;
var regexp = new RegExp("[\r]","gi");

function color(url) 
{
	var smiley = url + "[/color]";
	document.news.texte.value += smiley+" ";
	document.news.texte.focus();	
}
function storeCaret(selec)
{
	storeCaret(selec, null, null);
}
function storeCaret(selec, myForm, myTextarea)
{
	if (isMozilla) 
	{
		oField = document.forms['news'].elements['texte'];
		
		objectValue = oField.value;
		
		deb = oField.selectionStart;
		fin = oField.selectionEnd;
		
		objectValueDeb = objectValue.substring( 0 , oField.selectionStart );
		objectValueFin = objectValue.substring( oField.selectionEnd , oField.textLength );
		objectSelected = objectValue.substring( oField.selectionStart ,oField.selectionEnd );
		
		oField.value = objectValueDeb + "[" + selec + "]" + objectSelected + "[/" + selec + "]" + objectValueFin;
		oField.selectionStart = strlen(objectValueDeb);
		oField.selectionEnd = strlen(objectValueDeb + "[" + selec + "]" + objectSelected + "[/" + selec + "]");
		oField.focus();
		oField.setSelectionRange(
		objectValueDeb.length + selec.length + 2,
		objectValueDeb.length + selec.length + 2);
	}
	else
	{
		oField = document.forms['news'].elements['texte'];
		var str = document.selection.createRange().text;

		if (str.length>0)
		{
			var sel = document.selection.createRange();
			sel.text = "[" + selec + "]" + str + "[/" + selec + "]";
			sel.collapse();
			sel.select();
		}
		else
		{
			oField.focus(oField.caretPos);
			oField.focus(oField.value.length);
			oField.caretPos = document.selection.createRange().duplicate();
			
			var bidon = "%~%";
			var orig = oField.value;
			oField.caretPos.text = bidon;
			var i = oField.value.search(bidon);
			oField.value = orig.substr(0,i) + "[" + selec + "][/" + selec + "]" + orig.substr(i, oField.value.length);
			var r = 0;
			for(n = 0; n < i; n++)
			{if(regexp.test(oField.value.substr(n,2)) == true){r++;}};
			pos = i + 2 + selec.length - r;
			
			var r = oField.createTextRange();
			r.moveStart('character', pos);
			r.collapse();
			r.select();
		}
	}
}

function emoticon(text)
{
	var txtarea = document.news.texte;
	text = ' ' + text + ' ';
	if (txtarea.createTextRange && txtarea.caretPos)
	{
		var caretPos = txtarea.caretPos;
		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? caretPos.text + text + ' ' : caretPos.text + text;
		txtarea.focus();
	}
	else
	{
		txtarea.value  += text;
		txtarea.focus();
	}
}

function setVisible(myObjectID,show)
{
	if (show == true || show == false)
		document.getElementById(myObjectID).style.display = (show == true) ? "block" : "none";
	else 
		document.getElementById(myObjectID).style.display = show;
}
function executeFile(file, message, method, asynchronousFunction, asynchronousFunction_params)
{
    // création de l'objet AJAX
        if (window.XMLHttpRequest) // Firefox
            xhr_object = new XMLHttpRequest();
        else
        {
            if (window.ActiveXObject) // IE
                xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
            else
                return(false);
        }
    // détermine si on est en mode asynchrone
        asynchronous = (asynchronousFunction) ? true : false;
   
    // si synchrone, on lui donne la fonction qu'il devra executer une fois la requête terminée
        if (asynchronous)
        {
            xhr_object.onreadystatechange = function()
            {
                if(xhr_object.readyState == 4)
                {
                    // On controle le status (erreur 404, etc)
                    if(xhr_object.status == 200)
                    {
                        asynchronousFunction(xhr_object.responseText, asynchronousFunction_params);
                    }
                    else
                        alert("Erreur AJAX\nError code : " + xhr_object.status);
                }
            }
        }

    // envoi selon la méthode choisie
        switch(method)
        {
            case "GET": // envoi par GET
                xhr_object.open("GET", file + "?" + message, asynchronous);
                xhr_object.send(null);
                break;
            case "POST": // envoi par POST
                xhr_object.open("POST", file, asynchronous);
                xhr_object.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;");
                xhr_object.send(message);
                break;
            default: // simplement éxecuter le fichier
                xhr_object.open("GET", file, asynchronous);
                xhr_object.send(null);
                break;
        }

    // si on est  en mode synchrone
        if (asynchronous == false)
            return (xhr_object.readyState == 4) ? xhr_object.responseText : false;
}


function detectFlash()
{
if( navigator.mimeTypes.length > 0 )
{
return navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin != null;
}
else if( window.ActiveXObject )
{
try
{

new ActiveXObject( "ShockwaveFlash.ShockwaveFlash" );

return true;

}

catch( oError )

{

return false;

}

}

else

{

return false;

}

}
