// scrollovani fotogalerie
$().ready(function(){
    $(".fotogalerie_obsah").jScrollPane({scrollbarWidth: 16, showArrows: true});
});
$(window).load(function(){
    $(".fotogalerie_obsah").jScrollPane({scrollbarWidth: 16, showArrows: true});
});

/* 
 *  zaobrazovani/schovavani menu jazyku
 *  Honza 
 */  
 
// navazani fci na udalosti
jQuery().ready( function() {
    jQuery(".sipky").mouseover(jazyk_over);
    jQuery(".jazyk").mouseover(jazyk_over);
    jQuery(".jazyk_hidden").mouseover(jazyk_over);
    jQuery(".sipky").mouseout(jazyk_out);
    jQuery(".jazyk").mouseout(jazyk_out);
    jQuery(".jazyk_hidden").mouseout(jazyk_out);
    jQuery("div#banner").mouseover(zbarvi_text_banneru);
    jQuery("div#banner").mouseout(odbarvi_text_banneru);
});

var jazyk_hide_timeout;

function jazyk_over()
{
    clearTimeout(jazyk_hide_timeout);
    jQuery(".jazyk_hidden").show(100,jazyk_opacity);
}


function jazyk_out()
{
    jazyk_hide_timeout = setTimeout(jazyk_hide, 100);
}

function jazyk_hide()
{
    jQuery(".jazyk_hidden").hide(100);
}

function zbarvi_text_banneru(){
    jQuery("span#horni_text").css("color","#0096FF");
    jQuery("span#dolni_text").css("color","#698595");
}

function odbarvi_text_banneru(){
    jQuery("span#horni_text").css("color","#44B7F1");
    jQuery("span#dolni_text").css("color","#89A0AD");
}

// v IE nezustal pri zobrazovani prvek pruhledny, proto je prohlednost znovu nastavena
function jazyk_opacity()
{
    //jQuery(".jazyk_hidden").css({ filter:"alpha(opacity=60)" });
}



/* 
 *  tooltip u obrazku
 *  zobrazuje se u vsech obrazku s atributem title 
 *  Honza 
 */  

// navazani akci na vsechny vyhovujici obrazky
jQuery().ready(function(){

    // jen obrazky s atributem title
    jQuery("img[title]").jpTooltip({opacity : 0.9});
});    


/* 
 *  lightbox u obrazku
 *  Honza 
 */  

// navazani akci na vsechny vyhovujici obrazky
jQuery().ready(function(){
    jQuery("a[rel=lightbox]").lightbox({
        fileLoadingImage : 'img/lightbox/loading.gif', 
        fileBottomNavCloseImage : 'img/lightbox/close.png',
        fileErrorImage : 'img/lightbox/error.gif', 
        strings : {
			help: ' \u2190 / P - předcházející obrázek\u00a0\u00a0\u00a0\u00a0\u2192 / N - následující obrázek\u00a0\u00a0\u00a0\u00a0ESC / X - zavře galerii',
			prevLinkTitle: 'Předcházející obrázek',
			nextLinkTitle: 'Následující obrázek',
			prevLinkText:  '&laquo; Předcházející',
			nextLinkText:  'Následující &raquo;',
			closeTitle: 'zavřít galerii',
			image: 'Obrázek ',
			of: ' z '
		},
		slideNavBar: true,
		showTopNavBar: true
    });
});    


/* 
 *  reference.php - prednacteni obrazku a overlay s nacitanim pri zmene obrazku
 *  Honza 
 */ 

