function insertText(id, text) {
    var tb = document.getElementById(id);
    if (tb) {
        if (document.selection) {
            tb.focus();
            document.selection.createRange().text = text;
        }
        else if (tb.selectionStart || tb.selectionStart == '0') {
            var startPos = tb.selectionStart;
            var endPos = tb.selectionEnd;
            tb.value = tb.value.substring(0, startPos) + text + tb.value.substring(endPos, tb.value.length);
        }
        else tb.value += text;
    }
}

function insertURL(id) {
    var url = prompt('Enter link URL.', 'http://');
	
	if (url) {
		if (url.substr(0, 7) != "http://") alert('Invalid URL!  Please enter a full URL like \'http://www.somewhere.com/link.html\'.');
		else {
		    var title = prompt('Enter link title.', '');
		    if (!title) title = url;
			insertText(id, '[url=' + url + ']' + title + '[/url]');
		}
	}
}

function insertYT(id) {
    var url = prompt('Enter YouTube URL.', 'http://www.youtube.com/watch?v=');

    if (url) {
        if (url.substr(0, 7) != "http://") alert('Invalid YouTube URL!  Please enter a full URL like \'http://www.youtube.com/watch?v=EROIiefieij\'.');
        else insertText(id, url);
    }
}

function insertImage(id) {
    var url = prompt('Enter the full URL for the image.', 'http://');
	
	if (url) {
		if (url.substr(0, 7) != "http://" || url.indexOf('http://') >= 7 || (url.indexOf('.gif') < 0 && url.indexOf('.jpg') < 0)) alert('Invalid image URL!  Please enter a full URL like \'http://www.yourserver.com/yourimage.gif\'.');
		else insertText(id, '[img]' + url + '[/img]');
	}
}

function insertTag(id, tag) {
	insertText(id, "[" + tag + "][/" + tag + "]");
}

function showPreview() {
    var preview = window.open('about:blank', 'preview', 'width=500,height=400,resizable=1,scrollbars=1');
    if (!preview.opener) preview.opener = this;
    if (preview.focus) preview.focus();

    var target = document.forms[0].target;
    var vs = document.forms[0].__VIEWSTATE.name;
    
    document.forms[0].target = 'preview';
    document.forms[0].__VIEWSTATE.name = 'NOVIEWSTATE';
    document.forms[0].submit();
    
    document.forms[0].target = target;
    document.forms[0].__VIEWSTATE.name = vs;
}

