/************************************************************/
/*	freekill (freekill.free.fr) 			    */
/************************************************************/

function countInstances(open,closed) {
	var opening=document.saisie.message.value.split(open);
	var closing=document.saisie.message.value.split(closed);
	return opening.length + closing.length - 2;
}

function TAinsert(text1,text2) {
	var ta=document.getElementById('message');
	if (document.selection) {
		var str=document.selection.createRange().text;
		ta.focus();
		var sel=document.selection.createRange();
		if (text2!="") {
			if (str=="") {
				var instances=countInstances(text1,text2);
				if (instances%2 !=0) sel.text=sel.text + text2;
				else sel.text=sel.text + text1;
			} else sel.text=text1 + sel.text + text2;
		} else sel.text=sel.text + text1;
	} else if (ta.selectionStart || ta.selectionStart ==0) {
		if (ta.selectionEnd > ta.value.length) ta.selectionEnd=ta.value.length;
		var firstPos=ta.selectionStart;
		var secondPos=ta.selectionEnd+text1.length;
		var messageScrollTop=ta.scrollTop;
		
		ta.value=ta.value.slice(0,firstPos)+text1+ta.value.slice(firstPos);
		ta.value=ta.value.slice(0,secondPos)+text2+ta.value.slice(secondPos);
		
		ta.selectionStart=firstPos+text1.length;
		ta.selectionEnd=secondPos;
		ta.focus();
		ta.scrollTop=messageScrollTop;
	} else { // Opera
		var sel=document.saisie.message;
		var instances=countInstances(text1,text2);
		if (instances%2 !=0 && text2 !="") sel.value=sel.value + text2;
		else sel.value=sel.value + text1;
	}
}
function countInstancesFromChild(open,closed) {
	var opening=opener.document.saisie.message.value.split(open);
	var closing=opener.document.saisie.message.value.split(closed);
	return opening.length + closing.length - 2;
}

function TAinsertFromChild(text1,text2) {
	var ta=opener.document.getElementById('message');
	if (opener.document.selection) {
		var str=opener.document.selection.createRange().text;
		ta.focus();
		var sel=opener.document.selection.createRange();
		if (text2!="") {
			if (str=="") {
				var instances=countInstancesFromChild(text1,text2);
				if (instances%2 !=0) sel.text=sel.text + text2;
				else sel.text=sel.text + text1;
			} else sel.text=text1 + sel.text + text2;
		} else sel.text=sel.text + text1;
	} else if (ta.selectionStart || ta.selectionStart ==0) {
		if (ta.selectionEnd > ta.value.length) ta.selectionEnd=ta.value.length;
		var firstPos=ta.selectionStart;
		var secondPos=ta.selectionEnd+text1.length;
		var messageScrollTop=ta.scrollTop;
		
		ta.value=ta.value.slice(0,firstPos)+text1+ta.value.slice(firstPos);
		ta.value=ta.value.slice(0,secondPos)+text2+ta.value.slice(secondPos);
		
		ta.selectionStart=firstPos+text1.length;
		ta.selectionEnd=secondPos;
		ta.focus();
		ta.scrollTop=messageScrollTop;
	} else { // Opera
		var sel=opener.document.saisie.message;
		var instances=countInstancesFromChild(text1,text2);
		if (instances%2 !=0 && text2 !="") sel.value=sel.value + text2;
		else sel.value=sel.value + text1;
	}
}

function doUbbPreviewPost(inText,inDiv,inType) {
	//inType 1 = forum
	//inType 2 = Blog
	//inType 4 = Signature seule
	
	var xhr_object = null;
	if(window.XMLHttpRequest) // Firefox
		xhr_object = new XMLHttpRequest();
	else if(window.ActiveXObject){ // Internet Explorer
		try {
			xhr_object = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	else { // XMLHttpRequest non supporté par le navigateur
		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
		return;
	}
	ubb_champ = my_getbyid(inText);
	ubb_texte = ubb_champ.value;
	ubb_texte = encodeURI(ubb_texte);
	ubb_texte = ubb_texte.replace(/&/g,"%26");
	ubb_texte = ubb_texte.replace(/%0A/g,"(br)");
	ubb_texte = ubb_texte.replace(/\+/g,"(pls)");
	if(inType == 4) {
		ubb_texte = "[SIGNATURE]" + ubb_texte + "[/SIGNATURE]";
		inType = 1;
	}
	var data = "ubb=" + ubb_texte + "&type=" + inType;
	xhr_object.open("POST", "/communaute/ubb_preview.html", true);
	xhr_object.onreadystatechange = function() {
		if(xhr_object.readyState == 4) {
			itm = my_getbyid(inDiv);
			itm.innerHTML = xhr_object.responseText;
		}
	}
	xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xhr_object.send(data);
}

function doTagBlog(inIdTag,inAction,inIdArticle,inDiv) {
	
	var xhr_object = null;
	if(window.XMLHttpRequest) // Firefox
		xhr_object = new XMLHttpRequest();
	else if(window.ActiveXObject){ // Internet Explorer
		try {
			xhr_object = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	else { // XMLHttpRequest non supporté par le navigateur
		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
		return;
	}
	
	tag_champ = my_getbyid('tag_texte');
	inTag = tag_champ.value;
	inTag = escape(inTag);
	inTag = inTag.replace(/&/g,"%26");
	inTag = inTag.replace(/ /g,"+");
	
	var data = "tag=" + inTag + "&action=" + inAction + "&id=" + inIdArticle + "&idTag=" + inIdTag;
	xhr_object.open("POST", "/communaute/blog/tag_ajax.html", true);
	xhr_object.onreadystatechange = function() {
		if(xhr_object.readyState == 4) {
			itm = my_getbyid(inDiv);
			itm.innerHTML = xhr_object.responseText;
		}
	}
	xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xhr_object.send(data);
}
