// JavaScript Document

var Menu2 = {

	initialize: function(options) {	
	
	
		this.url = window.location
		this.ul = $$('ul[class=menu2]');
		
		//FOR FUTURE I NEED TO MAKE THIS RECURSIVE -- I RAN INTO A TIME CONSTRIANT
		for (i=0;i<this.ul.length;i++) {
			
			this.ul[i].level = 0;
			
			if(this.ul[i].getElements('li') != null) {

				this.ul[i].li = this.ul[i].getElements('li');
				
				for (j=0;j<this.ul[i].li.length;j++) {
					if(this.ul[i].li[j].getElement("a") != null) {
					
						this.ul[i].li[j].text         = this.ul[i].li[j].getElement("a").innerHTML;
						this.ul[i].li[j].href         = this.ul[i].li[j].getElement("a").href;
						this.ul[i].li[j].hrefArray    = this.ul[i].li[j].href.split("/");
						this.ul[i].li[j].level        = 0;
					
						this.ul[i].li[j].isIndex      = this.checkIndex(this.ul[i].li[j].hrefArray[this.ul[i].li[j].hrefArray.length - 1]);
						this.ul[i].li[j].hasChildren  = this.checkChildren(this.ul[i].li[j]);
						this.ul[i].li[j].isActive     = this.checkActive(window.location, this.ul[i].li[j].href);

						if(this.ul[i].li[j].isActive === true) {
							this.ul[i].li[j].addClass("active");
						}
									
						if(this.ul[i].li[j].hasChildren === true) {					
						
							tempObj = this.ul[i].li[j];
												
							this.ul[i].li[j].ul =  tempObj.getElements("ul");
						
							if(this.ul[i].li[j].isActive == true) { 
								this.ul[i].li[j].ul.addClass("active");
							} else {
								this.ul[i].li[j].ul.addClass("inactive"); 
							}
						
							for (k=0;k<this.ul[i].li[j].ul.length;k++) {
							
								this.ul[i].li[j].ul[k].level = 1;
								this.ul[i].li[j].ul[k].li    = this.ul[i].li[j].ul[k].getElements('li');
							
								for (l=0;l<this.ul[i].li[j].ul[k].li.length;l++) {
									if(this.ul[i].li[j].ul[k].li[l].getElement("a") != null) {
										this.ul[i].li[j].ul[k].li[l].text      = this.ul[i].li[j].ul[k].li[l].getElement("a").innerHTML;
										this.ul[i].li[j].ul[k].li[l].href      = this.ul[i].li[j].ul[k].li[l].getElement("a").href;
										this.ul[i].li[j].ul[k].li[l].hrefArray = this.ul[i].li[j].ul[k].li[l].href.split("/");
										this.ul[i].li[j].ul[k].li[l].level     = 1;
										this.ul[i].li[j].ul[k].li[l].isIndex   = this.checkIndex(this.ul[i].li[j].ul[k].li[l].hrefArray[this.ul[i].li[j].ul[k].li[l].hrefArray.length - 1]);
										this.ul[i].li[j].ul[k].li[l].hasChildren  = this.checkChildren(this.ul[i].li[j].ul[k].li[l]);
										this.ul[i].li[j].ul[k].li[l].isActive     = this.checkActive(window.location, this.ul[i].li[j].ul[k].li[l].href);
								
										if(this.ul[i].li[j].ul[k].li[l].isActive === true) {
											this.ul[i].li[j].ul[k].li[l].addClass("active");
										} else {
											this.ul[i].li[j].ul[k].li[l].addClass("inactive"); 
										}
									}
								}		
							}	
						}
					}
				} 		
			}		
		}       		
	},
	
	checkIndex: function(fileName) {
		if(fileName == "index.html" || fileName == "") {
			return true;
		}	else {
			return false;
		}	
	},
	
	checkChildren: function(liObject) {
		if(liObject.getElement('ul') != null) {
			return true;
		}	else {
			return false;
		}	
	},
		
	checkActive: function(url, href) {
	
		var hrefArray = href.split("/");
		url  = url.toString();
		var urlArray = url.split("/");
				
		if(urlArray[urlArray.length -1] == "") {
			urlArray[urlArray.length -1] = "index.html";
		}
		
		if(hrefArray[hrefArray.length -1] == "") {
			hrefArray[hrefArray.length -1] = "index.html";
		}
		
		if(hrefArray[hrefArray.length -1].indexOf(".") == -1) {
			hrefArray.push("index.html");
		}
		
		if(hrefArray[hrefArray.length -1] == "index.html") {
			if(0 < hrefArray.length - 2 ) {
				if(urlArray[urlArray.length -2]  == hrefArray[hrefArray.length -2]) {
					//alert(urlArray[urlArray.length -2]  + "   " + hrefArray[hrefArray.length -2])
					return true;
				}
			}
		}
		
		if(urlArray.toString() == hrefArray.toString()) {
			return true;
		}
		
		if(urlArray.length > hrefArray.length) {
			if(urlArray[hrefArray.length - 1] == hrefArray[hrefArray.length - 1]) {
				return true;
			} 
		}
		
		if(urlArray.length < hrefArray.length) {
			if(urlArray[urlArray.length - 1] == hrefArray[urlArray.length - 1]) {
				return true
			} 
		}
		
		return false;
		
	},
	
	getURL: function(url) {
		this.urlArray = window.location.href.split("//");	
		this.urlArray = this.urlArray[1];
		this.urlArray = this.urlArray[1].split("/");
		this.urlArray = this.urlArray.splice(1, this.urlArray.length);
		return this.urlArray;
	},
	
	recurseMenu: function(ul, level) {
		// for future... I would like to make the parser recursive for varibale depths
	}
			
}

window.addEvent('domready',  Menu2.initialize.bind(Menu2));

