var txt = '';
var LeftText = '';
var RightText = '';
var selStart;
function bbcode() {
	var L = '';
	var R = '';
	var a = bbcode.arguments;
    a[1] = (a[1]) ? a[1]:'';
    var code = (a[0] != 0) ? a[0].name:"smile";

    switch(code) {
    	case 'quote':		if (txt.length == 0 && a[1]) {
								alert('Для вставки цитаты надо выделить текст!');
								return;
							};
							var replace = (a[1] != '') ? '='+a[1]:'';
							L = bbtags[code][0].replace(/%/, replace) + txt;
							R = bbtags[code][1];
							break;
		case 'color':
		case 'size':		L = bbtags[code][0].replace(/%/, a[1]);
		                    R = bbtags[code][1];
							break;
		case 'smile':		L = ' ' +a[1]+ ' ';
							break;
		default:			L = bbtags[code][0] + a[1];
							R = bbtags[code][1];
							break;
    }

    TextArea.focus ();
if (isMSIE) {    
		if (!TextArea.caretPos) IEOP();
		TextArea.caretPos.text = L + TextArea.caretPos.text + R;
		TextArea.caretPos = null;
} else if (isMozilla || isOpera) {
    		SelectedText = NNMOZ();
            TextArea.value = LeftText + L + SelectedText + R + RightText;
if (isMozilla)
L = L.replace(/\r/g, '');
else if (isOpera && L.indexOf('\r') == -1)
L = L.replace(/\n/g, '\r\n');

var newPos = selStart + L.length + SelectedText.length + R.length;
TextArea.selectionStart = newPos;
TextArea.selectionEnd = newPos;
    }
	SelectedText = txt = '';
}

function help(obj) {
	document.getElementById('help').innerHTML = bbtags[obj.name][2];
	return;
}

function NNMOZ() {
        var selLength	= TextArea.textLength;
selStart = TextArea.selectionStart;
        var selEnd		= TextArea.selectionEnd;
        if (selEnd == 1 || selEnd == 2)
                selEnd = selLength;

        LeftText		= (TextArea.value).substring(0,selStart);
        RightText		= (TextArea.value).substring(selEnd, selLength);
        return  (TextArea.value).substring(selStart, selEnd);
}

function copyQ() {
	if (document.getSelection) {txt=document.getSelection();}
	else if (document.selection) {txt=document.selection.createRange().text;}
	return;
}

function IEOP() {
	if (TextArea.createTextRange) {
		TextArea.caretPos = document.selection.createRange().duplicate();
	}
}


function FormChecker(fcForm){
	for (var key in error) {
		if (fcForm.elements[key].value.length == 0 || (n = fcForm.elements[key].value.search(/[^\s]/i)) == -1){
			alert(error[key]);
			return false;
		}
	}
	return true;
}

function Preview(form, act) {
	if (!FormChecker(form)) return;
	var htmltags = (form.html && form.html[0].checked == true) ? form.html[0].value:'no';
	document.getElementById('preview').style.display = "block";
	document.getElementById('prevtext').innerHTML='Ждите! Идет загрузка...';
	scroll(0,0);
	JsHttpRequest.query('jsloader.php?loader=preview', {action: act, html: htmltags, text: TextArea.value}, function(data,text) {
		if (data.error == 1) {
			document.getElementById('preview').style.display = "none";
			alert(text);
			return;
		}
		document.getElementById('prevtext').innerHTML=text;
		}, false);
}

function myFor(obj) {
	for (var key in obj)alert(key + ": " + obj[key]);
}



