$(window).load(function(){
	$('#loader').hide("slow");
});
$(document).ready(function(){
	imgPreloader();
})

function imgPreloader() {
	var percentCounter = 0;
	var imageArray = new Array("/assets/images/loader11.gif"
							,"/assets/images/loader_bg.png"
							,"/assets/images/loader.png"
							,"/assets/images/loader_base.png"
							,"/assets/images/menu_bg.jpg"
							,"/assets/images/bamboo.jpg"
							,"/assets/images/logo.png"
							,"/assets/images/menu_chain.png"
							,"/assets/images/menu_hover_corner.png"
							,"/assets/images/lang_button.png"
							,"/assets/images/arrows_map.png"
							,"/assets/images/menu_hover_bg.png"
							,"/assets/images/menu_hover_bg_smaller.png"
							,"/assets/images/corners.png"
							,"/assets/images/lang_hover_bg.png"
							,"/assets/images/left_buttons_bg.png"
							,"/assets/images/camera.png"
							,"/assets/images/symbol.png"
							,"/assets/images/food.png"
							,"/assets/images/cal_img.png"
							,"/assets/images/table_head.png"
							,"/assets/images/leaves.png"
							,"/assets/images/slider_shadow.png"
							,"/assets/images/slider_top_bg.png"
							,"/assets/images/semitransparent_orange.png"
							,"/assets/images/facebook.png"
							,"/assets/images/tree.png"
							,"/assets/images/shadowcube_bg.png"
							,"/assets/images/shadowcube_content.png"
							,"/assets/images/shadowcube_panel.png"
							,"/assets/images/shadowcube_panel_shadow.png"
							,"/assets/images/virtual/virtual-bg.png"
							,"/assets/images/leaves_front.png"
							,"/assets/images/content_bg.png"
							,"/assets/images/semitransparent_px_brown.png"
							,"/assets/images/content_chain.png"
							,"/assets/images/separator_symbol.png"
							,"/assets/images/img_panel.png"
							,"/assets/images/tip.png"
							,"/assets/images/map_content_bg.png"
							,"/assets/images/map_infobox.png"
							,"/assets/images/map_controler.png"
							,"/assets/images/gallery_panel.jpg"
							,"/assets/images/fullscreen.png"
							,"/assets/images/rope.png"
							,"/assets/images/gallery_shadow.png"
							
	);
	var i = imageArray.length;
	$('IMG').each(function(){
		imageArray[i] = $(this).attr('src');
		i++;
	});
	

	if (document.images) {
		var time = new Date().getTime();
        var i = 0;
        var imageObj = new Image();

        for(i=0; i<=imageArray.length-1; i++) {
            imageObj.src= imageArray[i];
            percentCounter = i / imageArray.length * 100;
            if (percentCounter > 98) {
            	setPercentage(99);	
            } else {
            	setPercentage(percentCounter);
            }
        }
        if(new Date().getTime() - time < 300) {
         	$('#head-loader').hide();
        }
        

    }

	// počet objektů zobrazených na stránce
	// alert(document.all.length);
	// var i = document.all.length / (415 / 100);
}

function sleep(milliseconds) {
  var start = new Date().getTime();
  for (var i = 0; i < 1e7; i++) {
    if ((new Date().getTime() - start) > milliseconds){
      break;
    }
  }
}



function setPercentage(number) {
	var $tenth = $('#head-loader DIV.center-position DIV.percentage-bg DIV.percentage-wrap UL.tenth');
	var $units = $('#head-loader DIV.center-position DIV.percentage-bg DIV.percentage-wrap UL.units');
		
	var tenth = Math.floor(number/10);
	var units = number % 10;
	$units.animate({top:units*-60},10, function(){
		if (units == 9 && tenth == 9) {
			$('#head-loader').animate({top: $('#head-loader').height() * -1}, 2000, function(){$('#head-loader').css('display','none')});
		}
	});	
	$tenth.animate({top:tenth*-60},10);

}


function animateBar() {
	$('#loader_bar DIV').css('width',0);
	$('#loader_bar DIV').animate({width:'300px'},3000,animateBar);
}

