/*window_resize - begin*/
var d = document;
var winIE = (navigator.userAgent.indexOf("Opera")==-1 && (d.getElementById &&  d.documentElement.behaviorUrns))  ? true : false;

function bodySize(){
	if(winIE && d.documentElement.clientWidth) {
		sObj = d.getElementsByTagName("body")[0].style;
		sObj.width = (d.documentElement.clientWidth<1000) ? "1000px" : "100%";
	}
}

function init(){
	if(winIE) { bodySize(); }
}
 
onload = init;

if(winIE) { onresize = bodySize; }
/*window_resize - end*/

(function($,sr){
 
  // debouncing function from John Hann
  // http://unscriptable.com/index.php/2009/03/20/debouncing-javascript-methods/
  var debounce = function (func, threshold, execAsap) {
      var timeout;
 
      return function debounced () {
          var obj = this, args = arguments;
          function delayed () {
              if (!execAsap)
                  func.apply(obj, args);
              timeout = null; 
          };
 
          if (timeout)
              clearTimeout(timeout);
          else if (execAsap)
              func.apply(obj, args);
 
          timeout = setTimeout(delayed, threshold || 100); 
      };
  }
	// smartresize 
	jQuery.fn[sr] = function(fn){  return fn ? this.bind('resize', debounce(fn)) : this.trigger(sr); };
 
})(jQuery,'smartresize');

function vertResize() {
	var docHeight = $(document).height();
	var docWidth = $(document).width();
	if(docHeight > 680 && docHeight < 798) {
		$("#all, .megalink:first, #menu_line").css("height", docHeight + "px");
		$(".megalink:first").css("margin-bottom", "-" + docHeight + "px");
		$("#content_wrapper").css("margin-top", ((docHeight - 538) / 2) + "px");
	}
	if(docHeight >= 798) {
		$("#all, .megalink_1, #menu_line").css("height", "798px");
		$(".megalink_1").css("margin-bottom", "-798px");
		$("#content_wrapper").css("margin-top", "108px");
	}
	if($.browser.msie && $.browser.version == 6) {
		if(docWidth >= 1200) $("#all").css("width", "1200px");
	}
}
/*
$(window).smartresize(function() {
	vertResize();
});
*/

function decor() {
	var slideCurrent = $("ul#slideshow_parts li.current");
	$("#all").css("background-image", "url(" + slideCurrent.find("span").attr("title") + ")");
	$("#content_wrapper .right_bottom_text").replaceWith(slideCurrent.find(".right_bottom_text").clone());
}

function megalink() {
	var menuLineHeight = $("#all").height();
	$(".megalink, .left_part .menu_wrapper, .left_part .contacts, .left_part .logo span, .content").hide();
	$("#menu_line").animate({
		height: "155px",
		opacity: 0.5
	}, 1000);
	$(".langs").animate({ opacity: 0 }, 1);
	if(menuLineHeight > 680) var margin_top = 16 + ($("#all").height() - 560) / 4;
	else var margin_top = 36;
	$(".left_part").animate({ marginTop: "-" + margin_top + "px" }, 1000);
	$(".slideshow_control").fadeIn();
	$(".left_part .logo img").wrap("<a href='#'></a>");

	$(".left_part .logo a").click(function() {
		$(this).replaceWith($(this).find("img"));
		$(".langs").animate({ opacity: 1 }, 1);
		$("#menu_line").animate({
			height: menuLineHeight + "px",
			opacity: 1
		}, 1000);
		$(".left_part").animate({ marginTop: "15px" }, 1000);
		$(".slideshow_control").fadeOut();
		$(".megalink, .left_part .menu_wrapper, .left_part .contacts, .left_part .logo span").fadeIn("slow");
		$("#content_" + $(".menu_wrapper li.current").attr("id")).fadeIn("slow");
		return(false);
	});
}

