function openAsModal(e, onOpenCallback, onCloseCallback){
	var bg = $("<div id='bg'/>")
				.css({position:"fixed",
						width:"100%",
						height:"100%",
						top:0, left:0,
						zIndex:99})
				.appendTo("body")
				.click(function(){
					$(".modal").hide().removeClass("modal");
					$(this).remove();
					if (onCloseCallback) onCloseCallback();
				});
	$(e).addClass("modal").show();
	if (onOpenCallback) onOpenCallback();
}

function emailValidate(email) {
	var filter = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	return filter.test(email);
}

var _timers = {}
var _prevvals = {}
$(function(){
	
	/* Если на странице есть форма регистрации */
	if ($("#form-registration").length){
		
		_timers.formRegistration = null;
		
		$("#form-registration .mail").keyup(function(e){
			if (!_prevvals["#form-registration .mail"]) _prevvals["#form-registration .mail"] = '';
			var mail = $(this).val();
			if (_prevvals["#form-registration .mail"] == mail) return false;
			_prevvals["#form-registration .mail"] = mail;
			$("#form-registration .submit").attr({disabled:true})
			$("#emailoccupied").hide();
			if (!emailValidate(mail)) return false;
			if (_timers.formRegistraion) clearTimeout(_timers.formRegistraion);
			_timers.formRegistraion = setTimeout(function(){
				$("#form-registration .mail").addClass("animated");
				$.post("/reg.php", {action:"checkmail", mail:mail}, function(data,status){
					// console.log(data);
					if (data == 1){
						$("#form-registration .submit").attr({disabled:false});
					} else {
						$("#form-registration .submit").attr({disabled:true});
						$("#emailoccupied").show();
					}
					$("#form-registration .mail").removeClass("animated");
				})
			}, 300); 
			// document.title = emailValidate($(this).val())+":"+$(this).val();
		})
	
		$("#form-registration").submit(function(){
			return emailValidate($(".mail", this).val());
		})
	}
	
	/* Если на странице присутствует кнопка "Новая площадка" */
	if ($("#block-new").length){
		
		$("#block-new-preview-button-customize").live("click", function(){
			$("#block-new-inner-form").show();
			$("#block-new-inner-preview").hide();
		});
		
		$("#block-new-preview-button-create").live("click", function(){
			$("#form-block-new-action").val("add");
			$("#form-block-new").unbind('submit').submit();
		});

		$("#block-new").click(function(){
			$("#block-new").addClass("blue");
			openAsModal("#block-new-form-wrapper", null, function(){
				$("#block-new").removeClass("blue");
			});
		});

		$("#form-block-new").submit(function(){
			var x = $(this).ajaxSubmit({
								target: '#block-new-inner-preview',
								success:function(d,s){
									$("#block-new-inner-form").hide();
									$("#block-new-inner-preview").show();
								}
							});
			return false;
		});
	}
	
	/* Настройка площадки */
	if ($("#block-edit").length){
		
		$("#block-edit-preview-button-customize").live("click", function(){
			$("#block-edit-inner-form").show();
			$("#block-edit-inner-preview").hide();
			return false;
		});
		
		$("#block-edit-preview-button-create").live("click", function(){
			$("#form-block-edit-action").val("edit");
			$("#form-block-edit").unbind('submit').submit();
			return false;
		});

		// $("#block-edit").click(function(){
		// 	$("#block-edit").addClass("blue");
		// 	openAsModal("#block-edit-form-wrapper", null, function(){
		// 		$("#block-edit").removeClass("blue");
		// 	});
		// 	return false;
		// });

		$("#block-getcode").click(function(){
			$("#block-getcode").addClass("blue");
			openAsModal("#block-getcode-wrapper", function(){
				$("#block-code").get(0).focus();
				$("#block-code").get(0).select();
			}, function(){
				$("#block-getcode").removeClass("blue");
			});
			return false;
		});

		$("#form-block-edit").submit(function(){
			var x = $(this).ajaxSubmit({
								target: '#block-edit-inner-preview',
								success:function(d,s){
									$("#block-edit-inner-form").hide();
									$("#block-edit-inner-preview").show();
								}
							});
			return false;
		});
		
		var _bnetimeout;
		$("#block-name").live("keyup", function(e){
			// if (!_prevvals["block-name"]) _prevvals["block-name"] = '';
			// Только в случае если редактирование, а не создание
			// проверка - поле action
			if ($(this).parents("form").find("#form-block-edit-action").val() != 'preview') return ;
			var self = this;
			if (_bnetimeout) {
				clearTimeout(_bnetimeout);
				$(this).removeClass("animated");
			};
			if ($(this).val().length>0){
				$(this).addClass("animated");
				_bnetimeout = setTimeout(function(){
					$.post("/block.php",{name:$(self).val(), bid:$(self).parents("form").find("#bid").val(), action:'editname'}, function(data, status){
						$(self).removeClass("animated");
						console.log(data);
					});
				},400);
			}
		});
	}

	/* Форма авторизации */

	if ($("#form-login").length){
		$("#profile").click(function(){
			$(this).addClass("blue");
			openAsModal(".login-form", null, function (){
				$("#profile").removeClass("blue");
			});
			return false;
		});
		$("#form-login-login, #form-recovery-login").keyup(function(e){
			if (!_prevvals["form-login-login"]) _prevvals["form-login-login"] = '';
			var mail = $(this).val();
			$("#form-login-login, #form-recovery-login").val(mail);
			if (_prevvals["form-login-login"] == mail) return false;
			_prevvals["form-login-login"] = mail;
			$("#form-login .submit, #form-password-recovery .submit").attr({disabled:true})
			$("#emailoccupied").hide();
			if (!emailValidate(mail)) return false;
			$("#form-password-recovery .submit").attr({disabled:false});
			if ($("#form-login input[type=password]").val()=='' || $("#form-login input[type=password]").val()=='Пароль') return false;
			$("#form-login .submit").attr({disabled:false});
		});
		$("#form-login input[type=password]").keyup(function(e){
			// alert('hello');
			var mail = $("#form-login-login").val();
			$("#form-login .submit").attr({disabled:true})
			if (!emailValidate(mail)) return false;
			if ($("#form-login input[type=password]").val()=='' || $("#form-login input[type=password]").val()=='Пароль') return false;
			$("#form-login .submit").attr({disabled:false});
		});
		// $("#form-recovery-login").keyup(function(e){
		// 	$("#form-login-login").keyup(e);
		// });
		// $("#form-recovery-login").keyup(function(e){
		// 	if (!_prevvals["form-recovery-login"]) _prevvals["form-recovery-login"] = '';
		// 	var mail = $(this).val();
		// 	if (_prevvals["form-recovery-login"] == mail) return false;
		// 	_prevvals["form-recovery-login"] = mail;
		// 	$("#form-password-recovery .submit").attr({disabled:true});
		// 	// if (!emailValidate(mail)) return false;
		// 	return false;
		// 	$("#form-password-recovery .submit").attr({disabled:false});
		// });
		
		$("#form-login").submit(function(){
			var t = emailValidate($("#form-login-login", this).val()) && $("#form-login .submit").attr("disabled")==false;
			return t;
		});
		
		$("#form-password-recovery").submit(function(){
			var self = this;
			$("img", self).show();
			$(this).find(":submit").attr({disabled:true});
			$.post("/auth.php", {
					mail:$(this).find('#form-recovery-login').val(),
					action:"recovery"
				}, function(data){
					$("img", self).hide();
					$(".login-form").addClass("recovered");
					$(".textSend").show();
					setTimeout(function(){
						$(".textSend").hide();
						$(".login-form").removeClass("recovered recovery");
						$(self).find(":submit").attr({disabled:false});
					}, 2000);
				})
			return false;
		});
		$("#forget-password-link").click(function(){
			$(this).parents(".login-form").addClass("recovery");
			return false;
		});
		$("#remember-password-link").click(function(){
			$(this).parents(".recovery").removeClass("recovery");
			return false;
		});
	}
	
	if ($("#form-logout").length){
		$("#profile")
			.removeClass("border-bottom")
			.click(function(){
				$("#form-logout").submit();
				return false;
			});
	}
	
	/* select-city */

	$("#select-city").live("click", function(){
		$(this).addClass("blue");
		openAsModal(".select-city-wrapper",function(){
							$(".select-city-name").focus();
						},
						function(){
							$("#select-city").removeClass("blue");
						}
		);
		return false;
	});

	
	$("#youhere").live("click", function(){
		$(this).addClass("blue");
		openAsModal(".select-city-wrapper",function(){
							$(".select-city-name").focus();
						},
						function(){
							$("#youhere").removeClass("blue");
						}
		);
		return false;
	});
	
	var _sctimeout;
	$(".select-city-name").bind("keyup",function(e){
		if (e.type=='keyup' && e.keyCode == 13) {
			$("#select-city-select-button:enabled").click();
			return ;
		}
		var self = this;
		if (_sctimeout) {
			clearTimeout(_sctimeout);
			$(".select-city-name").removeClass("animated");
		};
		if ($(this).val().length>0){
			$(".select-city-name").addClass("animated");
			_sctimeout = setTimeout(function(){
				$.get("/city.php",{q:$(self).val()}, function(data, status){
					$(self).next().html(data);
					if ($(".select-city-name-list option").length == 1) {
						$(".select-city-name-list option").attr("selected", "selected");
					}						
					$(".select-city-name-list").change();
					$(".select-city-name").removeClass("animated");
				});
			},400);
		}
	});
	
	$(".select-city-name-list")
		.change(function(){
			if (!$(".select-city-name-list option:selected").length){
				$("#select-city-select-button").attr("disabled", "true");
			} else {
				$("#select-city-select-button").removeAttr("disabled");
			}
		})
		.dblclick(function(){
			$("#select-city-select-button").click();
		});

	// $("#select-city-select-button").click(function(){
	// 	$.post("/user.php", {action:"setcitymanual", cityid:$(".select-city-name-list").val()}, function(data){
	// 		$("#bg").click();
	// 		// console.log(window.location);
	// 		window.location.reload();
	// 	});
	// });


	$("#block-bg-n-color").click(function(){
		$("#preview-pane").slideToggle();
		return false;
	});	

	$(".select-city-close a").click(function(){
		$("#bg").click();
	});
	
	$("a.radius").click(function(){
		var self = this;
		$.post("/user.php", {action:"setradius", "radius":$(this).attr("rel")}, function(data){
			$('#cities').html($('#cities', data));
			$("a.radius").removeClass("radius-active");
			$(self).addClass("radius-active");
		});
		return false;
	});
	
	$("a.population").click(function(){
		var self = this;
		$.get($(this).attr("href"), function(data){
			$('#anothercity-search-results').html($('#anothercity-search-results', data));
			$("a.population").removeClass("radius-active");
			$(self).addClass("radius-active");
		});
		return false;
	});
	
	$(".mark").click(function(){
		if ($(this).hasClass("marked")){
			$(this).removeClass("marked");
			$.post("/block.php", {action:"unmark", bid:$(this).attr('rel')}, function(data){
				// console.log(data);
				var cdata = data!=0?data:'';
				$(".selected-sites sup").text(cdata);
			});
		} else {
			$(this).addClass("marked");
			$.post("/block.php", {action:"mark", bid:$(this).attr('rel')}, function(data){
				// console.log(data);
				var cdata = data!=0?data:'';	
				$(".selected-sites sup").text(cdata);
			});
		}
		return false;
	})
	
	/* Если на странице выводятся линейки площадок */
	if ($(".blocks-container").length){
		$(".name")
		.each(function(){
			var self = this;
			if ($(this).width() == 300){
				$(".gradient", this).show();
			}
			var adp = $(this).next().find("li").length?20:10;
			$(this).next().css({"padding-left":($(this).innerWidth()+adp)+"px"});
			if ($(this).next().find("li").length>3){
				$(this).prev().css({left:$(this).innerWidth(), display:"block"});
			}
		})

	}
	
	
	
})


