/* 
========================================================================================================= CREDITS
Copyright : Copyright (c) 2008 Blue Streak. All Rights Reserved.
Author(s) : Larry Daughenbaugh - ldaughenbaugh@systemsynapse.com 
Date      : 10/07/2008 
Notes     : JavaScript file for dropdown menus for navigation. 
			Script based off of work found at: Dynamic Drive [ www.dynamicdrive.com ]
========================================================================================================= CHANGE LOG
Date		Name			Desc
---			---				---
========================================================================================================= BEGIN JAVASCRIPT
*/

/* CREATE A NEW ARRAY FOR EACH NEW DROPDOWN MENU */
var menu_programs = new Array()
menu_programs[0] ='<a href="/programs/">Introduction</a>';
menu_programs[1] ='<a href="/programs/acceleration/">Acceleration</a>';
menu_programs[2] ='<a href="/programs/adult.php">Adult</a>';
menu_programs[3] ='<a href="/programs/nextGeneration.php">Next Generation</a>';
menu_programs[4] ='<a href="/programs/gameTime.php">Game Time</a>';
menu_programs[5] ='<a href="/programs/maintenance.php">Maintenance</a>';
menu_programs[6] ='<a href="/programs/teamTraining.php">Team Training</a>';
menu_programs[7] ='<a href="/programs/fourthQuarterPower.php">4th Quarter</a>';
menu_programs[8] ='<a href="/programs/apex.php">APEX</a>';

var menu_news = new Array()
menu_news[0] ='<a href="/news/">News';
menu_news[1] ='<a href="/events/">Events';

var menu_aboutUs = new Array()
menu_aboutUs[0] ='<a href="/about/">History</a>';
menu_aboutUs[1] ='<a href="/philosophy/">Philosophy</a>';
menu_aboutUs[2] ='<a href="/about/staff.php">Staff</a>';
menu_aboutUs[3] ='<a href="/about/partners.php">Partners</a>';
menu_aboutUs[4] ='<a href="/about/faq.php">F.A.Q.\'s</a>';
menu_aboutUs[5] ='<a href="/about/testimonials.php">Testimonials</a>';

var menu_contact = new Array()
menu_contact[0] ='<a href="/contact/workAtBluestreak.php">Work at<br />Bluestreak</a>';



// ********************************************************************************************************************************** End Dropdown Menus
													
var ie4 = document.all
var ns6 = document.getElementById &&! document.all

if (ie4 || ns6) { // if either variable = true, write in the dropdown divs when the script is loaded
    document.write('<div id="dropdown" style="visibility:hidden;width:150px"; onMouseover="clearhidemenu()" onMouseout="dynamichide(event)"></div>');
}

function getposOffset(what, offsettype) {
//alert(what+' '+offsettype); //-------------------------------------------------------------------------------------------------------------------------------------------
    var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
    var parentEl=what.offsetParent;
    while (parentEl!=null){
        totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
        parentEl=parentEl.offsetParent;
    }
return totaloffset;
}

function showhide(obj, e, visible, hidden, menuwidth) {
    if (ie4||ns6)
        dropmenuobj.style.left=dropmenuobj.style.top="-500px"
    if (menuwidth!="") {
        dropmenuobj.widthobj=dropmenuobj.style
        dropmenuobj.widthobj.width=menuwidth
    }
												
    if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover")
       obj.visibility=visible
    else if (e.type=="click")
        obj.visibility=hidden
}

function iecompattest() {
    return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function clearbrowseredge(obj, whichedge) {
    var edgeoffset=0
    if (whichedge=="rightedge") {
        var windowedge=ie4 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15
        dropmenuobj.contentmeasure=dropmenuobj.offsetWidth
    if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
        edgeoffset=dropmenuobj.contentmeasure-obj.offsetWidth
    } else {
        var topedge=ie4 && !window.opera? iecompattest().scrollTop : window.pageYOffset
        var windowedge=ie4 && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
        dropmenuobj.contentmeasure=dropmenuobj.offsetHeight
        if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure) { //move up?
            edgeoffset=dropmenuobj.contentmeasure+obj.offsetHeight
        if ((dropmenuobj.y-topedge)<dropmenuobj.contentmeasure) //up no good either?
            edgeoffset=dropmenuobj.y+obj.offsetHeight-topedge
        }
    }
return edgeoffset
}

function populatemenu(what) {
    if (ie4||ns6)
        dropmenuobj.innerHTML=what.join("")
}

//dropdownmenu(this, event, menu_overview, '150px'
function dropdownmenu(obj, e, menucontents, menuwidth) {
    if (window.event) 
				    event.cancelBubble=true
    else if (e.stopPropagation)
		e.stopPropagation()
        clearhidemenu()
        dropmenuobj=document.getElementById? document.getElementById("dropdown") : dropdown
        populatemenu(menucontents)
    if (ie4||ns6) {
        showhide(dropmenuobj.style, e, "visible", "hidden", menuwidth)
        dropmenuobj.x=getposOffset(obj, "left")
        dropmenuobj.y=getposOffset(obj, "top")
        dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+"px"
        dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+"px"
    }
return clickreturnvalue()
}

function clickreturnvalue() {
    if (ie4||ns6) return false
    else return true
}

function contains_ns6(a, b) {
    while (b.parentNode)
        if ((b = b.parentNode) == a)
            return true;
return false;
}

function dynamichide(e){
    if (ie4&&!dropmenuobj.contains(e.toElement))
        delayhidemenu()
    else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
        delayhidemenu()
}

function hidemenu(e){
    if (typeof dropmenuobj!="undefined"){
        if (ie4||ns6)
            dropmenuobj.style.visibility="hidden"
    }
}

function delayhidemenu(){
    if (ie4||ns6)
        delayhide = setTimeout("hidemenu()",200) // hides dropdown menu
}

function clearhidemenu(){
    if (typeof delayhide!="undefined")
        clearTimeout(delayhide)
}

document.onclick = hidemenu // hide dropdown menu when a visitor clicks