$(document).ready(function() {

	vertResize();
	
	decor();
	
	/*menu_centering*/
	var menuHeight = $(".menu_wrapper").height();
	var menuItemHeight = $(".menu_wrapper ul li").height() + 1;
	var menuItems = $(".menu_wrapper ul li").length;
	if(menuHeight > menuItemHeight * menuItems) $(".menu_wrapper ul").css("padding-top", ((menuHeight - menuItemHeight * menuItems) / 2) + "px");
	/*/menu_centering*/
	
	$(".menu_wrapper a").click(function() {
		$(".content").hide();
		$("#content_" + $(this).parent().attr("id")).show();
		$(this).parents("ul").find("li").removeClass("current");
		$(this).parent().addClass("current");
		return(false);
	});
	
	$(".content .close_btn").click(function() {
		$(this).parent().hide();
		$(".menu_wrapper li").removeClass("current");
		return(false);
	});
	
	$(".contacts ul.menu_city a.city_name").click(function() {
		$(".contacts ul.menu_city li").removeClass("current");
		$(this).parent().addClass("current");
		return(false);
	});
	
	/*megalink*/	
	$(".megalink").click(function() {
		megalink();
		return(false);
	});
	/*/megalink*/
	
	/*slideshow*/
	$(".slideshow_left").click(function() {
		var slideCurrent = $("ul#slideshow_parts li.current");
		if(slideCurrent.prev("li").length > 0) {
			$("#all").css("background-image", "url(" + slideCurrent.prev("li").find("span").attr("title") + ")");
			$("#content_wrapper .right_bottom_text").replaceWith(slideCurrent.prev("li").find(".right_bottom_text").clone());
			slideCurrent.prev("li").addClass("current");
		}
		else {
			$("#all").css("background-image", "url(" + $("ul#slideshow_parts li:last").find("span").attr("title") + ")");
			$("#content_wrapper .right_bottom_text").replaceWith($("ul#slideshow_parts li:last").find(".right_bottom_text").clone());
			$("ul#slideshow_parts li:last").addClass("current");
		}
		slideCurrent.removeClass("current");
		return(false);
	});
	
	$(".slideshow_right").click(function() {
		var slideCurrent = $("ul#slideshow_parts li.current");
		if(slideCurrent.next("li").length > 0) {
			$("#all").css("background-image", "url(" + slideCurrent.next("li").find("span").attr("title") + ")");
			$("#content_wrapper .right_bottom_text").replaceWith(slideCurrent.next("li").find(".right_bottom_text").clone());
			slideCurrent.next("li").addClass("current");
		}
		else {
			$("#all").css("background-image", "url(" + $("ul#slideshow_parts li:first").find("span").attr("title") + ")");
			$("#content_wrapper .right_bottom_text").replaceWith($("ul#slideshow_parts li:first").find(".right_bottom_text").clone());
			$("ul#slideshow_parts li:first").addClass("current");
		}
		slideCurrent.removeClass("current");
		return(false);
	});
	/*/slideshow*/
	
	/*big_img_show*/
	$("a.big_img_show").click(function() {
		$("ul#slideshow_parts li").removeClass("current");
		$("ul#slideshow_parts li span[title='" + $(this).attr("href") + "']").parent().addClass("current");
		megalink();
		decor();
		return(false);
	});
	/*big_img_show*/
	
	/*fancybox*/
	$(".fancybox").fancybox();
	
	$(".fancybox_map").fancybox({
		'frameWidth': 795,
		'frameHeight': 394,
		'hideOnContentClick': false,
		'callbackOnShow': function() {
			$("#fancy_div ul.map_city_select a").click(function() {
				$("#fancy_div iframe").attr("src", $("#" + $(this).attr("rel")).find("iframe").attr("src"));
				$(this).parents("ul").find("li").removeClass("current");
				$(this).parent().addClass("current");
				return(false);
			});
		}
	});
	/*/fancybox*/
});