/**
 * COPYRIGHT © 2009 Radek Juřica, CLEEVIO
 * Převzetí celého (nebo jen části) níže uvedeného kódu je striktně zakázáno!
 */

$(document).ready(function(){
    var slidebox = $("#slidebox .wrapper");
    var classname = "selected";
    var buttons = $("#slidebox .navigation .buttons a");
    var cache = new Array();
    var study = new Array(
        $("#study-1"),
        $("#study-2"),
        $("#study-3"),
        $("#study-4")
    );
    var button = new Array(
        $("#slidebox .navigation .buttons a.button-1"),
        $("#slidebox .navigation .buttons a.button-2"),
        $("#slidebox .navigation .buttons a.button-3"),
        $("#slidebox .navigation .buttons a.button-4")
    );
    
    var detailButton = $("#slidebox .navigation a:first");
    var arrowLeft = $("#left-arrow");
    var arrowRight = $("#right-arrow");
    
    // Pomocné proměnné
    var uri;
    var image;
    var first_height;
    var last_height;
    var options = {};
    var defaultDetailHref = $("#study-1 a:first").attr("href");
    var defaultImagePicture = $("#study-1 a:first img");
    
    // Nastavení výchozích hodnot aktivních políček
    var currentButton = button[0];
    var currentId = 1;
    
    // Otestování jestli nebylo zadáno "přímo" číslo studie
    var location = window.location.toString();
    if (location.indexOf("#") != -1) {
        location = location.substring(location.indexOf("#")+1);
        location = Number(location);
        
        if (location > 0 &&  location < 5) {        
            currentButton = button[location-1];
            currentId = location;
            
            if (button[0].hasClass(classname)) {
                button[0].removeClass(classname)
            }
            
            if (location > 1) {
                setOptions("right");
            }
            
            displayStudy();
            switchButton();
        }
    }
    
    // Automatické obarvení tlačítka při kliknutí (nezavislé na zbytku skriptu)
    buttons.bind('click', function(){
        currentButton.removeClass(classname);
        currentButton = $(this);
        
        $(this).addClass(classname);
        /**
         * Zrušeno aby bylo možno přeposlat url se studií kterou si uživatel zvolil
         */
        //return false;
    });
    
    // Hlavní funkce pro zobrazení tlačítka, která využívá proměnné currentId
    function displayStudy()
    {
        if (cache[currentId] == null) {
            cache[currentId] = study[currentId-1].css("height", "298px").css("border", "1px solid black").html();
        }
        
        content = cache[currentId];
    
        if (null == content) {
            content = "<p>"+ _lang.studyDoesntExistsYet +"</p>";
            detailButton.attr("href", "");
        }
        
        if (currentId != 1) {
            detailButton.attr("href", $("#study-"+ currentId +" a:first").attr("href"));
            image = $("#study-"+ currentId +" a:first img");
        } else {
            detailButton.attr("href", defaultDetailHref);
            image = defaultImagePicture;
        }

        // Vložení studie do příslušného boxu
        /*slidebox.fadeOut(400, function(){
            $(this).html(content);
            $(this).fadeIn(400);
        });*/
        
        last_height = "283px";
        
        if ($.browser.msie) {
            if ($.browser.version == "7.0") {
                first_height = "295px";
            } else if ($.browser.version == "8.0") {
                first_height = "300px";
            }
        } else if ($.browser.opera) {
            first_height = "295px";
        } else if ($.browser.mozilla) {
            first_height = "300px";
        } else {
            first_height = "295px";
        }
        
        slidebox.css("height", first_height)
            .html(content)
            .effect("slide", options, 1000)
            .css("height", last_height);
    }
    
    // Funkce pro přepnutí označení tlačítka
    function switchButton()
    {
        currentButton.removeClass(classname);
        currentButton = button[currentId-1];
        
        button[currentId-1].addClass(classname);
    }
    
    // Funkce pro upravení čísla studie v url adrese (voláno pouze po kliknutí na šipku)
    function updateUrl()
    {    
        uri = window.location.toString();
        if (uri.indexOf("#") != -1) {
            uri = uri.substring(0, uri.indexOf("#"));
        }
        uri += "#"+ currentId;
        
        window.location = uri;
    }
    
    // Nastavení pro slide efekt
    function setOptions(vDirection)
    {
        options = {
            direction: vDirection
        };   
    }
    
    // Zobrazení studií po kliknutí na tlačítko
    button[0].click(function(){
        if (currentId == 1) {
            return false;
        }

        currentId = 1;
        setOptions("left");
        displayStudy();
    });
    
    button[1].click(function(){
        if (currentId == 2) {
            return false;
        }
        
        if (currentId < 2) {
            setOptions("right");
        } else {
            setOptions("left");
        }
    
        currentId = 2;        
        displayStudy();
    });
    
    button[2].click(function(){
        if (currentId == 3) {
            return false;
        }
        
        if (currentId < 3) {
            setOptions("right");
        } else {
            setOptions("left");
        }

        currentId = 3;
        displayStudy();
    });
    
    button[3].click(function(){
        if (currentId == 4) {
            return false;
        }
        
        currentId = 4;
        setOptions("right");
        displayStudy();
    });
    
    // Přepínání studií po kliknutí na šipku
    arrowLeft.click(function(){
        currentId--;
        if (currentId == 0) {
            currentId = 4;
        }
        
        setOptions("left");
        displayStudy();
        switchButton();
        updateUrl();
        
        return false;
    });
    
    arrowRight.click(function(){
        currentId++;
        if (currentId == 5) {
            currentId = 1;
        }

        setOptions("right");
        displayStudy();
        switchButton();
        updateUrl();
        
        return false;
    });
})