$("html").addClass("js");

var map;

var hideDelayTimer = null;
var showed = false;
var hover_timer;

function loadmap(x,y,zoom, container) {
	
	var point = new google.maps.LatLng(x, y);
	var myOptions = {
    	zoom: zoom,
    	center: point,
    	mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    
    map = new google.maps.Map(document.getElementById(container), myOptions);
}   

function drawpoint(x,y,icon) {
	
	var point = new google.maps.LatLng(x, y);
	var icon = icon ? icon:"/i/icon.png";
	
 	var beachMarker = new google.maps.Marker({
      position: point,
      map: map,
      icon: icon
  	});
}  

var a1;
var a2;

var onAutocompleteSelect = function(value, data) {
   	$("#searchfield").submit();
}
   
jQuery(function() {
    var options = {
    	serviceUrl: '/search/',
      	width: 500,
      	delimiter: /(,|;)\s*/,
      	onSelect: onAutocompleteSelect,
      	deferRequestBy: 0, //miliseconds
      	params: { 
      		autocomplete_search: true
      	},
      	noCache: false //set to true, to disable caching
    };

    a1 = $('#searchfield').autocomplete(options);
    
});

$(document).ready(function() {
	
	/* tab */
	$("#profile_tabs").delegate("li:not(.active) a", "click", function() {
		var number = $("#profile_tabs").find("a").index($(this));
		$("div.tab_content").hide();
		
		$("div.tab_content:eq("+number+")").show();
		$(this).parent().siblings().removeClass("active").end().addClass("active");
		return false;
	});
	
	/* sort */
	$("#sort-block li a").click( function() {
		$("input[name='sort_type']").attr("value",$(this).attr("value"));
 		$("form[id='sort_form']").submit();
 		return false;
	});
	
	/* maps */
	if($("#googlemap").length) {
		$("#googlemap").each( function() {
			var el = $(this);
			var x = parseFloat(el.attr("x"));
			var y = parseFloat(el.attr("y"));
			var zoom = parseInt(el.attr("zoom"));
			zoom = zoom ? zoom:14;
			loadmap(x, y, zoom, el.attr("id"), '');	
			drawpoint(x, y);		
		});
	}
	
	/* new maps + maps marker plugin */
	if($("#newgooglemap").length) {
		$("#newgooglemap").each( function() {
			var el = $(this);
			var x = parseFloat(el.data("x"));
			var y = parseFloat(el.data("y"));
			var zoom = parseInt(el.data("zoom"));
			var icon = el.data("icon");
			
			zoom = zoom ? zoom:14;
			loadmap(x, y, zoom, el.attr("id"));	
			
			drawpoint(x, y, icon);	
				
		});
	}	
	
	$("#online-link").click( function() {
		var el = $(this);
 		var left = el.offset().left + el.width()/2;
 		var top  = el.offset().top + el.height() + 20;
 		
 		$("#info-window").html("<div id=\"info-window-content\"><span id=\"info-window-triangle\"></span>"+$("#info-online-note").text()+"</div>").css({
 			"left": left + "px",
 			"top": top + "px"
 		}).show();
 		
 		$("#info-window").css("left", left - $("#info-window").width()/2 + "px");
 		
		return false;		
	}).mouseout( function() {
		$("#info-window").empty().hide();
	});
	
	/* comments */
 	$(".comment").live("click", function() {
 		//comment-form
 		var el = $(this);
 		var id = 0;
 		var parent = el.parent();
 		var comment_form = $("#comment-form");
 	
 		comment_form.insertAfter(parent).show(); 
 		
 		if(parent.hasClass("actions")) {
 			id = parent.parents("li:eq(0)").attr("id");
 			$("#comment_parent").attr("value", id);
 		}
 		return false;
 	});
 	
 	$("#comments_list").delegate("a.comment_del, a.comment_restore","click", function() {
 		var el = $(this);
 		show_indicator(el, 'del-comment-loader');
 		$.getJSON(el.attr("href"), {
 		}, function(obj) {
 			if(obj.done) {
 				var paragraph = el.parents("li:eq(0)").find("p:eq(0)");
 				var height = paragraph.height();
 				
 				if(obj.done==1) {
 					paragraph.css({
 						"height": height + "px",
 						"line-height": height + "px"
 					});
 				} else {
 					paragraph.css("line-height", "20px");
 				}
 				paragraph.html(obj.response).toggleClass("deleted");
 				
 				
 			} else {
 				// сообщение об ошибке
 			}
 			
 			hide_indicators();
 		});
 		return false;	
 	});
	/* comments end */
	
	
	/* table */
	$(".rooms").delegate("td:not(.with-img)", "mouseover", function() {
		var parent = $(this).parents("table:eq(0)");
		var number = $(this).parents("tr:eq(0)").find("td").index($(this));
		
		$(this).siblings().addClass("light").end().addClass("light active");
		
		var data = parent.find("tr");
		$.each(data, function (key,val) {
			$(val).find("td:eq("+number+")").addClass("light");
		});	
		console.log("1");
	
	}).delegate("td:not(.with-img)", "mouseout", function() {
		var parent = $(this).parents("table:eq(0)");
		var number = $(this).parents("tr:eq(0)").find("td").index($(this));
		
		$(this).siblings().removeClass("light").end().removeClass("light active");
		
		var data = parent.find("tr");
		$.each(data, function (key,val) {
			$(val).find("td:eq("+number+")").removeClass("light");
		});	
	
	});
	
	$(".nonierarchy tr:nth-child(odd)").addClass("odd");
	
	$(".linktable").delegate("td", "click", function() {
		var link = $(this).find("a").attr("href");
		window.location = link;
	});
	
	/* menu */
	$("#menu").delegate(".parent","click", function() {
		$(this).toggleClass("open").parents("li:eq(0)").find("ul").toggle();
	});
	
	/* digit counter */
	var age_min = 0;
	var age_max = 110;
	
	
	$("#age_counter input").live("change", function() {
		var value = parseInt($(this).attr("value"));
		value = value ? value:0;
		var buttons_container = $(this).next();
		
		if(value<age_min) {
			$(this).attr("value", age_min);
			// кнопку мин скрываем
			buttons_container.find("span:first").removeClass("disabled").end().find("span:last").addClass("disabled");
		} else if (value>age_max) {
			$(this).attr("value", age_max);
			// кнопку макс скрываем
			console.log("1");
			buttons_container.find("span:first").addClass("disabled").end().find("span:last").removeClass("disabled");
		} else {
			buttons_container.find("span").removeClass("disabled");
			// открываем все кнопки!
		}
		
	});
	
	$("#age_counter .button").live("click", function() {
		var el = $(this);
		
		if(el.hasClass("disabled")) return false; 
		
		el.addClass("active");
		var parent = el.parents(".counter");
		var field = parent.find("input");
		var value  = parseInt(field.attr("value"));
		value = value ? value:0;
		
		// смотрим на какую кнопку нажали
		var delta = el.next().hasClass("button") ? 1:-1;
		// если была нажата кнопка, и действие произощло, то со всех кнопок надо снять disabled!
		
		value = value + delta;
		
		if(value>age_min && value<age_max) {
			
			field.attr("value", value);
			$("#age_counter").find(".button").removeClass("disabled");
			
		} else el.addClass("disabled");
		
		el.removeClass("active");
		
	});
	
	/* filtr */
	$(".filtr-button").click(function() {
		$(".filtr").toggle();
		return false;
	});
	
	/* modern select */
	$(".select-box").delegate(".select-button", "click", function() {
		$(this).next().toggle().end().toggleClass("selected");
		return false;
	});
	
	/* modern checkbox */
	$(".radio label:not(.checked)").live("click", function() {
		var el = $(this);
		el.siblings().removeClass("checked").end().addClass("checked").parent().find("input:[type='hidden']").attr("value", el.attr("val"));
	});
		
	/* modern checkbox */
	$(".modern-checkbox label").live("click", function() {
		var el = $(this);
		var input = el.prev().prev();
		el.prev().toggleClass("checked");
		input.attr("value", input.attr("value")==1 ? 0:1);
	});

	$(".modern-checkbox span").live("click", function() {
		var el = $(this);
		var input = el.prev();
		el.toggleClass("checked");
		input.attr("value", input.attr("value")==1 ? 0:1);
	});
	
	
	/* email */	
	$(".email").each(function() {
  		var e = $(this).attr("href") + "@" + $(this).text();
  		$(this).text(e);
  		$(this).attr("href", "mailto:" + e);
 	});	
 	
 	/* news */
	$("#news_list span.open, #news_list span.close").click( function() {
		
		var el = $(this);
		var div = el.parents('li').find('div.news_text');
		var el_class = el.hasClass('open') ? 'open':'close'; 
		
		var number = $('#news_list span.'+ el_class).index(this);
		
		el.hide();
		
		if(el_class=='close') {
			div.fadeOut('fast', function() {
				el.parents('li').find('span.open').show();
			});			
		} else {
			div.fadeIn('fast', function() {
				el.parents('li').find('span.close').show();
			});
		}
		
	});
 	
	/* promo tabs */
	$("#promo_tabs").delegate("li:not(.active)", "click", function() {
		var number = $("#promo_tabs li").index($(this));
		$(this).siblings().removeClass("active").end().addClass("active");
		$("#second_promo_content").find("div.active").removeClass("active").end().find("div.second_promo_item:eq("+number+")").addClass("active");
	});
	
 	/* index promo */
	if($("#promo-carousel").length) {
		
		
		var promo_length = $("#promo-carousel-list").find("li").length;
		var promo_item_width = $("#promo-carousel-list").find("li").width() + 0; // margin: 0
		var promo_carousel_width = promo_item_width*promo_length;
		var promo_first_item =  $("#promo-carousel-list li:first"); 
		var promo_last_item =  $("#promo-carousel-list li:last"); 
		
		// запускаем автомат!
		function promo_automat() {
			$("#promo_buttons div.next").trigger("click");
		}
 			
 		var promo_automat_ = setInterval(promo_automat, 6000);
 		var promo_automat_start = true;
 		
 		$("#main-promo").mouseenter( function() {
			clearInterval(promo_automat_);
			var promo_automat_start = false;
		}).mouseleave( function() {
			if(promo_automat_start) clearInterval(promo_automat_);
			promo_automat_ = setInterval(promo_automat, 6000);
		});
	
		$("#main-promo-pager").delegate("li:not(.active)", "click", function() {
			var data = $("#main-promo-pager li");
			var number = data.index(this);
			var active = 0;
			// найдем номер активного элемента
			$.each(data, function (key,val) {
				if($(val).hasClass("active")) active = key;
			});
			
			// Первое что отметим, что при таком способе не попадаем в граничные ситуации!
			// Осталось как то разобратся с параметром number и то, насколько сдвигать
			if(number>active) {
				$("#promo_buttons div.next").trigger("click", number-active);
			} else {
				$("#promo_buttons div.prev").trigger("click", active-number);
			}
			
		});
		
		$("#promo_buttons").delegate("div", "click", function(event, param) {
			var el = $(this);
			var step = param ? param:1;
			
			if(!el.hasClass("disabled")) {
				if(el.hasClass("prev")) {
					var left = parseInt($("#promo-carousel-list").css("left"));
					var number = Math.abs((left / promo_item_width)) - step;
					if(left<0) {
						$("#promo_buttons div").addClass("disabled");
						$("#promo-carousel-list").animate({"left": left+promo_item_width*step+"px"}, "medium", function() {
							$("#promo_buttons div").removeClass("disabled");
							$("#main-promo-pager").find("li").removeClass("active").end().find("li:eq("+number+")").addClass("active");
						});
					} else {
						$("#promo_buttons div").addClass("disabled");
						$("#promo-carousel-list").prepend("<li>"+promo_last_item.html()+"</li>").css("left",-promo_item_width+"px");
						$("#promo-carousel-list").animate({"left": left+"px"}, "slow", function() {
							$("#promo_buttons div").removeClass("disabled");
							$(this).find("li:first").remove().end().css("left",-promo_carousel_width+promo_item_width+"px");
							number = promo_length-1; // переопределили номер на последний
							$("#main-promo-pager").find("li").removeClass("active").end().find("li:eq("+number+")").addClass("active");
						});
					}
				} else if(el.hasClass("next")) {
						var left = parseInt($("#promo-carousel-list").css("left"));
						var number = Math.abs((left / promo_item_width)) + step;
						
						if(-left<promo_carousel_width-promo_item_width) {
							$("#promo_buttons div").addClass("disabled");
							$("#promo-carousel-list").animate({"left": left-promo_item_width*step+"px"}, "medium", function() {
								$("#promo_buttons div").removeClass("disabled");
								$("#main-promo-pager").find("li").removeClass("active").end().find("li:eq("+number+")").addClass("active");
							});
						} else {
							$("#promo_buttons div").addClass("disabled");
							$("#promo-carousel-list").append("<li>"+promo_first_item.html()+"</li>");
							$("#promo-carousel-list").animate({"left": left-promo_item_width+"px"}, "slow", function() {
								$("#promo_buttons div").removeClass("disabled");
								$(this).css("left",0).find("li:last").remove();
								$("#main-promo-pager").find("li").removeClass("active").end().find("li:eq(0)").addClass("active");
							});
						}
				}
			}
			return false;
		});
	
	}
	
	/* week */
	$("#weektop").delegate("li div.fon", "hover", function() {
		$(this).parent().addClass("active").siblings().removeClass("active");
		$("#week_active").html($(this).parent().find('div.hide').html());
	});
	
	/* index consults */
 	if($("#consults-box").length) {
 		$("#consults-box").load("/index/consults/", function() {
 			// запускаем автомат по смене консультантов в левом блоке
 			var id = parseInt($("#current_consult").attr("data-id"));
 				
 			function automat() {
				if($("#consult"+id).length) {
					// сюда-то по идее обязательно попадем
					var item = $("#consult"+id).next();
					if(!item.length) {
						item = $("#consults-box .consultant:first");
					}
					
					id = item.attr("data-id");
					$("#index-block-doctors").find("h6").html("<span></span>"+item.find('h6').text()).
					end().find("#workstatus").html("<span></span>"+item.find('p.doljnost').text()+'<br/>'+item.find('p.stepen').text()).
					end().find("#workplace").html("<span></span>"+item.find('p.about').html());
					
					$("#current_consult").attr("data-id", id);
				}
			}
 			
 			var consults_automat = setInterval(automat, 5000);
 			var consults_automat_start = true;
 			
 			$("#index-block-doctors").hover( function() {
				clearInterval(consults_automat);
				consults_automat_start = false;
			}, function() {
				if(consults_automat_start) clearInterval(consults_automat);
				consults_automat = setInterval(automat, 5000);
			});
			
			var count = $("#consults-box .consultant").length - 1;
			var static_id = parseInt($("#current_static_consult").attr("data-id")); // номер того консультанта, который сейчас в блоке
			
			// show more для другого блока
			var more_numbers = [];
			
 			$("#show-more").click( function() {
 				
 				if(!$(this).hasClass("disabled")) {
 					$(this).addClass("disabled");
 					
 				
 					var number = get_random_number(0, count, more_numbers);
 					more_numbers.push(number);
 				
 					if(more_numbers.length-1==count) {
 						more_numbers = []; // очистилимассив если он заполнился до конца
 					}
 				
					//  выбрали случайное число от 0 до count
					//  главное чтобы не совпало, если совпало до берем следующий, или предыдущий
					var item = $("#consults-box .consultant:eq("+number+")");
					if(item) random_id = item.attr("data-id");
				
					if(random_id==static_id) {
						// выбираем другой итем
						var item_ = item.next();
						if(!item_.length) item = item.prev(); 
						else item = item_;
						// если уперлись в конец, значит возьмем предыдущего  
					}
				
					// все, item определили, делаем дальше.
					if(!item.data("img")) {
						var img = item.find("img");
						item.data("img", img);
					} else {
						var img = item.data("img"); 
					}
				
					$("#current_static_consult").find("h5").html(item.find('h5').html())
					.end().find("#workstatus").html(item.find(".workstatus").html())
					.end().find("#workplace").html(item.find(".workplace").html())
					/*.end().find('.descr div').html(item.find('div').html()) */
					.end().find('.img').empty().append(img)
					.end().attr("data-id", random_id);
					// по идее потом надо сделать так, что бы все эти выборки в data заносились - хотя по идее выборки и так кэшируются
					
					$(this).removeClass("disabled");
 				}
				
 				return false;
 			});
 		});
 		
 	}	
 	
 	/* feedback */
 	if($("#feedback-form-box").length) {
 		$("#feedback-form-box").load("/feedback/form/");
 	}
 	
 	/* registration */
	$("#feedback-link").click(function() {
		fillfon();
		var obj = [];
		obj.done = 1;
		obj.response = $("#feedback-form-box");
		show_dynamic_content(obj, 'local');
		setTimeout( function() { 
  			$("#fname").focus(); 
		} , 30);
		return false;
	});
	
	/* reg accept */
	$("#accept_button").click(function() {
		
		/*
		var params = [];
		var alias = "accept";
 		
 		params["loader_class"] = alias+"-wheel";
 		params["disabled_class"] = alias+"-disabled";
 		params["loader_delta_top"]=$(this).height()/2 - 16;
 		params["loader_delta_left"]=10;
		
		show_indicators($(this), params);
		*/
		$("#accept_result").html("");
 		$.getJSON(
 		$(this).attr("href"),
 		{
 	 		submit_accept: true
 		},
 		function(obj)
 		{
 			$("#accept_result").html(obj.response);
 			hide_indicators();
 		}); 
 		return false;		
	});
 	 	
 	/* faq */
 	if($("#qa-form-box").length) {
 		$("#qa-form-box").load("/qa/form/");
 	}
 	
 	if($("#consultants_list").length) $('#consultants_list').jScrollHorizontalPane({scrollbarHeight:14, scrollbarMargin:0});
 	
 	/* intro */
 	
 	$("#hide-intro, #hide-qa_search").click( function() {
 		$(this).next().toggle().end().parent().toggleClass("closed").end().find('span').toggle();
 		// cookie
 		$.cookie($(this).attr("id")+"_cookie", $(this).next().css('display'), { expires: 100, path: '/'}); 
 		//установить значение cookie
 		return false;
 	});
 	
 	/* qa consults */
 	$("#hide-qa_consults").click( function() {
 		$("#qa_consults_content").toggle();
 		$(this).parent().toggleClass("closed").end().find('span').toggle();
 		// cookie
 		$.cookie($(this).attr("id")+"_cookie", $("#qa_consults_content").css('display'), { expires: 100, path: '/'}); 
 		//установить значение cookie
 		return false;
 	});
 	
 	$("#showall-qa_consults").click( function() {
 		$("#qa_consults").toggleClass("opened");
 		$.cookie($(this).attr("id")+"_cookie", $("#qa_consults").hasClass('opened'), { expires: 100, path: '/'}); 
 		// Если блок скрыт, то раскрываем его
 		if($("#hide-qa_consults").parent().hasClass("closed")) {
 			$("#hide-qa_consults").trigger("click");
 		}
 		$('#consultants_list').jScrollHorizontalPane({scrollbarHeight:14, scrollbarMargin:0});
 		return false;
 	});
 	
 	/* question list */
 	$("#qa_list").delegate(".show-it, .hide-it", "click", function() {
 		/*
 		var parent = $(this).parent();
 		if(parent.hasClass("answer_body")) {
 			// answer
 		} else {
 			// question
 		}
 		*/
 		$(this).parent().find(".hide").toggle().end().end().toggle();
 		$(this).hasClass("show-it") ? $(this).next().css("display","block"):$(this).prev().css("display","block")
 		return false;
 	});
 	
 	/* question info window + dialog load */
 	$("#qa_list, #pqa_list").delegate("a.dialog-link", "hover", function() {
 		/*
 		var el = $(this);
 		var left = el.offset().left + el.width()/2 - $("#info-window").width()/2;
 		var top  = el.offset().top + el.height() + 20;
 		
 		$("#info-window").html("<div id=\"info-window-content\"><span id=\"info-window-triangle\"></span>"+$("#info-dialog-note").text()+"</div>").css({
 			"left": left + "px",
 			"top": top + "px"
 		}).show();
 		*/
 		
 	}).delegate("a.dialog-link", "click", function() {
 		var el = $(this);
 		var href = el.attr("href");
 		var href_arr = href.split("/");
 		var id = parseInt(href_arr[href_arr.length-1]);
 		// Если существует контейнер с вопросом, то просто делаем ему toggle
 		
 		if($("#dialog"+id).length) {
 		
 			$("#dialog"+id).toggle();
 			el.find('span').toggleClass('hide');
 				
 		} else {
 		
 			el.prev().addClass("animated");
 			
    		$.getJSON(
 				href, {}, function(obj) {
 					$("#info-window").hide();
 					el.parents("li").append(obj.response).end().prev().removeClass("animated").end().find('span').toggleClass('hide');
 			}); 
 				
 		}	
 		return false;
 	});
 	
 	
 	/* user actions */
 	/* send to friend */
 	$("#send_to_friend_link").click( function() {
		fillfon();
		var obj = [];
		obj.done = 1;
		obj.response = $("#sf-form-box");
		$("#surl").attr("value", window.location);
		show_dynamic_content(obj, 'local');
		setTimeout( function() { 
  			$("#login").focus(); 
		} , 30); 
		return false;	
 	});
 	
 	/* login */
	$("#login-link, #txt-login-link").click( function() {
		fillfon();
		var obj = [];
		obj.done = 1;
		obj.response = $("#login-form-box");
		show_dynamic_content(obj, 'local');
		setTimeout( function() { 
  			$("#login").focus(); 
		} , 30); 
		return false;
	}); 
	
	/* logout */
	$("#logout").click( function() {
 		$.getJSON(
 		"/ajax/",
 		{
 	 		submit_logout: true
 		},
 		function(obj)
 		{
  			$.cookie("id_user_cookie", null);
  			$.cookie("password_cookie", null);
  			window.location = "/";	
 		}); 
 		return false;
 	});
 	
 	/* remember */
	$("#remember_text_link").click( function() {
		close_dynamic_content();
		var obj = [];
		obj.done = 1;
		obj.response = $("#remember-form-box");
		show_dynamic_content(obj, 'local');
		dynamic_content_resize();
		$("#remlogin").focus();
		return false;
	});
	
	/* registration */
	$("#reg-link, #txt-reg-link").click(function() {
		fillfon();
		var obj = [];
		obj.done = 1;
		obj.response = $("#registration-form-box");
		show_dynamic_content(obj, 'local');
		setTimeout( function() { 
  			$("#rname").focus(); 
		} , 30);
		return false;
	});
	
	/* qa */
	$(window).load(function(){
		if($("#user_code").length) {
			$("#ask_question_top_button").trigger("click");
		}
	});

	/* сделаем так */
	$("#consults_list").delegate("a.ask-question", "click", function() {
		fillfon();
		var obj = [];
		obj.done = 1;
		obj.response = $("#qa-form-box");
		show_dynamic_content(obj, 'local');
		setTimeout( function() { 
  			$("#name").focus(); 
		} , 30);
		
		$("#user_doctor").attr("value", $(this).attr("data-id"));
		
		return false;
	});
	
	$(".ask-question-button, #ask_question_top_button, #ask-question, #ask-question-promo, #ask-question-button").click(function() {

		if(!$("#precontainer").length) {
			fillfon();
		}
		
		var obj = [];
		obj.done = 1;
		obj.response = $("#qa-form-box");
		show_dynamic_content(obj, 'local');
		setTimeout( function() { 
  			$("#name").focus(); 
		} , 30);
		
		// попытка индекс врача прописать
		// если ask-question то в статик блоке ищем id врача
		// если ask-question-button то в динамическом блоке ищем id врача
		var id = $(this).attr("id");
		var user_doctor = 0;
		
		switch(id) {
			case "ask-question-promo":
				user_doctor = 18;
				break;
			case "ask-question":
				user_doctor = $("#current_static_consult").attr("data-id");
				break;
			case "ask-question-button":
				user_doctor = $("#current_consult").attr("data-id");
				break;	
		}
		$("#user_doctor").attr("value", user_doctor);
		
		if($("#user_code").length) {
			$("#code").attr("value", $("#user_code").attr("value"));
			
			if(!$("#dynamic_id").length) {
				
				// подгружаем данные юзера из старого вопроса
				$.getJSON(
 					"/qa/code/"+$("#user_code").attr("value")+"/", {
 				},
 				function(obj) {
 				
 					//$("#qa-form-box").find(".pre-send-order").insertBefore(obj.response);
 					$(obj.response).insertBefore($("#qa-form-box").find("h6"));
 					dynamic_content_resize();
 					
 					// заполняем поля!
 					if(obj.form) {
 						
 						$.each(obj.form, function (key,val) {
 							if($("#"+key).length) $("#"+key).attr("value", val);
 							if(key=='gender') {
 								// сами кнопочки переотмечаем
 								$("#radio_gender label").removeClass("checked");
 								$("#radio_gender label[val='"+val+"']").addClass("checked");
 							}
 						});
 						
 						// и фокус с имени на текст переносим
 						setTimeout( function() { 
  							$("#text").focus(); 
						} , 30);
 					}
 			
 				});
			
			}
		}
		
		return false;
	});
	
	/* закрытие формы */
	
	/* focus fields */
 	if((".form-field").length) {
 		
 		
		var data = $(".form-field");
		$.each(data, function (key,val) {
			if(val.value) $("#"+val.id+"_value").parents('.default-field').hide();
			$(val).blur(); // поля не должны иметь фокус!
		});
 	}
	
 	$(".default-field").live("click", function() {
	 	/*$(this).hide();*/
	 	var id = new String($(this).find('span').attr('id'));
	 	var field = id.replace("_value","");
	 	$("#"+field).focus();
 	});
 
 	$(".form-field").live("focus", function() {

		$(this).removeClass("form-field-notice"); /* for shop */
		var parent = $(this).parents('span');
		if(parent.length) parent.removeClass("form-field-notice"); /* for textarea */
	
		var id = new String($(this).attr('id'));
	
	
		var parent_ = $("#"+id+"_value").parents('.default-field').hide();
		
 	}).live("blur", function() {
		
		if($(this).attr("value")=='') {
			var id = $(this).attr('id');
			var parent = $("#"+id+"_value").parents('.default-field');
		
			if(parent.hasClass('default-field-notice')) {
				
				$(this).addClass("form-field-notice"); /* for shop */
				var span_parent = $(this).parents('span');
				span_parent.addClass("form-field-notice"); /* for textarea */
			}
			parent.show();
		}
		
 	})
 	
 	// апдейт для поля search
 	$(".search-field").bind('keydown keyup change', function() {
 		if($(this).attr("value")) {
 			$(this).parents('form').find('.clear-button').show();
 			// добавляем анимацию - меняем когда автокомплит закончится
 		}
 	});
 	
 	$(".clear-button").click(function() {
 		$(this).parents('form').find('.search-field').attr("value","").trigger('blur').end().end().hide();
 	});
 	
 	/* running string */
 	if($("#running_string")) {
  		
 		setTimeout(function() {
  		
  		var block_width = $("#running_string").width();
  		var ul = $("#running_string").find("ul");
  		ul.show().css("left", parseInt(block_width) + "px");
  		
  		var data = ul.find("li");
  		var width = 0;
  		var length = data.length;
  		
  		$.each(data, function (key,val) {
			width = width + parseInt($(val).width()) +53; //53 - padding
			//alert(width);
		});
		
		//speed это time!!!
		var speed = (25*(width+block_width))/1000;
		
		running(ul, width, speed);
		
		global_width = width;
		global_speed = speed;
		
		ul.hover( function() {
  			jTweener.removeTween($(this));
  		}, function() {
  			// начальная позиция - block_width отнимаем текущее положение и получаем сколько проехали - и отнимаем от всего пути
  			
  			speed = (25*(block_width+width - (block_width - parseInt($(this).css("left")))))/1000;
  			running($(this), width, speed);
  		});
		
  		}, 1000);
  	}
 	
  	
  	/* pregnancy calendar */
  	$(".pr_link").live("click", function() {
  		clicked = $(this);
  	
  		var top = Math.max(($(window).height() - 34)/2,0) + $(window).scrollTop();
 		$("#dynamicloader").css("top",top+"px").html("<div></div>").show();
  		
   		$.getJSON(
 		clicked.attr("href"), {
 	 		show_result: true
 		},
 		function(obj) {
 				$("#dynamic_area").html(obj.response);
 				dynamic_content_resize();
 				document.onkeydown = NavigateThrough;
 				$("#dynamicloader").html("").hide();
 		});	
 		return false;
  	});
  
  	$("#pregnancy").delegate("a", "click" ,function(e) {
  		var clicked = $(this);
  	
  		if(clicked.attr("href")) {
  	
  			fillfon();
  	
  			$.getJSON(
 			clicked.attr("href"), {
 	 			show_result: true
 			},
 			function(obj) {
 				if(obj.done) {
 					show_dynamic_content(obj);
 				}
 			});
  		
 			document.onkeydown = NavigateThrough;
  		}	
  	
  		return false;
  	});	
  	
  	/* всплывающие подсказки */
	
	$("#buble_note").mouseover(function() {
		if(hideDelayTimer) clearTimeout(hideDelayTimer);
	}).mouseout( function() {
		var el =$(this);
		hideDelayTimer = setTimeout(function () {
 			hideDelayTimer = null;
			
 			$("#buble_note").hide();
			showed = false;
		}, 500);		
	});
	
});	

function show_bubble(el, html) {
	var left = -5000;
	var top = -5000;
	var width = $(window).width();
	var container = $("#buble_note");
	
	container.css({
		"left": left + "px", 
		"top": top + "px",
		"display": "block"
	});
	
	$("#buble_note_container").html("<p>"+html+"</p>");
	
	var bubble_width = container.outerWidth();
	var offset = el.offset();
	var left = offset.left-bubble_width/2 + el.width()/2 + 1;
	var top = offset.top-container.outerHeight() - 10 - 8;

	// разбираемся с ориентацией треугольника.. если бабл выходит за край контента, то треугольник имеет левую или правую ориентацию
	if(left<0) {
		// слева
		container.find("#triangle").css("left", "29px");
		left = offset.left - 13;
	}
	if(left+bubble_width>width) {
		container.find("#triangle").css("left", "100%").css("marginLeft", "-29px");
		left = offset.left - bubble_width + 29;
		// справа
	}
	
	$("#buble_note").css({
		"left": left + "px", 
		"top": top + "px"
	}).animate({"top": "+=8px"}, "fast", function() {});
}

function change(key) {
	$("input[name='sort_type']").attr("value",key);
 	$("form[name='items']").submit();
}

var running = function(ul, width, speed) {
	jTweener.addTween(ul, {
		left: -width,
		time: speed,
		transition: "linear",
		onComplete: function() {
			ul.css("left", parseInt($("#running_string").width()) + "px");
			running(ul, global_width, global_speed);			
		}
	});	
}

function loadform(alias)
{
 $('#'+alias).ajaxForm(
 { 
  dataType:  'json', 
  beforeSubmit: function(arr, $form, options) {
  		$(".order_alert").empty().hide();
  		$(".form-field-notice").removeClass("form-field-notice");
  		$(".default-field-notice").removeClass("default-field-notice");
 		
  		// http://jquery.malsup.com/form/#options-object
 		var alias = $form.attr('id');
 		var clicked = $("#"+alias).find(".form_submit");
 		
 		if(clicked.length) {

 			var params = [];
 		
 			params["loader_class"] = alias+"-wheel";
 			params["disabled_class"] = alias+"-disabled";
 			params["loader_delta_top"]=0;
 			params["loader_delta_left"]=0;
 		
 			show_indicators(clicked, params);
 			
 		}
  },
  success: function(data) {
  	
  	hide_indicators();
  	
  	if(data.items) $(data.items).addClass("form-field-notice");
  	if(data.divs) $(data.divs).addClass("default-field-notice");
  	
  	//выводим все алерты
  	if(data.notes) {
  		for(var i in data.notes) {
  			if($("#"+i+"_alert").length) $("#"+i+"_alert").html("<span>"+data.notes[i]+"</span>").show();
  		}
  	} 
  	
  	//dynamic_content_resize();
  	
	if(data.done==1) {
  			$("#formajaxloader").show();
  			setTimeout(function(){window.location = window.location}, 2500);
  	}
  	
  	if(data.done==2) {
  			if(data.link) {
  				setTimeout(function(){window.location = data.link}, 500);
  			} else {
  				setTimeout(function(){window.location = window.location}, 500);
  			}
  	}
  	
  	if(data.done==3) {
  	 		 	 	
  			var pre_height = parseInt($("#pre-send-order").css("height"));
  			
  			$("#pre-send-order").hide();
  			$("#post-send-order").html(data.response);
  			$("#pre-send-order").empty();
  			
  			/*
  			var top = parseInt($(window).scrollTop());
  			var post_height = parseInt($("#post-send-order").css("height"));
  			alert(top);
  			$(window).scrollTop(top+post_height-pre_height);
  			*/
  			
  			dynamic_content_resize();
  	}
  	
  	// for new version of jquery and jquery.form
  	if(data.done==5) {
    	$.getJSON(
 		"/ajax/", {
 	 		show_html_after_form_submit: true,
 	 		type: data.type,
 	 		params: data.params
 		},
 		function(obj) {
 			
 			if(obj.done) {
   			
  				$("#dynamic-content .pre-send-order").hide();
  				$("#dynamic-content .post-send-order").html(obj.response);
  				$("#dynamic-content .pre-send-order").empty();
  			
  				dynamic_content_resize();	
  			
 			}	
 		});		
  	}
  	
  	if(data.done==6) {
  		$.getJSON(
 		"/motherhood/calculator/calculate", {
 	 		show_calculate_results: true,
 	 		params: data.json
 		},
 		function(obj) {
   			$("#inputresults").html(obj.text);
 		});
  	}
  	
  	/* comments */
  	if(data.done==7) {
  		$.getJSON(
 		"/blog/comment/draw/"+data.params.id+"/"+data.params.type+"/", {}, function(obj) {
   			$("#comments-count").text(parseInt($("#comments-count").text())+1);
   			// ищем куда добавить отрисованный комментарий
   			var parent = $("#"+alias).parents("li:eq(0)");
   			if(parent.length) {
   				var branch = parent.find("ul:eq(0)");
   				// Если есть ветка комментов, пихаем в первую, в конец, если нет, создаем
   				if(branch.length) {
   					branch.append(obj.response); 
   				}
   				else {
   					var branch = $("<ul/>").html(obj.response);
   					parent.append(branch);
   				}
   				
   			} else {
   				$("#comments_list").append(obj.response);
   			}
   			$("#comment-form").insertAfter($("#comment_link")).hide();
 		});
  	}
  }
 });	
}

var NavigateThrough  = function(event) {
	if (!document.getElementById) return;
 	if (window.event) event = window.event;
 	var params = '';
 	switch (event.keyCode ? event.keyCode : event.which ? event.which : null) {
  		case 0x27:
  			if ($("#prevlink").length) {
  				$("#prevlink").trigger("click");
  			}  
  			break;
  		case 0x25:
  			if ($("#nextlink").length) {
  				$("#nextlink").trigger("click");
  			}
  		break;
 	}
}

function CountClick(id,link) {
	var url = new String(window.location);
	$.getJSON( '/ajax/', {
		id: id,
  		link: link,
  		url: url,
  		count_clicks: true
	}, function(obj) {
  		window.location=obj.result;
  		//window.open(obj.result);
 	});
	return false;
}
