function LogConsole(text, args)
{
	if (window.console)
	{
		if (args == null)
			console.log(text);
		else
			console.log(text + ': ' + args);
	}
}

function submitFormWithAjaxRezervaceDetail(form, dlg) {
    form = $(form);
    LogConsole(dlg);
    $.ajax({
      url: form.attr('action'),
      data: form.serialize(),
      type: (form.attr('method')),
  		dataType: "json",
  		success: function(data)
  		{ 
  			var vysl = '', idd = '';
			  $.each(data, function(i, item)
			 {
				vysl = item.vysl;
        idd = item.idd;
  			}); 
        if (vysl=='OK'){
          dlg.dialog('close');
          
          $('#' + idd).removeClass('volno');
          $('#' + idd).addClass('rezervovano');
        }else{
           $("#varovani").text(vysl);
        }
        //window.location.reload();
  		}
    });
    return false;
  } 
  
  function RezervaceDetail(idd,idDen,datum,casod,casdo,uziv,title,url)
  {
    var a = $(this);
    //alert(idDen);
    //$.get('rezervacePar.asp?idd=' + $('#' + idDen).val(),
    //?id=' + $('#' + idDen).val(),
    $.get(url+'system/formKalendar.asp?idd=' + idd + '&id=' + idDen + '&datum=' +datum + '&casod=' + casod + '&casdo=' + casdo + '&uziv=' + uziv, 
    
		function(resp){
      var dialog = $('<div>').attr('id','formDialog').html($(resp).find('form:first').parent('div').html());
      $('body').append(dialog);
      dialog.find(':submit').hide();
      dialog.dialog({
        title: title,
        modal: true,
        buttons: {
          'Rezervovat': function() {submitFormWithAjaxRezervaceDetail($(this).find('form'), $(this));}/*,
          'Zavøít': function() {$(this).dialog('close');}*/
        },
        close: function() {$(this).remove();},
        width: 650
      });
    }, 'html');
    return false;
  } 


var carousel_page = 0;
$(document).ready(function()
{
	/*carousel*/
	$("#cards").multimedia_portfolio();

	/*table barvy*/
	var table = $('table');
	table.each(function(tI)
	{
		var rows = $(this).find('tbody').find('tr');
		if(rows.length>2)
		{
			rows.each(function(tR)
			{
				$(this).addClass('row-' + tR);
				$(this).mouseenter(function(){$(this).addClass('row-hover');});
				$(this).mouseleave(function(){$(this).removeClass('row-hover');});
				$(this).find('td').each(function(tD)
				{
					var column = 'table-' + tI + '-col-' + tD;
					var friends ='td.' + column;
					$(this).addClass(column);
					$(this).mouseenter(function()
					{
							$(friends).addClass('column-hover');
							$(this).addClass('cell-hover');
					});
					$(this).mouseleave(function()
					{
							$(friends).removeClass('column-hover');
							$(this).removeClass('cell-hover');
					});
				});
			});
		};
		$(this).find('tbody').find('tr:last').addClass('last');
	});

	/*hledani*/
	if($('#navi').find('input').val() != '') {
		$('#navi').find('label').css('display', 'none');
	}
	$('#navi').find('label').click(function(){
		$(this).css('display', 'none');
	});
	$('#navi').find('input').focus(function(){
		$('#navi').find('label').css('display', 'none');
	});
	$('#navi').find('input').blur(function(){
		if($(this).val() == '') {
			$('#navi').find('label').css('display', 'block');
		}
	});
	
	/*aktuality*/
	if($('#news').length)
	{
		$('#news #newsArrows a.prev').click(function()
		{
			if ($('#news .active').prev('.news').length != 0)
			{
				$('#news .active').removeClass('active').prev().addClass('active');	
			}
			else
			{
				$('#news .active').removeClass('active');	
				$('#news .news').last().addClass('active');	
			}
			return false;
		});

		$('#news #newsArrows a.next').click(function()
		{
			if($('#news .active').next('.news').length != 0)
			{
				$('#news .active').removeClass('active').next().addClass('active');	
			}
			else
			{
				$('#news .active').removeClass('active');
				$('#news .news').first().addClass('active');	
			}
			return false;
		})
	}


  


});

