var isNN = (navigator.appName.indexOf("Netscape")!=-1);

function emoticon_wospaces(text) {
    var txtarea = document.post.message;
    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 {
	txtarea.value  += text;
	txtarea.focus();
    }
}

// Putting selection to the post box
function quoteSelection(name) {
    var selection;

    if (window.getSelection) {
	selection = window.getSelection().toString();
    }
    else if (document.getSelection) {
	selection = document.getSelection();
    }
    else if (document.selection) {
	selection = document.selection.createRange().text;
    }

    if (selection) {
	emoticon_wospaces('[quote="'+name+'"]' + selection + '[/quote]\n');
	selection = '';
	document.post.message.focus();
    } else {
	alert('Выделите текст на странице и попробуйте еще раз');
    }
    return false;
}

var key_pressed_state = false;

function key(obj,e) {
    var keyCode = (isNN) ? e.which : e.keyCode; 
    if (key_pressed_state) return;
    if (keyCode==27) {
	key_pressed_state = true;
	if (confirm("Очистить текст в поле формы?")) { obj.value = ''; }
	key_pressed_state = false;
    }
    return;
}

function enter_pressed(e) {
    var e = e || window.Event || window.event;
    var keyCode = (isNN) ? e.which : e.keyCode; 
    var ctrl = e.ctrlKey;
    var shift = e.shiftKey;
    if (ctrl && (keyCode==10 || keyCode==13)) {
	document.post.submit();
	return false;
    }
    if (e.srcElement.tagName=='TEXTAREA' || e.srcElement.tagName=='SELECT' || e.srcElement.tagName=='INPUT') { return; }
    if (shift && (keyCode==10 || keyCode==13)) {
	quoteSelection("Ошибка на странице");
    }
    return false;
}

function onStart() {

    if (document.all) {
	document.onkeypress=enter_pressed;
    }
    if (document.layers) {
	window.onkeypress=enter_pressed;
	window.captureEvents(Event.KEYPRESS);
    }
}

