jQuery(document).ready(function(){
	$('form#feedback .slider label').each(function(){
		var labelColor = '#999';
		var restingPosition = '5px';
		
		// стилизация и позиционирование подписей 
		$(this).css({
			'color': labelColor,
			'position': 'absolute',
			'top': '1px',
			'left': restingPosition,
			'display': 'inline',
			'z-index': '99'
		});
		
		// если значение поля пустое при фокусе, сдвигаем подпись влево
		// если оно осталось пустым, при потере фокуса, возвращаем их обратно
		$('input').focus(function(){
			var label = $(this).prev('label');
			var value = $(this).val();
			if (value == '') label.stop().animate({ 'left': '+' + 220 }, 'fast');
			else 			 label.css({ 'left': '+' + 220 });
		}).blur(function(){
			var label = $(this).prev('label');
			var value = $(this).val();
			if (value == '')
				label.stop().animate({ 'left': restingPosition }, 'fast');
		});
		
		$('textarea').focus(function(){
			var label = $(this).prev('label');
			var value = $(this).val();
			if (value == '') label.stop().animate({ 'left': '+' + 370 }, 'fast');
			else 			 label.css({ 'left': '+' + 370 });
		}).blur(function(){
			var label = $(this).prev('label');
			var value = $(this).val();
			if (value == '')
				label.stop().animate({ 'left': restingPosition }, 'fast');
		});
	})
})

/* Создание нового объекта XMLHttpRequest для общения с Web-сервером */
var xmlHttp = false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
try {
  xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
  try {
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (e2) {
    xmlHttp = false;
  }
}
@end @*/

if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
  xmlHttp = new XMLHttpRequest();
}

function voteu(where, id, rate) {
	$('#voteu').css('display','none');
	$.post("http://chihua.org/vote_useful.php",{"where":where,"id":id,"rate":rate},function(html) {
		$('#voteu').html(html).fadeIn();
	});
}

function checkCommentRating()
{
	var theGroup = window.document.feedback.star1;
	for (var i=0; i< theGroup.length; i++)
		if (theGroup[i].checked)
			break;
	return theGroup[i].value;
}

function addcomment(where, id, lng) {
	var toofast = '';
	var similar = '';
	var someerr = '';
	
	if (lng == 'ru') {
		toofast = 'Слишком быстро, комментарий можно оставить не чаще 1 раза в минуту!';
		similar = 'Не надо плодить одинаковые комментарии!';
		someerr = 'Возникла непредвиденная ошибка при добавлении вашего комментария!<br />Попробуйте повторить попытку спустя некоторое время.';
	}
	else {
		toofast = 'Too quickly, you can not leave a comment more than 1 time per minute!';
		similar = 'It is not necessary to produce identical comments!';
		someerr = 'An unexpected error occurred while adding your comment!<br />Try again after some time.';
	}
	
	if(submitform())
	{	$('#justadded').css('display','none');
		var oldHtml = $('#justadded').html();
		$.post("/addcomment.php",{"where":where, "id":id,
									"text":document.forms['feedback'].text.value,
									"name":document.forms['feedback'].name.value,
									"email":document.forms['feedback'].email.value,
									"rating":checkCommentRating()},function(html) {
			if(html=='terror')
				$('#justadded').html('<span style="color:darkred;">'+toofast+'</span>').fadeIn();
			else if(html=='cerror')
				$('#justadded').html('<span style="color:darkred;">'+similar+'</span>').fadeIn();
			else if(html=='qerror')
				$('#justadded').html('<span style="color:darkred;">'+someerr+'</span>').fadeIn();
			else
			{
				$('#justadded').html(html).fadeIn();
				document.forms['feedback'].text.value = '';
				document.forms['feedback'].name.value = '';
				document.forms['feedback'].email.value = '';
			}
		});
		$('#nocomments').css('display','none');
	}
}

