var ClientPC = navigator.userAgent.toLowerCase();
var ClientVer = parseInt(navigator.appVersion);
var IsIE = ((ClientPC.indexOf("msie") != -1) && (ClientPC.indexOf("opera") == -1));
var IsWin = ((ClientPC.indexOf("win")!=-1) || (ClientPC.indexOf("16bit") != -1));

function RowsTextarea(n, w) {
	var inrows = document.getElementById(n);
	if (w < 1) {
		var rows = -5;
	} else {
		var rows = +5;
	}
	var outrows = inrows.rows + rows;
	if (outrows >= 5 && outrows < 50) {
		inrows.rows = outrows;
	}
	return false;
}

var SelField = null;
var TxtFeld  = null;

function StoreCaret(text) {
	if (text.createTextRange) {
		text.caretPos = document.selection.createRange().duplicate();
	}
}
function FieldName(text, which) {
	if (text.createTextRange) {
		text.caretPos = document.selection.createRange().duplicate();
	}
	if (which != "") {
		var Field = eval("document.forma."+which);
		SelField = Field;
		TxtFeld  = Field;
	}
}
function AddSmile(SmileCode,area) {
if (area) {
var text = eval("document.forma."+area);
text.focus();
if (text.createTextRange) text.caretPos = document.selection.createRange().duplicate();
	SelField = text;
	TxtFeld  = text;
}

if (SelField && TxtFeld) {

	var SmileCode;
/*
	var newPost;
	var oldPost = SelField.value;
	newPost = oldPost+SmileCode;
	SelField.value=newPost;
	SelField.focus();
*/
if ((ClientVer >= 4) && IsIE && IsWin) AddIE(SmileCode, '');
else {
		var txtarea = eval("document.forma."+area);
		AddMoz(txtarea, SmileCode,'');
	}
/*
	if ((ClientVer >= 4) && IsIE && IsWin) AddIE(SmileCode, '');
	 else {
		var txtarea = document.getElementById(area);
		AddMoz(txtarea, SmileCode,'');
	}
*/
	return;
}
}
function AddIE(Open, Close) {
	if (SelField.createTextRange && SelField.caretPos && Close == '\n') {
		var caretPos = SelField.caretPos;
		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? Open + Close + ' ' : Open + Close;
		SelField.focus();
	} else if (SelField.caretPos) {
		SelField.caretPos.text = Open + SelField.caretPos.text + Close;
	} else {
		SelField.value += Open + Close;
		SelField.focus();
	}
}
function AddMoz(txtarea, Open, Close) {
	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 + Open + s2 + Close + s3;
	return;
}

function InsertCode(code, info, type, error, area) {
if (area) {
var text = eval("document.forma."+area);
text.focus();
if (text.createTextRange) text.caretPos = document.selection.createRange().duplicate();
	SelField = text;
	TxtFeld  = text;
}

if (SelField && TxtFeld) {
	if ((ClientVer >= 4) && IsIE && IsWin) {
		if (code == 'name') {
			AddIE('[b]' + info + '[/b]', ', ');
		} else if (code == 'url' || code == 'mail') {
			//if (code == 'url') var url = prompt(info, 'http://');
			var url='http://введите полный адрес';
			if (code == 'mail') var url = prompt(info, '');
			//if (!url) return alert(error);
			selection = document.selection.createRange().text;
			if (!selection) {
				//var title = prompt(type, type);
				var title = 'название';
				AddIE('[' + code + '=' + url + ']' + title + '[/' + code + ']', '\n');
			} else {
				AddIE('[' + code + '=' + url + ']', '[/' + code + ']');
			}
		} else if (code == 'color' || code == 'family' || code == 'size') {
			AddIE('[' + code + '=' + info + ']', '[/' + code + ']');
		} else if (code == 'li' || code == 'hr') {
			AddIE('[' + code + ']', '');
		} else if (code == 'attach') {
			AddIE('[' + code + '=' + info + ' align=center title=название]', '\n');
		} else {
			var selection = false;
			selection = document.selection.createRange().text;
			if (selection && code == 'quote') {
				AddIE('[' + code + ']' + selection + '[/' + code + ']', '\n');
			} else {
				if (code == 'img' && info) {
					AddIE('[' + code + '=center alt=название]' + info +'[/' + code + ']', '\n');
				} else if (code == 'img') {
					AddIE('[' + code + '=center alt=название]', '[/' + code + ']');
				} else {
					AddIE('[' + code + ']', '[/' + code + ']');
				}
			}
		}
	} else {
		var txtarea = eval("document.forma."+area);
		if (code == 'name') {
			AddMoz(txtarea, '[b]' + info + '[/b]', ', ');
		} else if (code == 'url' || code == 'mail') {
			//if (code == 'url') var url = prompt(info, 'http://');
			var url='http://введите полный адрес';
			if (code == 'mail') var url = prompt(info, '');
			//if (!url) return alert(error);
			if (txtarea.selectionEnd - txtarea.selectionStart <= 0) {
				//var title = prompt(type, type);
				var title = 'название';
				AddMoz(txtarea, '[' + code + '=' + url + ']' + title + '[/' + code + ']', '\n');
			} else {
				AddMoz(txtarea, '[' + code + '=' + url + ']', '[/' + code + ']');
			}
		} else if (code == 'color' || code == 'family' || code == 'size') {
			AddMoz(txtarea, '[' + code + '=' + info + ']', '[/' + code + ']');
		} else if (code == 'li' || code == 'hr' || code == 'br') {
			AddMoz(txtarea, '[' + code + ']', '');
		} else if (code == 'attach') {
			AddMoz(txtarea, '[' + code + '=' + info + ' align=center title=название]', '\n');
		} else {
			if (code == 'img' && info) {
				AddMoz(txtarea, '[' + code + '=center alt=название]' + info +'[/' + code + ']', '\n');
			} else if (code == 'img') {
				AddMoz(txtarea, '[' + code + '=center alt=название]', '[/' + code + ']');
			} else {
				AddMoz(txtarea, '[' + code + ']', '[/' + code + ']');
			}
		}
	}
}
}

function setFocus(){
	TxtFeld.focus();
}
