
/*
 * Функции для форума
 * TimeZero <http://www.timezero.ru/>
 * 2008-01-22
 * Автор: Дмитрий Шкинёв <berkel@timezero.ru>
 */

var trans = [["sch", "щ"], ["SCH", "Щ"], ["ya", "я"], ["YA", "Я"], ["yu", "ю"], ["YU", "Ю"], ["sh", "ш"], ["SH", "Ш"], ["ch", "ч"], ["CH", "Ч"], ["ts", "ц"], ["TS", "Ц"], ["е", "е"], ["Е", "Е"], ["j", "ж"], ["J", "Ж"], ["N", "Н"], ["n", "н"], ["r", "р"], ["R", "Р"], ["o", "о"], ["O", "О"], ["p", "п"], ["P", "П"], ["m", "м"], ["M", "М"], ["y", "ы"], ["Y", "Ы"], ["s", "с"], ["S", "С"], ["t", "т"], ["T", "Т"], ["k", "к"], ["K", "К"], ["u", "у"], ["U", "У"], ["f", "ф"], ["F", "Ф"], ["h", "х"], ["H", "Х"], ["z", "з"], ["Z", "З"], ["g", "г"], ["G", "Г"], ["l", "л"], ["L", "Л"], ["v", "в"], ["V", "В"], ["d", "д"], ["D", "Д"], ["i", "и"], ["I", "И"], ["b", "б"], ["B", "Б"], ["a", "а"], ["A", "А"], ["'", ""], ["Q", ""], ["q", ""], ["W", ""], ["w", ""]];

function translite(sId){

	var oElem = $(sId);

	if (!(oElem || oElem.value || oElem.value.length)){

		return false;
	}

	for (var i=0, new_value=oElem.value, c=trans.length; i<c; i++){

		var pattern = new RegExp(trans[i][0], "g");

		new_value = new_value.replace(pattern, trans[i][1]);
	}

	oElem.value = new_value;

	return false;
}

function insertTag(sId, sTagName){

	var oElem = $(sId);

	if (!(oElem || oElem.value)){

		return false;
	}

	oElem.value += "<" + sTagName + "></" + sTagName + ">";

	return false;
}

function insertBlockquote(sId, sPostId){

	var oElem = $(sId);
	var oElemMessage = $("post-message-" + sPostId);
	var oElemUser = $("post-user_id-" + sPostId);

	var message = oElemMessage.innerHTML.replace(/<img.*?smiles\/(.*?)\.gif.*?>/gi, ":$1:");

	if (oElem && oElemMessage && oElemUser){

		oElem.value += "<BLOCKQUOTE>\n" + "<B>" + oElemUser.innerHTML + " пишет:</B>\n" + message + "\n</BLOCKQUOTE>\n";
	}

	return false;
}

function checkAddThemeForm(oElem){

	if (!oElem)
	{
		return false;
	}

	var oItem = oElem.elements['theme[name]'];

	if (!oItem || oItem.value == '' || oItem.value.replace(/\s/g, '').length == 0)
	{
		return false;
	}

	return true;
}

function checkAddPostForm(oElem){

	if (!oElem)
	{
		return false;
	}

	var oItem = oElem.elements['post[message]'];

	if (!oItem || oItem.value == '' || oItem.value.replace(/\s/g, '').length == 0)
	{
		return false;
	}

	return true;
}

function showSmilesContainer(oElem, sId){

	var container = $(sId);

	if (!(oElem || container)){

		return false;
	}

	var oElemPos = Common.getAbsolutePos(oElem);

	container.style.top = ((oElemPos.y + oElem.offsetHeight) + 5) + "px";
	container.style.left = (oElemPos.x) + "px";

	if (container.style.display == "block"){

		container.style.display = "";

	} else {

		container.style.display = "block";
	}
}

function setSmile(oElem, sId){

	var container = $(sId);

	if (!(oElem || container)){

		return false;
	}

	container.value += oElem.alt;
}

function changeImage(oElem, src){

	if (!oElem){

		return false;
	}

	oElem.src = src;
}