function reserve() {
	if(reservform())
	{	$('#justadded').css('display','none');
		$.post("/reserve.php",{	"person":document.forms['freserve'].person.value,
								"country":document.forms['freserve'].country.value,
								"city":document.forms['freserve'].city.value,
								"tel":document.forms['freserve'].tel.value,
								"email":document.forms['freserve'].email.value,
								"etc":document.forms['freserve'].etc.value,
								"names":document.forms['freserve'].names.value 
							   },function(html)
		{
			if(html=='qerror')
				$('#justadded').html('<span style="color:darkred;">Возникла непредвиденная ошибка при отправке вашего запроса!<br />'+
									 'Попробуйте повторить попытку спустя некоторое время.</span>').fadeIn();
			else
			{
				$('#justadded').html('<span style="color:darkgreen;">Ваша заявка успешно отправлена!</span>').fadeIn();
				document.forms['freserve'].person.value = '';
				document.forms['freserve'].country.value = '';
				document.forms['freserve'].city.value = '';
				document.forms['freserve'].tel.value = '';
				document.forms['freserve'].email.value = '';
				document.forms['freserve'].etc.value = '';
				document.forms['freserve'].names.value = '';
				document.forms['freserve'].robot.checked=false;
				window.document.getElementById('norobot').style.color = "#333";
			}
		});
	}
}

function delcomment(id, idp)
{
	var todo = window.confirm('Точно удаляем?');
	if (todo==false)
		return false;

	$('#c'+id).css('display','none');
	
	$.post("delcomment.php",{"id":id, "idp":idp},function(html)
	{	if(html=='qerror')
			$('#c'+id).html('<span style="color:darkred;">Возникла непредвиденная ошибка при удалении этого комментария!<br />'+
							'Попробуйте повторить попытку спустя некоторое время.</span>').fadeIn();
		else
		{	$('#c'+id).css("border-bottom","0px");
			$('#c'+id).css("background-color","white");
			$('#c'+id).html(html).fadeIn();
		}
	});
}

function approve(id, lang)
{
	var todo = window.confirm('Точно пропускаем комментарий?');
	if (!todo)
		return false;
	var oldHtml = $('#c'+id).html();

	$.post("approve.php",{"id":id, "lang":lang},function(html)
	{	if(html=='qerror')
			$('#c'+id).html('<span style="color:darkred;">Возникла непредвиденная ошибка при модерации этого комментария!<br />'+
							'Попробуйте повторить попытку спустя некоторое время.</span>').fadeIn();
		else
		{	$('#c'+id).css("background-color","white");
			$('#c'+id).html(oldHtml+html).fadeIn();
		}
	});
}

function chActive(id) {
	$('#pa'+id).css('display','none');
	$.post("active.php",{'id':id},function(html) {
		if (html == '0') {
			$('#p'+id).css('background-color','#fff');
			$('#pa'+id).html('<span style="font-size:12px; color:darkred;">зарезервировать</span>').fadeIn();
		} else if(html == '1') {
			$('#p'+id).css('background-color','#e6eeb7');
			$('#pa'+id).html('<span style="font-size:12px; color:darkgreen;">отменить резервирование</span>').fadeIn();
		} else {
			$('#pa'+id).html('<span style="color:green;">Ошибка! Обновите страницу и попробуйте еще раз</span>').fadeIn();
		}
	});
}

function translitIt() {
	//$('#trans').css('display','none');
	var t = window.document.getElementById('name');
	$.post("translit.php",{"str":t.value},function(html) {
		//$('#trans').html('<input type="text" name="altname" id="altname" value="'+html+'" style="width:700px;" />').fadeIn();
		$('#altname').val(html);
	});
}

function deleteImage(elem, fileName)
{
	var todo = window.confirm('Точно удаляем?');
	if (todo==false)
		return false;
	
	var x = window.document.getElementById(elem);
	x.style.display='none';
	
	var hi = window.document.getElementById('todelete');
	hi.value = hi.value + fileName + ';';
}

function is_email (emailStr)
{
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");

	var matchArray=emailStr.match(emailPat);
	if (matchArray==null)
		return false;

	var user=matchArray[1];
	var domain=matchArray[2];

	if (user.match(userPat)==null)
		return false;

	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null)
	{
		for (var i=1;i<=4;i++)
		{
			if (IPArray[i]>255)
				return false;
		}
		return true;
	}

	var domainArray=domain.match(domainPat);
	if (domainArray==null)
		return false;

	var atomPat=new RegExp(atom,"g");
	var domArr=domain.match(atomPat);
	var len=domArr.length;
	if (domArr[domArr.length-1].length<2)
	   return false;

	if (len<2)
	   return false;

	return true;
}

