
var isIE=false;
var reNum = /\d*/;
var toOpen = null;
var t=300;
var ulY = 0;
var toOpen;
var lastClicked = null;
var navULid = "#nave-ul";
var navCurrentId = "#nav-current";
var navULidSTR = "nave-ul";
var navCurrentIdSTR = "nav-current";
var exposedClass = "clr-orange";
var toggleClass = "button-on";
function cssHeightToInt(str){
	return parseInt(str.match(reNum));
}
function getLineHeight(target){
	return cssHeightToInt(target.css("line-height"));// + 2;
}
function getNavULHeight(target){
	
	var isNav = false;
	var pul,psp;
	var _h = getLineHeight(target);
	pul = target.parent().parent();
	do{
		if(pul.attr("id") == navULidSTR){
			isNav = true;
		}
		else{
			psp = pul.prev();
			_h += getLineHeight(psp);
			pul = pul.parent().parent();
		}
	}
	while(isNav == false);
	return _h ;//+ 30;
}
$(document).ready(function() {
	var current = $(navCurrentId);
	
	$(navULid + " a").parent().parent().addClass("level3");
	$(navULid + " ul").not(".level3").addClass("level2");
	$(navULid).addClass("level1");
	ulY = $(navULid).offset().top;
	
	if(current != null || current.length !== 0){
		current.addClass(exposedClass);
		current.parentsUntil(navULid,"ul").show();
		current.parentsUntil(navULid,"ul").prev().addClass(exposedClass);
		current.parentsUntil(navULid,"ul").addClass("opened");
		var _h = getNavULHeight(current);
		$(navULid).css("height",_h+"px");
	}
	$(navULid + " span").click(clickHandler);
});
function clickHandler(event){
	
	var target = $(this);
	
	var nextLI = target.next().children(":first-child");
  	var elmt = nextLI.children(":first-child");
  	if(elmt.is("a"))
  	{
  		var href = elmt.attr("href");
  		event.preventDefault();
  		window.open (href,'_self',false);
  		return false;
  	}
	target.parentsUntil(navULid,"ul").addClass("open-flag");
	if(isIE){
		$(navULid + " .opened").not(".open-flag").not(target.next()).css("display","none");
	}
	else $(navULid + " .opened").not(".open-flag").not(target.next()).slideUp(t);
	$(navULid + " .opened").removeClass("opened");
	$(navULid + " .open-flag").addClass("opened");
	$(navULid + " .open-flag").removeClass("open-flag");
	var h;
	if(target.next().css("display") == "none"){
		target.next().addClass("opened");
		h = getNavULHeight(target);
		h += getLineHeight(target.next());
	}
	else{
		target.next().removeClass("opened");
		h = getNavULHeight(target);		
	}
	if(isIE){
		if(target.next().css("display") == "none"){
			target.next().css("display","block");
		}
		else{
			target.next().css("display","none");
		}
		$(navULid).css("height",h+"px");
	}
	else{
		target.next().slideToggle(t);
		$(navULid).animate({height: h}, t);
	}
	if(target.hasClass(exposedClass)){
		$(navULid + " ." + toggleClass).removeClass(toggleClass);
	}
	else{
		$(navULid + " ." + toggleClass).not(target).removeClass(toggleClass);
		target.toggleClass(toggleClass);
		target.parentsUntil(navULid,"ul").prev().not("."+exposedClass).addClass(toggleClass);
	}
}
