﻿/// <reference path="jquery-1.3.2-vsdoc.js" />

/***************************************************************************\
*                               CONSTANTS                                   *
\***************************************************************************/
var MENU_DELAY                          = 1;
var MENU_LINKS                          = new Array("AboutUsLink",
                                                    "GetConnectedLink", 
                                                    "ResourcesLink");
var MENU_MENUS                          = new Array("AboutUsMenu",
                                                    "GetConnectedMenu", 
                                                    "ResourcesMenu");
var MENU_TRANSPARENCY                   = 0.85;

var SLIDESHOW_IMAGES                    = new Array("/Images/Slideshow/Lon.jpg",
													"/Images/Slideshow/Praise.jpg",
													"/Images/Slideshow/Kidland.jpg",
													"/Images/Slideshow/Worship.jpg",
													"/Images/Slideshow/Baptism.jpg");
                                                   


/***************************************************************************\
*                               VARIABLES                                   *
\***************************************************************************/
var _currentMenu                        = null;
var _menuTimeout                        = 0;
var _mouseX                             = 0;
var _mouseY                             = 0;
var _slideShowImages                    = new Array();
var _slideShowPosition                  = 0;

/***************************************************************************\
*                               EVENTS                                      *
\***************************************************************************/

/// <summary>
/// Called when the menu is hovered over..
/// </summary>
function Menu_Hover(menuItemID, menu) {
    clearTimeout(_menuTimeout);
}

/// <summary>
/// Called when the menu is no longer hovered over.
/// </summary>
function Menu_MouseOut(menuItemID, menu) {
    var _menu = $("#" + menuItemID);
       
    // If there is already a timeout, don't add another one.
    _menuTimeout = setTimeout(function() { HideMenu(menuItemID); }, MENU_DELAY * 1000);
}

/// <summary>
/// Called when the menu link is hovered over..
/// </summary>
function MenuLink_Hover(menuItemID, menuLink) {
    var _offset = $(menuLink).offset();
    var _position = $(menuLink).position();
    var _height = $(menuLink).height();
    var _menu = $("#" + menuItemID);
    
    if(_currentMenu != menuItemID) {
        HideMenu(_currentMenu);
        _currentMenu = menuItemID;
    }
    
    clearTimeout(_menuTimeout);
       
    _menu.css("left", _offset.left).css("top", _position.top + _height);
    _menu.show("slow");
}

/// <summary>
/// Called when the menu link is no longer hovered over.
/// </summary>
function MenuLink_MouseOut(menuItemID, menuLink) {
    var _menu = $("#" + menuItemID);
       
    // If there is already a timeout, don't add another one.
    _menuTimeout = setTimeout(function() { HideMenu(menuItemID); }, MENU_DELAY * 500);
}

/***************************************************************************\
*                               FUNCTIONS                                   *
\***************************************************************************/
/// <summary>
/// Hides the specified menu.
/// </summary>
function HideMenu(menuItemID) {
    if(menuItemID == null)
        return;
        
    $("#" + menuItemID).hide("fast");
    clearTimeout(_menuTimeout);
}

function SetupMenu(menuLink, menu, menuID) {
    menu.hide().fadeTo(1, MENU_TRANSPARENCY);
        
    menu.mouseover(function() {
        Menu_Hover(menuID, this);
    }).mouseout(function() {
        Menu_MouseOut(menuID, this);
    });
    
    menuLink.mouseover(function() {
        MenuLink_Hover(menuID, this);
    }).mouseout(function() {
        MenuLink_MouseOut(menuID, this);
    });
}

/***************************************************************************\
*                               LOADING                                     *
\***************************************************************************/
$(function() {
    var _linkID;
    var _linkItem;
    var _menuID;
    var _menuItem;
    /*    
    for(var i = 0; i < MENU_LINKS.length; i++) {
        _linkID = MENU_LINKS[i];
        _linkItem = $("#" + _linkID);
        _menuID = MENU_MENUS[i];
        _menuItem = $("#" + _menuID);
        
        SetupMenu(_linkItem, _menuItem, _menuID);
    }
    */
    for(var i = 0; i < SLIDESHOW_IMAGES.length; i++) {
        var _image = new Image();
        
        _image.src = SLIDESHOW_IMAGES[i];
        _slideShowImages.push(_image);
    }
    
    if($("#SlideShow").length > 0) {
        setInterval(
            function() {
                _slideShowPosition = (++_slideShowPosition % SLIDESHOW_IMAGES.length);
                
                $("#SlideShow").fadeOut("normal",
                    function() { 
                        $(this).attr("src", SLIDESHOW_IMAGES[_slideShowPosition]);
                        $(this).fadeIn("normal");
                     }
                );
            },
            5000
        );
    }
});
