var checkCount = 4;		// Количество чекбоксов капчи
var COMDIR = 'comments/';	// папка скриптов
var ajaxLoader = '<img src="'+ COMDIR + 'images/photoloader.gif" class="loader" alt="Обновляю комментарии">';
var goodAdd = '<img src="'+ COMDIR + 'images/done.png" alt="Комментарий добавлен">&nbsp;<strong>Ваш комментарий добавлен</strong>';

function createRequestObject() {
    var request = null;
    try {
        request=new ActiveXObject('Msxml2.XMLHTTP');
    } catch (e){}
    if(!request) try {
        request=new ActiveXObject('Microsoft.XMLHTTP');
    } catch (e){}
    if(!request) try {
        request=new XMLHttpRequest();
    } catch (e){}
    return request;
}

function serverRequest(url, postStr)
{
    var request = createRequestObject();
    if(!request) return false;

    request.onreadystatechange  = function()
	{
        if(request.readyState == 4)
		{
			var errorId = document.getElementById('comError');
			var commentsBlockId = document.getElementById('comments');
			if (request.responseText.indexOf('</li>') == -1)
			{
				errorId.style.color = 'red';
				setTimeout(function() { errorId.innerHTML = request.responseText; }, 500);
			}
			else
			{
				errorId.style.color = 'green';
				setTimeout(function() { errorId.innerHTML = goodAdd; }, 500);
				setTimeout(function() { commentsBlockId.innerHTML = ajaxLoader; }, 1500);
				setTimeout(function() { errorId.innerHTML = ''; errorId.style.display = 'none'; commentsBlockId.innerHTML = request.responseText; }, 3000);
				// Очищаем таблицу
				var form = document.sendform;
				form.author_name.value = '';
				form.author_mail.value = '';
				frames['com_text'].document.body.innerHTML = '';
				//updateRTE('com_text');
				for (var i=0; i<checkCount; i++)
					form.capcha[i].checked = false;
				checkFruit(checkCount+1);
			}			
		}
    };

	if (postStr == null)
	{
		request.open('GET', url, true);
		request.send(null); 
	}
	else
	{
		request.open('POST', url, true);
		request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		request.setRequestHeader("Content-length", postStr.length);
		request.setRequestHeader("Connection", "close");
		request.send(postStr); 
	}
}


function checkFruit (id)
{
	for (var i=1; i<=checkCount; i++)
	{
		imageId = document.getElementById('img_' + i);
		radioId = document.getElementById('radio_' + i);
		if (i == id)
		{
			radioId.checked = true;
			imageId.style.backgroundPosition = 'top left';
		}
		else
		{
			radioId.checked = false;
			imageId.style.backgroundPosition = 'bottom left';
		}
	}
}

function checkForm (form)
{
	var errorId = document.getElementById('comError');
	errorId.style.display = 'block';
	errorId.innerHTML = ajaxLoader;

	authorName = form.author_name.value;
	authorMail = form.author_mail.value;
	// Обновляем текстовую область
	updateRTE('com_text');
	comText = form.com_text.value;
	check = form.check.value;
	pmarker = form.pmarker.value; 

	capcha = '';
	for (var i=0; i<checkCount; i++)
	{
		if (form.capcha[i].checked == true)
			capcha = form.capcha[i].value;
	}

	var regEmail = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,4}))$/
	var error = '';

	if (authorName == '')
		error += 'Введите имя<br>';
	if (authorMail != '' && !authorMail.match(regEmail))
		error += 'Введите корректный E-mail адрес<br>';
	if (capcha == '')
		error += 'Выберите картинку<br>';
	if (comText == '')
		error += 'Введите текст комментария<br>';

	if (error != '')
	{
		error = error.substr(0, (error.length-4));
		setTimeout(function() { errorId.style.color = 'red'; errorId.innerHTML = error; }, 500);
	}
	else
	{
		// Замена "нехороших" символов
		authorName = authorName.replace(/&/g, '[amp]');
		comText = comText.replace(/&/g, '[amp]');
		var postStr = 'author_name=' + authorName + '&com_text=' + comText + '&author_mail=' + authorMail + '&capcha=' + capcha + '&check=' + check + '&pmarker=' + pmarker;
		serverRequest(COMDIR + 'process.php', postStr);
	}
}

function translit(text)
{
	var ruStr = ' АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя';
	var enStr = new Array ('_','A','B','V','G','D','E','JO','ZH','Z','I','J','K','L','M','N','O','P','R','S','T','U','F','H','C','CH','SH','SHH','','I','','JE','JU','JA','a','b','v','g','d','e','jo','zh','z','i','j','k','l','m','n','o','p','r','s','t','u','f','h','c','ch','sh','shh','','i','','je','ju','ja');
	var tmpText = '';
	for(var i=0, l=text.length; i<l; i++)
	{
      var s = text.charAt(i), n = ruStr.indexOf(s);
      if(n >= 0)
		  tmpText += enStr[n];
      else
		  tmpText += s;
	}
	var pageCodeId = document.getElementById('page_code');
	pageCodeId.value = tmpText;
}