$().ready(function() {

    // objekt s polem obrazku sirka a vyskou nahledu
    var preloadImg = 
    {
        array: new Array(), 
        width: $("#reference_nahled").width(), 
        height: $("#reference_nahled").height()
    };
    
    // overlay div pri zmene obrazku
    var overlay = $("<div></div>").css(
    {
        position: "absolute",
        top: 0,
        left: 0,
        width: preloadImg.width,
        height: preloadImg.height,
        backgroundColor: "#000000",
        opacity: 0.7
    });
    
    if ( !($.browser.msie && $.browser.version==6.0) )  // v IE 6 zustava div nepruhledny (nejspis diky vice urivnim position:relative na strance)
        overlay.insertBefore("#reference_nahled");
    
    // nacteni adres nahledovych obrazku do pole a nastaveni jim udalosti click
    $(".reference_maly_obr img:not(.img_overlay)").each(function(){
        var src = $(this).attr("src");
        src = src.replace(/(width=)[0-9]{1,4}/,"$1"+preloadImg.width);    // prepis adresy se spravnou sirkou a nasledne vyskou
        src = src.replace(/(height=)[0-9]{1,4}/,"$1"+preloadImg.height);
        preloadImg.array.push(src);
    }).click(function(){
        var src = $(this).attr("src");
        src = src.replace(/(width=)[0-9]{1,4}/,"$1"+preloadImg.width);
        src = src.replace(/(height=)[0-9]{1,4}/,"$1"+preloadImg.height);
        overlay.stop().fadeTo("slow", 0.7);
        $("#reference_nahled").attr("src", src);
    });
    
    // zruseni overlay pri nacteni obrazku nebo chybe
    $("#reference_nahled").load(function(){ 
        overlay.stop().fadeTo("slow", 0); 
    }).error(function(){ 
        overlay.stop().fadeTo("slow", 0); 
    });
    
    // preload nahledovych obrazku
    $.preload(preloadImg.array);

});


/* 
 *  image overlay
 *  prekryv obrazku prazdnym obrazkem (aspon castecne zamezeni stazeni) 
 *  Honza 
 */  

// vytvoreni overlay obrazku a navazani akci na vsechny vyhovujici obrazky
jQuery().ready(function(){

    jQuery("img:visible").not("#lightboxImage").each(function(){
        var img = jQuery(this);
        var width  = img.width();
        var height = img.height();
        if(width > 20 && height > 20)
        {
            var events = jQuery.data( this, "events" );
            var overlay = $("<img>").attr("src", "img/pruhledny.gif");
            overlay.addClass("img_overlay");
            overlay.css({
                position: "absolute", 
                left: 0, 
                top: -10000,
                width: width,
                height: height,
                border: 0,
                margin: 0,
                padding: 0,
                opacity: 0.5
            }).insertAfter(img);
            // ulozeni linku na overlay k obrazku
            img.data("overlay", overlay);
            // premosteni vsech udalosti obrazku na pruhledny obrazek
            for ( var type in events )
            {
                (function(){
                    var _type = type;   // ulozeni do lokalniho kontextu
                    overlay.bind(_type, function(e) {
                        img.trigger(_type);
                    });
                })();
            }
        }
    });
    
    // prepoyicovani pri nacteni konkretniho obrazku
    jQuery("img:visible").not("#lightboxImage").load(overlayReposition);
});

// prepozicovani obrazku
function overlayReposition()
{
    var img = jQuery(this);
    var overlay = img.data("overlay");
    if(overlay)
    {
        var left = img.offsetParent().left || img.offset().left-relativeParent(this).offset().left || 0;
        var top = img.offsetParent().top || img.offset().top-relativeParent(this).offset().top || 0;
        overlay.css({
            left: left + parseInt(img.css("paddingLeft")), 
            top: top + parseInt(img.css("paddingTop"))
        });
    }
}; 

// prepozicovani pri nacteni cele stranky
jQuery(window).load(function(){
    jQuery("img:visible").not("#lightboxImage").each(overlayReposition);
});

// najde nejblizsi nadrazeny prvek, ktery je pozicovan relativne nebo absolutne
function relativeParent(element)
{
    var parent = jQuery(element).parents();
    for(i=0; i<parent.length; i++)
    {
        if(jQuery(parent[i]).css("position")=="relative" || jQuery(parent[i]).css("position")=="absolute")
            return jQuery(parent[i]);
    }
    return jQuery("body");
}


/* 
 *  ke stazeni - listboxy
 *  Honza 
 */  
 
jQuery().ready(function (){
    jQuery().click(toggleListboxNabidka);
    jQuery(".ke_stazeni_filtr .input, .ke_stazeni_filtr .tlacitko").click(function(){ listboxNabidkaClick = jQuery(this).siblings(".nabidka").attr("id")});
});

var listboxNabidka = "";
var listboxNabidkaClick = "";

function toggleListboxNabidka()
{
    jQuery(".nabidka").stop().slideUp(200);
    if(listboxNabidka!=listboxNabidkaClick && listboxNabidkaClick!="")
    {
        var nabidka = jQuery("#"+listboxNabidkaClick);
        var position = (nabidka.siblings(".input").position()); 
        nabidka.css({left: position.left+1, top: position.top+20});
        nabidka.stop().slideDown(300);
        listboxNabidka=listboxNabidkaClick;
    }
    else
    {
        listboxNabidka="";
    }
    listboxNabidkaClick="";
}

