// Free Perl Guestbook by www.vitinh.de
// Download: http://www.vitinh.de/cgi-bin/download_guestbook.cgi
	


function setCaretToEnd(objTxt) {
	if (objTxt.createTextRange) {
		var v = objTxt.value;
		var r = objTxt.createTextRange();
		r.moveStart('character', v.length);
		r.select();
	}
}

function storeCaret(obj){
	if (obj.createTextRange){
		obj.selection = document.selection.createRange().duplicate();
	}
	return true;
}
function insertAtCaret(objTxt, anfang, ende, txt) {
	var str = (objTxt.createTextRange && objTxt.selection) ? objTxt.selection.text : "";
	str = formatString(objTxt, str, anfang, ende, txt);
	if (str == null) return true;
	if (objTxt.createTextRange && objTxt.selection) {
		var objTxtRange = objTxt.selection;
		objTxtRange.text = (objTxtRange.text.charAt(objTxtRange.text.length - 1) == ' ') ? str + ' ' : str;
		objTxt.selection = null;
	} 
	else {
		objTxt.value += str;
	}
	setCaretToEnd(objTxt);
	return true;
}
function formatString(arg, markiert, anfang, ende, txt) {
	var str = markiert;
	if((!str) && (txt != "Smileys") && (txt != "Image")){
		alert("No text selected!\n\nPlease select a text to make \"" + txt + "\"!");
	}
	else{
		if (arg.createTextRange && arg.selection) {
			if (str != null) {
				if(txt == "URL"){
					url = prompt("Please enter an URL!", "http://");
					if((url == null) || (url == "http://")){
						str = null;
					}
					else{
						str = (arg.selection.text.charAt(arg.selection.text.length - 1) == ' ') ? str.replace(/\s+$/,"") : str;
						str = "[url=" + url + "]" + str + ende;
					}
				}
				else if(txt == "E-Mail"){
					url = prompt("Please enter an e-mail address!", "name@server.xx");
					if((url == null) || (url == "name@server.xx")){
						str = null;
					}
					else{
						str = (arg.selection.text.charAt(arg.selection.text.length - 1) == ' ') ? str.replace(/\s+$/,"") : str;
						str = "[email=" + url + "]" + str + ende;
					}
				}
				else{
			 		str = (arg.selection.text.charAt(arg.selection.text.length - 1) == ' ') ? str.replace(/\s+$/,"") : str;
			 		str = anfang + str + ende;
			 	}
			} 
			else {
			 	arg.selection = null;
			}
		} 
		else {
			if (str != null) {
			 	str = anfang + str + ende;
			}
		}
		return str;
	}
}