function reload() {
	document.location=document.location;
}

function openwin(url) {
        window.open(url,'_blank','scrollbars=yes,width=400,height=400,left=100,top=100');
}

function hide(s) {
     if (document.all) {
       if (document.all[s]) {
         document.all[s].visibility="invisible";
         eval("document.all."+s+".style.display=\"none\"");
       }
     } else {
       if (document.getElementById(s)) {
         document.getElementById(s).visibility="invisible";
         document.getElementById(s).style.display="none";
       }
     }
}


function show(s,shm) {
   if (!shm) shm="block";
   if (document.all) {
     if (document.all[s]) {
       document.all[s].visibility="visible";
       eval("document.all."+s+".style.display=\""+shm+"\"");
     }
   } else {
     if (document.getElementById(s)) {
       document.getElementById(s).visibility="visible";
       document.getElementById(s).style.display=shm;
     }
   }
}


function swap(s,shm) {
   if (document.all) {
     if (document.all[s]) {
       if (document.all[s].visibility=="visible") {
       	 hide(s);
       } else {
         show(s,shm);
       }
     }
   } else {
     if (document.getElementById(s)) {
       if (document.getElementById(s).visibility=="visible") {
       	 hide(s);
       } else {
         show(s,shm);
       }
     }
   }
}


function onglet(i,mx) {
	for(j=0;j<mx;j++) {
		if (j!=i) {
			hide("onh"+j);
			document.getElementById("ong"+j).className="ong";
		}
	}
	show("onh"+i);
	document.getElementById("ong"+i).className="ong_active";	
}

/* Remplacement de la selection, compatible moz / ie / opera : */
function setSelectionRange(input, selectionStart, selectionEnd) {
  if (input.setSelectionRange) {
    input.focus();
    input.setSelectionRange(selectionStart, selectionEnd);
  }
  else if (input.createTextRange) {
    var range = input.createTextRange();
    range.collapse(true);
    range.moveEnd('character', selectionEnd);
    range.moveStart('character', selectionStart);
    range.select();
  }
}

function setCaretToPos (input, pos) {
  setSelectionRange(input, pos, pos);
}

/* Ajoute le texte addBefore et addAfter à la sélection dans le composant input */
function addInSelection (input, addBefore, addAfter) {
  if (input.setSelectionRange) { // MOZ NS & Other
    var selectionStart = input.selectionStart;
    var selectionEnd = input.selectionEnd;
    var ll=selectionEnd+addBefore.length+addAfter.length;
    input.value = input.value.substring(0, selectionStart)+addBefore+input.value.substring(selectionStart,selectionEnd)+addAfter+input.value.substring(selectionEnd);
    if (selectionStart != selectionEnd) // has there been a selection
      setSelectionRange(input, selectionStart, ll);
    else // set caret
      setCaretToPos(input, ll-addAfter.length);
  } else if (input.caretPos) { // IE. With additionnal component.
    range=input.caretPos;
    if (range.parentElement() == input) {
      var isCollapsed = range.text == '';
      var ll=range.text.length+addBefore.length+addAfter.length;
      range.text = addBefore+range.text+addAfter;
      if (!isCollapsed)  { // there has been a selection
        range.moveStart('character', -ll);
        range.select();
      }
    }
  }
  input.focus();
}

function storeCaret (textEl) {
  if (textEl.createTextRange) 
    textEl.caretPos = document.selection.createRange().duplicate();
}


var htext=Array(
	"Affiche le texte en gras <br />&lt;b&gt;<b>gras</b>&lt;/b&gt;",
	"Affiche le texte en italique <br />&lt;i&gt;<i>italique</i>&lt;/i&gt;",
	"Affiche le texte en souligné <br />&lt;u&gt;<u>souligné</u>&lt;/u&gt;",
	"Crée un lien vers une page <br />&lt;a href=\"lien\"&gt;<a href=\"#\">Texte</a>&lt;/a&gt;",
	"Envoie une image associée au message."
	);
var tagopen=Array("<b>","<i>","<u>");
var tagclose=Array("</b>","</i>","</u>");

/* Utilisé par le forum pour afficher / masquer un texte d'aide */
function shelp(i) {
	if ((t=document.getElementById("helpline")) && (u=htext[i])) {
		t.innerHTML=u;
	}	
}
/* Remet le texte d'origine pour l'aide. */
function hhelp() {
	if (t=document.getElementById("helpline")) {
		t.innerHTML="Les boutons vous permettent de mettre en forme votre texte.";
	}	
}

function sstyle(i) {
	if (i==3) { // Link !
		alert('link');
	} else if (i==4) { // Image ! 
//		alert('image');		
	} else {
		addInSelection(document.forms['post'].texte,tagopen[i],tagclose[i]);
	}
}

function changeImage(iid,src) {
	if (i=document.getElementById(iid))  {
		i.src=src;
	} else {
		if (i=document.all[iid]) {
			i.src=src;
		}
	}
}

function forum_add_image(newdoc,url) {
	if (c=window.opener.document.getElementById('imglist')) {
		c.innerHTML=c.innerHTML + "<div id=\"img"+newdoc+"\">\n<a href=\"javascript:forum_del_image("+newdoc+");\"><img src=\"/images/effacer.png\" alt=\"Effacer cette image\" title=\"Effacer cette image\" /></a> &nbsp; <img src=\"/img/"+url+"\" alt=\"\">\n<input type=\"hidden\" name=\"imgs[]\" value=\""+newdoc+"\" />\n</div>";
	}
}

function forum_del_image(doc) {
	if (c=document.getElementById('imglist')) {
		for (i=0;i<c.childNodes.length;i++) {
			if (c.childNodes[i].id=='img'+doc) {
				c.removeChild(c.childNodes[i]);
				return;
			}
		}
	}
}
