////////////////////////////////////////////////////////////////////////////////
// Knihovny

var AktualniCasNaServeru = 0;
var AktualniCasNaKlientu = 0;

//Modernizr
window.Modernizr=function(a,b,c){function G(){}function F(a,b){var c=a.charAt(0).toUpperCase()+a.substr(1),d=(a+" "+p.join(c+" ")+c).split(" ");return!!E(d,b)}function E(a,b){for(var d in a)if(k[a[d]]!==c&&(!b||b(a[d],j)))return!0}function D(a,b){return(""+a).indexOf(b)!==-1}function C(a,b){return typeof a===b}function B(a,b){return A(o.join(a+";")+(b||""))}function A(a){k.cssText=a}var d="1.7pre",e={},f=!0,g=b.documentElement,h=b.head||b.getElementsByTagName("head")[0],i="modernizr",j=b.createElement(i),k=j.style,l=b.createElement("input"),m=":)",n=Object.prototype.toString,o=" -webkit- -moz- -o- -ms- -khtml- ".split(" "),p="Webkit Moz O ms Khtml".split(" "),q={svg:"http://www.w3.org/2000/svg"},r={},s={},t={},u=[],v,w=function(a){var c=b.createElement("style"),d=b.createElement("div"),e;c.textContent=a+"{#modernizr{height:3px}}",h.appendChild(c),d.id="modernizr",g.appendChild(d),e=d.offsetHeight===3,c.parentNode.removeChild(c),d.parentNode.removeChild(d);return!!e},x=function(){function d(d,e){e=e||b.createElement(a[d]||"div");var f=(d="on"+d)in e;f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=C(e[d],"function"),C(e[d],c)||(e[d]=c),e.removeAttribute(d))),e=null;return f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),y=({}).hasOwnProperty,z;C(y,c)||C(y.call,c)?z=function(a,b){return b in a&&C(a.constructor.prototype[b],c)}:z=function(a,b){return y.call(a,b)},r.csstransitions=function(){return F("transitionProperty")};for(var H in r)z(r,H)&&(v=H.toLowerCase(),e[v]=r[H](),u.push((e[v]?"":"no-")+v));e.input||G(),e.crosswindowmessaging=e.postmessage,e.historymanagement=e.history,e.addTest=function(a,b){a=a.toLowerCase();if(!e[a]){b=!!b(),g.className+=" "+(b?"":"no-")+a,e[a]=b;return e}},A(""),j=l=null,e._enableHTML5=f,e._version=d,g.className=g.className.replace(/\bno-js\b/,"")+" js "+u.join(" ");return e}(this,this.document);

////////////////////////////////////////////////////////////////////////////////
// Aktualizace cache

if(window.applicationCache){
	setInterval(function(){
		try{
			if(window.applicationCache.update){
				window.applicationCache.update();
			}
		}catch(e){}
	}, 600000);
	// Hledá aktualizace manifestu každých 10 minut.
	// Pokud je aktualizovaný, stáhne nový obsah cache tak, jak je definován v novém manifestu.

	window.applicationCache.addEventListener('onupdateready', function(){
		try{
			if(window.applicationCache.swapCache){
				// když je cache aktualizována a připravena
				window.applicationCache.swapCache(); //přepneme na novou verzi
			}
		}catch(e){}
	}, false);
}

////////////////////////////////////////////////////////////////////////////////
// Efekty
/*
(function($) {
	$.fn.extend({
		oldAnimate: $.fn.animate,
		animate: function(props, duration, easing) {
			return $(this).each(function() {
				var $this = $(this),
						oldTransition,
						easing = (easing) ? easing : 'ease-in-out',
						cssPrefixes = ["", "-webkit-", "-moz-", "-o-"]
				if (Modernizr.csstransitions) {
					for(i = 0; i < cssPrefixes.length; i++){
						$this.css(cssPrefixes[i] + 'transition', 'all ' + duration + 'ms ' + easing);
					}
					//$this.style.WebkitTransition = "all 1s ease-in-out";
					alert($this.css());
					$this.css(props);
					setTimeout(function() {
						//$this.css(prefix + 'transition', oldTransition);
					}, duration);
				}
				else $this.oldAnimate(props, duration);
			});
		}
	});
})(jQuery);
*/

/*
 * JQuery CSS Rotate property using CSS3 Transformations
 * Copyright (c) 2011 Jakub Jankiewicz  <http://jcubic.pl>
 * licensed under the LGPL Version 3 license.
 * http://www.gnu.org/licenses/lgpl.html
 */

(function($) {
		function getTransformProperty(element) {
				var properties = [
					'transform',
					'WebkitTransform',
					'MozTransform',
					'msTransform',
					'OTransform'
				];
				var p;
				while (p = properties.shift()) {
						if (element.style[p] !== undefined) {
								return p;
						}
				}
				return false;
		}
		$.cssHooks['rotate'] = {
				get: function(elem, computed, extra){
						var property = getTransformProperty(elem);
						if (property) {
								return elem.style[property].replace(/.*rotate\((.*)deg\).*/, '$1');
						} else {
								return '';
						}
				},
				set: function(elem, value){
						var property = getTransformProperty(elem);
						if (property) {
								value = parseInt(value);
								$(elem).data('rotatation', value);
								if (value == 0) {
										elem.style[property] = '';
								} else {
										elem.style[property] = 'rotate(' + value%360 + 'deg)';
								}
						} else {
								return '';
						}
				}
		};
		$.fx.step['rotate'] = function(fx){
				$.cssHooks['rotate'].set(fx.elem, fx.now);
		};
})(jQuery);

// Animace showFrom a hideTo
// Copyright © 2011 Ondřej Pláteník a.k.a. BetonMAN

(function($){
	$.fn.showFrom = function(from, options){

		var opts = $.extend({}, $.fn.showFrom.defaults, options);

		return this.each(function(){
			if(from != null && $(from).length>0){
				var top    = $(this).offset().top;
				var left   = $(this).offset().left;
				var height = $(this).outerHeight();
				var width  = $(this).outerWidth();

				$(this).css({top: $(from).offset().top, left: $(from).offset().left, height: $(from).outerHeight(), width: $(from).outerWidth()}).animate({top: top, left: left, height: height, width: width}, {duration: opts.duration, complete: opts.callback});
			}
			else{
				$(this).show(duration, callback);
			}
		});
	}

	$.fn.hideTo = function(to, options){

		var opts = $.extend({}, $.fn.hideTo.defaults, options);
		this.each(function(){
			if(to != null && $(to).length>0){
				$(this).animate({top: $(to).offset().top, left: $(to).offset().left, height: $(to).outerHeight(), width: $(to).outerWidth()}, {duration: opts.duration, complete: function(){
					$(this).fadeOut(500, opts.callback);
				}});
			}
			else{
				$(this).hide(duration, callback);
			}
		});
	}

	$.fn.showFrom.defaults = $.fn.hideTo.defaults = {
		duration: 1000,
		callback: function(){}
	}
})(jQuery);

////////////////////////////////////////////////////////////////////////////////
// Odchytávání chyb

window.onerror = function(e){
	debug.alert("Chyba: " + e);
	return false;
}

////////////////////////////////////////////////////////////////////////////////
// Ukládání a načítání nastavení

