/* SEARCH */
var active_color = '#666666'; //COLOR OF USER PROVIDED TEXT
var inactive_color = '#666666'; //COLOR OF DEFAULT TEXT

function formDefaultValues() {
    var fields = getElementsByClassName(document, "input", "keyword");
    if (!fields) {
        return;
    }
    var default_values = new Array();
    for (var i = 0; i < fields.length; i++) {
        fields[i].style.color = inactive_color;
        if (!default_values[fields[i].id]) {
            default_values[fields[i].id] = fields[i].value;
        }
        fields[i].onfocus = function () {
            if (this.value == default_values[this.id]) {
                this.value = '';
                this.style.color = active_color;
            }
            this.onblur = function () {
                if (this.value == '') {
                    this.style.color = inactive_color;
                    this.value = default_values[this.id];
                }
            }
        }
    }
}

function getElementsByClassName(oElm, strTagName, strClassName) {
    var arrElements = (strTagName == "*" && oElm.all) ? oElm.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    strClassName = strClassName.replace(/\-/g, "\\-");
    var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
    var oElement;
    for (var i = 0; i < arrElements.length; i++) {
        oElement = arrElements[i];
        if (oRegExp.test(oElement.className)) {
            arrReturnElements.push(oElement);
        }
    }
    return (arrReturnElements);
} 

/* NAVIGATION */
var prevNav = document.getElementById('n0');
var prevNavSelect = document.getElementById('cs0');
var prevSubnav = document.getElementById('sn0');
var timer;
var prevNavState = ' ';

//GETS OBJECT'S OBJECT RELATIVE TO TOP LEVEL OF PAGE, RATHER THAN ITS IMMEDIATE CONTAINER
function getX(obj) {
    var x = 0;
    if (obj.offsetParent) {
        do {
            x += obj.offsetLeft;
        } while (obj = obj.offsetParent);
    }
    return x;
}

function initSubnav() {
    var linkArray = document.getElementById('nav-cat').getElementsByTagName('a'); //gets all the links in the nav
    var divArray = document.getElementById('nav-cat').getElementsByTagName('div');
    var catLinkArray = new Array();
    var catSelectArray = new Array();
    var subcatArray = new Array();
    var subcatWrapArray = new Array();
    for (var i = 0; i < linkArray.length; i++) {
        if (linkArray[i].parentNode.parentNode.id.indexOf('nav-cat') > -1) { //creates an array of just the category-level links
            catLinkArray.push(linkArray[i]);
        }
    }
    for (var i = 0; i < catLinkArray.length; i++) { //assigns ids to the category-level links
        catLinkArray[i].id = 'n' + i;
    }
    for (var i = 0; i < divArray.length; i++) { //creates array of just the subnav divs
        if (divArray[i].className.indexOf('navSelect') > -1) catSelectArray.push(divArray[i]);
        if (divArray[i].className.indexOf('subcatblock') > -1) subcatArray.push(divArray[i]);
        if (divArray[i].className.indexOf('wrapper') > -1) subcatWrapArray.push(divArray[i]);
    }
    for (var i = 0; i < subcatArray.length; i++) { //assigns ids and positions subnav
        var n = parseInt(catLinkArray[i].id.substr(1)) + 1;
        var subcatX = subcatArray[i].offsetLeft;
        var catW = catLinkArray[n].offsetWidth;
        var subcatW = subcatArray[i].offsetWidth;
        var nudge = subcatW - catW - 7;
        var overhang = 100;
        var scW = 0;
        if (subcatW > catW + overhang) {
            scW = subcatW;
        } else {
            scW = catW + overhang;
        }
        catSelectArray[i].id = 'cs' + n;
        catSelectArray[i].style.top = 0 + 'px';
        if (!window.XMLHttpRequest) {
            subcatArray[i].style.width = (scW - 14) + 'px';
            subcatArray[i].style.left = -40 + 'px';
        } else {
            subcatArray[i].style.width = scW + 'px';
            subcatArray[i].style.left = -40 + 'px';
        }
        subcatWrapArray[i].style.width = scW + 7 + 'px';
        subcatArray[i].id = 'sn' + n;
        subcatArray[i].style.top = 34 + 'px';
        if (i > 2 && i < subcatArray.length - 1 && subcatW > catW) subcatArray[i].style.left = -nudge + 0 + 'px';
        if (i == subcatArray.length - 1 && subcatW > catW) subcatArray[i].style.left = -nudge + 'px';
        // if (!window.XMLHttpRequest) { //add iframe in ie6 ONLY for form peekthrough issue
		if (typeof document.addEventListener != 'function') {
            var targetEl = subcatWrapArray[i];
            var newEl = document.createElement('iframe');
            var firstElArray = targetEl.getElementsByTagName('ul');
            newEl.frameBorder = 0;
            newEl.scrolling = 'no';
            newEl.src = 'javascript:false';
            newEl.id = 'snf' + n;
            newEl.style.height = subcatArray[i].offsetHeight + 'px';
            newEl.style.width = scW + 'px';
            targetEl.insertBefore(newEl, firstElArray[0]);
        }
        catSelectArray[i].className = 'navSelect x';
        subcatArray[i].className = 'subcatblock x';
    }
}

