// Verum.com User interface
var VERUM = {

    /**
     * Init functions
     */         
    init: function () {
        VERUM.initSIFR();
        VERUM.rollovers();
        VERUM.emulateHover($('#nav > li'));
        VERUM.homeTabs();
        VERUM.homeNews();
        VERUM.preloadImages(["/images/buttons/home-tab1.gif",
                             "/images/buttons/home-tab2.gif",
                             "/images/buttons/home-tab3.gif",
                             "/images/buttons/home-tab4.gif",
                            ]);
        $(".tabs > ul").tabs();                              
    },
   
    /**
     * Initialize sIFR
     */
    initSIFR: function () {
        if (!$("body").hasClass("home")) {
            if (typeof sIFR == "function") {
                sIFR.replaceElement("#content h2", named({sFlashSrc: "/images/fonts/auto.swf", sColor: "#000000", sWmode: "transparent"}));
            }
        }   
    },    
   
    /**
     * Emulate hover
     */
    emulateHover: function (items) {
        items.hover(
            function () {
                $(this).addClass('hover');
            },
            function () {
                $(this).removeClass('hover');
            }
        )
    },

    /**
     * Rollovers buttons
     */
    rollovers: function () {
        $('.rollover').hover(
            function () {
                $(this).attr('src', $(this).attr('src').replace(/.gif/, '_over.gif'));
            },
            function () {
                $(this).attr('src', $(this).attr('src').replace(/_over.gif/, '.gif')); 
            }
        );
     },
     
    /**
     * Home tabs
     */
    homeTabs: function () {
        var tabs_nav = $(".home-tabs-nav li");
        var tabs = $(".home-tabs .tab");
        tabs_nav.each(function (i) {
            $(this).hover(
                function () {
                    // Hide other tabs
                    tabs.not($(tabs[i])).hide();
                    $(tabs[i]).show();
                 },
                function () {
                    $(tabs[i]).hide();
                }
            )
        });
        // Hide/show default text 
        $(".home-tabs-nav").hover(
            function () {
                $(".home-tabs .default").addClass('default-hidden');
            },
            function () {
                $(".home-tabs .default").removeClass('default-hidden');
            }
        ) 
    },
     

    /**
     * Home news cycling
     */
    homeNews: function () {
        var news = $('.news .item');
        var last = news.length;
        var current; // Index of current news; 
        
        $(".news-control .previous").bind('click', function () {
            current = getCurrent();
            if (current > 0) {
                // Hide all
                news.removeClass('current');
                // Display previous
                $(news[current - 1]).addClass('current');
            } 
            return false;            
        }); 
         
        $(".news-control .next").bind('click', function () {
            current = getCurrent();
            if (current < (last - 1)) {
                // Hide all
                news.removeClass('current');
                // Display next
                $(news[current + 1]).addClass('current');
            }
            return false;
        });
        
        function getCurrent() {
            var current;
            news.each(function (i) {
                if ($(this).hasClass('current')) {
                    current = i;
                } 
            });
            return current;
        }
    },

    /**
     * Preload images
     * @param {Array} images array with names of images   
     */               
    preloadImages: function (images) {
        for (var i = 0; i < images.length; i++) {
            var image = new Image();
            image.src = images[i];
        }
    }         
}

$(document).ready(function () {
    VERUM.init();
});