var Nastaveni = new(function(){

	var vychozi = function(typ){
		if(typ == "panel"){
			return [
				"web",
				"paypal",
				"titulky",
				"torrenty",
				"pokec",
				"facebook",
				"google_f",
				"twitter",
				"ankety",
				"forum",
				"statistiky",
				"partneri",
				"technologie",
				"reklama"
			];
		}
		if(typ == "barva"){
			return "2370B6";
		}
		if(typ == "tapeta"){
			return "/i/tapety/001.jpeg";
		}
		if(typ == "hudba"){
			return {"parametry":[0,0,0],"seznam":[]};
		}
	}

	var posledni = new Array();

	posledni["panel"]  = (cookies.read("panel")  !== null ? cookies.read("panel")  : vychozi("panel").join(":"));
	posledni["barva"]  = (cookies.read("barva")  !== null ? cookies.read("barva")  : vychozi("barva"));
	posledni["tapeta"] = (cookies.read("tapeta") !== null ? cookies.read("tapeta") : vychozi("tapeta"));
	posledni["hudba"]  = (cookies.read("hudba")  !== null ? cookies.read("hudba")  : JSON.stringify(vychozi("hudba")));

	this.panel  = vychozi("panel");
	this.barva  = vychozi("barva");
	this.tapeta = vychozi("tapeta");
	this.hudba  = vychozi("hudba");

	this.ulozit = function(){
		if(false
			|| posledni["panel"]  != Nastaveni["panel"].join(":")
			|| posledni["barva"]  != Nastaveni["barva"]
			|| posledni["tapeta"] != Nastaveni["tapeta"]
			|| posledni["hudba"]  != JSON.stringify(Nastaveni["hudba"])
		){

			posledni["panel"]  = Nastaveni["panel"].join(":");
			posledni["barva"]  = Nastaveni["barva"];
			posledni["tapeta"] = Nastaveni["tapeta"];
			posledni["hudba"]  = JSON.stringify(Nastaveni["hudba"]);

			cookies.write("panel",  posledni["panel"],  365);
			cookies.write("barva",  posledni["barva"],  365);
			cookies.write("tapeta", posledni["tapeta"], 365);
			cookies.write("hudba",  posledni["hudba"],  365);

			$.get(unikatniAdresa("/nastaveni/ulozit.html"));

		}
	}

	this.nacist = function(){
		$.get(unikatniAdresa("/nastaveni/nacist.html"), function(data){

			var temp;

			Nastaveni["panel"]  = vychozi("panel");
			Nastaveni["barva"]  = vychozi("barva");
			Nastaveni["tapeta"] = vychozi("tapeta");
			Nastaveni["hudba"]  = vychozi("hudba");

			if(cookies.read("panel")){
				temp = cookies.read("panel");
				Nastaveni["panel"] = temp.split(":");
			}

			if(cookies.read("barva")){
				temp = cookies.read("barva");
				if(temp.length == 6){
				var i = 0;
					while(i<6 && parseInt(temp.charAt(i), 16).toString(16).toUpperCase() == temp.charAt(i).toUpperCase()){i++;}
					if(i == 6){
						Nastaveni["barva"] = temp.toUpperCase();
					}
				}
			}

			if(cookies.read("tapeta")){
				temp = cookies.read("tapeta");
				if(temp.indexOf("http://") == 0){
					Nastaveni.tapeta = temp;
				}
			}

			if(cookies.read("hudba")){
				var temp = JSON.parse(cookies.read("hudba"));
				if(temp && temp.seznam && temp.parametry && temp.parametry.length == 3){
					Nastaveni.hudba = temp;
				}
			}

			function zmenPanel(){
				var vychoziPanel = vychozi("panel");
				var offsety = new Array();

				for(i=0; i<vychoziPanel.length; i++){
					if($("#levyPanel_" + vychoziPanel[i]).length == 1){
						offsety[vychoziPanel[i]] = $("#levyPanel_" + vychoziPanel[i]).offset().top;
					}
				}

				for(i=0; i<Nastaveni.panel.length; i++){
					if($("#levyPanel_" + Nastaveni.panel[i]).length == 1){
						$("#levy-seznam").append($("#levyPanel_" + Nastaveni.panel[i]));
					}
				}

				for(i=0; i<vychoziPanel.length; i++){
					if($("#levyPanel_" + vychoziPanel[i]).length == 1){
						$("#levyPanel_" + vychoziPanel[i]).css({top: (offsety[vychoziPanel[i]]-$("#levyPanel_" + vychoziPanel[i]).offset().top)}).animate({top: 0}, {duration: 1500});
					}
				}

			}

			function zmenBarvu(callback){
				$("#stranka").animate({opacity: 0}, {duration: 1500, complete: function(){
					$("#barva").attr("href", unikatniAdresa($("#barva").attr("href").split("?")[0]));
					$("#stranka").delay(1000).animate({opacity: 1}, {duration: 1500, complete: callback});
				}});
			}

			function zmenPozadi(){
				var tapeta_img = new Image();
				tapeta_img.src = Nastaveni.tapeta;
				tapeta_img.onload = function(){
					$("#tapeta div").fadeOut(1500, function(){
						$("#tapeta div").css("background-image", "url(" + Nastaveni.tapeta + ")").fadeIn(1500);
					});
				}
			}

			// Byla změněna jak barva tak pozadí?
			if(Nastaveni.barva.length == 6 && Nastaveni.barva.toUpperCase() != posledni["barva"].toUpperCase() && Nastaveni.tapeta.toUpperCase() != "" && Nastaveni.tapeta.indexOf(posledni["tapeta"].toUpperCase()) == -1){
				zmenBarvu(function(){zmenPanel();zmenPozadi();});
			}

			// Změnila se jen barva?
			else if(Nastaveni.barva.length == 6 && Nastaveni.barva.toUpperCase() != posledni["barva"].toUpperCase()){
				zmenBarvu(zmenPanel);
			}

			// Změnilo se jen pozadí?
			else if(Nastaveni.tapeta != "" && Nastaveni.tapeta.toUpperCase().indexOf(posledni["tapeta"].toUpperCase()) == -1){
				zmenPanel();
				zmenPozadi();
			}

			else{
				zmenPanel();
			}

			posledni["panel"]  = Nastaveni.panel.join(":");
			posledni["barva"]  = Nastaveni.barva;
			posledni["tapeta"] = Nastaveni.tapeta;
			posledni["hudba"]  = JSON.stringify(Nastaveni.hudba);

			setTimeout(function(){prehravac.nacti()}, 3000);

		});
	}

})();

////////////////////////////////////////////////////////////////////////////////
// Navigace

