function Ibs() {
    
    var self = this;
    
    this.init = function() {
        
        /*Rottating banner*/
        self.rotBan = new rotBan();
        self.rotBan.init();
        
        /* Remove lang button and bind onchange */
        self.langButton();
        
        /* Fancy Footer */
        inueni_badge();
	
	/* Init stats tracker */
	self.initPiwik();
        
    }

    this.langButton = function() {
        $("#lang-submit").hide();

        $('#lang-select').selectbox();
        
        
        
        $("#lang-select_container > ul > li").each(function(){
        
            $(this).click(function(){
                $("#lang_selector form").submit();
            });
        });
    }
    
    this.gallery = function() {
        $("#photo-list a").lightbox({
            fileLoadingImage : '/media/img/lightbox/loading.gif',
	    fileBottomNavCloseImage : '/media/img/lightbox/close.gif',
            strings : {
                prevLinkTitle: '',
                nextLinkTitle: '',
                prevLinkText:  '&laquo;',
                nextLinkText:  '&raquo;',
                closeTitle: '',
                image: '',
                of: ' / '
            },
            disableNavbarLinks: true,
            imageClickClose: false

        });
    }
    this.initPiwik = function() {
	piwik_log('', '2', 'http://stats.inueni.com/piwik.php');
    }
    
    this.initGallery = function(container) {
    
        $(container + " a").lightbox({
            fileLoadingImage : '/media/img/lightbox/loading.gif',
	    fileBottomNavCloseImage : '/media/img/lightbox/close.gif',
            strings : {
                prevLinkTitle: '',
                nextLinkTitle: '',
                prevLinkText:  '&laquo;',
                nextLinkText:  '&raquo;',
                closeTitle: '',
                image: '',
                of: ' / '
            },
            disableNavbarLinks: true,
            imageClickClose: false
        });
            
        
    }
}


function rotBan() {
    var self = this;

    this.slides = [];
    this.timeout = null
    
    this.activeSlide = {
        'position': null,
        'picture': null,
        'link': null,
        'interval': null
    }
    
    this.init = function() {
        $("#rotban > div.navigation > a:not(.jsNext, .jsPrev)").each(function(i) {
            /*$(this).attr('href', 'javascript:ibs.rotBan.slide(' + (i + 1) + ');');*/
            $(this).click(function(){
                self.slide(i+1);
                return false;
            });
        });
        
        /*$("#rotban > div#rotbannav > a.jsNext").attr('href', 'javascript:ibs.rotBan.next();');*/
        $("#rotban > div.navigation > a.jsNext").click(function(){
            self.next();
            return false;
        });
        
        /*$("#rotban > div#rotbannav > a.jsPrev").attr('href', 'javascript:ibs.rotBan.prev();');*/
        $("#rotban > div.navigation > a.jsPrev").click(function(){
            self.prev();
            return false;

        });
        
        self.loadData();
    }
    
    this.loadData = function() {
        $.getJSON('/api/rotban/get/', function(data) {
            $.each(data, function(i, item) {
                self.addSlide('/media/' + item.picture, item.link, item.interval);
            });
            
            if(self.slides.length > 0) {
                self.loadSlide(self.slides[0]);
            }
        });
    }
    
    this.slide = function(pos) {
        if(pos <= 0) {
            pos = self.slides.length;
        }
        else if(pos > self.slides.length)  {
            pos = 1;
        }
        
        self.loadSlide(self.slides[pos - 1]);
        return false;
    }
    
    this.next = function() {
        self.slide(self.activeSlide.position + 1);
    }
    
    this.prev = function() {
        self.slide(self.activeSlide.position - 1);
    }
    
    this.addSlide = function(picture, link, interval) {
        var pic = new Image();
        pic.src = picture;
    
        var slide = {
            'position': (self.slides.length + 1),
            'picture': pic,
            'link': link,
            'interval': interval
        }
        
        self.slides.push(slide);
    }
    
    this.loadSlide = function(slideObj) {
        self.activeSlide = slideObj
        
        $("#rotban > a").attr('href', self.activeSlide.link);
        $("#rotban > a > img").replaceWith($(self.activeSlide.picture));
        $("#rotban div.navigation > a:not(.jsNext, .jsPrev)").each(function(i) {
            if(i + 1 == self.activeSlide.position) {
                $(this).addClass('active');
            }
            else {
                $(this).removeClass('active');
            }
        });
        
        window.clearTimeout(self.timeout);
        self.timeout = window.setTimeout(function() {
            self.next();
        }, (self.activeSlide.interval * 1000));
    }
}

