/*
 * Ads
 */

function show_ad_form()
{
	$('delete_id_form').addClass('Hidden');
	$('add_ad_form').removeClass('Hidden');
	$('CityId').focus();

	if ($('MessageElement'))
		$('MessageElement').addClass('Hidden');
	return false;
}

function hide_ad_form()
{
	if ($('MessageElement'))
		$('MessageElement').addClass('Hidden');

	$('add_ad_form').addClass('Hidden');
	return false;
}

function add_more_photo()
{
	for (var $i=1; $i<=5; $i++)
	{
		if ($('ad_form_file_'+$i).hasClass('Hidden'))
		{
			$('ad_form_file_'+$i).removeClass('Hidden');
			if ($i == 5 )
				$('ad_form_add_file_link').addClass('Hidden');
			return false;
		}
	}
	
	return false;
}

function check_ad_form()
{
	if ($('CityId').getValue() == 0 && $('OtherCityName').value.trim().length == 0)
	{
		alert('Выберите город или укажите название города в поле "Другой город".');
		$('CityId').focus();
		return false;
	}

	if (!$('SectionId').value.length)
	{
		alert('Пожалуйста, выберите раздел объявления.');
		$('SectionId').focus();
		return false;
	}

	var domains = ['net', 'com', 'ru', 'info', 'tv', 'biz', 'su', 'ua', 'ca', 'nz'];
	var regexp_str = '';
	var regexp_parts = [];
	
	$A(domains).each(function(domain){
		regexp_str = "(" + "\\" + ".\\s*" + domain + ')|';
		regexp_str += "(dot\\s*" + domain + ')|';
		regexp_str += "(точка\\s*" + domain + ')';
		regexp_parts.push(regexp_str);
	});

	var regexp = new RegExp(regexp_parts.join('|'));

	if ($('AdTextArea').value.match(regexp))
	{
		alert('Ссылки в тексте объявления запрещены.');
		$('AdTextArea').focus();
		return false;
	}
	
	if ($('AdTextArea').value.trim().length > 350)
	{
		alert('Длина текста объявления не должна превышать 350 символов.');
		$('AdTextArea').focus();
		return false;
	}
	
	
	if (!$('AdTextArea').value.trim().length)
	{
		alert('Пожалуйста, заполните содержимое объявления.');
		$('AdTextArea').focus();
		return false;
	}

	var price_value = $('price').value.trim();
/*	if (price_value.length)
	{
		if (!price_value.test(/^[0-9]+(\.[0-9]+)?$/))
		{
			alert('Цена должна быть числом.');
			$('price').focus();
			return false;
		}
	}
*/
	try
	{
		if ($('ad_form_extra_fields'))
			$('ad_form_extra_fields').fireEvent('submitCheck');
	}
	catch (Ex)
	{
		return false;
	}
	
	if (!$('Email').value.trim().length && !$('Phones').value.trim().length)
	{
		alert('Пожалуйста, укажите Email или телефон.');
		$('Phones').focus();
		return false;
	}
	
	if ($('Email').value.trim().length)
	{
		var re = new RegExp("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", "i");
		
		if (!re.test($('Email').value.trim()))
		{
			alert('В поле Email должен содержаться правильный электронный адрес.');
			$('Email').focus();
			return false;
		}
	}

	$('id_form_post').disabled = true;
	$('id_form_cancel').disabled = true;

	return true;
}

function update_ad_form_fields()
{
	new Phpr_Request({
		handler:'ev{OnUpdateAdFormFields}',
		update: 'ExtrFormElements',
		formId: 'add_id_form_element'
	});
}

function onTermsChecked(element)
{
	$('id_form_post').disabled = !element.checked;
}

function show_delete_ad_form()
{
	$('delete_id_form').removeClass('Hidden');
	$('add_ad_form').addClass('Hidden');
	$('DeleteAdNum').focus();

	if ($('MessageElement'))
		$('MessageElement').addClass('Hidden');
		
	return false;
}

function hide_delete_ad_form()
{
	$('delete_id_form').addClass('Hidden');
}

function check_delete_ad_form()
{
	if (!$('DeleteAdNum').value.trim().length)
	{
		alert('Пожалуйста, укажите номер объявления.');
		$('DeleteAdNum').focus();
		return false;
	}
	
	if (!$('DeleteAdPwd').value.trim().length)
	{
		alert('Пожалуйста, укажите пароль.');
		$('DeleteAdPwd').focus();
		return false;
	}
}

function ad_update_remaining_chars()
{
	var r = 350-$('AdTextArea').value.length;
	$('AdCharsRemains').innerHTML = r > 0 ? r : 0;

	if (r <= 0)
		$('AdTextArea').value = $('AdTextArea').value.substring(0, 350);
}

function update_ad_city_fields()
{
	$('OtherCityName').disabled = $('CityId').getValue() != 0;

	if ($('CityId').getValue() != 0)
		$('OtherCityName').value = '';
}

/*
 * Search
 */

window.addEvent('domready', function(){
	$('global_search_field').addEvent('click', function(){
		if ($('global_search_field').value == 'поиск')
			$('global_search_field').value = '';
	});
	$('global_search_field').addEvent('blur', function(){
		if ($('global_search_field').value == '')
			$('global_search_field').value = 'поиск';
	});
	
	if ($('AdTextArea'))
	{
		$('AdTextArea').addEvent('keydown', ad_update_remaining_chars);
		$('AdTextArea').addEvent('keyup', ad_update_remaining_chars);
		$('AdTextArea').addEvent('keypress', ad_update_remaining_chars);
		$('AdTextArea').addEvent('change', ad_update_remaining_chars);
	}
});

/*
 * Comments
 */

function show_comments_form()
{
	$('comment_form').removeClass('hidden');
	$('comments').addClass('hidden');
	$('comment_author').focus();
	
	return false;
}

function show_comments_subscribe_form()
{
	$('comment_subscribe_trigger').addClass('hidden');
	$('comment_subscribe').removeClass('hidden');
	$('comment_email').focus();
	return false;
}

function validate_comment_form()
{
	if (!$('comment_author').value.trim().length)
	{
		alert('Пожалуйста, укажите ваше имя.');
		$('comment_author').focus();
		return false;
	}
	
	if (!$('comment_content').value.trim().length)
	{
		alert('Пожалуйста, заполните поле комментария.');
		$('comment_content').focus();
		return false;
	}

	if ($('comment_email').value.trim().length)
	{
		var re = new RegExp("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", "i");
		var email_value = $('comment_email').value.trim();

		if (!re.test(email_value) || email_value.indexOf(' ') != -1)
		{
			alert('В поле "Ваш почтовый адрес" должен содержаться правильный электронный адрес.');
			$('comment_email').focus();
			return false;
		}
	}

	
	return true;
}

function comment_success_message()
{
	alert("Ваш комментарий получен, и будет опубликован после одобрения редактором сайта.");
}

function comment_error_message()
{
	alert("Ваш комментарий получен, и будет опубликован после одобрения редактором сайта. Ответ на ваше сообщение вы получите на ваш эл. адрес.");
}