// $.browser extension
(function(b){b.browserTest=function(i,m){var a=function(e,c){for(var f=0;f<c.length;f+=1)e=e.replace(c[f][0],c[f][1]);return e},g=function(e,c,f,k){c={name:a((c.exec(e)||["unknown","unknown"])[1],f)};c[c.name]=true;c.version=(k.exec(e)||["X","X","X","X"])[3];if(c.name.match(/safari/)&&c.version>400)c.version="2.0";if(c.name==="presto")c.version=b.browser.version>9.27?"futhark":"linear_b";c.versionNumber=parseFloat(c.version,10)||0;c.versionX=c.version!=="X"?(c.version+"").substr(0,1):"X";c.className=
c.name+c.versionX;return c};i=(i.match(/Opera|Navigator|Minefield|KHTML|Chrome/)?a(i,[[/(Firefox|MSIE|KHTML,\slike\sGecko|Konqueror)/,""],["Chrome Safari","Chrome"],["KHTML","Konqueror"],["Minefield","Firefox"],["Navigator","Netscape"]]):i).toLowerCase();b.browser=b.extend(!m?b.browser:{},g(i,/(camino|chrome|firefox|netscape|konqueror|lynx|msie|opera|safari)/,[],/(camino|chrome|firefox|netscape|netscape6|opera|version|konqueror|lynx|msie|safari)(\/|\s)([a-z0-9\.\+]*?)(\;|dev|rel|\s|$)/));b.layout=
g(i,/(gecko|konqueror|msie|opera|webkit)/,[["konqueror","khtml"],["msie","trident"],["opera","presto"]],/(applewebkit|rv|konqueror|msie)(\:|\/|\s)([a-z0-9\.]*?)(\;|\)|\s)/);b.os={name:(/(win|mac|linux|sunos|solaris|iphone)/.exec(navigator.platform.toLowerCase())||["unknown"])[0].replace("sunos","solaris")};m||b("html").addClass([b.os.name,b.browser.name,b.browser.className,b.layout.name,b.layout.className].join(" "))};b.browserTest(navigator.userAgent)})(jQuery);


$(document).ready(function(){

    template();

    buttons();

    photo();

    lightbox();

    markup();

    slider();

});





// template

function template() {

    var $header  = $('.header'),
        $footer  = $('.footer'),
        $content = $('.content'),
        height;

    updateTemplate();

    $(window).resize(updateTemplate);

    function updateTemplate() {
        height = $(window).height() - $header.outerHeight() - $footer.outerHeight() - 60;
        if (height < 260) {
            height = 260;
        }
        $content.css('min-height', height);
    }

}



// buttons

function buttons() {

    if (jQuery().button) {
        $('.button').button();
    }

}



// photo

function photo() {

    $('.photo-links a').click(function(e){
        $('#' + $(this).attr('rel')).slideToggle('fast');
        e.preventDefault();
    });

}



// lightbox

function lightbox() {

    if (typeof $.fancybox == 'function') {

        $("a[rel=lightbox], a.lightbox").fancybox({
            overlayColor:   'white',
            overlayOpacity: 0,
            type:           'iframe',
            transitionIn:	'elastic',
            transitionOut:	'fade',
            centerOnScroll: true
        });

        $("a.lightbox-image").fancybox({
            overlayColor:   'white',
            overlayOpacity: 0,
            transitionIn:	'elastic',
            transitionOut:	'fade',
            centerOnScroll: true
        });

    }

}



// markup

function markup() {

    var $widgetJump = $('.widget.jump');

    if (!$widgetJump.length)
        return;

    var offsetY = $widgetJump.offset().top - 30;

    $(window).scroll(function(){
        setPosition();
    });

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

    function setPosition() {

        var scrollTop = $(window).scrollTop();
        var windowHeight = $(window).height();

        // menu
        if ((scrollTop > offsetY) && (windowHeight >= $widgetJump.height())) {
            $widgetJump.addClass('fixed');
        }
        else {
            $widgetJump.removeClass('fixed');
        }
    }

    $('.widget.jump a').click(function(event) {
        var $item = $($(this).attr('href'));
        var $markup = $item.next();
        var top = $item.offset()['top'] - 20;
        $('body').scrollTo(top, 1000, {
            onAfter: function(){
                $markup.animate({
                    'boxShadowBlur': '16px'
                }, 750, function(){
                    $markup.animate({
                        'boxShadowBlur': '0'
                    }, 750);
                });
            }
        });
        event.preventDefault();
    });


}



// slider

function slider() {

    var $slider = $('.slider');

    if (!$slider.length)
        return;

    var $container  = $('.container', $slider);
    var $items      = $('img', $container);
    var itemsTotal  = $items.length;
    var itemWidth   = $items.eq(0).width();
    var $tabs       = $('.tabs a', $slider);
    var $nav        = $('.nav a', $slider);

    slide();

    function slide() {
        $container.width( itemWidth * itemsTotal );
        //init();
        initData($tabs);
        initData($nav);
        $($nav).click(go);
        $($tabs).click(go);
    }

    function init() {
        $slider.find('img').each(function(){
            $(this).wrap('<div class="item" style="background-image: url(' + $(this).attr('src') + ')">').hide();
        });
    }

    function initData($set) {
        $set.each(function(index){
            $(this).attr('data-index', index);
        });
    }

    function go(event) {
        var index = $(this).attr('data-index');
        move(index);
        select(index);
        event.preventDefault();
    }

    function move(index) {
        var offset = -index * itemWidth;
        $container.stop().animate({
            marginLeft: offset
        });
    }

    function select(index) {
        $nav.removeClass('selected');
        $tabs.removeClass('selected');
        $slider.find('a[data-index=' + index + ']').addClass('selected');
    }

}

