$(document).ready(function() {
	$(window).resize(function(){
		onBodyresize();
	});
});

/* ver 1.0 */

/* 

bugs:
background in body

*/


ie6 = ($.browser.msie && $.browser.version=='6.0');	
page_type = 'ribbon'; /*'ribbon'; */
close_dynamic_box = '<div id=\"close_dynamic\" class=\"block\"></div>';
dynamic_carcas_mode = 'light'; /* decored */
dynamic_carcas = dynamic_carcas_mode=='light' ? 
"<div class=\"dynamic-content\" id=\"dynamic-content\"><div id=\"dynamic_area\"></div></div>"
:
"<div class=\"dynamic-content\" id=\"dynamic-content\"><div id=\"dynamic_content_top\"><div id=\"dynamic_content_top_left\"></div><div id=\"dynamic_content_top_right\"></div></div><div id=\"dynamic_area\"></div><div id=\"dynamic_content_bottom\"><div id=\"dynamic_content_bottom_left\"></div><div id=\"dynamic_content_bottom_right\"></div></div></div>";


$(document).ready(function() {
 	$("#bigimg").live("click", function(e) {
		var clicked = $(e.target);
		
		if(clicked.hasClass("bigimg")) {
			close_dynamic();
		}

	});	
	
	$("#close_dynamic, .close_dynamic").live("click", function(e) {
			close_dynamic();
	});	
});

var show_indicators = function(el,params) {
	var offset =  el.offset();
	var top = offset.top;
 	var left = offset.left;
		
 	if(params["loader_class"]) $("#formajaxloader").addClass(params["loader_class"]);
	if(params["disabled_class"])$("#disabled").addClass(params["disabled_class"]);
		
	$("#disabled").css({
 		"top": top+"px",
 		"left": left+"px",
 		"width": el.width()+"px",
 		"height": el.height()+"px"
 	}).show();
 		
 	top = offset.top + params["loader_delta_top"];
 	left = offset.left + el.width() + params["loader_delta_left"];
		
	$("#formajaxloader").css({
 		"top": top+"px",
 		"left": left+"px"
 	}).show();
}

var hide_indicators = function() {
	$("#formajaxloader").hide();
 	$("#disabled").hide();
}

var close_dynamic = function() {
		// счетчики показываем!
		$("#counters").show(); 
	
 		$("#bigimgfon").hide().removeClass('fixed_layout');
 		
 		// пытаемся найти статический шаблон, чтобы вернуть его обратно в хранилище
 		var template = $("#bigimg").find(".static_template");
 		
 		if(template.length) {
 			$("#templates_boxes").append(template);
 		}
 		
 		// подумать потом как лучше удалять эту кнопку
 		$("#close_dynamic").remove(); 
 		$("#bigimg").css("height","auto").empty().hide();
 		
 		$("#formajaxloader").hide();
  		$("#disabled").hide();	
  		
  		if(!ie6) {
  			var scroll = -parseInt($("#container-content").css("margin-top"));
  			$("#precontainer").removeClass('hidden_layout')
  			if(page_type=='static') $("#precontainer").css("margin-left", "0px");
  			else $("#precontainer").css("margin-right", "0px");
  			
  			$('#precontainer').replaceWith($("#precontainer").contents());
  			$("#container-content").css("margin-top","0px");
  			
  			// Снимаем фикс всеч абсолютных слоев находящиxся вне контейнера, выполняюющие роль декоров
 			$(".fix-it").removeClass("fixed_layout");
  		}
  		
  		if($.browser.webkit){ $("body").animate({ scrollTop: scroll }, 0); }
		else { 
			if(!ie6) $("html").animate({ scrollTop: scroll }, 0); 
		}	
  		return false;		
}

