
var popupFeatures = ["guestListPopup", "statementPopup"];
popupFeatures["guestListPopup"] = "left=50,top=50,height=500,width=450,resizable,scrollbars=yes";
popupFeatures["statementPopup"] = "left=50,top=50,height=675,width=800,resizable,scrollbars=yes,toolbar=yes";

function baseInit()
{
    if (!document.getElementsByTagName) return false;
    if (!document.getElementById) return false;

    try
    {
        init();
    }
    catch(ex){}
    
    fixIEHover("primaryNav");
    fixIEHover("secondaryNav");
   
    //popup links inside a list
    var lists = document.getElementsByTagName("ul");
    for (var i = 0; i < lists.length; i++)
    {
        if (lists[i].className.indexOf("Popup") >= 0)
        {
            var links = lists[i].getElementsByTagName("a");
            for(var j=0; j < links.length; j++){
                initPopupLink(links[j], lists[i].className);
            }
        }
    }
    
    //individual links
    var links = document.getElementsByTagName("a");
    for (var i = 0; i < links.length; i++)
    {
        if (links[i].className.indexOf("Popup") >= 0)
        {
            initPopupLink(links[i], links[i].className);
        } 
        else if (links[i].className == "closeWindow")
        {
            initCloseWindowLink(links[i]);
        }
    }
}

function openWindow(theURL, winName, features)
{ 
    child = window.open(theURL,winName,features);
	child.focus();
}

function getPopupClassName(classNames)
{
    var arrClass = classNames.split(" ");
    for (var i = 0; i < arrClass.length; i++)
    {
        if (arrClass[i].indexOf("Popup") >= 0)
        {
            return arrClass[i];
        }
    }
}

function initPopupLink(link, className)
{
    var features = popupFeatures[getPopupClassName(className)];
    if(className.indexOf("statementPopup") >= 0)
    {
        link.onclick = function()
        {
            var prefix = link.id.substring(0, link.id.lastIndexOf("_")+1);
            var statementSelectBox = document.getElementById(prefix + "statementSelectBox");
            var value = statementSelectBox.value;
            openWindow(this.href + value, "newWindow", features);
            return false;  
        } 
    }
    else
    {
        link.onclick = function()
        {
            openWindow(this.href, "newWindow", features);
            return false;  
        } 
    }    
}

function initCloseWindowLink(link)
{
    link.onclick = function()
    {
        window.close();
        return false;  
    }     
}

function disableElement(id, disable)
{
    var element = document.getElementById(id);
    element.disabled = disable;
}

function fixIEHover(listName)
{
    var navContainer = document.getElementById(listName);
    if(navContainer == null)
        return;
    navContainer = navContainer.childNodes[0];
    if(navContainer != null)
    {
        var navList;
        for(var i=0; i < navContainer.childNodes.length; i++)
        {
            navList = navContainer.childNodes[i].childNodes[0];
            fixList(navList);
        }
        
    }
}

function fixList(list)
{
    var node;
    if (list != null)
    {
        for (var i = 0; i < list.childNodes.length; i++) 
        {
            node = list.childNodes[i];
            if (node.nodeName == "LI") 
            {
                node.onmouseover = function() 
                {
                    this.className+=" over";
                }
                node.onmouseout = function() 
                {
                    this.className=this.className.replace('over', "");
                }
                for (var j = 0; j < node.childNodes.length; j++) 
                {
                    if(node.childNodes[j].nodeName=="UL")
                        fixList(node.childNodes[j]);
                }
            }
        }
    }
}

window.onload = baseInit;