var Navigace = new(function(){

	var historie_db = new Array();

	this.init = function(){
		debug.log("Aktivuj Navigaci");
		if(history.pushState){
			window.onpopstate = function (event) {
				Navigace.jdi(location.href);
			};
		}
		else{
			if(window.onhashchange){
				window.onhashchange = function (event) {
					Navigace.jdi(RootURL + location.hash.substr(1));
				};
			}
			else{
				window.location_hash = location.hash;
				setInterval(function(){
					if(location_hash != location.hash && location.hash.indexOf("/") > 0){
						Navigace.jdi(RootURL + location.hash.substr(1));
					};
				}, 100);
			}
		}
	}

	this.historie = function(data){
		if(typeof(data) == "number"){
			if(data < 0){
				return (historie_db[historie_db.length+data] ? historie_db[historie_db.length+data] : null);
			}
			else{
				return (historie_db[data] ? historie_db[data] : null);
			}
		}
		else if(typeof(data) == "string"){
			historie_db.push(data);
		}
	}

	this.adresniradek = function(adresa){
		debug.log("Uprav Adresu: " + adresa);
		if(adresa){
			adresa = (adresa.indexOf(RootURL) == 0 ? adresa.substr(RootURL.length) : adresa);
			this.historie(adresa);
			if(history.pushState){
				if(location.href.substr(RootURL.length) != adresa){
					history.pushState(null, document.title, adresa);
				}
			}
			else{
				location.hash = location_hash = "#" + adresa;
			}
			pocitadla.zapocitej(adresa);
		}
	}

	this.titulek = function(data){
		if(typeof(data) == "string"){
			document.title = data.substring(data.indexOf("<" + "!--")+4, data.indexOf("--" + ">"));
		}
		else{
			document.title = "Český portál o seriálu Smallville";
		}
	}

	this.jdi = function(adresa){
		if(adresa.indexOf("#") == -1 && adresa != ""){

			var overPripony = function(pripony){
				cesta   = adresa.split("?")[0];
				soubor  = cesta.substr(cesta.lastIndexOf("/")+1);
				pripona = (soubor.indexOf(".") >= 0 ? soubor.substr(soubor.lastIndexOf(".")+1) : "");

				return ((":" + pripony.join(":") + ":").indexOf(":" + pripona + ":") != -1)
			}

			var adresa = (adresa.indexOf(RootURL) == 0 ? adresa.substr(RootURL.length) : adresa);

			if(adresa.indexOf("http://") == -1){
				pocitadla.GA(adresa);
			}

			if(false){}
			// Větvení adres

			else if(adresa.indexOf("/stahnout/mp3/Poslechnout") == 0){
				window.open(adresa,'','height=185,width=607,toolbar=no,menubar=no,scrollbars=no,resizable=no');
			}

			else if(adresa.indexOf("/stahnout/mp3/Text") == 0){
				window.open(adresa,'','height=600,width=510,toolbar=no,menubar=no,scrollbars=yes,resizable=yes');
			}

			// Zobrazení komentářů pod příspěvkem
			else if(adresa.indexOf("/novinky/komentare-k-") == 0){
				var id = adresa.substring(adresa.lastIndexOf("-(")+2, adresa.lastIndexOf(").html"));
				var komentareElement = $("#novinka_" + id + " .novinka-komentare");
				if(komentareElement.css("display") == "none"){
					komentareElement.load(unikatniAdresa(adresa), function(){
						$("#novinka_" + id + " .novinka-info a").text("Skrýt komentáře");
						komentareElement.show("slow");
					});
				}
				else{
					$("#novinka_" + id + " .novinka-info a").text("Zobrazit komentáře");
					komentareElement.hide("slow");
				}
			}

			// Zobrazení novinek
			else if(adresa == "/" && Navigace.historie(-1).indexOf("/novinky/") == 0){
				$("#novinka-dialog").dialog("close");
			}
			else if(adresa.indexOf("/novinky/") == 0){
				var news_id = adresa.substring(adresa.lastIndexOf("-(")+2, adresa.lastIndexOf(").html"));
				$.ajax({
					dataType: "html",
					cache: false,
					url: adresa,
					success: function(data) {
						Navigace.titulek(data);
						$("#novinka-dialog").html(data);
						$("#novinka-dialog").dialog({
							height: 600,
							width: 800,
							modal: true,
							open: function(){
								var nadpis = ($("#novinka_" + news_id + ">header").length == 1 ? $("#novinka_" + news_id + ">header").text() : data.substring(data.indexOf("<" + "!--")+4, data.indexOf("--" + ">")));
								$("#ui-dialog-title-novinka-dialog").text(nadpis);
								$(this).parent().showFrom("#novinka_" + news_id + ">header");
								$(".ui-widget-overlay").fadeIn(1500);
							},
							beforeClose: function(){
								$(this).parent().hideTo("#novinka_" + news_id + ">header", {callback: function(){
									$(".ui-widget-overlay").css("display", "");
									$("#novinka-dialog").dialog("destroy");
								}});
								$(".ui-widget-overlay").fadeOut(1500);
								Navigace.adresniradek("/");
								Navigace.titulek()
								return false;
							}
						})
					}
				});

				Navigace.adresniradek(adresa);
			}

			else if(adresa.indexOf("/epizody/epizoda") == 0){
				$("#epizoda-dialog").attr("title", "Oficiální popis");
				$("#epizoda-dialog").load(adresa, function(){
					$("#epizoda-dialog").dialog({
						height: 400,
						width: 500,
						modal: true,
						open: function(){
							$(this).parent().showFrom("#nv_ep_" + adresa.substring(16, adresa.indexOf(".html")) + " a:eq(1)", {duration: 1500});
							$(".ui-widget-overlay").css("display", "none").fadeIn(1500);
						},
						beforeClose: function(){
							$(this).parent().hideTo("#nv_ep_" + adresa.substring(16, adresa.indexOf(".html")) + " a:eq(1)", {callback: function(){
								$(".ui-widget-overlay").css("display", "");
								$("#epizoda-dialog").dialog("destroy");
							}});
							$(".ui-widget-overlay").fadeOut(1500);
							return false;
						}
					});
				});
			}

			// Zobrazení Playlistu
			else if(adresa.indexOf("/stahnout/mp3/playlist.html") == 0){
				$("#playlist-dialog").attr("title", "Uprav si svůj playlist");
				$("#playlist-dialog").load(adresa, function(){

					if(Nastaveni.hudba.parametry){
						for(i=0; i<Nastaveni.hudba.seznam.length; i++){
							$("#stopa_" + Nastaveni.hudba.seznam[i]).appendTo("#playlist");
						}
						$("#autostart").attr("checked", (Nastaveni.hudba.parametry[1] == 1));
						$("#random").attr("checked", (Nastaveni.hudba.parametry[2] == 1));
						$("#stopa_" + Nastaveni.hudba.seznam[Nastaveni.hudba.parametry[0]]).attr("className", "aktualni-stopa");
					}

					$(".playlist ul").sortable({
						connectWith: ".playlist ul",
						revert: true,
						cursor: "move",
						helper: "clone",
						update: function(){
							if(Nastaveni.hudba.seznam && Nastaveni.hudba.parametry){
								Nastaveni.hudba.seznam = new Array();
								Nastaveni.hudba.parametry[0] = 0;
								$("#playlist li").each(function(){
									Nastaveni.hudba.seznam.push(parseInt($(this).attr("id").split("_")[1]));
									if($(this).hasClass("aktualni-stopa")){
										Nastaveni.hudba.parametry[0] = Nastaveni.hudba.seznam.length-1;
									}
								});
								$(".aktualni-stopa").removeClass("aktualni-stopa");
								$("#stopa_" + Nastaveni.hudba.seznam[Nastaveni.hudba.parametry[0]]).addClass("aktualni-stopa");
							}
						}
					}).disableSelection();

					$("#playlist li").dblclick(function(e){
						$(".aktualni-stopa").removeClass("aktualni-stopa");
						$(this).addClass("aktualni-stopa");
						cislo = $(this).attr("id").split("_")[1];
						prehravac.prehraj(cislo);
					});

					$("#autostart").bind("click", function(){Nastaveni.hudba.parametry[1] = $("#autostart:checked").length});
					$("#random").bind("click",    function(){Nastaveni.hudba.parametry[2] = $("#random:checked").length});

					$("#playlist-dialog").dialog({
						height: 600,
						width: 800,
						modal: true,
						open: function(){
							$(this).parent().showFrom("#prehravac-obal", {duration: 1500});
							$(".ui-widget-overlay").css("display", "none").fadeIn(1500);
						},
						beforeClose: function(){

							Nastaveni.ulozit();

							$(this).parent().hideTo("#prehravac-obal", {callback: function(){
								$(".ui-widget-overlay").css("display", "");
								$("#playlist-dialog").dialog("destroy");
							}});
							$(".ui-widget-overlay").fadeOut(1500);
							return false;
						}
					})
				});
			}

			// Zobrazení Přihlašování
			else if(adresa.indexOf("/prihlaseni/") == 0){
				$("#login-dialog").attr("title", "Přihlášení");
				$("#login-dialog").load(adresa, function(){
					$("#login-dialog").dialog({
						height: 350,
						width: 275,
						modal: true,
						open: function(){
							$(this).parent().showFrom("#prihlasit", {duration: 1500});
							$(".ui-widget-overlay").css("display", "none").fadeIn(1500);
						},
						beforeClose: function(){
							$(this).parent().hideTo("#prihlasit", {callback: function(){
								$(".ui-widget-overlay").css("display", "");
								$("#login-dialog").dialog("destroy");
							}});
							$(".ui-widget-overlay").fadeOut(1500);
							return false;
						}
					})
				});
			}

			// Zobrazení nastavení pozadí
			else if(adresa.indexOf("/nastaveni/tapeta.html") == 0){
				$("#tapeta-dialog").attr("title", "Zvol si svou webovou tapetu");
				$("#tapeta-dialog").load(adresa, function(){

					var index = 0;

					$("#coverflow img").each(function(i){
						if(Nastaveni.tapeta.indexOf($(this).attr("src").split("?i=")[1]) != -1){
							index = i;
						}
					});

					AktivujCoverflow(index);

					var NastavitTapetu = function(){
						var tapeta = new Image();
						nahled = $("#coverflow img:eq(" + $("#slider").slider("value") + ")");
						tapeta.src = "/i/tapety/" + nahled.attr("src").split("?i=")[1];

						Nastaveni.tapeta = tapeta.src;
						Nastaveni.ulozit();

						$("#spinner-tapeta").css({position: "absolute", top: 250, display: "block", width: "950px", height: "0px", zIndex: "1000"}).animate({top: 100, height: 300}, { duration: 500, queue: false});
						tapeta.onload = function(){
							$("#spinner-tapeta").animate({top: 250, height: 0}, {duration: 500, queue: false, complete: function(){
								$("body").append(tapeta);

								tapeta_vyska = $(tapeta).height();
								tapeta_sirka = $(tapeta).width();

								var scale = 1.3;

								$(tapeta).css({width: (500*scale)+"px"}); // násobení 500px * 1.3 kvůli CSS scale(1.3);

								stranka_vyska = $("#stranka").height();
								stranka_sirka = $("#stranka").width();

								pomer = 1;//Math.max(stranka_vyska/tapeta_vyska, stranka_sirka/tapeta_sirka);

								start_vyska = $(tapeta).height()
								start_sirka = $(tapeta).width()
								start_top   = nahled.offset().top;
								start_left  = nahled.offset().left;

								stop_vyska  = pomer * tapeta_vyska;
								stop_sirka  = pomer * tapeta_sirka;
								stop_top    = (stranka_vyska - stop_vyska) / 2;
								stop_left   = (stranka_sirka - stop_sirka) / 2;

								$(tapeta).css({position: "absolute", top: start_top, left: start_left, zIndex: 1100});
								$(".ui-widget-overlay").fadeOut(3000);
								$(tapeta).animate({top: stop_top, left: stop_left, height: stop_vyska, width: stop_sirka}, { duration: 3000, queue: false, easing: "easeInOutCubic", complete: function(){
									$("#tapeta-dialog").dialog("destroy");
									$(".ui-widget-overlay").fadeIn(1000);
									$("#tapeta div").fadeOut(1500, function(){
										$("#tapeta div").css("background-image", "url(" + $(tapeta).attr("src") + ")").fadeIn(1500);
										$(tapeta).fadeOut(1500, function(){
											$(tapeta).remove();
										});
									});
								}});
							}});
						}
					}

					$("#tapeta-nastavit").click(NastavitTapetu);

					$("#coverflow img").dblclick(NastavitTapetu);

					$("#tapeta-dialog").dialog({
						height: 700,
						width: 1000,
						modal: true,
						open: function(){
							$(this).parent().disableSelection()
							$(this).parent().showFrom("#stack li:eq(1)", {duration: 1500});
							$(".ui-widget-overlay").css("display", "none").fadeIn(1500);
						},
						beforeClose: function(){
							$(this).parent().hideTo("#stack li:eq(1)", {callback: function(){
								$(".ui-widget-overlay").css("display", "");
								$("#tapeta-dialog").dialog("destroy");
							}});
							$(".ui-widget-overlay").fadeOut(1500);
							return false;
						}
					})
				});
			}

			// Zobrazení nastavení barvy webu
			else if(adresa.indexOf("/nastaveni/barva.html") == 0){

				$("#barva-jpicker").jPicker(
					{
						color:{
							alphaSupport: true,
							active: new $.jPicker.Color({hex: Nastaveni.barva})
						}
					},
					function(color, context){

						Nastaveni.barva = color.val("all").hex;
						Nastaveni.ulozit();

						$("#barva-dialog").dialog("close");
						$("#stranka").delay(1500).animate({opacity: 0}, {duration: 1500, complete: function(){
							$("#barva").attr("href", unikatniAdresa($("#barva").attr("href").split("?")[0]));
							$("#stranka").delay(1000).animate({opacity: 1}, {duration: 1500, complete: function(){
								//$("#barva-dialog").dialog("open");
							}});
						}});
					},
					function(){
						//
					},
					function(){
						$("#barva-dialog").dialog("close");
					}
				);

				$("#barva-dialog").attr("title", "Nastav si barvu webu podle sebe!");
				$("#barva-dialog").dialog({
					height: 375,
					width: 575,
					modal: true,
					open: function(){
						$(this).parent().disableSelection()
						$(this).parent().showFrom("#stack li:eq(0)", {duration: 1500});
						$(".ui-widget-overlay").css("display", "none").fadeIn(1500);
					},
					beforeClose: function(){
						$(this).parent().hideTo("#stack li:eq(0)", {callback: function(){
							$(".ui-widget-overlay").css("display", "");
							$("#barva-dialog").dialog("destroy");
						}});
						$(".ui-widget-overlay").fadeOut(1500);
						return false;
					}
				});
			}

			// Obsahuje odkaz v adrese html, nebo php? Otevřeme jej v obsahu
			else if(adresa.indexOf("http://") == -1 && overPripony(["", "html", "php"]) && adresa.indexOf("/stahnout.php") == -1){
				Navigace.adresniradek(adresa);
				$("#obsah").fadeOut(500, function(){
					$.ajax({
						dataType: "html",
						cache: false,
						url: adresa,
						success: zpracujData
					});
				}).delay(500);
			}

			// Obsahuje odkaz v adrese html, nebo php? Otevřeme jej v obsahu
			else if(adresa.indexOf("http://") == -1 && ((overPripony(["exe", "rar", "zip"]) || adresa.indexOf("/stahnout.php") > 0))){
				$("body").append("<iframe name=\"stahovaci-ram\" id=\"stahovaci-ram\" src=\"" + adresa + "\"></iframe>");
				setTimeout(function(){
					$("#stahovaci-ram").remove();
				}, 1000);
			}

			// Všechny ostatní odkazy otevřít v novém okně
			else{
				window.open(adresa);
			}
		}
	}

})();

