window.onload = window_onload;


var menutimeout;
var selecteditem = null;
// Declare menu item arrays
var driversMenuItems = null;
var vehicleMenuItems = null;
var businessMenuItems = null;

driversMenuItems = new Array(
		new Array("Getting a license","/driverslicense/gettingalicense.html"),
		new Array("Renewal and updates","/driverslicense/renewalupdates.html"),
		new Array("Lost or stolen license","/driverslicense/lostorstolen.html"),
		new Array("Enhanced driver license/ID card (EDL/EID)","/driverslicense/edl.html"),
		new Array("Driving record","/driverslicense/drivingrecord.html"),
		new Array("Suspended license","/driverslicense/suspended.html"),
		new Array("Fees","/driverslicense/fees.html"),
		new Array("Motorcycles","/driverslicense/motorcycles.html"),
		new Array("Commercial Driver License (CDL)","/driverslicense/cdl.html"),
		new Array("ID cards","/driverslicense/idcards.html"),
		new Array("Driver licensing offices","https://fortress.wa.gov/dol/dolprod/dsdoffices/?menu")
	);

vehicleMenuItems = new Array(
		new Array("Renew your tabs","/vehicleregistration/renewtabs.html"),
		new Array("License plates","/vehicleregistration/licenseplates.html"),
		new Array("Titles","/vehicleregistration/titles.html"),
		new Array("Fees","/vehicleregistration/fees.html"),
		new Array("Buying or selling a vehicle","/vehicleregistration/buyingacar.html"),
		new Array("Commercial vehicles","/vehicleregistration/commercialvehicles.html"),
		new Array("Fuel tax","/vehicleregistration/fueltax.html"),
		new Array("Disabled parking","/vehicleregistration/parking.html"),
		new Array("Boats","/vehicleregistration/boats.html"),
		new Array("Vehicle licensing offices","https://fortress.wa.gov/dol/dolprod/vehoffices/?menu")
	);

businessMenuItems = new Array(
		new Array("Start a business","/business/startbusiness.html"),
		new Array("Change or update your business","/business/change.html"),
		new Array("Renew your license","/business/renew.html"),
		new Array("Professional licenses","/business/professionals.html"),
		new Array("Check status of a business or professional license","/business/checkstatus.html"),
		new Array("Business licensing offices","/businesslocations.html?menu"),
		new Array("UCC","/business/UCC/")
	);

function checkForCurrentPage(elem) {
	var url = elem.getAttribute("href");
	if (location.href.indexOf(url) != -1 ) {
		elem.removeAttribute("href");
		elem.setAttribute("style", "text-decoration: none"); //Hack for IE to stop displaying hover underline

		return true;
		
	}
	else return false;
}

function window_onload() { if (document.getElementById && document.getElementsByTagName) {
	var sidebar = document.getElementById("sidenavbar");
	if (sidebar) {
		var links = sidebar.getElementsByTagName("a");
		for(z=0;z<links.length;z++) {
			if (checkForCurrentPage(links[z])) {
				links[z].id = "currentpage";
				// To indicate to screen readers that this is the current page, add the following:
				var text = links[z].getElementsByTagName("div");
				if (text.length > 0) {
					var img = document.createElement("img");
					var src = document.createAttribute("src");
					var alt = document.createAttribute("alt");
					src.value = "/images/hidealt.gif";
					alt.value = "You are here.";
					img.setAttributeNode(src);
					img.setAttributeNode(alt);
					text[0].appendChild(img);
				}
			}
		}
	}
	setDropDownMenus("navhome");
	setDropDownMenus("navdrivers");
	setDropDownMenus("navvehicle");
	setDropDownMenus("navbusiness");
	setDropDownMenus("navlist");
	setDropDownMenus("navmoving");
	
	setExpanders();
	applyListStyle();
	applyTableStyle();

//	breakout_of_frame();
}}

