var user_exists = false;
var check_user_exists = true;
// Проверяет данные перед отправкой
function checkProfile(em) {
	// Получаем данные с формы.

	d_firstname = $('id_firstname').value;
	d_brand = $('id_brand').value;
	d_email = $('id_email').value;
	d_city = $('city').value;
	d_site = $('txt_site').value;


	if(em == d_email) {
		check_user_exists = false;
	}

	// Проверяем введенные данные на ошибки.
	err = new Hash({});
	err.set( 'error_firstname', '' );
	err.set( 'error_brand', '' );
	err.set( 'error_email', '' );
	e = false;


	if ( d_firstname.length == 0 ) {
		err.set('error_firstname','<div class="checker"><span class="check-rollback">Неверное имя пользователя</span></div>');
		e = true;
	}
	if ($('type').value == 1 && d_brand.length == 0 ) {
		err.set('error_brand','<div class="checker"><span class="check-rollback">Не указано название компании</span></div>');
		e = true;
	}

	if ( d_email.length > 0 && !check_email(d_email) ) {
		err.set('error_email' , '<div class="checker"><span class="check-rollback">Неверный E-Mail</span></div>');
		e = true;
	}
	if ( d_city.length == 0 ) {
		err.set('error_city' , '<div class="checker"><span class="check-rollback">Не указан город</span></div>');
		e = true;
	}

	/*
	if( d_site.length > 0 ) {
		!check_site(d_site) && ($('txt_site').value = 'http://' + d_site);
	}
	*/

	// Если надо - проверяем существование пользователя с таким мейлом.
	if ( check_user_exists && (d_email.length > 0) ) {
		check_u_exists( d_email );
		return false;
	}

	if ( user_exists ) {
		err.set('error_email','<div class="checker"><span class="check-rollback">На такой email уже зарегестрирован пользователь</span></div>');
		e = true;
	}
	if(d_email.length==0)
	{
		err.set('error_email','<div class="checker"><span class="check-rollback">Не заполнено поле email</span></div>');
		e = true;
	}
	// В следующий раз тоже проверить существование мейла - вдруг пользователь его поменял?
	check_user_exists = true;
	user_exists = false;

	// Показываем ошибки или очищаем поля ошибок.
	err.each(
		function(pair) {
			$(pair.key).innerHTML = pair.value;
		}
	);

	// Если есть ошибки - не передаем данные серверу.
	if(e) {
		document.getElementById('error_no').scrollIntoView();
	}

	return !e;
	//return false;
}

function ShowHide(div)
{
	if($(div).style.display=='none')
		$(div).style.display='block';
	else
		$(div).style.display='none';
}
function scrollUp()
{
	window.scrollTo(0, 0);
}

function getSelectedIndexOption(oSelect)
{
	try {
		//IE: не всегда возвращает ссылку на объект,
        //если к нему обратиться как oSelect.options[oSelect.selectedIndex]
		return $(oSelect.options[oSelect.selectedIndex].id);
		//oOption = $(sOptionId);
	} catch (e) {
		//
	}
}

function ajax_load()
{
	url = "/rand_baraban/";
	param='';
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
    	http_request = new XMLHttpRequest();
	} else if (window.ActiveXObject) { // IE
    	http_request = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (http_request)
	{
		http_request.onreadystatechange = function()
		{
			if (http_request.readyState == 4)
			{
				if (http_request.status == 200)
				{
					textcame = http_request.responseText;
					if(textcame!="")
					{
							lines = textcame.split("|||");
							$('notice-look-for-fly2').innerHTML =lines[0];
							$('notice-offer-for-fly2').innerHTML = lines[1];
					}
				}
				else
				{
					//alert('There was a problem with the request.');
				}
			}
		}
		http_request.open("POST", url, true);
		http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		http_request.send(param);
	}
}

function add_delete_bookmarks(id,act,user)
{
	if(act=="add")
		url = "/backend/bookmarks/add_bookmark";
	else
		url = "/backend/bookmarks/delete_bookmark";
	param="id="+id+"&user="+user;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
    	http_request = new XMLHttpRequest();
	} else if (window.ActiveXObject) { // IE
    	http_request = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (http_request)
	{
		http_request.onreadystatechange = function()
		{
			if (http_request.readyState == 4)
			{
				if (http_request.status == 200)
				{
					textcame = http_request.responseText;
					if(textcame=="ok")
					{
						if(act=="add")
						{
							document.getElementById('delete-bookmark').style.display='block';
							document.getElementById('delete-bookmark').style.height='auto';
							document.getElementById('save-bookmark').style.display='none';
							document.getElementById('save-bookmark').style.height='1px';
						}
						else
						{
							document.getElementById('save-bookmark').style.display='block';
							document.getElementById('save-bookmark').style.height='auto';
							document.getElementById('delete-bookmark').style.display='none';
							document.getElementById('delete-bookmark').style.height='1px';
						}
					}
				}
				else
				{
					alert('There was a problem with the request.');
				}
			}
		};
		http_request.open("POST", url, true);
		http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		http_request.send(param);
	}
}


