/*
*   Nair App
*   Provides basic functionality for every page of the site
*
*   Requires:
*       Trapeze jQuery distribution
*       Cufon
*
*   Marcos Abreu - March 27, 2009
*/

$.namespace("trapeze.Nair");

trapeze.Nair = $.Class.extend({
    set_cufon_fonts : function() {
        Cufon.replace('#HomeBadge .home-heading span', { 
                fontFamily: 'Optima' 
        });
        Cufon.replace('#Badge404 .heading404 span', { 
                fontFamily: 'Optima' 
        });
        Cufon.replace('#HomeBadge .special-text', { 
                fontFamily: 'News Gothic', 
                hover: true 
        });

        Cufon.replace('#Navigation ul li a', { 
                fontFamily: "ITC Avant Garde Gothic",
                hover: true 
        });
        Cufon.replace('#Featured h3', { 
                fontFamily: 'Optima' 
        });

        Cufon.replace('h1', { 
                fontFamily: 'Optima' 
        });
        Cufon.replace('h2', { 
                fontFamily: 'Optima' 
        });
		Cufon.replace('#newProductsLegend p', { 
                fontFamily: 'Optima' 
        });
    },

    set_content_height : function() {
        var side_column = $('#SideColumn').outerHeight();
        var featured = $('#Featured').outerHeight(true);
        var main_content = $('#MainContent').outerHeight();
        if ((featured + main_content) < side_column) {
            var diff = side_column - (featured + main_content);
            $('#MainContent').height($('#MainContent').height() + diff);
        } else if ((featured + main_content) > side_column) {
            var diff = (featured + main_content) - side_column;
            $('#SideColumn #SideNav').after('<div class="empty-side-block" style="height:'+diff+'px;"><!-- --></div>');
        }
    },

    fix_page_height : function() {
        if (!$("body[class*='home-page']").size()>0) this.set_content_height();
    },

    list_item_make_link : function(){
        $("#Featured li.list-link").css("cursor","pointer");
        $("#Featured li.list-link").click(function(){
            window.location=$(this).find("a").attr("href"); 
            return false;
        });
    },
    
    init : function() {
        this.set_cufon_fonts();
        //$(window).load(this.fix_page_height.bind(this));
        this.list_item_make_link();
    }
});

$(function() {
    new trapeze.Nair();
});


$.extend($.namespace("trapeze"), {
    total_imgs : 0,
    total_imgs_loaded : 0,
    imgs_load_callback : null,

    chk_preload_imgs : function() {
        if ((this.total_imgs_loaded >= this.total_imgs) && (typeof this.imgs_load_callback == 'function')) {
            this.imgs_load_callback;
        }
    },

    image_loaded : function() {
        this.total_imgs_loaded += 1;
        this.chk_preload_imgs();
    },

    preloadImages : function(images, callback) {
        this.total_imgs = images.length;
        this.imgs_load_callback = callback;
        /*for (src in images) { */
        for (var i=0; i<images.length; i++) {
            /*$('<img />').attr('src', src).load(this.image_loaded.bind(this)); */
            $(images[i]).load(this.image_loaded.bind(this));
        }
    }
});

