// ----------------------------------------------------------------------------
// Main Menu / Sub Navigation
// ----------------------------------------------------------------------------
var fs01Navigation = {
	"stay" : {}
};
var BH = {
	"btn" : {}
};
jQuery(document).ready(function($){
	// Class
	$.ga2012MainMenuObj = function(elmId) {
		this.targetId = "ga2012_mainNavigation";
		this.elmId = elmId;
		this.stayClass = "active";
		this.init();
	};
	$.extend($.ga2012MainMenuObj.prototype, {
		init : function() {
			var targetElm = $("#" + this.targetId);
			var currentCategory = $("#" + this.elmId);
			var companyTop = $(".ga2012_mainNavigationCategoryBtm > p", targetElm);
			if (targetElm.size() == 0) return false;
			
			var current;
			if (currentCategory.size() != 0) {
				current = $("a", currentCategory);
			} else if (companyTop.size() != 0) {
				targetElm.addClass("active");
				current = $("a", companyTop);
			} else {
				return false;
			}
			if ( checkURL(current.attr("href")) ) {
				current.replaceWith("<em>" + current.html() + "</em>");
			} else {
				current.addClass("active");
			}
		}
	});
	
	// Class
	$.ga2012subNavigationObj = function(elmId) {
		this.targetId = "autoClosing";
		this.elmId = elmId;
		this.init();
	};
	$.extend($.ga2012subNavigationObj.prototype, {
		init : function() {
			var targetElm = $("." + this.targetId);
			var openCategory = $("#" + this.elmId);
			if (targetElm.size() == 0) return false;
			if (openCategory.size() == 0) {
				$(".ga2012_subNavigation_inc > a, .ga2012_subNavigation_inc > span", targetElm).addClass("ga2012_subNavigation_open");
				return false;
			} else {
				$("li ul", targetElm).hide();
				$(".ga2012_subNavigation_inc > a, .ga2012_subNavigation_inc > span", targetElm).addClass("ga2012_subNavigation_close");
			}
			var current = $("> a", openCategory);
			var parentCategory = openCategory.parents("li");
			parentCategory.find("> a.ga2012_subNavigation_close").removeClass("ga2012_subNavigation_close").addClass("ga2012_subNavigation_open");
			parentCategory.find("> span.ga2012_subNavigation_close").removeClass("ga2012_subNavigation_close").addClass("ga2012_subNavigation_open");
			$("> ul", openCategory).show();
			openCategory.find("> a.ga2012_subNavigation_close").removeClass("ga2012_subNavigation_close").addClass("ga2012_subNavigation_open");
			openCategory.find("> em.ga2012_subNavigation_close").removeClass("ga2012_subNavigation_close").addClass("ga2012_subNavigation_open");
			openCategory.parents("ul").show();
			
			if ( checkURL(current.attr("href")) ) {
				var classAttr = ( typeof current.attr("class") != "undefined" ) ? ' class="' + current.attr("class") + '"' : "";
				var itemText = current.html();
				current.replaceWith("<em" + classAttr + ">" + itemText + "</em>");
			} else {
				current.addClass("active");
			}
		}
	});
	
	var indexFileNames = [
		"index.htm",
		"index.html",
		"index.shtm",
		"index.shtml",
		"index.cgi",
		"index.cfm",
		"index.php",
		"default.asp",
		"Default.asp"
	];
	function checkURL(url) {
		var _href = chopIndexFileName(url);
		var _pageurl = chopIndexFileName(location.pathname);
		return (_href == _pageurl);
	}
	function chopIndexFileName(url) {
		var _indexFileNames = indexFileNames;
		var _url = url;
		var hashIndex = _url.indexOf("#");
		if (hashIndex != - 1) {
			_url = _url.substr(0, hashIndex);
		}
		for (var i = 0, n = _indexFileNames.length; i < n; i++) {
			var pttern = new RegExp("\\/" + _indexFileNames[i].replace(/\./g, "\\.") + "$");
			_url = _url.replace(pttern, "/");
		}
		return _url;
	}
	
	var ga2012MainMenu = (fs01Navigation.stay.main || BH.btn.gn);
	new $.ga2012MainMenuObj(ga2012MainMenu);
	
	var ga2012SubNavigation = (fs01Navigation.stay.sub || BH.btn.ln);
	new $.ga2012subNavigationObj(ga2012SubNavigation);
});

