var Nav = (function(){
	function constructor(navElement,headerElement){
		this.navElement = navElement;
		this.headerElement = headerElement;
	}			
	
	constructor.prototype.setNavActions = function(){
		var lis = document.getElementById(this.navElement).getElementsByTagName('li');
		var len = lis.length;
		for(var i=0;i<len;i++){
			if(lis[i].className.match(/leaf/)){
				lis[i].className += " closed";
			}
		}
	}
	constructor.prototype.highlightNav = function(url,element){
		var lis = element.getElementsByTagName('li');
		var len = lis.length;
		var cls = url.match(/^[^\/.]+/);
		var rgx = new RegExp("^"+cls+"(\\s|$)|\\s"+cls+"");
		for(var i=0;i<len;i++){
			if(lis[i].className.match(rgx)){
				lis[i].className += " current";
				return;
			}
		}
	}
	
	constructor.prototype.openNav = function(url,element){
		var lis = element.getElementsByTagName('li');
		var len = lis.length;
		var cls = url.match(/^[^\/.]+/);
		var rgx = new RegExp("^"+cls+"(\\s|$)|\\s"+cls+"");
		
		for(var i=0;i<len;i++){
			if(lis[i].className.match(rgx)){
				if(lis[i].className.match(/leaf/)){
					if(url.replace(cls+'/','') && url.replace(cls+'/','') != "index.html"){
						lis[i].className = lis[i].className.replace(/closed/,"open");
						if(/gammagard-billing-and-reimbursement/.test(lis[i].className)){lis[i].className  += " ie6-open";}
						this.openNav(url.replace(cls+'/',''),lis[i]);
					} else {
						lis[i].className = lis[i].className.replace(/closed/,"open current");
						lis[i].style.backgroundPosition = "0 "+(lis[i].firstChild.scrollHeight-156)+"px";
					}
				} else {
					lis[i].className += " current";
				}
				break;
			}
		}
	}
	
	constructor.prototype.init = function(){
		
		var url = document.location.pathname.replace(/(^\/patients-and-families\/)|(^\/physicians\/)|(^\/nurses\/)|(^\/)/,"");
		if(url && this.navElement){
			this.setNavActions();
			this.openNav(url,document.getElementById(this.navElement));
		}
		if(url){
			this.highlightNav(url,document.getElementById(this.headerElement));
		} else {
			this.highlightNav('home',document.getElementById(this.headerElement));	
		}
	}
		
	return constructor;
})();