
/***********************************************
* AnyLink Drop Down Menu- © Dynamic Drive (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

var menuwidth = '165px' //default menu width
var menubgcolor = '#FFFDE6'  //menu bgcolor
var disappeardelay = 400  //menu disappear speed onMouseout (in miliseconds)
var appeardelay = 450  //menu disappear speed onMouseout (in miliseconds)
var hidemenu_onclick = "no" //hide menu when user clicks within menu?
var pageloaded = "no" //is the page

/////No further editting needed

var ie4 = document.all
var ns6 = document.getElementById && !document.all

if (ie4 || ns6) {
    document.write('<div id="dropmenudiv" style="visibility:hidden;width:' + menuwidth + ';background-color:' + menubgcolor + '" onMouseover="clearhidemenu()" onMouseout="dynamichide(event)"></div>')
    document.write('<div id="dropStatediv" style="visibility:hidden;width:' + menuwidth + ';background-color:' + menubgcolor + '" onMouseover="clearhidemenu()" onMouseout="dynamichide(event)"></div>')
}


function PageisLoaded() {
    pageloaded = "yes";
}

function getposOffset(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 = -500

    if (menuwidth != "") {
        dropmenuobj.widthobj = dropmenuobj.style
        dropmenuobj.widthobj.width = menuwidth
    }
    if (e.type == "click" && obj.visibility == hidden || e.type == "mouseover") {
        if (ie4 || ns6) {
            //clearTimeout(appeardelay);
            if (typeof delayshow != "undefined")
                clearTimeout(delayshow)
            delayshow = setTimeout("dropmenuobj.style.visibility='visible'", appeardelay)
        }
        //else
        //	obj.visibility=visible
    }
    //setTimeout("hidemenu()",disappeardelay)
    //
    else if (e.type == "click")
        obj.visibility = hidden
}


function showhide2(obj, e, visible, hidden, menuwidth) {
    if (ie4 || ns6)
        dropStateobj.style.left = dropStateobj.style.top = -500

    if (menuwidth != "") {
        dropStateobj.widthobj = dropStateobj.style
        dropStateobj.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
        dropStateobj.contentmeasure = dropStateobj.offsetWidth
        if (windowedge - dropmenuobj.x < dropmenuobj.contentmeasure)
            edgeoffset = dropmenuobj.contentmeasure - obj.offsetWidth
        if (windowedge - dropStateobj.x < dropStateobj.contentmeasure)
            edgeoffset = dropStateobj.contentmeasure - obj.offsetWidth
    }
    else {
        var windowedge = ie4 && !window.opera ? iecompattest().scrollTop + iecompattest().clientHeight - 15 : window.pageYOffset + window.innerHeight - 18
        dropmenuobj.contentmeasure = dropmenuobj.offsetHeight
        dropStateobj.contentmeasure = dropStateobj.offsetHeight
        if (windowedge - dropmenuobj.y < dropmenuobj.contentmeasure)
            edgeoffset = dropmenuobj.contentmeasure + obj.offsetHeight
        if (windowedge - dropStateobj.y < dropStateobj.contentmeasure)
            edgeoffset = dropStateobj.contentmeasure + obj.offsetHeight
    }
    return 0
}

function populatemenu(what) {
    if (ie4 || ns6)
        dropmenuobj.innerHTML = what.join("")
}
function populateState(what) {
    if (ie4 || ns6)
        dropStateobj.innerHTML = what.join("")
}

function dropdownmenu(obj, e, menucontents, menuwidth, stateMenu, topBuffer, leftAlign) {

    //alert(pageloaded);

    if (window.event) event.cancelBubble = true
    else if (e.stopPropagation) e.stopPropagation()

    clearhidemenu()

    dropmenuobj = document.getElementById ? document.getElementById("dropmenudiv") : dropmenudiv
    dropStateobj = document.getElementById ? document.getElementById("dropStatediv") : dropStatediv

    populateState(stateMenu)
    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 = 145 + dropmenuobj.x - leftAlign - clearbrowseredge(obj, "rightedge") + "px"
        dropmenuobj.style.top = dropmenuobj.y - 20 - topBuffer - clearbrowseredge(obj, "bottomedge") + obj.offsetHeight + "px"

        showhide2(dropStateobj.style, e, "visible", "hidden", "150px")
        dropStateobj.x = getposOffset(obj, "left")
        dropStateobj.y = getposOffset(obj, "top")
        dropStateobj.style.left = dropStateobj.x - clearbrowseredge(obj, "rightedge") + "px"
        dropStateobj.style.top = dropStateobj.y - 16 - 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"
            if (typeof delayshow != "undefined")
                clearTimeout(delayshow)
        }
    }
    if (typeof dropStateobj != "undefined") {
        if (ie4 || ns6)
            dropStateobj.style.visibility = "hidden"
    }
}

function delayhidemenu() {
    if (ie4 || ns6)
        delayhide = setTimeout("hidemenu()", disappeardelay)
    //document.california.src='/img/common/1x1.gif'
}

function clearhidemenu() {
    if (typeof delayhide != "undefined")
        clearTimeout(delayhide)
}

if (hidemenu_onclick == "yes")
    document.onclick = hidemenu


// name - name of the cookie
// [path] - path of the cookie (must be same as path used to create cookie)
// [domain] - domain of the cookie (must be same as domain used to create cookie)
// * path and domain default if assigned null or omitted if no explicit argument proceeds
function deleteCookie(name, path, domain) {
    if (getCookie(name)) {
        document.cookie = name + "=" +
		((path) ? "; path=" + path : "") +
		((domain) ? "; domain=" + domain : "") +
		"; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
}

// name - name of the desired cookie
// * return string containing value of specified cookie or null if cookie does not exist
function getCookie(name) {
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1) {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    } else
        begin += 2;
    var end = document.cookie.indexOf(";", begin);
    if (end == -1)
        end = dc.length;
    return unescape(dc.substring(begin + prefix.length, end));
}