(function($)
{
	$.fn.multimedia_portfolio = function(options)
	{
		this.each(function()
		{
			var mousewheelposition = 0, carIn = 0, carInI = 0, carL = 0, carHp = false;
			var portfolio = $(this);
			var settings = { width: 700, baseDir: '.', nbelem: 1 };
			if(options) $.extend(settings, options);
			
			var def_element_width = parseInt(settings.width/settings.nbelem);
			var elements = $(this).children();

			if($('div').hasClass('hp'))
			{
				var dbc = document.body.clientWidth;
				settings.width = document.body.clientWidth;
				carIn = parseInt($('#carousel').offset().left);
				carHp = true;
				$('#carouselIn').css({'width' : dbc});
				$('#carouselIn ul li.card').css('width', dbc);
				$('#carouselIn ul#cards').css({'left' : '0', 'width' : (elements.length*dbc)});
			}
			else
			{
				if($('#carousel').hasClass('big'))
				{
					settings.width = 710;
					carInI = 0;
					carIn = 18;
					$('#carouselIn li img').css({'width': 710, 'height' : 728});
					$('#carouselIn ul li.card').css('width', 710);
				}
				else
				{
					$('#carouselIn ul li.card').css('width', 674);
					settings.width = 674;
					carInI = 18;
					carIn = 18;
				}
			}

			$(this).wrap('<div id="carouselInI" style="left:'+carInI+'px;"></div>');
			$('#carousel').append('<p id="carousels"><a class="prev"><span></span></a><a class="next"><span></span></a></p>');
			$('#carousel').append('<div id="barWrap"><div id="bar"></div>');
			
			$('#carouselInI').prepend("<div class='portfolio-bg-left'>&nbsp;</div><div class='portfolio-bg-right'>&nbsp;</div>");
			var ratio_largeur = ((elements.length*def_element_width - settings.width) / (elements.length*def_element_width));
			$("#carouselInI").css("width", settings.width+'px');
			$("#carouselIn").css("left", -carIn+'px');
	
			if (elements.length > settings.nbelem)
			{
				$("#bar").append("<div class='slider-container' style='left: 57px; width:555px'></div>");
				$(".slider-container").append("<div class='ui-slider-1'></div>");
				$(".ui-slider-1").css('width', '100%').append("<div class='ui-slider-handle'></div>");
				$(".ui-slider-1").slider(
				{
					animate: true,
					slide: function(e,ui)
					{
						mousewheelposition = (elements.length * ui.value /100);
						caroussel_portfolio_vue(mousewheelposition, portfolio, elements, settings, ratio_largeur, true, false, false);
						$('#bar .ui-slider-handle').addClass('drag');
					},
					stop: function(e, ui)
					{
						if(e.originalEvent)
						{
							mousewheelposition = (elements.length * ui.value /100);
							caroussel_portfolio_vue(mousewheelposition, portfolio, elements, settings, ratio_largeur, false, true, false);
							$('#bar .ui-slider-handle').removeClass('drag');
						}
					}
				});
				$("#carouselInI").mousewheel(function(event, delta)
				{
					if (!carHp)
					{
						if (delta > 0) { mousewheelposition+=.3; if(mousewheelposition>elements.length) mousewheelposition = elements.length; }
						else if (delta < 0) { mousewheelposition-=.3; if(mousewheelposition<0) mousewheelposition = 0; }
						caroussel_portfolio_vue(mousewheelposition, portfolio, elements, settings, ratio_largeur, false, false, false);
						return false;
					}
				}).keypress(function(event)
				{	
					if (event.keyCode == '9')
					{ return false; }
					else if (event.keyCode == '37')
					{
						mousewheelposition-=.3; if(mousewheelposition<0) mousewheelposition = 0;
						caroussel_portfolio_vue(mousewheelposition, portfolio, elements, settings, ratio_largeur, false, false, false);
					}
					else if (event.keyCode == '39')
					{
						mousewheelposition+=.3; if(mousewheelposition>elements.length) mousewheelposition = elements.length;
						caroussel_portfolio_vue(mousewheelposition, portfolio, elements, settings, ratio_largeur, false, false, false);			 
					} 
				});
			}

			/* Carousel - nadpisy */
			if($('#carousel ul li .name').length)
			{
				$('#barWrap').append('<div id="barNames"></div>');
				var i = 0;
				$('#carousel ul li .name').each(function(el)
				{
					$('#barNames').append('<a href="' + i + '"><strong>' + $(this).html() + '</strong><span></span></a>');
					i++;
				});
			
				$('#barNames a').click(function(event)
				{
					event.preventDefault();
					carousel_page = $(this).attr('href');
					$('#barNames a').removeClass('active');
					$(this).addClass('active');
					checkArrows(elements);
					setPage();
					return false;
				});
			}

			/* Carousel - hp karty */
			if ($('.hp #carousel #cardsLink').length)
			{
				$('#cardsLink a').click(function(event)
				{
					event.preventDefault();
					carousel_page = ($(this).attr('href')).split('-')[1];
					checkArrows(elements);
					setPage();
					return false;
				});
			}

			/* Carousel - sipky */
			$('#carousels').css('opacity', '0');
			$('#carousel').mouseenter(function(){$('#carousels').fadeTo(200, '1');}).mouseleave(function(){$('#carousels').fadeTo(200, '0');});
			$('#carousels a').css('opacity', '0.5');
			$('#carousel a.prev')
				.mouseenter(function(){if(carousel_page > 0) {$(this).fadeTo(200, '0.8');}})
				.mouseleave(function(){if(carousel_page > 0) {$(this).fadeTo(200, '0.5');}});
			$('#carousel a.next')
				.mouseenter(function(){if(carousel_page < elements.length-1) {$(this).fadeTo(200, '0.8');}})
				.mouseleave(function(){if(carousel_page < elements.length-1) {$(this).fadeTo(200, '0.5');}});

			checkArrows(elements);
	
			$('#carousels .prev').click(function(event){
				event.preventDefault();
				carousel_page--;
				checkArrows(elements);
				setPage();
				return false;
			});
			
			$('#carousels .next').click(function(event){
				event.preventDefault();
				carousel_page++;
				checkArrows(elements);
				setPage();
				return false;
			});

			function setPage()
			{
				caroussel_portfolio_vue(0, portfolio, elements, settings, ratio_largeur, false, false, true);
			}

			function carouselWrap()
			{
				if($('#carousel').hasClass('big'))
				{
					//$('#carousel').css({'margin-top' : -((Math.ceil(parseInt($('#main h1').height())/53)*53)+17)});
					$('#carousel').css({'margin-top' : -70});
				}
				else
					$('#carousel').css({'margin-top' : -((Math.ceil(parseInt($('#main h1').height())/53)*53)+43)});
				$('#carouselIn ul li.card').removeClass('active');
			}
			carouselWrap();

			$('#bar').click(function(event)
			{
				event.preventDefault();
				if (event.clientX <= settings.width)
					carousel_page = 0;
				else
					carousel_page = elements.length-1;
				setPage();
				return false;
			});

			carousel_page = 1;
			checkArrows(elements);
			setPage();
		});
	};
	
	/* Carousel - sipky */
	function checkArrows(elements)
	{
		if(carousel_page == 0) {
			$('#carousels .prev').hide();
		} else {
			$('#carousels .prev').show();
		}
		if(carousel_page == elements.length-1) {
			$('#carousels .next').hide();
		} else {
			$('#carousels .next').show();
		}

		if($('#carousel ul li .name').length)
		{
			$('#barNames a').removeClass('active');
			$($('#barNames a')[carousel_page]).addClass('active');
		}
		if($('.hp #carousel #cardsLink').length)
		{
			$('#cardsLink li').removeClass('active');
			$($('#cardsLink li')[carousel_page]).addClass('active');
		}
	}
	
	function setPageEnd(elements, settings, portfolio)
	{
		var pageI = Math.round(portfolio.css('left').replace('px','') * (-1) / settings.width);
		if (pageI >= elements.length)
			pageI = elements.length - 1;
		carousel_page = pageI;
		checkArrows(elements);
	}

	function caroussel_portfolio_vue(current, portfolio, elements, settings, ratio_largeur, bslider, stop, page)
	{
		if (stop)
		{
			var currentNew;
			var sirka = ($('#carouselIn ul li.card').css('width')).replace('px','');
			var d = settings.width/settings.nbelem*ratio_largeur;
			var stav = parseInt(d*current);
			for (var i = 0; i < elements.length; i++)
			{
				var rozdil1 = stav - sirka * i;
				var rozdil2 = sirka * (i + 1) - stav;
				if (rozdil1 >= 0 && rozdil1 <= sirka / 2)
				{
					currentNew = sirka * i / d;
					break;
				}
				else
				{
					if (rozdil2 >= 0 && rozdil2 <= sirka / 2)
					{
						currentNew = sirka * (i + 1) / d;
						break;
					}
				}
			}
			current = currentNew;
		}

		if (page)
		{
			var currentNew;
			var krok = elements.length / (elements.length - 1);
			currentNew = krok * carousel_page;
			current = currentNew;
			var decalage = parseInt(carousel_page * settings.width/settings.nbelem);
			//portfolio.css('left',(-decalage)+'px');
			portfolio.animate({left: -decalage}, 1000, function(){ setPageEnd(elements, settings, portfolio); });
			$('.ui-slider-handle').css('left', parseInt((current/elements.length)*100)+'%');
		}
		else
		{
			var decalage = parseInt(settings.width/settings.nbelem*current*ratio_largeur);
			if (stop)
				portfolio.animate({left: -decalage}, 1000, function(){ setPageEnd(elements, settings, portfolio); });
			else
				portfolio.css('left',(-decalage)+'px');
			if (!bslider) $('.ui-slider-handle').css('left', parseInt((current/elements.length)*100)+'%');
		}

		setPageEnd(elements, settings, portfolio);
	};
      
})(jQuery);

