$(document).ready(function() {
	/* error */
	if($("#error404").length) {
		$("<img/>").bind("load", function() {
			$("#error404").addClass("loaded");
			$("#tomain").addClass("with_bullit");
		}).attr("src","/i/404.jpg");
	}
	
	/* index banners */
	if($("#banners").length) {

 		var number = 0;
 		var number_ = 1;
 		var count = $("#banners").find('div.banner-box').length;
 		var speed = 500;
 		var fade_speed = 5000;
 		
 		// banners_#banners 
 		var data = $("div.banner-box");
  		var max = 0;
  		var i = 0;
  		$.each(data, function (key,val) {
  				max = Math.max(max, $(val).height());
  				if(i) $(val).hide().css("left",0);
  				i++;
  		});
	
		$("#banners_").css("height",max + "px");
 		
 		if(count>1) {
 			//запускаем если есть что запускать
 	 	
 		function automat() {
 			$("#indicator div").stop().css('width',0);
 			$("#indicator div").animate({"width": "100%"}, fade_speed, 'linear');
 			
 			$("#banners_pager img:eq("+number_+")").attr('src','/i/action_active.jpg').addClass('active');
 			$("#banners_pager img:eq("+number+")").attr('src','/i/action_dis.jpg').removeClass('active');
 	
 			
 			$("#banners div.banner-box:eq("+number+")").fadeOut(speed);
 			$("#banners div.banner-box:eq("+number_+")").fadeIn(speed, function() {
 				
 				number++;
 				number_++;
 	
 				if(number==count) number = 0;
 				if(number_==count) number_ = 0; 
 								
 			
 			});
 		}

 		var id = setInterval(automat, fade_speed);
 		$("#indicator div").animate({"width": "100%"}, fade_speed, 'linear');
 		
 		$("#banners_pager img").click( function() {
 			var el = $(this);
 			
 			if(!el.hasClass('active') && !el.hasClass('dis_tmp')) {
 				$("#banners_pager img").addClass('dis_tmp');
 				
 				var number__ = $('#banners_pager img').index(el);
 				
 				$("#banners_pager img.active").attr('src','/i/action_dis.jpg').removeClass('active');
 				el.attr('src','/i/action_active.jpg').addClass('active');
 			
 				
 				clearInterval(id);
 				$("#indicator div").stop();
 				$("#indicator div").stop().css('width',0);
 				
 				id = setInterval(automat, fade_speed);
 				$("#indicator div").animate({"width": "100%"}, fade_speed, 'linear')
 				//$("#banners div.banner-box").stop(); // stop fade
 			
 				
 				
 				$("#banners div.banner-box:eq("+number+")").fadeOut(speed, function() {
 				});
 			
 				$("#banners div.banner-box:eq("+number_+")").fadeOut(speed, function() {
 				});
 				
 				
 				$("#banners div.banner-box:eq("+number__+")").fadeIn(speed, function() {
 					
 					number = number__;
 					number_ = (number+1==count) ? 0:number+1;
 				

 					$("#banners_pager img").removeClass('dis_tmp');	
	 			});
 			
 			}
 		});
 		
 		$("#banners_").hover( function() {
 			clearInterval(id);
 			$("#indicator div").stop().css('width',0);
 		}, function() {
 			id = setInterval(automat, fade_speed);
 			$("#indicator div").animate({"width": "100%"}, fade_speed, 'linear')
 		});
 		
 		}
 		
 	}
	
	
	/* factory */
	if($("#factory-map").length) {
		var top = $("#pot").offset().top - 1;
		$("#gallery_decor_right_fabrique").css({
			"top": top + "px",
			"visibility": "visible"
		});
	}
	
	/* google map */
	
	/* опускаем горшки */
	if($("#map_frame").length) {
		var top_map = $("#map_frame").offset().top+329;
		
		$("#gallery_decor_right").css("top",top_map+ "px");
		$("#gallery_decor_left").css("top",top_map+ "px");
	}
	
	$("<img/>").bind("load", function() {
			$("#map_frame div.corner").css("visibility","visible");
	}).attr("src","/i/map_container.png");
	
	$("#gmap_points, #map_source").click( function(e) {
		var clicked = $(e.target);
		var flag = false;
		
		if(clicked.hasClass('hand')) {
			flag = true;
			var number = $('#gmap_points .hand').index(clicked);
			number = Math.floor(number/2);
			var number_= Math.floor($('#gmap_points .pnum').index(clicked)/2);
		} else {
			var parent = clicked.parents('div.hand');
			if(parent.length) {
				flag = true;
				var number = $('#map_source .hand span').index(clicked);
				var number_= $('#map_source .pnum span').index(clicked);
				
			}
		}
		
		//alert(number_);
		
		if(flag) {

			
			$("#gmap_points .selected").removeClass('selected').addClass('hand_tmp');
			$("#map_source .active").removeClass('active').addClass('hand_tmp');
			
			var address = $("#gmap_points span.hand:eq("+number+")").text();
			
			
			$("#gmap_points dt.hand:eq("+number+")").removeClass('hand').addClass('selected');
			$("#gmap_points span.hand:eq("+number+")").removeClass('hand').addClass('selected');
			$("#map_source .hand:eq("+number+")").removeClass('hand').addClass('active');
			
			// возвращаем hand.
			$("#gmap_points .hand_tmp").removeClass('hand_tmp').addClass('hand');
			$("#map_source .hand_tmp").removeClass('hand_tmp').addClass('hand');
			
			$("#address span span").text(address);
			// ie fix
			if(($.browser.msie && $.browser.version=='6.0') || ($.browser.msie && $.browser.version=='7.0')) {
			
				var el = $("#address").find('span');
				var width = Math.round(el.width()/4);
				el.css({"margin-left":"-"+width+"px"}); 	
			
			}
			
			loadmap_partner('big_map', number_);
			
			// прокрутка
			var frame_top = $("#map_frame").offset().top + 350;
			var top =$(window).scrollTop();
			var height =  $(window).height();
			// 275 - пол экрана примерно
			if(top+height < frame_top) {
				
				var scroll = height - frame_top + 250 + top; // на сколько щас торчит
				scroll = $("#map_frame").height() - scroll + top; 
				
				if($.browser.webkit){ $("body").animate({ scrollTop: scroll }, 'fast'); }
				else { $("html").animate({ scrollTop: scroll }, 'fast'); }	
			}
			
		}	
	});
	
	/* action big img preload */
	if($("#action_id").length) {
		var actionsrc = $("#actionsrc").attr("src");
		

		$("<img/>").bind("load", function() {
			$("#actionbox").css("visibility","visible");
		}).attr("src",actionsrc);
	}
	
	/* cat_id illustration preload */
	if($("#illbox").length) {
		var illsrc = $("#illsrc").attr("src");
		
		$("<img/>").bind("load", function() {
			$("#illbox").css("visibility","visible");
		}).attr("src",illsrc);
	}
	
	/* cat id ctrl navy*/
	$("#nextlink, #prevlink").click( function() {
		$.cookie("catlink_cookie", $(window).scrollTop(), { expires: 100, path: '/'}); //установить значение cookie
	});
	
	if($("#illsrc").length) {
		//alert($.cookie("catlink_cookie"));
		
		if($.cookie("catlink_cookie")) {
			
			if($.browser.webkit){ $("body").animate({ scrollTop: $.cookie("catlink_cookie") }, 0); }
			else { $("html").animate({ scrollTop: $.cookie("catlink_cookie") }, 0); }	
		}
	} else {
		if($('body.inner').length) {
			var catlink_cookie = $.cookie("catlink_cookie")
			if(catlink_cookie) $.cookie("catlink_cookie", null);
		}
	}
	
	if($("#nextlink").length) {
 		document.onkeydown = NavigateThrough;
	}
	
	if($("#prevlink").length) {
 		document.onkeydown = NavigateThrough;
	}
	
	/* points */
	$("#ill").click( function(e) {
		var el = $(e.target);
		
		if(el.hasClass('point') && !el.hasClass('clicked')) {
			
			$("#ill .point").removeClass("clicked");
			$("#point_text").empty().css("visibility","hidden");
			
			el.addClass("clicked");
			
			var ill_height =$("#ill").height();
			var ill_width = $("#ill").width();
			var el_left = parseInt(el.css('left'));
			var el_top =  parseInt(el.css('top'));
			
			$.getJSON(
 			"/catalogue/point/"+el.attr('num')+"/", {
 					show_point: true
 			},
 			function(obj) {
 				//$("#ill .point:not(.clicked)").css("z-index","1");
 				$("#point_text").html(obj.response);
 				var left = 0;
 				var top = 0;
 				var height = $("#point_text").height();
 				// 380 - width 
 				if(el_left+380 > ill_width) {
 					left = el_left - 380;
 				} else {
 					left = el_left;
 				}
 				
 				if(height+el_top>ill_height) {
 					top = el_top - height
 				} else {
 					top = el_top
 				}
 				
 				top = top + 15;
 				left = left + 15;
 				
 				$("#point_text").css({
 					"visibility":"visible",
 					"top": top + "px",
 					"left": left + "px"
 				});
 					
 			});
		} else {
			$("#point_text").css("visibility","hidden");
			$("#ill .point").removeClass("clicked");
		}
	})
	
	$("#close, #bigimgfon").live("click", function() {
 			$("#bigimgfon").hide();
 			$("#bigimg").empty().hide();
 			$("#formajaxloader").hide();
  			$("#disabled").hide();			
			return false;	
	});
	
    $("#close, #bigimgfon, #bigimg").live("click", function(e) {
    	var clicked = $(e.target);
    	var parent = clicked.parents(".active_area");
    	
    	if(!parent.length) {
 			$("#bigimgfon").hide();
 			$("#bigimg").empty().hide();
 			$("#formajaxloader").hide();
  			$("#disabled").hide();	
  		
  			/*
  			$("#fixed_box").removeClass("container-content-fixed").css({
  				"margin-top": "0",
  				"width": "100%"
  			});
  			*/
  			return false;	
    	}
    	
	});		
	
	/* sale */
	if($("a[rel='salebox']").length){
		$('a[rel="salebox"]').click( function() {
			fillfon();
			
			$.getJSON(
 			$(this).attr("href"), {
 				show_sale: true
 			},
 			function(obj) {
 				show_dynamic_content(obj);
 			});
			return false;
		});
	}
	
	
	$.preloadImages("/i/ruble_hover.png");
	
	
	/* dinner */
	$("#more_dinner #show").click( function() {
		var el = $(this);
		el.hide();
		$("#dinner_list_additional").fadeIn('slow', function() {
				$("#more_dinner #hide").fadeIn();
		});		
		
		return false;
	});
	
	$("#more_dinner #hide").click( function() {
		var el = $(this);
		el.hide();
		$("#dinner_list_additional").fadeOut('slow', function() {
				$("#more_dinner #show").fadeIn();
		});		
		
		return false;
	});
	
	if($("a[rel='colorbox']").length){
		$('a[rel="colorbox"]').colorbox({
			"opacity": "0.7",
			"loop": false
			/*
			onOpen:function(){ $('body').addClass('overflow'); },
			onClosed:function(){ $('body').removeClass('overflow'); }
			*/
		});
	}
	
	if($("a[rel='colorbox2']").length){
		$('a[rel="colorbox2"]').colorbox({
			"opacity": "0.7",
			"loop": false
			/*
			onOpen:function(){ $('body').addClass('overflow'); },
			onClosed:function(){ $('body').removeClass('overflow'); }
			*/
		});
	}
	
	/* service */
	$(".service_button").click( function() {
		var header = $(this).parents('h3');
		var number = $('.service_button').index(this);
		
		if(header.hasClass('open')) {
			$('div.service_box:eq('+number+')').fadeOut('fast', function() {
				header.removeClass("open");
				
			});			
		} else {
			$('div.service_box:eq('+number+')').fadeIn('fast', function() {
				header.addClass("open");
			});
		}
		return false;
	});
	
	/* gmap and actions */
	$(".points_button").click( function() {
		var header = $(this).parents('h3');
		var number = $('.points_button').index(this);
		
		if(header.hasClass('open')) {
			$('ul.addr_points:eq('+number+')').fadeOut('fast', function() {
				header.removeClass("open");
				
			});			
		} else {
			$('ul.addr_points:eq('+number+')').fadeIn('fast', function() {
				header.addClass("open");
			});
		}
		return false;
	});
	
	/* email */	
	$(".email").each(function() {
  		var e = $(this).attr("href") + "@" + $(this).text();
  		$(this).text(e);
  		$(this).attr("href", "mailto:" + e);
 	});	

 	/* ie gallery title fix */
	if(($.browser.msie && $.browser.version=='6.0') || ($.browser.msie && $.browser.version=='7.0')) {
		if($('#carousel').length) {
			
			var data = $("#photos li");
			$.each(data, function (key,val) {
				var el = $(val).find('span');
				var width = Math.round(el.width()/4);
				el.css({"margin-left":"-"+width+"px"});
			});
		}
	}
	
	
	if($('#carousel').length) $('#carousel').glebsn_carousel();
	
	//if($("body.index").length) {
		//$.preloadImages("/i/fence_right.png", "/i/fence_left.png", "/i/pot_right.png", "/i/pot_left.png");
		
		$("<img/>").bind("load", function() {
			$("<img/>").bind("load", function() {
				$("<img/>").bind("load", function() {
					$("<img/>").bind("load", function() {
						
						$("#gallery_decor_right").css("visibility","visible");
						$("#gallery_decor_left").css("visibility","visible");
						
						
					}).attr("src","/i/fence_right.png");
				}).attr("src","/i/fence_left.png");
			}).attr("src","/i/pot_right.png");
		}).attr("src","/i/pot_left.png");
	//}
	
	
	// index map
	
	var point_flag = false;
	
	$(".point").hover( function() {
		var el = $(this);
		$("#point_box").html(el.html()).css({
			"left": el.css('left'),
			"top": el.css('top')
		}).show();
		//$("#point_box").click();
		
		//el.find('p').css({"visibility":"visible"});
	}, function() {
		//if(!point_flag) 
		//$(this).find('p').css({"visibility":"hidden"});
	});
	
	$("#point_box p:not(.corner)").live("mouseleave", function() {
		$("#point_box").hide().empty();
	});
	
	/* 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();
		});
 	}
	
 	/* 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();
		});
 	}
	
 	$(".default-field").live("click", function() {
	 /*$(this).hide();*/
	 if(!$(this).hasClass('default-field-readonly')) {
		var id = new String($(this).find('span').attr('id'));
	 	var field = id.replace("_value","");
	 	$("#"+field).focus();
	 }
 	});
 
 	$(".form-field").live("focus", function() {
 		if(!$(this).hasClass('readonly')) {
	
 			$(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();
 		} else {
 			$(this).blur();
 		}
		
 	}).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();
		}
 	});
	
});