////////////////////////////////////////////////////////////////////////////////
// Počítadla návštěvnosti

var pocitadla = new(function(){

	this.zapocitej = function(adresa){
		$("#pocitadla").html("<iframe name=\"pocitadla\" src=\"" + adresa + "\"></iframe>");
	}

	this.GA = function(adresa){
		//pageTracker._trackPageview(adresa);
		_gaq.push(['_trackPageview', adresa]);
	}

})();

////////////////////////////////////////////////////////////////////////////////
// Zpracuj data

function zpracujData(data){

	var redirect = new RegExp("<meta[^>]*content=[\"']?[0-9]+;URL=([^\"]*)[\"'][^>]*>", "i").exec(data);

	if(redirect != null){
		Navigace.jdi(redirect[1]);
	}
	else if(data.indexOf("<html") == -1){
		Navigace.titulek(data);
		$("#obsah").html(data).fadeIn(500);

		AktivujPrvky("#obsah");
		PremistitPanel();
	}
	else{
		alert("Vyskytla se chyba, stránka nemohla být načtena.");
		history.back();
	}
}

function PremistitPanel(){
	var panel_forum = $("#obsah #ucp-left");
	var panel_vlevo = $("#levyPanel_forum_panel");
	if(panel_forum.length == 1){
		panel_forum.next().next().css("width", "100%");
		panel_vlevo.find("div").html("");
		panel_vlevo.find("div").append(panel_forum);
		panel_vlevo.show(1000);
	}
	else{
		panel_vlevo.hide(1000);
	}
}

////////////////////////////////////////////////////////////////////////////////
// Aktivace Prvků

