// Set up the nav items
var pageNav;
var nav1;
function initNav(name) {
    clearMenus();
    nav1 = new Nav(100,64);
    
    
    // These lines create the nav items and menus
    // ------------------------------------------
    nav1.addMenu("Home", "/"); // Navivation link
    nav1.addMenu("Products &amp; Services", "/products/", 170); // Navivation link
        nav1.lastMenu.addItem("Software", "/products/", "section"); // Menu item (first item should link to same place as navigation link)
        nav1.lastMenu.addItem("Bloodhound", "/products/bloodhound.asp"); // Menu item
        nav1.lastMenu.addItem("Praxis", "/products/praxis.asp"); // Menu item
        nav1.lastMenu.addItem("Synopsis", "/products/synopsis.asp"); // Menu item
        nav1.lastMenu.addItem("Software Downloads", "/downloads/"); // Menu item
        nav1.lastMenu.addItem("Services", "/services/", "section"); // Menu item
        nav1.lastMenu.addItem("Computational Biology Consulting", "/services/computational.asp"); // Menu item
        nav1.lastMenu.addItem("Research Design and Analysis", "/services/research.asp"); // Menu item
        nav1.lastMenu.addItem("Custom Software", "/services/custom.asp"); // Menu item
    nav1.addMenu("Solutions", "/products/", 145); // Navivation link    
        nav1.lastMenu.addItem("Cancer Genomic Signatures", "/products/cancer_genomics.asp"); // Menu item
        nav1.lastMenu.addItem("Genome Visualization", "/products/synopsis.asp"); // Menu item
        nav1.lastMenu.addItem("Kinship Analysis", "/products/bloodhound.asp"); // Menu item
        nav1.lastMenu.addItem("Protocol and Data Analysis", "/products/praxis.asp"); // Menu item
    nav1.addMenu("News", "/news/");
        nav1.lastMenu.addItem("Latest", "/news/pr_070708.asp");
        nav1.lastMenu.addItem("Press Releases", "/news/");
    //  nav1.lastMenu.addItem("Publications", "/news/pubs.asp");
    //  nav1.lastMenu.addItem("Media", "/news/media.asp");
    //  nav1.lastMenu.addItem("Events", "/news/events.asp");
    nav1.addMenu("Company", "/company/");
        nav1.lastMenu.addItem("About Ananomouse", "/company/");
    //  nav1.lastMenu.addItem("Management", "/company/management.asp");
    //  nav1.lastMenu.addItem("Scientific Board", "/company/science.asp");
    nav1.addMenu("Contact", "/contact/");
        nav1.lastMenu.addItem("Contact Us", "/contact/");
    //  nav1.lastMenu.addItem("Sales", "/contact/sales.asp");
    //  nav1.lastMenu.addItem("Support", "/contact/support.asp");
    // ------------------------------------------
    
    
    pageNav = name;
    navobj = document.getElementById("Nav"+nav1.Menus[pageNav].Number);
    navobj.className="nav Active";
}



// Navigation Menu Classes and Methods
// ------------------------------------

function Nav(x,y) {
    this.Menus = new Array();
    this.lastMenu;
    this.Navhandle = document.getElementById("navContainer");
    this.Menuhandle = document.getElementById("menuContainer");
    this.Navhandle.style.left = x;
    this.Navhandle.style.top = y;
    this.Menuhandle.style.left = x;
    this.Left = x;
    this.Top = y;
    
    this.Pagehandle = document.getElementById("structure");
    this.pageWidth = this.Pagehandle.offsetWidth;
    this.pageLeft = this.Pagehandle.offsetLeft;
    this.rightExtent = this.pageWidth+this.pageLeft;
}
    Nav.prototype.addMenu=addMenu;
    // Menu add method
    function addMenu(title, link, width) {
        this.Menus[this.Menus.length] = new Menu(title, link, this, width);
        this.lastMenu = this.Menus[this.Menus.length-1];
    }
    
