// JavaScript Document
var rO = {
		addEvent: function(elm, evType, fn, useCapture) {
			if (elm.addEventListener) {
			  elm.addEventListener(evType, fn, useCapture);
			  return true;
			} else if (elm.attachEvent) {
			  var r = elm.attachEvent('on' + evType, fn);
			  return r;
			} else {
			  elm['on' + evType] = fn;
			}
		},
		setupRollovers: function() {
		  if (!document.getElementsByTagName)
			return;
		  var leftnav = document.getElementById("leftnav");	
		  var all_links = leftnav.getElementsByTagName('a');
		  for (var i = 0; i < all_links.length; i++) {
			var link = all_links[i]; 
			  if (link.childNodes && link.childNodes.length == 1 && link.childNodes[0].nodeName.toLowerCase() == 'img') {
				rO.addEvent(link,"mouseover",rO.mouseover,false);
				rO.addEvent(link,"mouseout",rO.mouseout,false);
				rO.addEvent(link,"mousedown",rO.mousedown,false);
			  }
		  }
		},
		find_target: function(e){
		  /* Begin the DOM events part, which you */
		  /* can ignore for now if it's confusing */
		  var target; 
		
		  if (window.event && window.event.srcElement) 
			target = window.event.srcElement;
		  else if (e && e.target)
			target = e.target;
		  if (!target)
			return null;
		
		  while (target != document.body &&
			  target.nodeName.toLowerCase() != 'a')
			target = target.parentNode;
		
		  if (target.nodeName.toLowerCase() != 'a')
			return null;
		
		  return target;
		},
		
		mousedown: function(e) {
		  var target = rO.find_target(e);
		  if (!target) return;
		
		  // the only child node of the a tag in target will be an img tag
		  var img_tag = target.childNodes[0];
		
		  // Take the "src", which names an image called "something.ext",
		  // Make it point to "something_over.ext"
		  // This is done with a regular expression
		  img_tag.src = img_tag.src.replace(/_roll(\.[^.]+)$/, '_hit$1');
		},
		
		mouseover: function(e) {
		  var target = rO.find_target(e);
		  if (!target) return;
		
		  // the only child node of the a tag in target will be an img tag
		  var img_tag = target.childNodes[0];
		
		  // Take the "src", which names an image called "something.ext",
		  // Make it point to "something_over.ext"
		  // This is done with a regular expression
		  img_tag.src = img_tag.src.replace(/_norm(\.[^.]+)$/, '_roll$1');
		},
		
		mouseout: function(e) {
		  var target = rO.find_target(e);
		  if (!target) return;
		
		  // the only child node of the A-tag in |target| will be an IMG-tag
		  var img_tag = target.childNodes[0];
		
		  // Take the "src", which names an image as "something_over.ext",
		  // Make it point to "something.ext"
		  // This is done with a regular expression
		  img_tag.src = img_tag.src.replace(/_roll(\.[^.]+)$/, '_norm$1');
		  //img_tag.src = img_tag.src.replace(/_hit(\.[^.]+)$/, '_norm$1');
		},
		setSelected: function(){
			
			if (!document.getElementsByTagName)
			return;
			var leftnav = document.getElementById("leftnav");	
			var all_links = leftnav.getElementsByTagName('a');
			for (var i = 0; i < all_links.length; i++) {
			  var link = all_links[i]; 
			  if (link.childNodes && link.childNodes.length == 1 && link.childNodes[0].nodeName.toLowerCase() == 'img') {
				// Clean img_tag_src
				img_tag_src = link.childNodes[0].src;
				img_tag_src = img_tag_src.match(/\/[\w]*_norm.[a-zA-Z]*$/);
				if(!img_tag_src)
					continue;
					
				img_tag_src = img_tag_src[0].replace(/_norm(\.[^.]+)$/, '');
				img_tag_src = img_tag_src.replace(/\//,"");
				
				// check for match
				if(img_tag_src == selPage){
					selNode = link.childNodes[0];
					selNode.className = selNode.className+" sel";
					
					selNode.src = selNode.src.replace(/_norm(\.[^.]+)$/, '_hit$1');
					
				}
			  }
			}
			rO.setSubnavs(selNode);
		},
		setSubnavs: function(selNode){
			selItem = selNode;
			
			while(selItem.nodeName.toLowerCase() != "li"){
				selItem = selItem.parentNode;
			}
			selItem.className = selItem.className+" sel";
			
			if(selItem.childNodes.length > 2 && selItem.childNodes[2].nodeName.toLowerCase() == "ul"){
				selList = selItem.childNodes[2];
				selList.style.display = "block";
			}else{
				selList = selItem; // find selected list node
				while(selList.nodeName.toLowerCase() != "ul"){
					selList = selList.parentNode;
				}
				selList.style.display = "block";
				
				for(i=0;i<selList.childNodes.length;i++){
					if(selList.childNodes[i].className){
						if(selList.childNodes[i].className.indexOf("sel") != "-1"){
							selNodeNum = i;
						}
					}
				}
				
				for(j=1;j<=3;j++){
					if((selNodeNum+j) >= (selList.childNodes.length-1))
						break;
					if(selList.childNodes[selNodeNum+j].className)
						if(selList.childNodes[selNodeNum+j].className == "subnav"){
							selList.childNodes[selNodeNum+j].style.display = "block";
						}
				}
			}
			
			/*for(j=1;j<=3;j++){
				alert(selList.childNodes[i+j].childNodes.length);
			}*/
			//alert(selList.nodeName);
			
			/*
			if(parNode.parentNode.nodeName.toLowerCase() == "ul"){
				parNode.parentNode.style.display = "block";
			}
			
			while(parNode.nodeName.toLowerCase() != "ul"){
				parNode = parNode.parentNode;
			}
			//alert(parNode.nodeName);
			//parNode.style.display = "block";
			
			for(i=0;i<parNode.childNodes.length;i++){
				alert(parNode.childNodes[i].childNodes.length);
				/*
				if(parNode.childNodes[i].className){
					if(parNode.childNodes[i].className.indexOf("sel") != "-1"){
						
						//alert(parNode.childNodes[(i)].nodeName);
						
						var nextNodeNum = false;
						
						for(j=1;j<=3;j++){
							
							if(parNode.childNodes[(i+j)].nodeName.toLowerCase() == "ul"){
								nextNodeNum = i+j;	
							}
						}
						
						if(nextNodeNum){
							parNode.childNodes[nextNodeNum].style.display = "block";	
							parNode.childNodes[nextNodeNum].style.visibility = "visible";	
						}
						
						var nextNodeNum;	
						if(parNode.childNodes[(i+1)].nodeName.toLowerCase() == "#text"){
							if(parNode.childNodes[(i+2)] && parNode.childNodes[(i+2)].nodeName.toLowerCase() == "ul"){
								nextNodeNum = i+2;		
							}
						}else if(parNode.childNodes[(i+1)].nodeName.toLowerCase() == "ul"){
							nextNodeNum = i+1;	
						}
						if(nextNodeNum){
							parNode.childNodes[nextNodeNum].style.display = "block";	
							parNode.childNodes[nextNodeNum].style.visibility = "visible";	
						}
					}
				}*/
			//}
							
			rO.leftnav.style.display = "block";
		},
		init: function(){
			rO.leftnav = document.getElementById("leftnav");
			rO.leftnav.style.display = "none";
			
			all_subnavs = rO.leftnav.getElementsByTagName("ul");
			for(i=0;i<all_subnavs.length;i++){
				if(all_subnavs[i].className.indexOf("subnav") != "-1"){
					all_subnavs[i].style.display = "none";
				}
			}
			
			rO.setupRollovers();
			
			if(selPage){
				rO.setSelected();	
			}
			
		}	
	}
	rO.addEvent(window,"load",rO.init,false);