var onBodyresize = function() {
	if($("#bigimgfon").length && $("#dynamic-content").length) {
		
		var content_height= ie6 ? $("#container-content").height():$(window).height();
		var width =  $(window).width();
				
		$("#bigimgfon").css({
			"height":content_height+"px",
			"width":width+"px"
		});
		
		//
		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" */ 0, "linear"); 
 		} else {
 		}
	}
}

var dynamic_content_resize = function()  {
	var height = parseInt($("#dynamic-content").height());
	var delta = Math.max(-(height - $(window).height()) / 2,0);
	
	if(delta>0) {
		height = height + 2*delta; // чтобыбыбыл снизу такой же отступ!
	}
	$("#bigimg").css("height", height + "px");
	$("#dynamic-content").animate({"top": delta + "px"}, /* "fast" */ 0, "linear"); 
}

var show_dynamic_content = function(obj, type, show_type ,speed) {
	if(obj.done==1) {
		if (!show_type) show_type = 'show';
		if (!speed) speed = 0;
	
		var top =$(window).scrollTop();
 		var width =  $(window).width();
 		var content_height= (ie6) ? $("#container-content").height():$(window).height();	

 		// Добавляем класс, чтобы была возможность закрыть, пока идет загрузка - фон "погасить" невозмонжо
 		$("#bigimg").html(dynamic_carcas).addClass("bigimg");
 		var template = $("#bigimg").find("#dynamic_area");
 	
		if(type=='local') {
			template.append(obj.response);
		} else {
 			template.html(obj.response);
		}
	
		// обязательно пихаем кнопку закрытия в нужный шаблон
		// убрал пока, неудобно
		//template.find(".dynamic_template").append(close_dynamic_box).;
	
		// if nessecary add global class for dynamic content
		if(obj.cssclass) $("#dynamic-content").addClass(obj.cssclass);	
 	
		if (!ie6) {
 			$(window).scrollTop(0);
		}
 		$("#dynamicloader").hide();
 	
 		// показываем контент
 		switch(show_type) {
 			case 'fade':
 			$("#bigimg").fadeIn(speed);
 			default:
 			$("#bigimg").show(speed);
 		}
 	
 	
 		if (ie6) {
 			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" */ 0, "linear"); 
 		} else {
 			$("#precontainer").css("margin-left", "0px");
 		}
 		
 		// счетчики скрываем!
		$("#counters").hide(); 
 	
 		return 1;
	} else {
		alert("Ошибка");
		close_dynamic();
		return 0;
	}
}

	
var fillfon = function() {
	
	
	var height= ie6 ? $("#container-content").height():$(window).height();	
 	var body = $('html');
	var width = $(window).width();
	var scrollTop = $(window).scrollTop();
	
	if(!ie6) {
 		body.css("overflow", "hidden");
 		var scrollBarWidth = $(window).width() - width;
 		var margin = -Math.ceil(scrollBarWidth/2);
 		body.css("overflow", "auto");
	}
	
 	$("#bigimgfon").css( {
 		width: "100%",
   		height:height+"px"
 	}).addClass("fixed_layout").show();
 	
 	/* фиксируем контент */
 	/* подвал делаем релативом + смотрим если кондент + подвал меньше экрана - дорисовываем! */
 	
 	if(!ie6) {
 		$("#container-content, #container-foot").wrapAll("<div id='precontainer'></div>");
 		$("#precontainer").addClass('hidden_layout');
 		
 		$("#container-content").css("margin-top", -scrollTop + "px");
 		if(page_type=='static') $("#precontainer").css("margin-left", margin + "px")
 		else {
 			$("#precontainer").css({
 				"margin-right": scrollBarWidth + "px",
 				"width": width + "px"
 			});
 		}
 		
 		// Фиксируем все абсолютные слои находящиеся вне контейнера, выполняюющие роль декоров
 		$(".fix-it").addClass("fixed_layout");
 	}
 	
 	
 	var top = Math.max(($(window).height() - 34)/2,0) + $(window).scrollTop();
 	$("#dynamicloader").css("top",top+"px").html("<div></div>").show();
}
