/***************************************************************************
		                               PHYXIS PHP CMS
		                             -------------------
		    begin                : May 2005
		    copyright            : (C) 2005 Francesco 'ShArDiCk' Bramato
		    email                : francesco@shardick.net
		
 ***************************************************************************/
		
/***************************************************************************
 *                                         				                                
*   This program is free software; you can redistribute it and/or modify  	
*   it under the terms of the GNU General Public License as published by  
*   the Free Software Foundation; either version 2 of the License, or	    	
*   (at your option) any later version.
*
 ***************************************************************************/

function InsertText(textArea, strInsertText) {
	if (strInsertText <= 0) return false;
	var objTextArea = document.getElementById(textArea);
	if (objTextArea) {
		if (document.selection && document.selection.createRange) {
	    	objTextArea.focus();
		    var objSelectedTextRange = document.selection.createRange();
		    var strSelectedText = objSelectedTextRange.text;
	    	objSelectedTextRange.text = strInsertText + strSelectedText;
		} else {
			objTextArea.value += strInsertText;
			objTextArea.focus();
		}
	}
	return false;
}

function QuoteText(author, textArea) {
	var txt = "";
	if (document.getSelection) 
		txt = document.getSelection();
	else 
		if (document.selection && document.selection.createRange) 
			txt = document.selection.createRange().text;
		else 
			return;

	if (txt != "") {
		var Quote = "";

		var objTextArea = document.getElementById(textArea);
		if (objTextArea && objTextArea.value != "")	Quote += "\n";	

		Quote += "<small><b>" + author + " ha scritto:</b></small>\n";
		Quote += "<i>" + txt + "</i>\n\n";

		InsertText(textArea, Quote);
	} else
		alert('Non hai selezionato nessun testo da riportare!');
}

function ToggleWrapSelection(strTag, textArea) {
	if (strTag.length <= 0) return false;

	var paramarray = strTag.split(" ", 1);
	var StartTag = "<" + strTag + ">";
	var EndTag   = "</" + paramarray[0] + ">";

	var objTextArea = document.getElementById(textArea);
	if (objTextArea) {
		if (document.selection && document.selection.createRange) {
			objTextArea.focus();
			var objSelectedTextRange = document.selection.createRange();
			var strSelectedText = objSelectedTextRange.text;
			var nStrtLen = StartTag.length;
			var nEndLen  = EndTag.length;
			var nSelLen  = strSelectedText.length;
	
			if (strSelectedText.substr(0, nStrtLen) == StartTag &&
			    strSelectedText.substr(nSelLen-nEndLen) == EndTag)
			{
				objSelectedTextRange.text = strSelectedText.substr(nStrtLen, nSelLen-nStrtLen-nEndLen);
			} else
				objSelectedTextRange.text = StartTag + strSelectedText + EndTag;
		
			if (strSelectedText.length == 0) {
				objSelectedTextRange.move("character", -(EndTag.length));
				objSelectedTextRange.select();
			}
			objTextArea.focus();
		} else {
			var strAppendText = StartTag + EndTag;
			objTextArea.value += strAppendText;
			objTextArea.focus();
		}
	}
	return false;
}

function InLinkErAte(NewWindow, textArea) {
	var objTextArea = document.getElementById(textArea);
	if (objTextArea) {
		if (document.selection && document.selection.createRange) {
			objTextArea.focus();
			var objSelectedTextRange = document.selection.createRange();
			var strSelectedText = objSelectedTextRange.text;
			var objRegEx = new RegExp("(ht|f)tps?:\/\/");
			var strProtocol = "";
			if (strSelectedText.length == 0) {
				if (NewWindow) {
					alert("Seleziona un indirizzo all'interno del messaggio!");
					return false;
				}
			} else {
				if (!objRegEx.test(strSelectedText)) strProtocol = "http://";
			}
	
			var URI = strProtocol + strSelectedText;

			var offset = 0;
			if (NewWindow) {
				objSelectedTextRange.text = "<a href=\"" + URI + "\">" + strSelectedText
									+ "</a>[<a target=_blank title='Nuova finestra' href=\"" 
									+ URI + "\">^</a>]";
				offset = 8 + URI.length + 47;
			} else {
				objSelectedTextRange.text = "<a href=\"" + URI + "\">"
									+ strSelectedText + "</a>";
				offset = 4;
			}

			if (strSelectedText.length == 0) {
				objSelectedTextRange.move("character", -offset);
				objSelectedTextRange.select();
			}
		} else {
			var strAppendText = "<a href=\"\"" + strTarget + "></a>";
			objTextArea.value += strAppendText;
			objTextArea.focus();
		}
	}
	return false;
}

function ImageErAte(textArea) {
	var objTextArea = document.getElementById(textArea);
	if (objTextArea) {
		if (document.selection && document.selection.createRange) {
			objTextArea.focus();
			var objSelectedTextRange = document.selection.createRange();
			var strSelectedText = objSelectedTextRange.text;
			var objRegEx = new RegExp("(ht|f)tps?:\/\/");
			var strProtocol = "";
			if (strSelectedText.length != 0) {
				if (!objRegEx.test(strSelectedText)) strProtocol = "http://";
			}
	
			var URI = strProtocol + strSelectedText;

			objSelectedTextRange.text = "<img src=\"" + URI + "\">";

			if (strSelectedText.length == 0) {
				objSelectedTextRange.move("character", -2);
				objSelectedTextRange.select();
			}
		} else {
			var strAppendText = "<img src=\"\"" + strTarget + "></a>";
			objTextArea.value += strAppendText;
			objTextArea.focus();
		}
	}
	return false;
}