function AktivujPrvky(){

	////////////////////////////////////////////////////////////////////////////////
	// Odpočet

	if($("#odpocet").length == 1){
		var AktualniCasNaServeru = new Date($("#cas").val());
		var AktualniCasNaKlientu = new Date();
		var CasVysilani = new Date(parseInt($("#vysilani").val() + "000"));
		(function(){
			AktualniCas = new Date(AktualniCasNaServeru.valueOf()-AktualniCasNaKlientu.valueOf()+new Date().valueOf());
			var odpocet		= "Není naplánován čas další epizody.";
			ZbyvajiciCas	= CasVysilani - AktualniCas;

			if (ZbyvajiciCas>0 && $("#odpocet").length == 1){
				ZbyvaSekund	= Math.floor(ZbyvajiciCas/1000)%60;
				ZbyvaMinut	= Math.floor(ZbyvajiciCas/60000)%60;
				ZbyvaHodin	= Math.floor(ZbyvajiciCas/3600000)%24;
				ZbyvaDni	= Math.floor(ZbyvajiciCas/86400000);

				SlovoSekund = " sek"//" sekund"+(ZbyvaSekund>4||ZbyvaSekund==0?"":(ZbyvaSekund==1?"u":"y"));
				SlovoMinut  = " min"//" minut"+(ZbyvaMinut>4||ZbyvaMinut==0?"":(ZbyvaMinut==1?"u":"y"));
				SlovoHodin  = " hod"//" hodin"+(ZbyvaHodin>4||ZbyvaHodin==0?"":(ZbyvaHodin==1?"u":"y"));
				SlovoDni    = " d"+(ZbyvaDni>4||ZbyvaDni==0?"ní":(ZbyvaDni==1?"en":"ny"));

				odpocet = (ZbyvajiciCas > 86400000 ? ZbyvaDni + SlovoDni + ", " : "") + (ZbyvajiciCas > 3600000 ? ZbyvaHodin + SlovoHodin + ", " : "pouhých ") + (ZbyvajiciCas > 60000 ? ZbyvaMinut + SlovoMinut + " a " : "") + ZbyvaSekund + SlovoSekund + ".";
				var fn = arguments.callee;
				setTimeout(function(){fn();}, 1000);
			}
			$("#odpocet").html(odpocet);
		})();
	}

	////////////////////////////////////////////////////////////////////////////////
	// Aktivace fotomixéru

	$(".fotomix ul").sortable({
		connectWith: ".fotomix ul",
		update: function(){},
		revert: true,
		cursor: "move",
		helper: "clone"
	}).disableSelection();

	$("#fotomix-mixuj").click(function(){
		$("#fotogalerie").attr("src", "http://smallville.cz/fotogalerie/?" + $("#mujmix").sortable("serialize"));
	});

	////////////////////////////////////////////////////////////////////////////////
	// Aktivace sdílecích tlačítek

	var sdileni = function(n){

		var i = 0;

		var adresa = encodeURI($(".sdileni:eq("+n+") a").attr("href"));
		var nadpis = encodeURIComponent($(".sdileni:eq("+n+") a").text()).replace(/\+/g,"%2B");

		var facebook = '<iframe name="news_fb_' + i + '" src="http://www.facebook.com/plug%69ns/l%69ke.php?href=' + adresa + '&amp;layout=button_count&amp;show_faces=false&amp;action=like&amp;font=verdana&amp;colorscheme=dark" class="sdileni_fb" scrolling="no" frameborder="0" allowTransparency="true"></iframe>';
		var twitter  = '<iframe name="news_tw_' + i + '" src="http://platform1.twitter.com/w%69dgets/tweet_button.html?count=horizontal&amp;lang=en&amp;text=' + nadpis + '&amp;url=' + adresa + '&amp;via=SmallvilleCZ" class="sdileni_twitter" frameborder="0" scrolling="no" tabindex="0" allowtransparency="true"></iframe>';
		sd_el = $(".sdileni:eq("+n+") a").parent();
		sd_el.html(facebook + twitter);
		sd_el.find("iframe").bind("load", function(){
			i++;
			if(i == 2){
				setTimeout(function(){
					sdileni(n+1);
				}, 500);
			}
		});
	};
	if($(".sdileni").length > 0){
		setTimeout(function(){
			sdileni(0);
		}, 3000);
	}

}

function sendComment(id){
	var textarea = $("#novinka_" + id + " .novinka-info textarea");
	$.post(
		"/novinky/news.php?fn_mode=comments&fn_action=post&fn_id=" + id,
		{comment: textarea.val()},
		function (data){
			debug.log(data);
			if(cookies.read("uid") == 1){
				alert("Nejsi přihlášen(a).\r\n\r\nAbys mohl(a) přispívat do komentářů, musíš se na webu přihlásit.");
			}
			else{
				textarea.val("");
				textarea.animate({height: 25});

				var komentareElement = $("#novinka_" + id + " .novinka-komentare");
				var odkazElement     = $("#novinka_" + id + " .novinka-info a");
				komentareElement.load(unikatniAdresa(odkazElement.attr("href")), function(){
					odkazElement.text("Skrýt komentáře");
					komentareElement.show("slow");
				});
			}
		}
	);
}

////////////////////////////////////////////////////////////////////////////////
// Ovládání stránky hlasem

function hlasIkonka(i){
	$("#hlas img:eq(" + i + ")").hide();
	$("#hlas img:eq(" + (i+1)%2 + ")").show();
}

function hlasoveOvladani(event) {
	if(event){
		hlasIkonka(1);

		if (event.target){
			element = event.target;
		}
		else if (event.srcElement){
			element = event.srcElement;
		}

		var prikaz = element.value;
		element.value = "";

		function jeVPrikazu(pole){
			return ((":" + pole.join(":") + ":").indexOf(":" + prikaz.split(" ")[0] + ":") != -1);
		}

		if(false){}

		// Přehrání písničky
		else if(jeVPrikazu(["přehraj", "přehrát", "play"])){
			debug.log(prikaz);
			prikaz = prikaz.substr(prikaz.indexOf(" ")+1);
			$.get("/stahnout/mp3/hlas_prehrat.php?prikaz=" + prikaz, function(data){
				var cislo = parseInt(data);
				debug.log(cislo);
				if(cislo >= 0){
					prehravac.prehraj(cislo);
				}
				else{
					alert("Píseň nebyla nalezena, nebo nebyl správně rozpoznán její název.\r\nZkus to, prosím, znova.");
				}
			});
		}

		// Hlasové přihlášení
		else if(jeVPrikazu(["přihlásit", "přihlaš", "login"])){
			prikaz = prikaz.substr(prikaz.indexOf(" ")+1);
			$.post(
				"/prihlaseni/hlas_login.php",
				{"hlasove-heslo": prikaz},
				function(data){
					if(cookies.read("uid") == 1){
						alert("Hlasové přihlášení se nezdařilo. Buď se nepodařilo rozpoznat tvůj hlasový příkaz, nebo jsi jej řekl(a) špatně.");
					}
					else{
						Nastaveni.nacist();
					}
				}
			);
		}

		// Epizody
		else if(jeVPrikazu(["epizoda", "díl"])){
			prikaz = prikaz.split(" ");
			if(prikaz.length == 3 && prikaz[1] == parseInt(prikaz[1]) && prikaz[2] == parseInt(prikaz[2])){
				Navigace.jdi("http://smallville.cz/epizody/podrobnostioepizode" + parseInt(prikaz[1]) + (parseInt(prikaz[2])<9?"0":"") + parseInt(prikaz[2]) + ".html");
			}
		}

		// Ostatní příkazy
		else{
			switch(prikaz){

				// Novinky
				case "novinky":
				case "news":
				case "hlavní stránka":
					Navigace.jdi("/");
				break;

				// Sekce MP3
				case "mp3":
				case "sekce mp3":
				case "stránka mp3":
					Navigace.jdi("/stahnout/mp3/");
				break;

				// Titulky
				case "titulky":
				case "subtitles":
					Navigace.jdi("/titulky/");
				break;

				// Galerie
				case "galerie":
				case "fotky":
				case "fotografie":
				case "fotogalerie":
					Navigace.jdi("/galerie/");
				break;

				// Fórum
				case "fórum":
				case "forum":
					Navigace.jdi("/forum/");
				break;

				// Fotomixér
				case "foto mixér":
				case "fotomixér":
					Navigace.jdi("/galerie/fotomixer/");
				break;


				// Nejnovější titulky
				case "stáhni nejnovější titulky":
				case "nejnovější titulky":
					Navigace.jdi("http://smallville.cz/titulky/nejnovejsi.rar");
				break;

				// Odhlásit
				case "odhlásit":
				case "logout":
					$.get("/prihlaseni/hlas_login.php?logout", function(){
						Nastaveni.nacist();
					});
				break;

				// Nápověda
				case "nápověda":
				case "help":
					alert(
						"Nápověda\r\n\r\n"+
						"Novinky, hlavní stránka - načte hlavní stránku s novinkami.\r\n\r\n"+
						"MP3 - načte stránku s MP3kami.\r\n\r\n"+
						"Titulky - načte stránku s titulkami.\r\n\r\n"+
						"Galerie - načte fotogalerii.\r\n\r\n"+
						"Fotomixér - načte fotomixér.\r\n\r\n"+
						"Fórum - načte stránku s fórem webu.\r\n\r\n"+
						"Nejnovější titulky - stáhne nejnovější titulky do tvého počítače.\r\n\r\n"+
						"Epizoda (číslo řady) (číslo epizody) - načte informace o zvolené epizodě (např.: Epizoda deset dvacet)\r\n\r\n"+
						"Přehrát (název písničky) - spustí přehrávání písničky z naší sekce MP3 (např.: Přehrát coldplay in my place)\r\n\r\n"+
						"Odhlásit - Tento příkaz tě odhlásí z webu.\r\n\r\n"+
						"Přihlásit (tvá hlasová fráze) - přihlásí tě pomocí hlasové fráze k našemu webu (např.: přihlásit superman je borec)"
					);
				break;

				default:
					alert("Příkaz nerozeznán. Prohlížeč ti rozuměl: \"" + prikaz + "\".\r\n\r\nPokud nevíš, jaké příkazy použít, řekni \"Nápověda\".");
			}
		}
	}
	else{
		if(/chrome/.test(navigator.userAgent.toLowerCase())){
			alert("Funkce hlasového ovládání není v prohlížeči Google Chrome aktivní.\r\nChceš-li tuto funkci aktivovat, spusť prohlížeč Google Chrome s parametrem \"--enable-speech-input\".");
		}
		else{
			alert("Tvůj prohlížeč nepodporuje technologii hlasového ovládání.\r\nPokud chceš funkci hlasového ovládání webu použít, stáhni si prohlížeč Google Chrome.");
		}
	}
}