function showNav(navObj) {
    clearTimeout(timer);
    var objNum = navObj.id.substr(1);
	//	alert('objNum: ' + objNum);
    var selectObj = document.getElementById('cs' + objNum);
	//	alert('selectObj: ' + selectObj);
    var subnavObj = document.getElementById('sn' + objNum);
	//	alert('subnavObj: ' + subnavObj);
    var navObjState = (navObj.className) ? navObj.className : ' ';
	//	alert('navObjState: ' + navObjState);
    if (selectObj) selectObj.className = 'navSelect o';
    if (subnavObj) subnavObj.className = 'subcatblock o';
    if (prevSubnav && prevSubnav != subnavObj) {
        prevNav.className = prevNavState;
        prevNavSelect.className = 'navSelect x';
        prevSubnav.className = 'subcatblock x';
    }
    prevNavState = navObjState;
    prevNav = navObj;
    prevNavSelect = selectObj;
    prevSubnav = subnavObj;
    timer = setTimeout('closeNav()', 5000);
	
  	// SEARCH IE6 fix
	if(objNum =="3" || objNum =="4"){
		//alert("inside search chekc" +objNum);
		//window.frames[0].document.getElementById('snum').style.display='none';
	//window.frames[0].document.getElementById('snum').style.display='none';
		//document.getElementById("pruIframe").style.visibility='hidden';
		
	}
	
}

