/* Wrap Funktionen */

function mozWrap(txtarea, lft, rgt) {

	var selLength = txtarea.textLength;
	var selStart = txtarea.selectionStart;
	var selEnd = txtarea.selectionEnd;
	
	if(selEnd == 1 || selEnd == 2) {

		selEnd = selLength;

	}

	var s1 = (txtarea.value).substring(0,selStart);
	var s2 = (txtarea.value).substring(selStart, selEnd)
	var s3 = (txtarea.value).substring(selEnd, selLength);
	txtarea.value = s1 + lft + s2 + rgt + s3;


}

function operaWrap(txtarea, lft, rgt) {

	var selLength = txtarea.textLength;
	var selStart = txtarea.selectionStart;
	var selEnd = txtarea.selectionEnd;
	
	if(selEnd == 1 || selEnd == 2) {

		selEnd = selLength;

	}

	var s1 = (txtarea.value).substring(0,selStart);
	var s2 = (txtarea.value).substring(selStart, selEnd)
	var s3 = (txtarea.value).substring(selEnd, selLength);
	txtarea.value = s1 + lft + rgt;


}
	
function IEWrap(txtarea, lft, rgt) {

	strSelection = document.selection.createRange().text;

	if(strSelection != "") {

		document.selection.createRange().text = lft + strSelection + rgt;

	} else {

		txtarea.value = txtarea.value + lft + rgt;

	}

}
	
function wrap(txtarea, lft, rgt) {

	var clientPC = navigator.userAgent.toLowerCase(); // Get client info
	var clientVer = parseInt(navigator.appVersion); // Get browser version

	var is_ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1));
	var is_opera = ((clientPC.indexOf("opera") != -1));
	var is_nav = ((clientPC.indexOf('mozilla')!=-1) && (clientPC.indexOf('spoofer')==-1)
                && (clientPC.indexOf('compatible') == -1) && (clientPC.indexOf('Opera')==-1)
                && (clientPC.indexOf('webtv')==-1) && (clientPC.indexOf('hotjava')==-1));
	var is_moz = 0;

	var is_win = ((clientPC.indexOf("win")!=-1) || (clientPC.indexOf("16bit") != -1));
	var is_mac = (clientPC.indexOf("mac")!=-1);

	if ((is_opera == true))
	{

		operaWrap(txtarea, lft, rgt);

	} else {

		if(document.all) {


			IEWrap(txtarea, lft, rgt);

		} else if(document.getElementById) {


			mozWrap(txtarea, lft, rgt);

		}

	}

}

function wrap2(txtarea, 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 {
		var selStart = txtarea.selectionStart;
		var selEnd = txtarea.selectionEnd;

			var clientPC = navigator.userAgent.toLowerCase(); // Get client info
			var clientVer = parseInt(navigator.appVersion); // Get browser version

			var is_ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1));
			var is_opera = ((clientPC.indexOf("opera") != -1));
			var is_nav = ((clientPC.indexOf('mozilla')!=-1) && (clientPC.indexOf('spoofer')==-1)
              		  && (clientPC.indexOf('compatible') == -1) && (clientPC.indexOf('Opera')==-1)
               		  && (clientPC.indexOf('webtv')==-1) && (clientPC.indexOf('hotjava')==-1));
			var is_moz = 0;

			var is_win = ((clientPC.indexOf("win")!=-1) || (clientPC.indexOf("16bit") != -1));
			var is_mac = (clientPC.indexOf("mac")!=-1);

			if ((is_opera == true))
			{

				operaWrap(txtarea, text, '');

			} else {

				if(document.all) {


					IEWrap(txtarea, text, '');

				} else if(document.getElementById) {


					mozWrap(txtarea, text, '');

				}

			}

		txtarea.focus();
		txtarea.selectionStart = selStart + text.length;
		txtarea.selectionEnd = selEnd + text.length;
	}


}

function wrapURL(txtarea) {

	var input = prompt("URL eingeben:", "http://");

	if(input != null) {

		lft = "[url=" + input + "]";
		rgt="[/url]";

		wrap(txtarea, lft, rgt);

	}

	return;

}

function wrapMail(txtarea) {

	var input = prompt("E-Mail Adresse eingeben:", "");

	if(input != null) {

		lft = "[mail=" + input + "]";
		rgt="[/mail]";

		wrap(txtarea, lft, rgt);

	}

	return;

}

function wrapSize(txtarea) {

	var input = prompt("Schriftgröße eingeben:", "");

	if(input != null) {

		lft = "[size=" + input + "]";
		rgt="[/size]";

		wrap(txtarea, lft, rgt);

	}

	return;

}


function wrapColor(txtarea) {

	var input = prompt("Name der Farbe bzw. Hexcode eingeben:", "");

	if(input != null) {

		lft = "[color=" + input + "]";
		rgt="[/color]";

		wrap(txtarea, lft, rgt);

	}

	return;

}

function wrapFont(txtarea) {

	var input = prompt("Schritart eingeben (verdana,arial,courier,tahoma):", "");

	if(input != null) {

		lft = "[font=" + input + "]";
		rgt="[/font]";

		wrap(txtarea, lft, rgt);

	}

	return;

}

function wrapImage(txtarea) {

	var input = prompt("Adresse des Bildes eingeben:", "http://");

	if(input != null) {

		lft = "[img]" + input + "";
		rgt="[/img]";

		wrap(txtarea, lft, rgt);

	}

	return;

}

// Ermöglicht das Quoten von beliebigem Text auf der Seite
function quotetext(txtarea) {

	var ql = "[quote]"
	var qr = "[/quote]"

	if(window.getSelection) {

		txtarea.value = txtarea.value + ql + window.getSelection() + qr;

	} else if(document.getSelection) {

		txtarea.value = txtarea.value + ql + document.getSelection() + qr;

	} else if(document.selection) {

		txtarea.value = txtarea.value + ql + document.selection.createRange().text + qr;

	}

}