var timeout    = 500;
var closetimer = 0;
var ddmenuitem = 0;

function jsddm_open()
{  jsddm_canceltimer();
   //jsddm_close();
   ddmenuitem = $j(this).find('ul').fadeIn("fast").css('visibility', 'visible');}

function jsddm_close()
{  if(ddmenuitem) ddmenuitem.css('visibility', 'hidden');}

function jsddm_timer()
{  closetimer = window.setTimeout(jsddm_close, timeout);}

function jsddm_canceltimer()
{  if(closetimer)
   {  window.clearTimeout(closetimer);
      closetimer = null;}}
	  
// *******************************************************
// regular member login header links
// *******************************************************
function dsplDivLgn(site) {
	//alert(site);
	WTlogDlay() ;

	if (usrGlbl != null){

		if ( this.usrNm != null && this.usrNm != '') { 

		
			if ( 	location.href.indexOf("group-registration") == -1 &&
				( 	usrGlbl.indexOf("ORGANIZATION") > -1 || 
					usrGlbl.indexOf("SUSTAINING") > -1 || 
					usrGlbl.indexOf("SCHOOL") > -1 	|| 
					usrGlbl.indexOf("DISTRICT") > -1
				) 
			) {

				if (location.href.indexOf("/members/") > -1) {
					location.href = '/members/group-registration.html';
				}
			}

			/////  HEADER 
			var header ;
			var membermenu ;

			if (site == 'qp') {
				header= 'Logged In as ' + this.usrNm  ;
			}
			else {
				if (location.href.indexOf(".hq.") > -1) { header= '<div class="bluebold">Logged In as ' + this.usrNm  + '</div>'; 									} 
				else 									{ header= '<div class="bluebold">Logged In as ' + this.usrNm  + '</div><META NAME="WT.rv" CONTENT="1"> ' ;	}

				var myDiv = '';
				var regex   = new RegExp("/(asd|audit|auto|biomed|cpi|cqc|cs|design|ec|edu|ee|fdc|gov|hdl|health|inspect|le|measure|pslp|qm|reliability|service|sixsigma|software|statistics|teamwork)/");
                var doesMatch  = regex.exec(location.href);

                if (doesMatch) {
					myDiv = doesMatch[1];
                }

				var retUrl = location.href.substring(location.href.indexOf('.org/')+4);
				
				membermenu = '<a href="/log-out.html">Log Out</a> <img src="/img/templates/nonmember/header-member-logout.gif" />&nbsp;&nbsp;<a href="/members/account/manage-account.html">My Account</a> <img src="/img/templates/nonmember/header-my-account.gif" />&nbsp;&nbsp; <a href="/perl/members/bookmarks.pl?action=viewbookmarks&ctx=dv&dv=' + myDiv + '&retUrl=' + retUrl + '">My Saved Articles</a> <img src="/img/templates/nonmember/header-qp.gif" /> ';
			}
			
			document.getElementById('loginarea').innerHTML = header ; 
			document.getElementById('membermenu').innerHTML = membermenu ; 

		}
	}
} // end of dsplLgn
	  
function nothing() {
}

function r(text) {
		var cc = new Array(8220, 8221, 8211, 8212, 8216, 8217, 8230,  8226, 9);
		var cr = new Array('"',  '"',  "--", "-",  "'",  "'",  "...", "*",  " ");
		for(i=0; i<cc.length; i++) {
			fR = new RegExp("\\u" + cc[i].toString(16), "g");
			text = text.replace(fR, cr[i]);
		}
		return text;
	}

// Custom nav toggle for opening and closing tiered nav made from ul > li > ul structure
// Barry Mitchell 27 June 2008 
// Last update: 20 AUG 2009 BCM
//
// Set the class of the nav ul group you want to hide to 'hiddenNav'.
// Set class of switch element (usually a in ul > li a > ul > li.hiddenNav) to 'menuHide'.
// The switch cannot have another id as setting the ID is necessary in the script.
//
// 20 AUG 2009 Added to divisions.js to let it fire in onready statement
// 24 FEB 2009 - Removed closing other nodes when a new one opened per feedback.

function getElementsByStyleClass(className) { // this creates function to get everything with a certain class
  var all = document.all ? document.all :
    document.getElementsByTagName('*');
  var elements = new Array();
  for (var e = 0; e < all.length; e++) {
    if (all[e].className == className) {
      elements[elements.length] = all[e]; }
  }
  return elements;
}

function runToggle() { // trying to put all the onLoad stuff in one function to run onReady

	var navElement = getElementsByStyleClass('hiddenNav'); // getting array of the navs to hide

	var navSwitch = getElementsByStyleClass('menuHide'); // getting array of switches

	for (h = 0; h < navSwitch.length; h++) { // setting id of switches to number which corresponds to number of object in navElement array
		navSwitch[h].setAttribute('id',h);	
	}


	for (i = 0; i < navElement.length; i++) { // closing hidden navs on load
		navElement[i].style.display = 'none';
		navElement[i].parentNode.setAttribute('class','contracted');
		navElement[i].parentNode.setAttribute('className','contracted');	
	}
	for (n = 0; n < navSwitch.length; n++) { // sets all the switches to have onclick toggleNav
		document.getElementById(n).onclick = toggleNav;	
	}

}; // END of runToggle 

// these check location


if (location.href.indexOf("/quality-information/") > -1) {
	loc = 0;
} else if (location.href.indexOf("/interaction/") > -1) {
	loc = 1;
} else if (location.href.indexOf("/about/") > -1) {
	loc = 2;
} else {
	loc = -1;
};

function checkNav() { // opens current location in nav

	var navElement = getElementsByStyleClass('hiddenNav'); // getting array of the navs to hide

	var navSwitch = getElementsByStyleClass('menuHide'); // getting array of switches

	if (loc > -1) {
	navElement[loc].style.display = 'block'; 
	};
} ;


function toggleNav() { // does the opening and closing 
	k = this.id; // sets the object we want to id number of switch (aka 'this')
	
	var navElement = getElementsByStyleClass('hiddenNav'); // getting array of the navs to hide

	var navSwitch = getElementsByStyleClass('menuHide'); // getting array of switches


	if (navElement[k].style.display == 'block') { // closes if opened
		navElement[k].style.display = 'none';
		navElement[k].parentNode.setAttribute('class','contracted');
		navElement[k].parentNode.setAttribute('className','contracted');

	} else { // opens if closed 
		navElement[k].style.display = 'block';
		navElement[k].parentNode.setAttribute('class','expanded');
		navElement[k].parentNode.setAttribute('className','expanded');

	}
	
	/* for (m = 0; m < navElement.length; m++) { // checks to see which one and then closes others
		if (m == k) {

		} else  {
		navElement[m].style.display = 'none';
		navElement[m].parentNode.setAttribute('class','contracted');
		navElement[m].parentNode.setAttribute('className','contracted');
		}
	} */
}



// END of togglenav javascript

// treeview List Folding

			jQuery(document).ready( function() {
				if(jQuery(".treeview").length > 1) {
					jQuery.getScript("/includes/jquery.treeview.js", function () {
						jQuery(".treeview").treeview({
							animated: "normal", collapsed: true, persist: "location", control:"#sidetreecontrol"
						});
					})
				}
			});