function navigatorHover() {
	$('.no-csstransitions NAV UL#navigator LI SPAN.menu-hover').data('default_top', $('.no-csstransitions NAV UL#navigator LI SPAN.menu-hover').css('top'));
	$('.no-csstransitions NAV UL#navigator LI').hover(
		function(){
			$(this).find('SPAN.menu-hover').clearQueue().animate({'top':'-8px'},200);
		},
		function(){
			$(this).find('SPAN.menu-hover').clearQueue().animate({'top': $(this).find('SPAN.menu-hover').data('default_top') },200);
		}
	);
	var total = $('.gallery-wrap ul li').length * 368;
	$('.gallery-wrap ul').css('width',total+'px');
	$('.no-csstransitions NAV UL#navigator LI.menu-item').hover(
		function(){
			$(this).find('DIV.submenu-wrap').clearQueue().animate({'height':'184px'},400);
		},
		function(){
			$(this).find('DIV.submenu-wrap').clearQueue().animate({'height':'0'},400);
		}
	);
	
	$('.no-csstransitions NAV UL#navigator LI#lang').hover(
		function(){
			$(this).find('DIV').clearQueue().animate({'opacity':1,'height':'181px'},200);
		},
		function(){
			$(this).find('DIV').clearQueue().animate({'opacity':0,'height':'0'},200);
		}
	);
	$('.no-csstransitions #main ARTICLE UL LI').hover(
		function(){
			$(this).find('H3').clearQueue().animate({'bottom':'233px'},200);
		},
		function(){
			$(this).find('H3').clearQueue().animate({'bottom':'137px'},200);
		}
	);
	$('.no-csstransitions #main ARTICLE UL LI').hover(
		function(){
			$(this).find('DIV.slider-detail').clearQueue().animate({'height': '76px', 'padding-top':'10px', 'padding-bottom':'10px'},200).animate({'opacity':'1'},500);
		},
		function(){
			$(this).find('DIV.slider-detail').clearQueue().animate({'height': '0px', 'padding-top':'0px', 'padding-bottom':'0px'},200).animate({'opacity':'0'},500);
			
		}
	);
	 
	
}