function Menu(name, link, parent, width) {
    this.name = name;
    this.link = link;
    this.parent = parent;
    this.Items = new Array();
    this.Number = this.parent.Menus.length;
    this.asplStr = "<a id='Nav"+this.parent.Menus.length+"' class='nav' ";
    this.asplStr += "href=\""+this.link+"\" ";
    this.asplStr += "onMouseOver=\"show("+(this.parent.Menus.length)+",true);\" ";
    this.asplStr += ">"+this.name+"</a>";
    
    this.parent.Navhandle.innerHTML += this.asplStr;
    widthStr = "";
    if (typeof(width)!="undefined") widthStr = " style='width: "+width+"px;'";
    
    this.asplStr = "<span id='Menu"+this.parent.Menus.length+"' class='menu' ";
    this.asplStr += widthStr + "></span>";
    this.parent.Menuhandle.innerHTML += this.asplStr;
    
    this.Navhandle = document.getElementById("Nav"+this.parent.Menus.length);
    this.Menuhandle = document.getElementById("Menu"+this.parent.Menus.length);
    this.Containerhandle = document.getElementById("menuContainer");
    
    this.Left = this.Navhandle.offsetLeft;
    if (isMac & isIE) this.Left -= 5;
    this.Width =  this.Navhandle.offsetWidth;
    
    navWidth += this.Navhandle.offsetWidth;
    
    this.parent.Navhandle.style.left = this.parent.rightExtent - navWidth - 6;
    this.parent.Menuhandle.style.left = this.parent.rightExtent - navWidth - 6;
    this.Menuhandle.style.left = this.Left;
    this.Menuhandle.style.top = this.parent.Top+20;
    
    
    this.Rollerhandle = document.getElementById("navRoller");
    this.Rollerhandle.style.left = this.parent.Navhandle.offsetLeft - 16;
    this.Rollerhandle.style.width = this.Menuhandle.offsetLeft + this.Menuhandle.offsetWidth + 32;
    this.Rollerhandle.style.top = this.parent.Navhandle.offsetTop - 16;
}
    Menu.prototype.addItem=addItem;
    // Menu item add method
    function addItem(text,link, type) {
        this.Items[this.Items.length] = new MenuItem(text, link, this, type);
    }
    
function MenuItem(text, link, parent, type) {
    this.text = text;
    this.link = link;
    this.parent = parent;
    classStr = "item";
    if (typeof(type)!="undefined") classStr += " " + type;
    this.asplStr = "<a href='"+this.link+"' id='Item"+(this.parent.parent.Menus.length-1)+"_"+this.parent.Items.length+"' class='"+classStr+"' ";
    this.asplStr += " onMouseOver=\"this.className='"+classStr+" Over';\" ";
    this.asplStr += " onMouseOut=\"this.className='"+classStr+"';\" ";
    this.asplStr += ">"+this.text+"</a>";
    this.parent.Menuhandle.innerHTML += this.asplStr;
}

var lastMenu=0;
var navWidth=0;
var menuWidth=0;
function show(num, onoff) {
    navobj = document.getElementById("Nav"+nav1.Menus[num].Number);
    menuobj = document.getElementById("Menu"+nav1.Menus[num].Number);
    if (onoff==true) {
    
        //Turn off the last one
        lastnavobj = document.getElementById("Nav"+nav1.Menus[lastMenu].Number);
        lastmenuobj = document.getElementById("Menu"+nav1.Menus[lastMenu].Number);
        lastmenuobj.style.visibility = "hidden";
        
        if (lastMenu!=pageNav) lastnavobj.className="nav";
        else  lastnavobj.className="nav Active";
        
        if (nav1.Menus[num].Items.length > 0) menuobj.style.visibility = "visible";
        navobj.className="nav On";
        
        // Set the height of the empty div that is used to detect leaving a menu
        // (and so hiding it). The other dimensions of this div are set in the Menu class def.
        Rollerhandle = document.getElementById("navRoller");
        Rollerhandle.style.height = menuobj.offsetHeight + navobj.offsetHeight + 32;
    } else {
        menuobj.style.visibility = "hidden";
        if (lastMenu!=pageNav) navobj.className="nav";
        else  navobj.className="nav Active";
        Rollerhandle = document.getElementById("navRoller");
        Rollerhandle.style.height = 10;
    }
    lastMenu = num;
}

function hideMenu() {
     if (lastMenu > -1) show(lastMenu, false);
     lastMenu = 0;
}

function clearMenus() {
    document.getElementById("navContainer").innerHTML = "";
    document.getElementById("menuContainer").innerHTML = "";
    lastMenu=0;
    navWidth=0;
    menuWidth=0;
}