function setDropDownMenus(navid) {
	// Determines from the body's class what the current tab is, and sets it.
	// Otherwise, sets the default Dreamweaver mouseover events.
	var elem = document.getElementById(navid);
	var links;
	

	// Add links in the 'new Array("","")' areas below. 
	// Put the name of the link in the first set of quotes, and the link URL in the second.
	// You may add as many as you want.
	//
	// NOTE: Make sure that the last "new Array" doesn't have a comma at the end.
	switch(navid) {
	// Home page menu
	
	case "navhome":
	links = null;
	break;
	
	// Driver License menu
	case "navdrivers":
		links = driversMenuItems;
	break;

	// Vehicle Registration menu
	case "navvehicle":
		links = vehicleMenuItems;
	break;

	// Business Licensing menu
	case "navbusiness":
	links = businessMenuItems;
	break;

	// List of Licenses menu
	case "navlist":
	links = null;
	break;
	
	// Moving to WA menu
	case "navmoving":
	links = null;
	break;
	
	// If nothing matches, create an empty array.
	// If, for example, you have nothing to put under "Home", this is what the "case" above should look like.
	default:
	links = null;
	}

	if(elem != null && links != null) {
		var submenu = document.createElement("ul");
		for (i=0;i<links.length;i++) {
			var submenuitem = document.createElement("li");
			var submenulink = document.createElement("a");
			submenulink.setAttribute("href",links[i][1]);
			submenulink.appendChild(document.createTextNode(links[i][0]));
			submenuitem.appendChild(submenulink);
			submenu.appendChild(submenuitem);
			submenu.style.display = "none";
		}
		
		elem.parentNode.appendChild(submenu);
		elem.onmouseover = function() {
			setSelected(elem.parentNode.lastChild);
			//po added the following line here and in the elem.mouseout:
			elem.parentNode.lastChild.style.visibility="visible"; 
		}

		elem.onmouseout = function() { 
			elem.parentNode.lastChild.style.visibility="hidden";
		}	

		// po added the two following fns and commented out timer stuff
		elem.parentNode.lastChild.onmouseover = function() {
			elem.parentNode.lastChild.style.visibility="visible";	
			setSelected(elem.parentNode.lastChild);
			
		}
		elem.parentNode.lastChild.onmouseout = function() {
			elem.parentNode.lastChild.style.visibility="hidden";	
			
		}

		// these are for using keys to tab thru?
		elem.onfocus = function() {
			if(menutimeout) {
				clearTimeout(menutimeout);	
		}
			setSelected(elem.parentNode.lastChild);
		}
		
		elem.onblur = function() {
			menutimeout = setTimeout('setSelected(null)',15000);
		}
	}
	else setSelected(null);
}

function setSelected(elem) {
	if (elem != selecteditem) {
		if (elem != null) {
			elem.style.display="block";
			elem.style.border="2px solid #ddd";
			elem.style.borderTop="0";
		}
		if (selecteditem != null) {
			selecteditem.style.display="none";
			selecteditem.style.border="0";
		}
		selecteditem = elem;
	}
}

// This function adds "toggleExpand(this)" to each a element that links to "#"
function setExpanders() {
	if (document.getElementById){ // Make sure browser is smart enough
		var dlists = document.getElementsByTagName("dl");
		for (p=0; p<dlists.length; p++) {
		var list = dlists[p];

//var list = document.getElementById("expand"); // Get reference to the "expand" dl
		if (list.id == "expand") {
			links = list.getElementsByTagName("a"); // Get all the a elements in "expand" dl
			if (links != null) {
				for (i=0;i<links.length;i++) {
					// Make sure the link contains a "#" (portia)

					if (links[i].getAttribute("href")) {
					var href = links[i].getAttribute("href").indexOf("#");

					if (href != -1) { 	
					// If it contains a "#" then add the command to the a element
						links[i].onclick = function() { toggleExpand(this); return false};
						links[i].onkeyup = function() { toggleExpand(this); return false};

					} 
				}
			} // close for loop
			} // close if links != null
			// set display:none on <dd> tags
			faqAnswers = list.getElementsByTagName("dd");
			if (faqAnswers != null) {
				for (j=0; j<faqAnswers.length; j++) {
					faqAnswers[j].style.display = "none";	
				} 
			}
			

		}
	}
}
	}