jQuery.preloadImages = function() {
   $.each (arguments,function (e) {
       $("<img>").attr("src", this);
   });
}

var onBodyresize = function() {
	if($("#dynamic-content").length) {
		var content_height= ($.browser.msie && $.browser.version=='6.0') ? $("#container-content").height():$(window).height();
		var width =  $(window).width();
		/*
		$("#fixed_box").addClass("container-content-fixed").css({
			"width": width + "px",
			"height": content_height + "px"
		});
		*/
		
		$("#bigimgfon").css("height",content_height+"px");
		
		//
 		var height = $("#dynamic-content").height();
 	
 		if(height < $(window).height()) {
 		var delta = -(height - $(window).height()) / 2;
 			$("#bigimg").css("height", content_height + "px");
 			$("#dynamic-content").css("top", delta + "px"); 
 		}	
 		
	}
	
}

var show_dynamic_content = function(obj) {
 	var top =$(window).scrollTop();
 	var width =  $(window).width();
 	var height =  $(window).height();
 	var content_height= ($.browser.msie && $.browser.version=='6.0') ? $("#container-content").height():$(window).height();	

 	/*
 	$("#fixed_box").addClass("container-content-fixed").css({
		"margin-top": "-"+top+"px",
		"width": width + "px",
		"height": content_height+"px"
	});
	
	$("#container-content").addClass("container-content-fixed").css({
		"height": content_height+"px",
		"margin-top": "-"+top+"px",
		"width": width + "px"
	});
	var height_  = $("#container-content").height();
	
	$("#container-foot").css({"top": height_ + "px"});
	*/
	
	
	/* "height": content_height + "px" */
	
	$("#bigimg").html(obj.response).find("#dynamic-content").addClass("hidden_tmp");	


	if (!($.browser.msie && $.browser.version=='6.0')) {
 		$(window).scrollTop(0);
	}

 	$("#dynamicloader").hide();
 	$("#bigimg").show();
 	

 	if ($.browser.msie && $.browser.version=='6.0') {
 		var global_height = $(document).height() + top;
 		$("#bigimgfon").css("height",global_height+"px");
 		$("#bigimg").css({"top": top+"px"});
 	}
 	
 	
 	//
 	var height = $("#dynamic-content").height();
 	
 	if(height < $(window).height()) {
 		var delta = -(height - $(window).height()) / 2;
 		$("#bigimg").css("height", content_height + "px");
 		$("#dynamic-content").animate({"top": delta + "px"}, "fast", "linear"); 
 	}
}

	
var fillfon = function() {
	var height= ($.browser.msie && $.browser.version=='6.0') ? $("#container-content").height():$(window).height();	
 	var width = $("#container-content").width();	
 	
 	
 	$("#bigimgfon").css( {
 		width: "100%",
   		height:height+"px"
 	}).addClass("fixed_layout").show();
 	
 	var top = Math.max(($(window).height() - 34)/2,0) + $(window).scrollTop();
 	$("#dynamicloader").css("top",top+"px").html("<div></div>").show();
}