// Проверяем E-Mail.
function check_email( email ) {
	emailTest = "^[_\.0-9a-z-]+@([0-9a-z][0-9a-z_-]+\.)+[a-z]{2,4}$";
	var regex = new RegExp( emailTest );
	return ( regex.test(email) );
}

// Проверяем Site.
function check_site( site ) {
	httpTest = /^https?:\/\//
	return httpTest.test( site );
}

// Проверяет существует ли пользователь с таким e-mail'ом.
function check_u_exists( email ) {
	uri = '/backend/registration/user_exist';
	rnd = Math.round(Math.random() * 1000000000);
	params = 'email=' + email + '&rnd=' + rnd;
	ajx = new Ajax.Request(
		uri,
		{method: 'get', parameters: params, onSuccess: back_check_u_exists}
	);
}

function back_check_u_exists(transport) {
	var response = transport.responseText.evalJSON();
	info = response.info[0];
	if ( info.uid > 0 ) {
		user_exists = true;
	} else {
		user_exists = false;
	}
	check_user_exists = false;
	if ( checkProfile(info['email']) ) {
		return document.forms['frmRegistration'].submit();
	}
}

// Проверяет данные перед отправкой feedback.
function checkCallback() {
	e = true;
	// Получаем данные с формы.
	d_email = $('id_mail').value;
	d_name = $('id_name').value;

	 // Проверяем введенные данные на ошибки.
	err = new Array();
	err['error_email']='';
	err['error_name']='';
	e = false;

	if ( (d_email.length == 0) || (!check_email(d_email)) ) {
		err['error_email']='<div class="checker"><span class="check-rollback">Неверный E-Mail</span></div>';
		e = true;
	}
	if ( d_name.length == 0 ) {
		err['error_name']='<div class="checker"><span class="check-rollback">Неверное имя пользователя</span></div>';
		e = true;
	}

	// Показываем ошибки или очищаем поля ошибок.
	for(key in err)
	{
		// 2010-02-19
		if( err.hasOwnProperty(key) ) {
			$(key).innerHTML = err[key];
		}
	}
	// Если есть ошибки - не передаем данные серверу.
	return !e;
}

function delete_geo_adver()
{
	$('cities_advers').innerHTML='';
	$('stored-points').innerHTML='<em class="placeholder">Услуга не привязана к местоположению</em>';
}

function ajax_add_advers_cities(cities)
{
	var rs = new Array();
	rs=cities.match(/(ps*[0-9]+)/ig);
	param='';
	if(rs)
	{
		for(i=0; i<rs.length;i++)
		{
			c=rs[i];
			cc=c.replace(/[^0-9]+/, '');
			param+='<input type="hidden" name="city'+i+'" value="'+cc+'" />';
		}
	}
	$('cities_advers').innerHTML=param;
}

addEvent(window, 'load', add_edit_page);

function add_edit_page()
{
	if ($('at-page'))
	{
		$('at-page-select').onclick=function()
		{
			$('at-page-input').value=$('at-page-select').innerHTML;
			$('at-page').className='show';

			hide('at-page-select');
			show('at-page-form');
			$('at-page-input').focus();
		}

		$('at-page-action').onclick=function()
		{
			var def_num=10;
			var max_num=200;

			$('at-page').className='';

			var num=parseInt($('at-page-input').value);

			if (isNaN(num))	num=def_num;
			if (num<1 || num>max_num)	num=def_num;

			$('at-page-select').innerHTML=num;

			hide('at-page-form');
			show('at-page-select');
		}
	}
}

// Удаляет изображение из формы профиля.
function profile_img_del_rest() {
	img = $('id_img_photo');
	btn = $('id_profile_btn');
	hdn = $('id_delete_photo');
	if ( hdn.value == 0 ) {
		hdn.value = 1;
		hide('id_img_photo');
		btn.value = 'Восстановить';
	} else {
		hdn.value = 0;
		show('id_img_photo');
		btn.value = 'Удалить';
	}

}