function toggleExpand(elem) {
	var par = elem.parentNode;  //get parent of element	
	var uncle = par.nextSibling;  //get sibling of parent, which is the dd
	if (uncle.nodeType != 1) {
		while (uncle.nodeType != 1) {
			uncle = uncle.nextSibling;
	}
}
	if (uncle.style.display == "none") uncle.style.display = "block";
	else uncle.style.display = "none";
	return null;
}

function applyTableStyle() {
// if ((document.getElementById("contentbox") || document.getElementById("contentbox2") ) && document.getElementsByTagName("table")) {	
if ((document.getElementById("contentbox") || document.getElementById("contentbox2") || document.getElementById("contentboxg") ) && document.getElementsByTagName("table")) { 
		var cbox = document.getElementById("contentbox");
		if (!cbox) { 
			var cbox = document.getElementById("contentbox2"); 
			}
// added for contentboxg
		if (!cbox) { 
			var cbox = document.getElementById("contentboxg"); 
			}
// end of contentboxg

		var tablesList = cbox.getElementsByTagName("table");
		for (var i=0; i<tablesList.length; i++) {
         	if ((tablesList[i].getAttribute("class") == "selfStripe") || (tablesList[i].className == "selfStripe"))  { /* Only do this to the selfStripe classed tables, ust use className for IE */
				var trows = tablesList[i].getElementsByTagName("tr");
				for (j=0; j<trows.length; j++) { 
					if ( (j % 2) == 1) { /* get all odd rows and oddly, assign them the even class */
						trows[j].setAttribute("class", "even");
						trows[j].setAttribute("className","even"); /* for IE */
					}
					if (j == 0) {
						var tcells = trows[j].getElementsByTagName("th");
						for (m=0; m<tcells.length-1; m++) {
						tcells[m].setAttribute("class","lhs");
						tcells[m].setAttribute("className","lhs"); /* for IE */
					}
					} else {
					var tcells = trows[j].getElementsByTagName("td");
					for (k=0; k<tcells.length-1; k++) {
						tcells[k].setAttribute("class","lhs");
						tcells[k].setAttribute("className","lhs"); /* for IE */
						}
					}
					
				
					
				}
}}}}

function applyListStyle() {
	if (document.getElementById("contentbox")) {
	var cbox = document.getElementById("contentbox");
     if (cbox.getElementsByTagName("ul")) {
     	var ulists = cbox.getElementsByTagName("ul");
     	for (var i=0; i<ulists.length; i++) {
          	var prev = getPreviousElement(ulists[i].previousSibling);
			if (!prev) continue;
			if (prev.nodeName == "p" || prev.nodeName == "P") {
          	ulists[i].style.marginTop = 0;
          	prev.style.marginBottom = 0;
		  }
		}
	}

 	if (cbox.getElementsByTagName("ol")) {
		var olists = cbox.getElementsByTagName("ol");
     	for (var i=0; i<olists.length; i++) {
          var prev = getPreviousElement(olists[i].previousSibling);
          if (!prev) continue;
		  if (prev.nodeName == "p" || prev.nodeName == "P") {
          olists[i].style.marginTop = 0;
          prev.style.marginBottom = 0;
		  }
		}
	}}
}

function getPreviousElement(node) {
	if (!node) return false;
	if (!node.nodeType) return false;
	if (node.nodeType == 1) {
		return node;
	}
	if (node.previousSibling) {
		return getPreviousElement(node.previousSibling);
	}
	return null;
}


// break frames
//function breakout_of_frame()
//{
//  if (top.location != self.location) {
//    top.location.replace(self.location);
//  }
//}

