var mantel = {
    selected: '',
    timeoutId: '',
    init: function() {
        this.selected = $("#mantel1");
        this.selected.css({'display' : 'block'});
        $("#link1").addClass('mantel-arrow');  
    },
    startPromotionCycle: function() {
       this.timeoutId = setTimeout("mantelCycle.start()", 5000);
    },
    stopPromotionCycle: function() {
       clearTimeout(this.timeoutId);
    },
    clearArrowClass: function() {
        $('div#mantel-left li').each(function(i) {
            $(this).removeClass('mantel-arrow');
        });
    },
    addArrowClass: function(obj) {
        $(obj).addClass('mantel-arrow');
    },
    getNewlySelected: function(obj) {
        // obj.id should be of 'link1' where the number is variable
        var index = obj.id.charAt(obj.id.length - 1);
		return $("#mantel" + index);
    },
    isSameSelected: function(obj) {
        var newlySelected = this.getNewlySelected(obj);
        if (newlySelected.attr('id') == this.selected.attr('id'))
        {
            return true;
        }

        return false;
    },
    fadeOutOthers: function() {
        $("div.mantel").each(function (i) {
            if (this.id != mantel.selected.attr('id'))
            {
                $(this).fadeOut('fast');
            }
        });
    },
    fadeInSelected: function() {
        this.selected.css({'display' : 'none','left' : '0'});
        this.selected.fadeIn('def');    
    }
};

var mantelCycle = {
    mantelIds: ['mantel1', 'mantel2', 'mantel3', 'mantel4', 'mantel5'],
    linkIds: ['link1', 'link2', 'link3', 'link4', 'link5'],
    current: null,
    start: function() {
        var linkObj = document.getElementById(this.getNextLinkId());

        mantel.selected = mantel.getNewlySelected(linkObj);

        mantel.clearArrowClass();
        mantel.addArrowClass(linkObj);
        mantel.fadeOutOthers();
        mantel.fadeInSelected();

        mantel.startPromotionCycle();
    },
    getNextLinkId: function() {
        var mantelId = mantel.selected.attr('id');
        for (var i = 0; i < this.mantelIds.length; i++) {
            if (mantelId == this.mantelIds[i]) {
                if (i == 4) {
                    return this.linkIds[0];
                }
                else {
                    return this.linkIds[i+1];
                }
            }
        }
    }
};

$(document).ready(function(){    
    // set hover states for main menu
    $("#nav img").hover(function(){
        // 'this' should be the image links
        if ($(this).hasClass('menu-selected')) return;
        var src = $(this).attr('src');
        src = src.replace('_off', '_on');
        $(this).attr('src', src);
    }, function(){
        if ($(this).hasClass('menu-selected')) return;
        var src = $(this).attr('src');
        src = src.replace('_on', '_off');
        $(this).attr('src', src);
    });

    // pre-load menu images
    var preload = [
        "img/menu_business_off.gif","img/menu_business_on.gif",
        "img/menu_internet_off.gif","img/menu_internet_on.gif",
        "img/menu_phone_off.gif","img/menu_phone_on.gif",
        "img/menu_support_off.gif","img/menu_support_on.gif",
        "img/menu_tv_off.gif","img/menu_tv_on.gif"
    ];

    var images = [];
    for (i = 0; i < preload.length; i++) {
        images[i] = new Image();
        images[i].src = preload[i];
    }

});