var TTS = new(function(){

	var Audios = new Array();

	this.speak = function(text, lang, callback){
		if(typeof(lang) == "string" && lang.length == 2){}
		else{
			lang = "cs";
		}
		var address = "http://translate.google.com/translate_tts?ie=UTF-8&q=" + encodeURIComponent(text) + "&tl=" + lang + "&prev=input";
		//alert(address);
		var voice = new Audio();
		voice.src = address;
		//voice.load();
		voice.play();
		voice.onend = function(){
			if(typeof(callback) == "function"){
				callback();
			}
		}

	}

})();

////////////////////////////////////////////////////////////////////////////////
// Události přehrávavče

var prehravac = new(function(){

	var prehravac_id = "prehravac-hudby";
	var states = new Array(0, 0, 0, 0);
	var ukazStitek = true;

	function nacti(){
		// Aktivování přehrávače
		if(document.getElementById(prehravac_id).loadFile){
			if(Nastaveni.hudba.seznam.length > 0){
				var cislo = Nastaveni.hudba.seznam[Nastaveni.hudba.parametry[0]];
				prehraj(cislo);
				if(Nastaveni.hudba.parametry[1] == 0){
					setTimeout(function(){prehravac.odesliUdalost('stop')}, 100);
				}
			}
		}
		else{
			setTimeout(arguments.callee,100);
		}
	}

	var posun = function(kolik){
		if(Nastaveni.hudba.seznam.length > 0){
			var pozice = Nastaveni.hudba.parametry[0];
			var delka  = Nastaveni.hudba.seznam.length;
			if(Nastaveni.hudba.parametry[2] == 1){
				pozice = (Math.floor(Math.random()*999999)%delka);
			}
			else{
				pozice = (delka+pozice+kolik)%delka;
			}
			Nastaveni.hudba.parametry[0] = pozice;
			prehraj(Nastaveni.hudba.seznam[Nastaveni.hudba.parametry[0]]);
		}
	}

	var prehraj = function(cislo){

		ukazStitek = true;
		states = new Array(0, 0, 0, 0);

		var skladba = {
			file: "/stahnout/mp3/?akce=prehrat&id=" + cislo + "&.mp3",
			type: "mp3",
			captions: "/stahnout/mp3/texty.php?id=" + cislo + "&mezera&.srt"
		}
		document.getElementById(prehravac_id).loadFile(skladba);
		$("#infooskladbe").load("/stahnout/mp3/pisen_stitek.html?id=" + cislo).delay(5000);

		$.get("/stahnout/mp3/xmlinfo.html?id=" + cislo, function(data){
			data = data.split("\r\n");
			TTS.speak("Právě hraje píseň", "cs", function(){
				TTS.speak(data[0], "en", function(){
					TTS.speak("od", "cs", function(){
						TTS.speak(data[1], "en");
					});
				});
			});
		});


		for(i=0; i<Nastaveni.hudba.seznam.length; i++){
			if(cislo == Nastaveni.hudba.seznam[i]){
				Nastaveni.hudba.parametry[0] = i;
				Nastaveni.ulozit();
				break;
			}
		}
	}

	this.nacti = nacti;

	this.prehraj = prehraj;

	this.predchozi = function(){
		posun(-1);
	}

	this.dalsi = function(){
		posun(+1);
	}

	this.odesliUdalost = function(typ,param){
		document.getElementById(prehravac_id).sendEvent(typ,param);
	};

	this.aktualizujInfo = function(typ, param1, param2, pid){
		if(typ == "state"){
			if (param1 == 2 && states[3] == 1 && ukazStitek){
				ukazStitek = false;

				$("#infooskladbe").css({display: "block"});
				var offsetRight = $("#stranka").innerWidth()-($("#prehravac-obal").offset().left+$("#infooskladbe").innerWidth());

				$("#infooskladbe").css({right: offsetRight, bottom: -200});
				$("#infooskladbe").animate({rotate: 720}, {duration: 2000, queue: false});
				$("#infooskladbe").animate({right:   25}, {duration: 2000, queue: false, easing: "easeInOutSine"});
				$("#infooskladbe").animate({bottom: 300}, {duration: 1000, queue: false, easing: "easeOutSine", complete: function(){
					$("#infooskladbe").animate({bottom: 75}, {duration: 1000, queue: false, easing: "easeInSine", complete: function(){
						setTimeout(function(){
							$("#infooskladbe").animate({rotate: -720},        {duration: 2000, queue: false});
							$("#infooskladbe").animate({right:  offsetRight}, {duration: 2000, queue: false, easing: "easeInOutSine"});
							$("#infooskladbe").animate({bottom:  300},        {duration: 1000, queue: false, easing: "easeOutSine", complete: function(){
								$("#infooskladbe").animate({bottom: -200}, {duration: 1000, easing: "easeInSine", queue: false, complete: function(){
									$("#infooskladbe").css({display: "none"});
								}});
							}});
						}, 5000);
					}});
				}});

			}
			if(param1 == 0 && states[3] == 3 && states[2] == 2){
				setTimeout(function(){prehravac.dalsi()}, 1000);
			}
			states.shift();
			states.push(param1);
		}
	}

	this.nactiInfo = function(id){
		//var obj = document.getElementById(prehravac_id).itemData(id);
	}
})();


function getUpdate(typ,param1,param2,pid) {
	if(pid == "prehravac-hudby"){
		prehravac.aktualizujInfo(typ,param1,param2,pid);
	}
	if(pid == "prehravac-eol"){
		if(typ == "time") {
			if(cookies.read("uid")=="1"){
				//pisen.aktualni = "no-login";
				document.getElementById("hraje_pisen").innerHTML = "<table width=\"100%\" height=\"100%\"><td align=\"left\">Nejsi přihlášen(a). Pravděpodobně ses odhlásil(a), nebo vypršel čas tvého přihlášení. Pro spuštění epizody se, prosím, znovu přihlaš.</td></tr></table>";
				document.getElementById("hraje_pisen").style.visibility = "visible";
				//document.getElementById("prehravac-eol").sendEvent("scrub", 0);
				document.getElementById("prehravac-eol").sendEvent("stop");
			}
			else{
				var pisen = "";
				var pisnicky = window.pisnicky;
				debug.log(pisnicky.data.join("\r\n"));
				for(i=0; i<pisnicky.data.length-1; i++){
					data = pisnicky.data[i].split(";;;");
					if(parseInt(data[2])<param1 && param1<parseInt(data[3])){
						pisen = data;
					}
				}
				if(pisen != pisnicky.aktualni){
					document.getElementById("hraje_pisen").innerHTML = (pisen!=""?"<table width=\"100%\" height=\"100%\"><tr><td width=\"45px\" align=\"center\"><img src=\"/i/music.gif\" alt=\"Hudba\" /></td><td align=\"left\"> V epizodě právě hraje píseň <strong>"+pisen[1]+"</strong> od <strong>"+pisen[0]+"</strong></td></tr></table>":"");
					document.getElementById("hraje_pisen").style.visibility = (pisen!=""?"visible":"hidden");
					window.pisnicky.aktualni = pisen;
				}
			}
		}
	}
};