/* 
 *  detail skupiny - zobrazi vice/menu u pruduktu
 *  Honza 
 */  
 
$().ready(function (){
    var popis = $("#popis")             // div s celym textem
    var max_height = popis.height();    // puvodni vyska
    var min_height = 158;               // minimalni vyska
    if($("#popis").height()>min_height) // jen u popisu delsich nez minimalni vyska
    {
        var mene  = $("#mene"); // odkaz na skryti celeho textu
        var vice  = $("#vice"); // odkaz na zobrazeni celeho textu
        popis.height(min_height).find("img").hide(); // skryti vsech obrazku v miminalizovanem textu
        vice.click(function(){
            mene.show();
            vice.hide();
            popis.animate({height: max_height});    // rozsune text
            popis.find("img:not(.img_overlay)").slideDown(function(){
                popis.find("img.img_overlay").show();
                $(this).load();
            });
            
        }).show();
        mene.click(function(){
            mene.hide();
            vice.show();
            popis.animate({height: min_height});
            popis.find("img").slideUp();
        });
    }
});

/* 
 *  ke stazeni strankovani souboru
 *  Lucka, Honza
 */ 
 
function strankovani_souboru(pocet_souboru){
	$().ready(function (){
    var pocet_zobrazenych = pocet_souboru;  // pocet zobraznych prvku na strance
    $(".box_dokumenty").each(function(){
        var soubory = $(this).find(".popis_soubory_container");   // vsechny polozky se souborama
        var pages = Math.ceil(soubory.size()/pocet_zobrazenych);  // celkovy pocet stranek
        var page  = 1;                                            // cislo stranky ktera je prave videt
        
        // podle cisla stranky zobrazi/skryji soubory a zobrazi cislo stranky
        function _showPage(page)
        {
                num.html(page+"&nbsp;/&nbsp;"+pages);
                if(page==pages)
                    gt.css({visibility: "hidden"});
                else
                    gt.css({visibility: "visible"}); 
                if(page==1)
                    lt.css({visibility: "hidden"});
                else
                    lt.css({visibility: "visible"});
                soubory.hide();
                soubory.slice((page-1)*pocet_zobrazenych, page*pocet_zobrazenych).show();
                
                soubory.parent().find('.popis_materialy').hide();
                for(var i=(page-1)*pocet_zobrazenych; i<page*pocet_zobrazenych; i++) {
                    soubory.eq(i).prev('.popis_materialy').show();
                }
        }      
        
        // vic nez jedna strana?
        if((soubory.size()/pocet_zobrazenych) > 1)
        {
            // vypis ovladacich prvku strankovani a schovani nadbytecnych souboru
            var pocitadlo = $("<div></div>").addClass("zobrazeni_souboru").insertAfter(this);
            var lt  = $("<div>&lt;</div>").addClass("soubory_zobraz").css({visibility: "hidden"}).click(function() { _showPage(--page); });
            var gt  = $("<div>&gt;</div>").addClass("soubory_zobraz").click(function() { _showPage(++page); });
            var num = $("<div></div>").addClass("soubory_cisla").html("1&nbsp;/&nbsp;"+pages); 
            pocitadlo.append(lt).append(num).append(gt);
            soubory.slice(pocet_zobrazenych).hide();
            for(var i=pocet_zobrazenych; i<soubory.size(); i++) {
                soubory.eq(i).prev('.popis_materialy').hide();
            }
            
            // nastaveni vysky, aby nedochazelo k zmensovani pri mensim poctu souboru (ignorovano v IE 6)
            var height = ($(this).height());
            //if ( !($.browser.msie && $.browser.version==6.0) )  // v IE 6 se pri prideleni vysky rozsype cely obsah
                $(this).height(height);
        }
    });
});

}


/* 
 *  mouseover a mouseout u vypisu produktu
 *  presunuto ze HTML_VypisProdukty->_showVyrobky(), _showPodSkupiny(), 
 *  Honza 
 */ 

