/* settings */
var settings = {
    /* resolution */
    toggle_height: '768',

    /* slide settings */
    slide_speed:  '300',
    scroll_speed: 'slow',
    slide_project_speed: 'slow',

    /* innerfade settings */
    speed:            'slow',
    timeout:          3500,
    type:             'random_start',
    containerheight:  '298px'
};

/**
 * Things to do as soon as the document is ready.
 */
$(document).ready(function() {
    //get header elements
    var head_top = $('#logo-wrapper');
    var head_bottom = $('#head-wrapper');
    var toggle_link = $("#header-toggle");

    //set the header status based on resolution
    if(screen.height <= settings.toggle_height && head_top.hasClass('initial') && head_top.hasClass('show')) {
        head_top.removeClass('initial').removeClass('show').addClass('hide');
        toggle_link.removeClass('initial').removeClass('show').addClass('hide');
    }

    //bind the link
    toggle_link.bind('click', function() {
        //hide
        if(head_top.hasClass('show')) {
            toggle_link.removeClass('show').addClass('hide');
            head_top.slideUp('slow').removeClass('show').addClass('hide');
            var newheader = 'hide';
        }
        //show
        else {
            toggle_link.removeClass('hide').addClass('show');
            head_top.slideDown('slow').removeClass('hide').addClass('show');
            var newheader = 'show';
        }
        $.ajax({
            type: "POST",
            url: 'http://www.designchuchi.ch/session.php',
            data: 'header=' + newheader,
            error: function (event, XMLHttpRequest, ajaxOptions, thrownError) {
                alert("Ajax Error: " + thrownError)
            }
        });
        return false;
    });

    $('#screenshot-list').hide();
    $('#screenshotz').append('<div id="loader"><img src="/images/interface/slideviewer/ajax-loader.gif" alt="Loading..." title="Loading..." /></div>');

    /* skip link */
    $('#skip-link').bind('click', function() {
        $.scrollTo('#main-content', settings.scroll_speed);
        return false;
    });

    /* slide previews */
    $('#project-previews div.project-preview-pic').each(function() {
        var details = $(this).find('div.project-preview-details');
        $(this).bind('mouseenter', function() {
            details.slideDown(settings.slide_speed);
        });

        $(this).bind('mouseleave', function() {
            details.slideUp(settings.slide_speed);
        });
    });

    /* external links */
    $('a[href][rel*=external]').each(function() {
        this.target = '_blank';
    });

    /* comment links */
    $('#go-comments').bind('click', function() {
        $.scrollTo('#comments', settings.scroll_speed);
        return false;
    });
    $('#go-comment-form').bind('click', function() {
        $.scrollTo('#comments-form', settings.scroll_speed);
        return false;
    });


    /* project list toggle */
    var project_list = $('#project-list');
    var full_list = $('#project-list-full');
    $('#show-projects').bind('click', function() {
        var link = $(this);
        if(full_list.css('display') == 'none') {
            link.removeClass('show-more').addClass('hide-em').html('Hide Them Back').attr('title', 'Hide those projects back');
            project_list.addClass('boxed-above');
            full_list.slideDown(settings.slide_project_speed, function() {
                $.scrollTo('#show-projects', settings.scroll_speed);
            });
        }
        else {
            link.removeClass('hide-em').addClass('show-more').html('Show Me More').attr('title', 'Show me more projects');
            project_list.removeClass('boxed-above');
            full_list.slideUp(settings.slide_project_speed, function() {
                $.scrollTo('#main-content', settings.scroll_speed);
            });
        }
        return false;
    });
});

/**
 * Do some fancy stuff as soon as the document is loaded.
 */
$(window).load(function() {
    //remove loaders and show content
    $('#loader').remove();
    $('#screenshotz ul').fadeIn('slow');

    /* innerfade */
    $('#screenshot-list').innerfade(settings);

    /* slide screenshots */
    $('#screenshotz').each(function() {
        var link = $('#project-link');
        $(this).bind('mouseenter', function() {
            link.slideDown(settings.slide_speed);
        });
        $(this).bind('mouseleave', function() {
            link.slideUp(settings.slide_speed);
        });
    });

});