function NactiLevyPanel(data){
	$("#levy-seznam").css({opacity: 0}).html(data);
	PremistitPanel();
	$("#levy-seznam").animate({opacity: 1}, { duration: 1500, queue: false});

	// Aktivace přeskupování levého panelu

	var offsety = new Array();

	$("#levy-seznam").sortable({
		handle : ".zahlavi",
		items: "li:not(.no-sort)",
		revert: true,
		cursor: "move",
		update: function () {
			var order = $('#levy-seznam').sortable('serialize');
			$.ajax({
				dataType: "html",
				cache: false,
				url: "/layout/levypanel.html?"+order,
			});
		},
		start: function(){
			$("#levy-seznam > li").each(function(){
				if($(this).attr("id") != undefined){
					offsety[$(this).attr("id")] = $(this).offset().top;
				}
			})
		},
		change: function(){
			$("#levy-seznam > li").each(function(){
				if($(this).attr("id") != undefined && ($(this).css("top") == "0px" || $(this).css("top") == "auto") && offsety[$(this).attr("id")] != $(this).offset().top){
					var offsetTop = $(this).offset().top;
					$(this).css({top: offsety[$(this).attr("id")]-offsetTop}).animate({top: 0}, {duration: 500});
					offsety[$(this).attr("id")] = offsetTop;
				}
			})
		}
	}).disableSelection();
}

function AktivujCoverflow(index){
	//cache core component references
	$sliderCtrl = $('#slider');
	$coverflowCtrl = $('#coverflow');
	$coverflowImages = $coverflowCtrl.find('img');

	//app defaults
	var defaultItem = (index!=null?index:0);
	var listContent = "";

	//Initialize CoverFlow
	$coverflowCtrl.coverflow({
		item: defaultItem,
		duration:1000,
		select: function(event, sky){
			skipTo(sky.value);
		}
	});

	//Initialize Horizontal Slider
	$sliderCtrl.slider({
		min: 0,
		max: $('#coverflow > *').length-1,
		value: defaultItem,
		slide: function(event, ui) {
			$coverflowCtrl.coverflow('select', ui.value, true);
			$('.coverflowItem').removeClass('ui-selected');
			$('.coverflowItem:eq(' + (ui.value) +')').addClass('ui-selected');
		}
	});

	//Skip to an item in the CoverFlow
	function skipTo($itemNumber){
		$sliderCtrl.slider("option", "value", $itemNumber);
		$coverflowCtrl.coverflow("select", $itemNumber, true);
		$('.coverflowItem').removeClass('ui-selected');
		$('.coverflowItem:eq(' + ($itemNumber) +')').addClass('ui-selected');
	}

	//Assign click event for coverflow images
	$('body').delegate('.coverflowItem','click', function(){
		skipTo($(this).data('itemlink'));
	});

	//Handle keyboard events
	$(document).keydown(function(e){

		var $current = $sliderCtrl.slider("value");

		switch(e.keyCode){
			case 37:
			if($current > 0){
				$current--;
				skipTo($current);
			}
			break;

			case 39:
			if($current < $('#coverflow > *').length-1){
				$current++;
				skipTo($current);
			}
			break;
		}

	});

	//mousewheel support
	$("#coverflow").mousewheel(function(event, delta){
		var $current = $sliderCtrl.slider("value");

		//check the deltas to find out if the user has scrolled up or down
		if(delta > 0 && $current > 0){
			$current--;
		}
		else if(delta < 0 && $current < $("#coverflow > *").length-1){
			$current++;
		}

		skipTo($current);

		//event.preventDefault();//stop any default behaviour
	});

	skipTo(defaultItem);
};


////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////


var pisnicky = Array();
pisnicky.data = Array();
pisnicky.temp = Array();
pisnicky.aktualni = false;

function nactiepizody(rada){
	document.getElementById("epizoda").options.length = 0;
	document.getElementById("epizoda_nahravani").style.display = "";
	$.get("/epizody/online/ajax_data.php?rada=" + rada, function(data){
		data = data.split("\r\n");
		var select = document.getElementById("epizoda");
		for(i=0; i<data.length-1; i++){
			var temp = data[i].split(":::");
			id = temp[0];
			cislo = temp[1];
			nazev = temp[2];
			nazeven = temp[3];
			dubbing = temp[4];

			var no = new Option(cislo + " " + nazeven + " (" + nazev + ")" + (dubbing=="CZ" ? " - CZ" : ""),id);
			//if(id<=1021){
				select[select.options.length] = no;
			//}
		}
		document.getElementById("epizoda_nahravani").style.display = "none";
	});
}

function nactiepizodu(epizoda){

	$("#eol_nahled").fadeOut(500);
	$("#eol_popis").fadeOut(500, function(){

		$.get("/epizody/online/ajax_data.php?epizoda=" + epizoda, function(data){
			data = data.split("\r\n");
			var info = data[0].split(":::");

			var pisnicky = Array();
			pisnicky.data = Array();
			pisnicky.temp = data[1].split(":::");
			pisnicky.aktualni = false;

			window.pisnicky = pisnicky;
			id = info[0];
			cislo = info[1];
			nazev = info[2];
			nazeven = info[3];
			dubbing = info[4];
			popis = info[5];

			$("#eol_nahled").attr("src", "/epizody/obrazky/" + id + ".jpeg");
			$("#eol_popis").html(popis);

			//document.getElementById("popis_epizody").innerHTML = "<img src=\"\/epizody\/obrazky\/" + id + ".jpeg\" height=\"90\" width=\"160\" align=\"left\" \/><p>" + popis + "<\/p>";
			//document.getElementById("nadpis").innerHTML = cislo + " " + nazeven + " (" + nazev + ")";

			$("#eol_nahled").fadeIn(500);
			$("#eol_popis").fadeIn(500);

		});
	});
}

function nactivideo(epizoda){
	$("#prehravac_nahravani").fadeIn(500);
	$("#prehravac-eol").parent().animate({opacity: 0}, {duration: 1000, complete: function(){

		pisnicky.data = pisnicky.temp;

		//document.getElementById("epizoda_hlasovani").innerHTML = '<iframe src="\/hlasovani\/epizoda.php?epizoda=' + epizoda + '" width="100px" height="30px" frameborder="0" scrolling="no" framescroll="no" allowtransparency="true" style="background-color: transparent;"><\/iframe>';
		//document.getElementById("adresa_videa").value = "http://smallville.cz/epizody/online/?epizoda=" + epizoda + "&typ=" + typ_prehravace;

		$.get("/epizody/online/ajax_data.php?video=" + epizoda, function(data){
			var adresa = data.split("\r\n");

			var epizoda = document.getElementById('epizoda').value;
			var rada = parseInt(epizoda.substr(0,epizoda.length-2));
			var titulky = ("10789".indexOf(rada)>-1 ? "titulky\/epizody\/" + rada + "/" + epizoda + ".srt" : "");
			var streamscript = "http:\/\/smallville.cz\/epizody\/online\/stream.php";

			var kod = "";
			kod += '<object id="prehravac-eol" data="/epizody/online/prehravac.swf" type="application\/x-shockwave-flash" height="430" width="720">';
			kod += '<param name="movie" value="/epizody/online/prehravac.swf" \/>';
			kod += '<param name="flashvars" value="streamscript=' + escape(streamscript) + '&amp;captions=' + titulky + '&amp;file=' + escape(adresa) + '&amp;audio=/xaudio.mp3&amp;bufferlength=10&amp;logo=vodoznak.png&amp;image=pozadi_flash.jpeg&amp;overstretch=false&amp;autostart=true&amp;volume=100&amp;enablejs=true&amp;javascriptid=prehravac-eol&amp;type=flv&amp;usecaptions=true&amp;usefullscreen=true&amp;frontcolor=0xCCCCCC&amp;backcolor=0x2B2B2B&amp;lightcolor=0xFFD800&amp;screencolor=0x2B2B2B" \/>';
			//kod += '<param name="bgcolor" value="#2B2B2B" \/>';
			kod += '<param name="allowfullscreen" value="true" \/>';
			kod += '<param name="menu" value="false" \/>';
			kod += '<param name="enableJSURL" value="true" \/>';
			kod += '<param name="enableJavascript" value="true" \/>';
			kod += '<param name="wmode" value="transparent" />';
			kod += '<\/object>';

			//document.getElementById("pod_videem_1").style.visibility = "visible";
			//document.getElementById("pod_videem_2").style.visibility = "visible";
			//document.getElementById("pastecode").value = kod;

			document.getElementById("prehravac-eol").parentNode.innerHTML = kod;
			$("#prehravac_nahravani").fadeOut(500);

			$("#prehravac-eol").parent().animate({opacity: 1}, {duration: 1000});
		});
	}});
}

