/*
 * Requires JQuery
 * http://www.jquery.com
 */

$(document).ready(function() {
    initRandomBackground();
    initSixtySeconds();
    //initIntro();
    initLayout();
});

function addLeadingZero(digit) {
    var str = digit.toString();
    
    if (str.length < 2) {
        str = '0' + str;
    }
    
    return str;
}

function initIntro() {
    var intro = $('body.home div#intro');
    var container = $('body.home div#container');

    intro.hide();
    container.hide();
    intro
        .css('z-index', '3')
        .fadeIn(1500, function () {
            container
                .css('z-index', '2')
                .fadeIn(5000, function () {
                    intro.fadeOut(1500, function () {
                        $(this).css('z-index', '1');
                    });
                });    
        });
}

function initLayout() {
    var elements = $('body.home div#container, body.home div#intro');
    
    var viewport_h = $(window).height();

    $(elements).css('top', (viewport_h - 600) / 2);
}

function initRandomBackground() {
    var backgrounds = new Array();
    var number_of_backgrounds = 5;
    
    for (i = 0; i < number_of_backgrounds; i++) {
        backgrounds[i] = addLeadingZero(i);
    }
    
    var random_background = (Math.floor(Math.random() * number_of_backgrounds)); 

    setRandomBackground(backgrounds[random_background]);
}

function initSixtySeconds() {
    var group = $('div#sixty_seconds');
    var subgroups = $(group).find('div p');
    var triggers = $(group).find ('div h3');

    subgroups.hide();
    subgroups.eq(0).show();

    setSixtySecondsListeners(subgroups, triggers);
}

function setRandomBackground(background_number) {
    var background_element = $('body.home div#container');
    var background_image = 'url("/img/homepage-images-' + background_number + '.jpg")';
    
    $(background_element).css({
        'background-image' : background_image
    });
}

function setSixtySecondsListeners(subgroups, triggers) {
    $(triggers).click(function() {
        subgroups.slideUp();
        $(this).next().slideDown();
    });
}