$(function(){
	animateBar();
	navigatorHover();
	if(language == 'cs') {
		$('.datepicker').datepicker({ 
			dateFormat: 'dd.mm.yy'
			,minDate: 0
			,dayNamesMin: ['Ne', 'Po', 'Ut', 'St', 'Čt', 'Pa', 'So']
			,monthNames: ['Leden','Únor','Březen','Duben','Květen','Červen','Červenec','Srpen','Září','Říjen','Listopad','Prosinec']
			,firstDay: 1
		 } );
	} else {
		$('.datepicker').datepicker({ 
			dateFormat: 'dd.mm.yy'
			,minDate: 0
			,firstDay: 1
		 } );
		
	}

	var $viewport_width = $('BODY').width();
	var $viewport_height = $('BODY').height();

	var $calendar_width_closed = 100;
	var $calendar_link = $('#calendar UL LI A');
	var $calendar = $('#calendar');
	var $calendar_ul = $('#calendar UL');

	var $cart_width_closed = 175;
	var $cart_link = $('#cart UL LI A');
	var $cart = $('#cart');
	var $cart_ul = $('#cart UL');

	var $menu_lang = $('#lang UL LI A');
	//$('#main').hide();

	update_viewport();

	$(window).resize(function(){
		update_viewport();
	});


	$('SELECT').each(function(){
		$(this).inForm_select();
	});

	$(window).scroll(function () { 
		// if user scroll on bottom hide front leaves
		if ($(window).scrollTop() != 0) {
			$('DIV.roll-links DIV.up').addClass('enable');		
		} else {
			$('DIV.roll-links DIV.up').removeClass('enable');		
		}

		if ($("ARTICLE").height() - $viewport_height == $(window).scrollTop()) {
			$('DIV.roll-links DIV.down').removeClass('enable');
		}

		if ($("ARTICLE").height() - $viewport_height - 120 <= $(window).scrollTop()) {
			$('DIV.leaves-front').hide("slow");
		} else {
			$('DIV.roll-links DIV.down').addClass('enable');
			if ( $viewport_height > 753 ) {
				$('DIV.leaves-front').show("slow");	
			}
		}
    });

	change_background();

	$menu_lang.click(function(){
		$('#lang ul li a').each(function(){
			$(this).removeClass('active');
		});
		$(this).addClass('active');
	});

	$cart_link.click(function(){
		$('#cart UL LI A').each(function(){
			$(this).removeClass('active');
		});
		$('#cart').width(412);
		$(this).addClass('active');
		$('#cart UL').addClass('open');

		$.get($(this).attr('href'),function(data){
			$('#cart-detail').html(data).show().animate({
				right:20, opacity: 1
			}, 400, "linear");
			
		});
		return false;
	});

	$cart.hover(
		function(){},
		function(){
			$('#cart-detail').delay(400).animate({'right':-120,opacity:0},400,function(){
				$cart_link.removeClass('active');
				$cart_ul.removeClass('open');
				$(this).hide();
				$cart.width( $cart_width_closed );
			});
			
		}
	);


	$calendar_link.click(function(){
		$('#calendar ul li a').each(function(){
			$(this).removeClass('active');
		});
		$('#calendar').width(626);
		$(this).addClass('active');
		$('#calendar ul').addClass('open');
		$.get($(this).attr('href'),function(data){
			$('#cal-detail').html(data).show().animate({
				right:40, opacity: 1
			}, 400, "linear");
			
		});
		return false;
	});
	$calendar.hover(
		function(){},
		function(){
			$('#cal-detail').delay(400).animate({'right':-140,opacity:0},400,function(){
				$calendar_link.removeClass('active');
				$calendar_ul.removeClass('open');
				$(this).hide();
				$calendar.width( $calendar_width_closed );
			});
			
		}
	);

	function change_background() {
		var elem = 'DIV';
		// define active element
		var $active = $('#background .active');

		// define element under the active element (crossfade to)
		if( $('#background .active').next(elem).length < 1 ) {
			var $next = $('#background '+ elem +':first');
		} else {
			var $next = $('#background .active').next(elem);	
		}

		$next.addClass('transition');
				
		$active.delay(5000).fadeOut(2500, function(){
			$active.removeClass('active').fadeIn('fast');
			$next.addClass('active').removeClass('transition');
			change_background();
		});
			
	}


	function update_viewport(){
		$viewport_width = $('BODY').width();
		$viewport_height = $('BODY').height();

		// incube tree viewport update
		if ( $(window).scrollTop() == 0 ) {
			$('DIV.roll-links DIV.up').removeClass('enable')	
		} else {
			$('DIV.roll-links DIV.up').addClass('enable')	
		}

		if ( $("ARTICLE").height() > $viewport_height && $("ARTICLE").height() - $viewport_height != $(window).scrollTop() ) {
			$('DIV.roll-links DIV.down').addClass('enable');
		} else {
			$('DIV.roll-links DIV.down').removeClass('enable');
		}
		
		if ($viewport_height < 753 || $("ARTICLE").height() - $viewport_height == $(window).scrollTop() ) {
			$('DIV.leaves-front').hide("slow");
		} else {
			$('DIV.leaves-front').show("slow");
		}

		if($viewport_height < 753) {
			$('FOOTER .credits A SPAN').hide("slow");
		} else {
			$('FOOTER .credits A SPAN').show("slow");
		}

		// calendar viewport update
		if($viewport_width < 1048) {
			$calendar_width_closed = 100;
		} else {
			$calendar_width_closed = 229;
		}

		if($viewport_width < 980) {
			$('#header-container').css('position','absolute');
		} else {
			$('#header-container').css('position','fixed');	
		}

		if($viewport_width < 1000) {
			$('.csstransforms #contact DIV.contact-block_right').hide('slow');
		} else {
			$('.csstransforms #contact DIV.contact-block_right').show('slow');
		}
		leaves_adapt( $viewport_height);
		$calendar.width($calendar_width_closed);

	}

	function leaves_adapt( $height ) {
		var LEAVES_HEIGHT = 726;
		$positionY = 406;
		if ($height > LEAVES_HEIGHT) {
			$positionY = $positionY - ($height - LEAVES_HEIGHT);
		}
		if ($positionY < 117) $positionY = 117;
		$('#mainslider').css('background-position', "0 "+$positionY+"px");
	}

	// SLIDER- calendar
	$("#calendar A.cal-arrow_up").click(function () {
		if ($('#calendar UL').queue().length > 0) {
			return false;
		}
		var $position = parseInt($("#calendar UL").css('top'));
		if ($position < 0) {
			$position = $position + 71;
			$("#calendar UL").animate({'top':$position},200);	
		} else {
			$position = ($("#calendar UL").children().length-3) * -71;
			$("#calendar UL").animate({'top':$position},400);	
		}

      	return false;
	});

	$("#calendar A.cal-arrow_down").click(function () {
		if ($('#calendar UL').queue().length > 0) {
			return false;
		}
		var $position = parseInt($("#calendar UL").css('top'));
		var $itemsCount = ($("#calendar UL").children().length-3) * -71;
		if ($position > $itemsCount) {
			$position = $position - 71;
			$("#calendar UL").animate({'top':$position},200);	
		} else {
			$position = 0;
			$("#calendar UL").animate({'top':$position},400);	
		}
		
      	return false;
	});

	// SLIDER- submenu
	$("#navigator LI.item4 A.submenu-arrow_left").click(function () {
		if ($("#navigator LI.item4 UL").queue().length > 0) {
			return false;
		}
		var $position = parseInt($("#navigator LI.item4 UL").css('left'));
		if ($position < 0) {
			$position = $position + 151;	
			$("#navigator LI.item4 UL").animate({'left':$position},200);	
		} else {
			$position = ($("NAV UL#navigator LI.item4 DIV.submenu-wrap DIV.submenu-bg DIV UL").children().length-3) * -151;
			$("#navigator LI.item4 UL").animate({'left':$position},400);	
		}
		
      	return false;
	});

	$("#navigator LI.item4 A.submenu-arrow_right").click(function () {
		if ($("#navigator LI.item4 UL").queue().length > 0) {
			return false;
		}
		var $itemsCount = ($("NAV UL#navigator LI.item4 DIV.submenu-wrap DIV.submenu-bg DIV UL").children().length-3) * -151;
		var $position = parseInt($("UL#navigator LI.item4 UL").css('left'));
		if ($position > $itemsCount) {
			$position = $position - 151;
			$("UL#navigator LI.item4 UL").animate({'left':$position},200);
		} else {
			$position = 0;
			$("UL#navigator LI.item4 UL").animate({'left':$position},400);
		}
		
      	return false;
	});
	
	// SLIDER- main slider
	$("#slider A.slider-arrow_left").click(function () {
		if( $('#slider UL').queue().length > 0) {
			return false;
		}
		var $position = parseInt($("#slider UL").css('left'));
		if ($position < 0) {
			$position = $position + 242;
			$("#slider UL").animate({'left':$position},300);
		} else {
			$position = ($("#slider UL").children().length-3) * -242;
			$("#slider UL").animate({'left':$position},600);
		}
		
      	return false;
	});

	$("#slider A.slider-arrow_right").click(function () {
		if( $('#slider UL').queue().length > 0) {
			return false;
		}				
		var $itemsCount = ($("#slider UL").children().length-3) * -242;
		var $position = parseInt($("#slider UL").css('left'));
		if ($position > $itemsCount) {
			$position = $position - 242;
			$("#slider UL").animate({'left':$position},300);
		} else {
			$position = 0;
			$("#slider UL").animate({'left':$position},600);
		}
		
      	return false;
	});

	// HOME DESCRIPTION 
	$("A.slideup_home-description").click(function(){
		$("#home-description").animate({'left':'0'},1000, function() {
			$("#home-description").css('position','absolute')	
			$('#mainslider').css('position','fixed');
			$("DIV.close-button").css('position','fixed');
		});
		return false;
	});

	$("A.close_home-description").click(function(){
		$("#home-description").css('position','fixed');
		$('#mainslider').css('position','absolute');
		$("DIV.close-button").css('position','absolute');
		$("#home-description").animate({'left':'-916px'},1000);	
		return false;
	});

	// SLIDER- gallery
	$("DIV.roll-left A").click(function () {
		if( $('#gallery UL').queue().length > 0) {
				return false;
		}
		
		var $position = parseInt($("#gallery UL").css('left'));
		if ($position < 0) {
			$position = $position + 368;
			$("#gallery UL").animate({'left':$position},300);
		} else {
			$position = ($("#gallery UL").children().length-1) * -368;
			$("#gallery UL").animate({'left':$position},600);
		}
		
      	return false;
	});

	$("DIV.roll-right A").click(function () {
		if( $('#gallery UL').queue().length > 0) {
				return;
		}

		var $itemsCount = ($("#gallery UL").children().length-1) * -368;
		var $position = parseInt($("#gallery UL").css('left'));
		if ($position > $itemsCount) {
			$position = $position - 368;
			$("#gallery UL").animate({'left':$position},300);
		} else {
			$position = 0;
			$("#gallery UL").animate({'left':$position},600);
		}
		
		return false;
	});

	// order list (pack/unpack)

	$("#order UL LI A.roll-link").click(function() {
		var $is_open = $(this).find('SPAN.unpack').hasClass('pack');
		var $is_active = $(this).parent('LI').hasClass('active');
		var $span = $(this).find('SPAN.unpack');
		var $sublist = $(this).closest('LI').find('DIV.sub-list');
		
		$('#order UL LI DIV.sub-list').slideUp();
		$('#order UL LI UL.massage-detail LI FORM').slideUp();
		$('#order UL LI A.roll-link SPAN.unpack').removeClass('pack');
		$('#order UL LI').removeClass('active');
		
		if( !$is_open && !$is_active ) {
			$span.addClass('pack');
			$sublist.slideDown('slow');
		}
		return false;
	});

	$('#order UL LI UL.massage-detail LI A.order-continue').click(function() {
		var $is_open = $(this).parent("DIV").parent('LI').find('FORM').hasClass('open');
		var $is_active = $(this).parent('DIV').parent('LI').hasClass('active');
		var $form = $(this).parent("DIV").parent('LI').find('FORM');
		
		$('#order UL LI UL.massage-detail LI FORM').slideUp();
		$('#order UL LI UL.massage-detail LI FORM').removeClass('open');
		$(this).parent('DIV').parent('LI').removeClass('active');

		if( !$is_open && !$is_active ) {
			$form.addClass('open');
			$form.slideDown('slow');
		}
		return false;
	});

	// gift vouchers order form 
	$('DIV.type-of-delivery A').click(function() {
		$('DIV.form-wrap').slideUp();
		$('DIV.type-of-delivery A').css('background-color','#402b16');

		if ( $(this).hasClass('email-button') ) {
			$('DIV.email-form').slideDown('slow');	
		} else if ( $(this).hasClass('postal-button') ) {
			$('DIV.postal-form').slideDown('slow');
		} else {
			$('DIV.personally').slideDown('slow');
		}
			
		$(this).css('background-color','#ff6900');
		return false;
	});
	
	if(tab == 'email') {
		$('DIV.type-of-delivery A.email-button').click();
	}

	// subsites roll-buttons

	$('DIV.roll-links DIV A').click(function() {
		var $parent = $(this).parent('DIV');
		var $scrollPosition = $(window).scrollTop();

		if ( !$parent.hasClass('enable') ) {
			return false;
		}

		if ( $parent.hasClass('up') ) {			
			if ( $scrollPosition >= 100 ) {
				$('HTML, BODY').animate({ scrollTop: $scrollPosition-100 }, 500 );
			} else {
				$('HTML, BODY').animate({ scrollTop: 0 }, 200 );
			}
		} else {
			if ($scrollPosition <= $("ARTICLE").height() - $('BODY').height() + 100) {
				$('HTML, BODY').animate({ scrollTop: $scrollPosition+100 }, 500 );
			} else {
				$('HTML, BODY').animate({ scrollTop: $("ARTICLE").height() - $('BODY').height() + 200 }, 200 );
			}
		}
		return false;
	});

	$("A.orders").click(function() {
		open_shadow_cube();
		return false;
	});


	$('#order UL LI A.roll-link').mousemove(function(e){
		var x = e.pageX - $(this).offset().left + 10;
      	var y = e.pageY - $(this).offset().top - $(this).find('DIV.tooltip').height() - 20;
      	if (x > 500) {
	      	x = 500;
	    }
		var tooltip = $(this).find('DIV');
		if ( tooltip.hasClass('tooltip') ) {
			tooltip.css('top', y+'px')
			tooltip.css('left', x+'px')
		}
	});

	$("#buttons LI.first-child A").click(function(){
		$(".virtual-tour_wrapper").show(1000, function(){
			$(this).css('display','block');
		});
		return false;
	});

	$(".shadowcube-content_panel SPAN.last-child A").click(function(){
		if ( $(this).parent('SPAN').parent('DIV').parent('DIV').parent('DIV').parent('DIV').hasClass('shadowcube-wrapper') ) {
			close_shadow_cube();	
		} else {
			$(".virtual-tour_wrapper").hide(1000, function(){
				$(this).css('display','none');
			});	
		}
		return false;
	});

	function open_shadow_cube(){
		//$(".shadowcube-overlay").animate({'opacity':1},400);
		$(".shadowcube-wrapper").show(1000, function(){
			$(this).css('display','block');
		});
	}

	function close_shadow_cube() {
		//$(".shadowcube-overlay").animate({'opacity':0},400);
		$(".shadowcube-wrapper").hide(1000, function(){
			$(this).css('display','none');
		});
	}

});