////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////


// Dokument je připraven

$(document).ready(function(){
	debug.log("document ready");

	////////////////////////////////////////////////////////////////////////////////
	// Aktivace odkazů

	$("a").live("click", function(){
		Navigace.jdi(this.href, this);
		return false;
	});

	////////////////////////////////////////////////////////////////////////////////
	// Aktivace formulářů

	$("form").live("submit", function(){
		if($(this).attr("method").toUpperCase() == "POST"){
			var parametry = $(this).serialize();
			var adresa = $(this).attr("action");

			adresa = (adresa.indexOf("smallville.cz") > -1 ? adresa.split("smallville.cz")[1] : adresa);

			if(adresa.indexOf("/prihlaseni/") > -1){
				$.post(
					adresa,
					parametry,
					function(data) {
						if(adresa.indexOf("/?logout") > -1 || data.indexOf("/?logout") > -1){
							$("#login-dialog").dialog("close");
							setTimeout(Nastaveni.nacist, 2000);
						}
						else{
							alert("Přihlášení se nezdařilo.\r\nPravděpodobně jsi zadal(a) chybné přihlašovací údaje.");
						}
					}
				);
			}
			else{

				Navigace.adresniradek(adresa);

				$("#obsah").fadeOut(500, function(){
					$.post(
						adresa,
						parametry,
						zpracujData
					);
				}).delay(500);
			}

		}
		return false;
	});

	$("form :submit").live("click", function(){
		if($(this).attr("name") != ""){
			$(this).append("<input type=\"hidden\" name=\"" + $(this).attr("name") + "\" value=\"" + $(this).val() + "\" />").removeAttr("name");
		}
	});

	////////////////////////////////////////////////////////////////////////////////
	// Aktivace komentářů

	$(".novinka-info textarea").live("focus", function(){
		if($(this).val() == ""){
			$(this).animate({height: 100});
		}
	});
	$(".novinka-info textarea").live("blur", function(){
		if($(this).val() == ""){
			$(this).animate({height: 25});
		}
	});

	if(history.pushState){
		var adresa = location.href;
	}
	// Nepodporuje prohlížec navigaci? No dobře, poradíme si jinak.
	else{
		var adresa = location.hash.substr(1);
	}

	adresa = (adresa.indexOf(RootURL) == 0 ? adresa.substr(RootURL.length) : adresa);

	var adresa_obsah = adresa;

	if(adresa.indexOf("/novinky/") > -1){
		adresa_obsah = RootURL + "/";
	}

	$.ajax({
		dataType: "html",
		cache: false,
		url: adresa_obsah,
		success: function(data) {
			if(data.indexOf("<html") == -1){
				debug.log("Načten obsah stránky");

				$("#obsah").html(data);
				AktivujPrvky();

				Navigace.init();
				Navigace.historie(adresa);

				$("#logo").animate({top: 0, width: 230}, { duration: 1500, queue: false});
				$("#spinner").animate({top: 100, left: 0, height: 50}, { duration: 1500, queue: false});
				$("#load-progress").hide("drop", { direction: "down", easing: "easeInBack" }, 1000);

				$("#lista").show("drop", { direction: "down" })

				$("#vrch-pozadi").fadeIn(1500);
				$("#vrch3").fadeIn(1500);
				$("nav").fadeIn(1500)

				$.ajax({
					dataType: "html",
					cache: false,
					url: "/layout/nabidka.html",
					success: function(data) {
						$("#vrchni-nabidka").html(data);

						// Nastavení vrchní nabídky do bloku
						$("nav").css("display", "block");

						// Aktivace vysouvací nabídky navigace
						$(".menulist li").hover(
							function(){
								var ul = $(this).find("ul:first");
								ul.slideDown();
							},
							function(){
								var ul = $(this).find("ul:first");
								ul.slideUp();
							}
						);

						// Připravení animace vysouvací nabídky navigace
						$(".menulist li ul").css({zindex: 2}).hide("slide", { duration: 0, direction: "up" });

						$("#vrchni-nabidka").css({display: "block", position: "relative", left: 1000, opacity: 0, width: 0}).animate({opacity: 1, left: 0, width: 1000}, { duration: 3000, queue: false});
					}
				});

				$.ajax({
					dataType: "html",
					cache: false,
					url: "/layout/levypanel.html",
					success: NactiLevyPanel
				});

				$("#telo").fadeIn(1500, function(){

					if(adresa != adresa_obsah){
						Navigace.jdi(adresa);
					}

					pocitadla.zapocitej(adresa);

					$("#paticka").fadeIn(1500);

					// Inicializace košíku
					$(function () {
						// Stack initialize
						var openspeed = 300;
						var closespeed = 300;
						$('.stack>img').toggle(function(){
							var vertical = 0;
							var horizontal = 0;
							var $el=$(this);
							$el.next().children().each(function(){
								$(this).animate({top: '-' + vertical + 'px', left: horizontal + 'px'}, openspeed);
								vertical += 55;
								horizontal += horizontal+1.5;
							});
							$el.next().animate({top: '-50px', left: '0px'}, openspeed).addClass('openStack').find('li a>img').animate({width: '50px', marginLeft: '9px'}, openspeed);
							//$el.animate({paddingTop: '0px', top: '35px'});
						}, function(){
							//reverse above
							var $el=$(this);
							$el.next().removeClass('openStack').children('li').animate({top: '55px', left: '0px'}, closespeed);
							$el.next().find('li a>img').animate({width: '79px', marginLeft: '0'}, closespeed);
							//$el.animate({paddingTop: '35px',top: '0px'});
						});

						// Stacks additional animation
						$('.stack li a').hover(function(){
							$("img",this).animate({width: '56px'}, 100);
							$("span",this).animate({marginRight: '30px'});
						},function(){
							$("img",this).animate({width: '50px'}, 100);
							$("span",this).animate({marginRight: '0'});
						});
					});

					// Aktivace hlasového ovládání
					if ('webkitSpeech' in document.createElement('input')){
						$("#hlas input").css({display: "block"}).click(function(){
							hlasIkonka(0);
							$("#hlas input").focus();
						});
					}
					else{
						$("#hlas img").click(function(){
							hlasoveOvladani();
						});
					}

					// Změna obrázků v záhlaví
					$("#vrch-obrazky").load("/layout/zahlavi_obrazky.html", function(){
						var l = $("#vrch-obrazky li").length;
						var i = 0;
						$("#vrch-obrazky li img").bind("load", function(){
							i++;
							if(i == l){
								$("#spinner").remove();
								$("#vrch-obrazky li:eq(0)").fadeIn(5000, function(){
									$next = $(this).next("li");
									if($next.length == 0){$next = $("#vrch-obrazky li:eq(0)")}
									$(this).delay(10000).fadeOut(2000);
									$next.delay(10000).fadeIn(2000, arguments.callee);
								});
							}
						});
					});

					// Aktivace pokecu
					loadJS([["/pokec/skript.js", "Pokec", function(){Pokec.init()}]]);

					(function(){
						var fn = arguments.callee;
						$("#levyPanel_forum > div").load(unikatniAdresa("/forum/ajax_nove_prispevky.html"), function(){setTimeout(fn, 60000)});
					})();

					(function(){
						var fn = arguments.callee;
						$("#levyPanel_torrenty > div").load(unikatniAdresa("/stahnout/torrenty/nejnovejsi.html"), function(){setTimeout(fn, 60000)});
					})();

					//Načtení nastavení
					Nastaveni.nacist();

					// Intro pro novou verzi webu... Ale jen jednou :-)
					/*if(cookies.read("poprve") == null){
						setTimeout(function(){
							var obj = {
								file: "http://smallville.cz/layout/intro.mp3",
								type: "mp3"
							}
							document.getElementById("prehravac-hudby").loadFile(obj);
							cookies.write("poprve", "ne", 30);
						}, 25000);
					}*/

				});
			}
		}
	});
});
