﻿/*
 * Configuration
 */
var mainMenu_speedIn    = 'fast';
var mainMenu_speedOut   = 'fast';

/*
 * Global menu variables
 */
var mainMenu_lastItem   = null;
var mainMenu_lastAnchor = null;
var mainMenu_maxWidth   = 0;

$(document).ready(initializeSite);

function initializeSite() {
    // Set event handlers
    $('#searchbox').keypress(checkSearchText);

    // Build menu
    buildMenu();
}

function buildMenu() {
    var menuTree = document.getElementById('menuTree');
    
    if(menuTree == null)
        return;
    
    mainMenu_maxWidth = document.getElementById('menuTree').offsetLeft + document.getElementById('menuTree').offsetWidth;
    
    var subContainers = menuTree.getElementsByTagName('ul');
    var subContainersCount = subContainers.length;
    for (var i = 0; i < subContainersCount; i++)
    {
        var visible = false;
        if ($(subContainers[i]).hasClass('visible'))
        {
            $(subContainers[i]).removeClass('visible');
            visible = true;
        }
        subContainers[i].style.display = 'block';
    
        var subItems = subContainers[i].getElementsByTagName('li');
        var subItemsCount = subItems.length;
        var width = 0;
        for (var j = 0; j < subItemsCount; j++)
        {
            width += subItems[j].offsetWidth;
        }
        subContainers[i].style.width = width;

        var anchor = subContainers[i].parentNode.getElementsByTagName('a')[0];
        if ($(anchor).hasClass('active')) 
        {
            mainMenu_lastAnchor = anchor;
            mainMenu_lastItem = subContainers[i];
        }
        
        var totalWidth = width + subContainers[i].offsetLeft;
        if (totalWidth > mainMenu_maxWidth)
        {
            var leftpos = totalWidth - mainMenu_maxWidth;
            subContainers[i].style.left = subContainers[i].offsetLeft - leftpos + 'px';
        }
        
        if (visible)
        {
            $(subContainers[i]).addClass('visible');
            subContainers[i].style.display = 'block';	        
        }
        else
            subContainers[i].style.display = 'none';

        subContainers[i].style.visibility = 'visible';
    }
}

function showItem(anchor)
{
    var subItem = anchor.parentNode.getElementsByTagName('ul')[0];

    if (subItem == null) 
        return true;
    
    if (subItem.style.display == 'block')
    {
        hideItem(mainMenu_lastItem, mainMenu_lastAnchor);
    }
    else
    {
        if (mainMenu_lastItem != null)
        {
            hideItem(mainMenu_lastItem, mainMenu_lastAnchor);
        }
        
        // Make root item active
        $(anchor).addClass('active');		
        $(subItem).fadeIn(mainMenu_speedOut);
    }

    mainMenu_lastItem   = subItem;
    mainMenu_lastAnchor = anchor;
    
    return false;
}

function hideItem(subItem, anchor)
{
    $(anchor).removeClass("active");
    //$(subItem).fadeOut(mainMenu_speedOut);
    subItem.style.display = 'none';
}

function highlightImage(anchor)
{
    if (!$(anchor.parentNode).hasClass("active"))
        $(anchor.parentNode).addClass("active");
}

function dehighlightImage(anchor)
{
    $(anchor.parentNode).removeClass("active");
}

/* Search functions */
function setText(hideText) {
    if (hideText) {
        // Only hide the text if it has not been changed
        if ($('#searchbox').val() == _searchText)
            $('#searchbox').val("");
    }
    else if ($('#searchbox').val() == "")
        // Set the original search text if the textbox is empty
        $('#searchbox').val(_searchText);
}

function doSearch() {
    var search = _searchUrl; // Defined in Site.Master
    document.location = search.replace("{0}", $('#searchbox').val());
    return false;
}

function checkSearchText(e) {
    var evt = e || window.event;
    if (evt.keyCode == 13) {
        doSearch();
        e.returnValue = false; 
        e.cancel = true;
        return false;
    }
}
