var NavStyleAPI = new function() {	
	var self = this;
	var IE = self.IE = /*@cc_on!@*/false;
	var brsapv = self.brsapv = navigator.appVersion;
	if(brsapv.indexOf("MSIE 7.")!=-1 || brsapv.indexOf("MSIE 6.")!=-1 || brsapv.indexOf("MSIE 5.")!=-1) {
		IEOLD = true;
	} else {
		IEOLD = false;
	}
	
	var ButtonManager = self.ButtonManager = {		
		getElementDOMLabel: function(elementDOM) {
			var label;
			var mainButton = JumboAPI.findChildNodeByClass(elementDOM, "m_maintext");
			if(mainButton) {
				return mainButton.innerHTML;
			} else {
				var subButton = JumboAPI.findChildNodeByClass(elementDOM, "m_dropdowntext");
				return subButton.innerHTML;
			}
		},
		
		convertElementDOMToButton: function(elementDOM) {
			var linkNode = JumboAPI.findRelatedNodeByClass(elementDOM, "m_link");
			var buttonURL = linkNode.href;
			var label;
			var type;
			var elementDOM;
			
			var mainButton = JumboAPI.findChildNodeByClass(linkNode, "m_maintext");
			if(mainButton) {
				type = ButtonType.MAIN_BUTTON;
				label = mainButton.innerHTML;
				elementDOM = JumboAPI.findChildNodeByClass(linkNode, "m_mainbutton");
			} else {
				var subButton = JumboAPI.findChildNodeByClass(linkNode, "m_dropdowntext");
				if(!subButton) {
					return null;
				}
				type = ButtonType.DROP_DOWN_BUTTON;
				label = subButton.innerHTML;
				elementDOM = JumboAPI.findChildNodeByClass(linkNode, "m_dropdownbutton");
			}
			return new Button(label, buttonURL, type, elementDOM);
		},
		
		getButtonsByLabel: function(labelString) {
			var buttons = new Array();
			var mainLabelDivs = JumboAPI.getElementsByClassName("m_maintext", "div");
			var subLabelDivs = JumboAPI.getElementsByClassName("m_dropdowntext", "div");
			var labelDivs = mainLabelDivs.concat(subLabelDivs);
			
			var num = labelDivs.length;
			for(var i=0; i<num; i++) {
				if(labelDivs[i].innerHTML == labelString) {
					buttons.push(ButtonManager.convertElementDOMToButton(labelDivs[i]));
				}
			}
			
			return buttons;
		},
		
		getMainButtonByIndex: function(index) {
			var buttons = new Array();
			var mainLabelDivs = JumboAPI.getElementsByClassName("m_maintext", "div");
			
			if(mainLabelDivs[index]) {
				return ButtonManager.convertElementDOMToButton(mainLabelDivs[index]);
			}
			return null;
		},
		
		getButtonsByLinkURL: function(linkURL) {
			var buttons = new Array();
			var mainLinks = JumboAPI.getElementsByClassName("m_link", "a");
			linkURL = linkURL.replace(/\?.*$/, "");
			
			var num = mainLinks.length;
			for(var i=0; i<num; i++) {
				if(linkURL == mainLinks[i].href) {
					buttons.push(ButtonManager.convertElementDOMToButton(mainLinks[i]));
				}
			}
			
			return buttons;
		}
	}
	
	var ButtonType = self.ButtonType = {
		MAIN_BUTTON: "mainbutton",
		DROP_DOWN_BUTTON: "dropdownbutton"
	}
	
	var Button = self.Button = function(label, url, type, elementDOM) {
		var self = this;
		
		self.type = type;
		self.url = url;
		self.label = label;
		self.maindom = elementDOM;
		
		self.getClassName = function() {
			return self.maindom.className;
		}
		
		self.setClassName = function(className) {
			self.maindom.className = className;
		}
		
		self.getLabel = function() {
			return self.label;
		}
		
		self.getURL = function() {
			return self.url;
		}
		
		self.getType = function() {
			return self.type;
		}
		
		self.getElementDOM = function() {
			return self.maindom;	
		}
	}
	
	var highlightCurrentButton = self.highlightCurrentButton = function() {
		var currentURL = location.href;
		var currentButtons = ButtonManager.getButtonsByLinkURL(currentURL);
		var num = currentButtons.length;
		
		for(var i=0; i<num; i++) {
			currentButtons[i].setClassName(currentButtons[i].getClassName() + " current");
		}	
	}
	
	var pageReady = function(e) {
		highlightCurrentButton();
	};
	
	$(window).load(pageReady);
}();