$().ready(function(){

	
    // prvky s hover obrazky typu 6 (viz preview.php)
    over_out($(".vypis_produkt_text_1, .vypis_produkt_text_2, .vypis_produkt_text_vyhledavani_1, .vypis_produkt_text_vyhledavani_2"),
             6);
             
    // prvky s hover obrazky typu 3 (viz preview.php)
    over_out($(".uvod_produkt_text_1, .uvod_produkt_text_2"),
             3);
	
    function over_out(elm, typ)
    {
        elm.each( function(){
            var _this = $(this);
            var _class = (_this.attr("class").match(/(.*)_([12])$/))[1];    // CSS trida bez cisla za poslednim podtrzitkem
            var _num   = (_this.attr("class").match(/(.*)_([12])$/))[2];    // cislo za poslednim podtrzitkem
            var _img = _this.find(".vypis_produkt_text_obrazek img, .uvod_produkt_text_obrazek img").not(".img_overlay");
            var _img_src = _img.attr("src") || "";  // puvodni adresa obrazku v prvku
    
            _this.bind("mouseenter", function() {
                // pri najeti se nastavi trida koncici na _aktivni a obrazek s predanym parametrem typ
                //_this.attr("class", _class + "_aktivni").css({cursor: "pointer"});
            	_this.css({cursor: "pointer"});
                _img.attr("src", _img_src.replace(/([\?&]typ=)[0-9]([&]?)/, "$1" + typ + "$2"));

            }).bind("mouseleave", function() {
                // pri sjeti se vraci puvodni css trida a vraci puvodni obrazek
                //_this.attr("class", _class + "_" + _num);
                _img.attr("src", _img_src);
            });
            
        });
    }
});


// fix pruhlednosti u png obrazku v IE6
/*
 * kdyby se pouzilo omezeni jen na IE6 mohlo by to fungovat spravne
 * kvuli Smolikovu IE7 se uz nepouziva, ale verim, ze se to jeste pozije :)
   
$().ready(function(){
    $.ifixpng('img/pruhledny.gif');
    $("img[@src*=.png]").load(function(){
        this.width = this.width;
        this.height = this.height;
        $(this).ifixpng();
    });
});
*/

$().ready(function(){
    
    // mouseover efekt u obrazku v produktech (fotogalerii)
    var imgs = $(".fotogalerie img");
    imgs.bind("mouseenter", function() {
        this.src = this.src.replace(/([\?&]typ=)[0-9]([&]?)/, "$1" + 2 + "$2");
    }).bind("mouseleave", function() {
        this.src = this.src.replace(/([\?&]typ=)[0-9]([&]?)/, "$1" + 1 + "$2");
    });

    // mouseover efekt u obrazku v sekci o spolecnosti
    var imgs = $(".obsah_obrazky img:not(.img_overlay)");
    imgs.bind("mouseenter", function() {
        this.src = this.src.replace(/([\?&]grayscale=[^&]*)([&]?)/, "$2");
    }).bind("mouseleave", function() {
        this.src = this.src.replace(/([\?&]grayscale=[^&]*)([&]?)/, "$2") + "&grayscale=1";
    });
});

// nacteni videa do bocniho panelu ve skupinach a produktech
$().ready(function(){
    var filename = $(".video_ukazky a").attr("href");
    if(filename)
        filename = filename.match(/[^\/]*$/)[0];
    $(".video_ukazky a").media({
        width: 176, 
        height: 152,
        bgColor: "#494949", 
        caption: false,
        params: { 
            allowfullscreen: 'true',
            wmode: 'transparent',
            width: 176, 
            height: 152
        },
        flashvars: { 
            image: encodeURI("img/video_title.php?filename=" + filename),
            fullscreen: true,
            aboutlink: "http://www.minirol.cz",
            abouttext: "MINIROL",
            backcolor: "0x0B0B0B",
            frontcolor: "0x7F7F7F",
            lightcolor: "0xFFFFFF"
        } 
    });
});

// rozsireni objektu String v javascriptu metodou trim(), 
// ktera oreze byle znaky ze zacatku a konce souboru 
String.prototype.trim = function()
{
    return this.replace(/^\s*([\S\s]*?)\s*$/, '$1');
}


$().ready(function() {
	$(".nadpis_pasive").mouseover(function(){
		$(this).removeClass("nadpis_pasive");
	}).mouseout(function(){
		$(this).addClass("nadpis_pasive");
	});
});

