function OwnText(code)
{
	var MyElement = document.getElementById("message");
	var pos = doGetCaretPosition(MyElement);
	setCaretPosition(MyElement, pos);
	insertAtCursor(MyElement, "[" + code +"][/" + code + "]", pos);
}

function Youtube()
{
	var yt = prompt("Youtube code:");
	var MyElement = document.getElementById("message");
	var pos = doGetCaretPosition(MyElement);
	setCaretPosition(MyElement, pos);
	insertAtCursor(MyElement, "[youtube]" + yt + "[/youtube]", pos);
}

function Url()
{
	var url = prompt("Url:");
	var name_ = prompt("Naam (leeg laten om url als naam te maken):");
	var MyElement = document.getElementById("message");
	if(name_ == '')
		var name = url;
	else
		var name = name_;
	var pos = doGetCaretPosition(MyElement);
	setCaretPosition(MyElement, pos);
	insertAtCursor(MyElement, "[url=" + url + "]" + name + "[/url]", pos);
}

function Quote()
{
	var nick = prompt("Quote van wie? (Leeglaten voor geen)");
	var MyElement = document.getElementById("message");
	if(nick == '')
		var nick = "]";
	else
		var nick = "="+nick+"]";
	var pos = doGetCaretPosition(MyElement);
	setCaretPosition(MyElement, pos);
	insertAtCursor(MyElement, "[quote"+nick+"[/quote]", pos);
}

function AllQuote(Nick, Message)
{
	var MyElement = document.getElementById("message");
	var pos = doGetCaretPosition(MyElement);
	setCaretPosition(MyElement, pos);
	insertAtCursor(MyElement, "[quote=" + Nick + "]" + Message + "[/quote]", pos);
}

function OwnSize(size)
{
	var MyElement = document.getElementById("message");
	var pos = doGetCaretPosition(MyElement);
	setCaretPosition(MyElement, pos);
	insertAtCursor(MyElement, "[size=" + size + "][/size]", pos);
}

function OwnColor(color)
{
	var MyElement = document.getElementById("message");
	var pos = doGetCaretPosition(MyElement);
	setCaretPosition(MyElement, pos);
	insertAtCursor(MyElement, "[color=" + color + "][/color]", pos);
}

function OwnImg()
{
	var img = prompt("Afbeeldings url:");
	var MyElement = document.getElementById("message");
	var pos = doGetCaretPosition(MyElement);
	setCaretPosition(MyElement, pos);
	insertAtCursor(MyElement, "[img]" + img + "[/img]", pos);
}

function OwnMail()
{
	var mail = prompt("E-mail adres:");
	var name_ = prompt("Naam (leeg laten om url als naam te maken):");
	var MyElement = document.getElementById("message");
	if(name_ == '')
		var name = mail;
	else
		var name = name_;
	var pos = doGetCaretPosition(MyElement);
	setCaretPosition(MyElement, pos);
	insertAtCursor(MyElement, "[mail=" + mail + "]" + name + "[/mail]", pos);
}

function OwnValue(textfield, standard)
{
	var MyElement = document.getElementById(textfield);
	if(MyElement.value == standard)
		MyElement.value = '';
}

function doGetCaretPosition (ctrl) {

	var CaretPos = 0;
	// IE Support
	if (document.selection) {

		ctrl.focus ();
		var Sel = document.selection.createRange ();

		Sel.moveStart ('character', -ctrl.value.length);

		CaretPos = Sel.text.length;
	}
	// Firefox support
	else if (ctrl.selectionStart || ctrl.selectionStart == '0')
		CaretPos = ctrl.selectionStart;

	return (CaretPos);

}

function setCaretPosition(ctrl, pos)
{
    if(ctrl.setSelectionRange)
    {
        ctrl.focus();
        ctrl.setSelectionRange(pos,pos);
    }
    else if (ctrl.createTextRange) {
        var range = ctrl.createTextRange();
        range.collapse(true);
        range.moveEnd('character', pos);
        range.moveStart('character', pos);
        range.select();
		
    }
}

function insertAtCursor(myField, myValue, pos) {
    //IE support
    if (document.selection) {
    myField.focus();
    sel = document.selection.createRange();
    sel.text = myValue;
    }
    //MOZILLA/NETSCAPE support
    else if (myField.selectionStart || myField.selectionStart == '0') {
        var startPos = myField.selectionStart;
        var endPos = myField.selectionEnd;
        myField.value = myField.value.substring(0, startPos)
        + myValue
        + myField.value.substring(endPos, myField.value.length);
    } else {
        myField.value += myValue;
    }
    
    caretPos = doGetCaretPosition(myField);
    setCaretPosition(myField,pos);
}