function NavigateThrough (event) {
	if (!document.getElementById) return;
	if (window.event) event = window.event;
	if (event.ctrlKey) {
		var link = null;
		var href = null;
		switch (event.keyCode ? event.keyCode : event.which ? event.which : null)
		{
			case 0x27:
				var linkNext = $("#nextlink").attr('href');
				href = linkNext;
   				break;			
			case 0x25:
			var linkPrev = $("#prevlink").attr('href');
			   	href = linkPrev;
   				break;
		}
		
		 if ( href ) {
		 	document.location = href;
		 	$.cookie("catlink_cookie", $(window).scrollTop(), { expires: 1, path: '/'}); //установить значение cookie
		 }
	}			
}

function loadform(alias)
{
 $('#'+alias).ajaxForm(
 { 
  dataType:  'json', 
  beforeSubmit: function(data){
  		$("div.order_alert").empty();
  		$(".form-field-notice").removeClass("form-field-notice");
  		$(".default-field-notice").removeClass("default-field-notice");
 		
 		var clicked = $("#submit_data");
 		
 		var offset =  clicked.offset();
 		
 		var left_delta = 170;
 		var top_delta = 13;
 		
 		var top = offset.top;
 		var left = offset.left;
 		
 		var dis_top = top - 1;
 		var dis_left = left - 1;
 		
 		//тут можно на ширину и высоту нажимаемой кнопки сдвигать, так и сделаем! - потом!
 		var loader_top = top + top_delta;
 		var loader_left = left + left_delta;
 		
 		$("#disabled").css({
 			"top": dis_top+"px",
 			"left": dis_left+"px"
 		}).show();
 		
 		 		
 		$("#formajaxloader").css({
 			"top": loader_top+"px",
 			"left": loader_left+"px"
 		}).show();
 		
  },
  success: function(data) {
  	$("#formajaxloader").hide();
  	$("#disabled").hide();
  	
  	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>");
  		}
  	}  	
  	
  	switch(data.done) {
  		case -2:
  			if(data.show_forget) $("#forget").show();
  			break
  		case 2:
  		  	setTimeout(function(){window.location = data.link}, 500);
  			$("#formajaxloader").show();
  		  	break;
  		case 1:
  			var top = parseInt($("#formajaxloader").css("top")) + 20;
  		  	$("#formajaxloader").css("top",top+"px").show();
  			setTimeout(function(){window.location = window.location}, 1000);
  		  	break;
  		case 3:
  	
  			var pre_height = parseInt($("#pre-send").css("height"));
  			
  			$("#pre-send").hide();
  			$("#post-send-order").html(data.response);
  			
  			var top = parseInt($(window).scrollTop());
  			var post_height = parseInt($("#post-send-order").css("height"));
  			
  			$(window).scrollTop(top+post_height-pre_height);
 
  		  	break;
  		case -1:
  		  	$("#login-info").animate({height: "145px"},'slow');
  			$("#loginnote").html(data.text).animate({"opacity": "100", "height": "20px"},'slow');
  		  	break;
  		default:
  			break;
  	}
  }
 });
}