function closeNav() {
    prevNav.className = prevNavState;
    prevNavSelect.className = 'navSelect x';
    prevSubnav.className = 'subcatblock x';
}
$(document).ready(function () {
    // LEFT NAV BLOCK						
    $('#menu ul').hide();
	$('#menu .third-level').parent().parents('li').addClass('hasChildren');
    $('#menu .third-level li.active').parent().parents('li').addClass('active arrowUp');
	$('.second-level li.active').children('ul').slideDown('normal');
	$('#menu li a').click(


/*

    // LEFT NAV BLOCK						
    $('#menu ul').hide();
    $('#menu .third-level li.active').parent().parents('li').addClass('active');
    $('.second-level li.active').children('ul').slideDown('normal');
    $('#menu li a').click(


*/
    function () {
        //NEXT ELEMENT
        var checkElement = $(this).next();
        //IF THIS ELEMENT HAS CHILDREN AND THEY ARE VISIBLE, DO NOTHING.
        if ((checkElement.is('ul')) && (checkElement.is(':visible'))) {
           // OLD return false; 
		   //Updated on 5/12/2010 THIS MAKE CHILDRENS PARENT ACTIVE NOW
		   return true;
        }
        //IF THIS ELEMENT HAS CHILDREN AND THEY ARE NOT VISIBLE, EXPAND CHILD UL
        if ((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
            $('#menu li').removeClass('active').addClass('arrowUp');
            $(this).parent().addClass('active arrowDown');
            //After sliding up non-actives, remove open class from parent
            $('#menu ul:visible').slideUp('normal').parent().removeClass('active');
            checkElement.slideDown('normal');
            return false;
        }
    });
    initHeader();
}); 

/* NAVIGATION SETUP */
function initHeader() {
    initSubnav();
    formDefaultValues();
} 

/* onDomReady from http://ryanmorr.com/archives/ondomready-no-browser-sniffing */
/* WORKS WITH ie6-8, cHROME, ff, AND sAFARI */
function onDOMReady(fn, ctx) {
    var ready, timer;
    var onChange = function (e) {
        if (e && e.type == "DOMContentLoaded") {
            fireDOMReady();
        } else if (e && e.type == "load") {
            fireDOMReady();
        } else if (document.readyState) {
            if ((/loaded|complete/).test(document.readyState)) {
                fireDOMReady();
            } else if ( !! document.documentElement.doScroll) {
                try {
                    ready || document.documentElement.doScroll('left');
                } catch (e) {
                    return;
                }
                fireDOMReady();
            }
        }
    };
    var fireDOMReady = function () {
        if (!ready) {
            ready = true;
            fn.call(ctx || window);
            if (document.removeEventListener) document.removeEventListener("DOMContentLoaded", onChange, false);
            document.onreadystatechange = null;
            window.onload = null;
            clearInterval(timer);
            timer = null;
        }
    };
    if (document.addEventListener) document.addEventListener("DOMContentLoaded", onChange, false);
    document.onreadystatechange = onChange;
    timer = setInterval(onChange, 5);
    window.onload = onChange;
};

//USE PRINT STYLESHEET IF FORMAT=PRINT
var format = getUrlParam('format');
if (format == 'print') {
   // $('head').append('<link href="/view/View/BACHE/theme/print.css" rel="stylesheet" type="text/css"  />');
	document.write('<link href="/view/View/BACHE/theme/print.css" rel="stylesheet" type="text/css"  />');
} 


/***** SEARCH **/

//LEGACY FUNCTIONS
function getUrlParam(name) {
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regexS = "[\\?&]" + name + "=([^&#]*)";
    var regex = new RegExp(regexS);
    var results = regex.exec(window.location.href);
    if (results == null) return "";
    else return results[1];
}


/* GOOGLE SEARCH APPLIANCE SEARCH - GLOBAL SEARCH */
// VALIDATES THAT THE FIELD VALUE STRING HAS ONE OR MORE CHARACTERS IN IT
function isNotEmpty() {
    var str = document.getElementById('headerQuery').value;
    if ((str == null || str.length == 0)) {
        alert("Please enter a keyword or phrase in the text box.");
        document.getElementById('headerQuery').focus();
        return false;
    } else {
        return true;
    }
} /***** END SEARCH SCRIPT ***/

//OPEN CALC FUNCTION, USED IN RELATED LINK CONTENT
function open_calc_window(strLocation, strWinName,strWinWidth,strWinHeight,strWinResize) 
{	
	rexp = /https:/	
  if(strWinName !="0" && strWinHeight != "0") {
	if (rexp.test(strLocation)) {
	   	msgWindow = window.open(strLocation, null,'height='+strWinHeight+',width='+strWinWidth+',location=yes,scrollbars=yes,status=yes,menubar=yes,toolbar=yes,resizable='+strWinResize);
    } else {
		msgWindow = window.open(strLocation, null,'height='+strWinHeight+',width='+strWinWidth+',location=yes,scrollbars=yes,menubar=yes,toolbar=yes,resizable='+strWinResize);
	}
  }
  else {
	  	   	msgWindow = window.open(strLocation, null,'height=500,width=500,location=yes,scrollbars=yes,status=yes,menubar=yes,toolbar=yes,resizable=yes');

  }
	msgWindow.opener = self;
}