function reservform()
{
	var person = document.forms['freserve'].person.value;
	var country = document.forms['freserve'].country.value;
	var city = document.forms['freserve'].city.value;
	var tel = document.forms['freserve'].tel.value;
	var email = document.forms['freserve'].email.value;
	var robot = window.document.getElementById('robot');
	
	if (!person)
	{	alert('Вы не представились');
		return false;
	}
	else if (person.toString().length < 3)
	{	alert ('Разве бывает имя короче 3х букв?');
		document.forms['freserve'].person.focus();
		return false;
	}
	if (!country)
	{	alert('Вы не указали страну');
		return false;
	}
	else if (country.toString().length < 4)
	{	alert ('Нет такой страны!');
		document.forms['freserve'].country.focus();
		return false;
	}
	if (!city)
	{	alert('Вы не указали город');
		return false;
	}
	else if (city.toString().length < 4)
	{	alert ('Нет такого города!');
		document.forms['freserve'].city.focus();
		return false;
	}
	if (!tel)
	{	alert('Вы не указали телефон');
		return false;
	}
	else if (tel.toString().length < 6)
	{	alert ('Не бывает таких номеров!');
		document.forms['freserve'].tel.focus();
		return false;
	}
	else if (!email)
	{	document.forms['freserve'].email.focus();
		return false;
	}
	else if (!is_email(email))
	{	alert('Указан не верный адрес e-mail!');
		document.forms['freserve'].email.focus();
		return false;
	}
	else if (document.forms['freserve'].robot.checked==false)
	{
		alert('Вы действительно подтверждаете свои намерения?');
		window.document.getElementById('norobot').style.color = "#aa0000";
		return false;
	}
	else
		return true;

	return false;
}
	
//Проверяем форму обратной связи перед отправкой
function submitform()
{
	var email = document.forms['feedback'].email.value;
	var name = document.forms['feedback'].name.value;
	var robot = window.document.getElementById('robot');
	var sname = window.document.getElementById('sname'); sname.innerText = '';
	var semail = window.document.getElementById('semail'); semail.innerText = '';
	var tlen = document.forms['feedback'].text.value.length;
	var fortext = window.document.getElementById('fortext');
	
	if (!name)
	{	sname.innerText = 'Вы не представились';
		return false;
	}
	else if (name.toString().length < 3)
	{	sname.innerHTML = '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Разве бывает имя короче 3х букв?';
		document.forms['feedback'].name.focus();
		return false;
	}
	else if (!email)
	{	document.forms['feedback'].email.focus();
		return false;
	}
	else if (!is_email(email))
	{	semail.innerHTML = '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Указан не верный адрес e-mail!';
		document.forms['feedback'].email.focus();
		return false;
	}
	else if (!document.forms['feedback'].text.value)
	{	document.forms['feedback'].text.focus();
		return false;
	}
	else if (tlen >= 512)
	{	document.forms['feedback'].text.focus();
		fortext.innerHTML = '<span style="color:darkred;">Слишком длинный текст комментария</span>';
		return false;
	}
	else if (document.forms['feedback'].norobot.checked==false)
	{
		robot.innerText = 'Вы не робот?';
		window.document.getElementById('robot').style.color = "#aa0000";
		return false;
	}
	else
	{
		//document.forms['feedback'].submitbutton.disabled = true;
		return true;
	}
	return false;
}

function clearNameErr() {
	var sname = window.document.getElementById('sname'); sname.innerText = '';
}
function clearEmailErr() {
	var se = window.document.getElementById('semail'); se.innerText = '';
}

// children section
function saveImgDescr(elem, id)
{	if(elem.value=='1') return false;
	$.post('saveImgDescr.php',{'value':elem.value,'id':id},function(html) {
		if (html != 'success')
			alert('Ошибка, не удалось сохранить введенные данные');
	});
}

