﻿var navCookies
var navTriggers;
var navImgHeight = 10;
var navSpeed = 'normal';
var openImg = new Image();
var closedImg = new Image();
$(document).ready(function() {
	navCookies = $.getCookie('navtree', '');
	openImg.src = httpRoot + 'media/preload/arrow-d.gif';
	if($('#nav-tree').css('direction') == 'ltr') {
		var cls='nav-ltr';
		closedImg.src = httpRoot + 'media/preload/arrow-l.gif';
	}
	else {
		var cls='nav-rtl';
		closedImg.src = httpRoot + 'media/preload/arrow-r.gif';
	}
	navTriggers = $('.nav-trigger', '#nav-tree');
	$(navTriggers).each(function(i){
		$(this).attr('id', 'tnav-' + i);
		$(this).resize(function(){navCenterGraphics(this, i);});
		$(this).click(function(){navShowBranch(this, i);return false;});
	});
	$('.nav-branch', '#nav-tree').each(function(i){
		$(this).attr('id','bnav-'+i);
	});
	$('.nav-graphic', '#nav-tree').each(function(i){
		$(this).attr('src', closedImg.src);
		$(this).attr('id', 'inav-'+i);
		$(this).addClass(cls);
		if(navCookies.indexOf('I' + i + '|') != -1) {
			navSlideDown(i, 'fast');
		}
	});
	$(navTriggers).each(function(i){
		navCenterGraphics($(this));
	});
	$('.nav-link', '#nav-tree').click(
		function(event) {event.stopPropagation();}
	);
});
function navCenterGraphics(t) {
	var a = $(t).children('a');
	var i = $(a).children('img');
	var h = $(a).height();
	var ot = parseInt($(i).css('top'));
	var m = parseInt($(a).css('margin-top')) + parseInt($(a).css('margin-bottom'));
	var p = parseInt($(a).css('padding-top')) + parseInt($(a).css('padding-bottom'));
	var b = parseInt($(a).css('border-top-width')) + parseInt($(a).css('border-bottom-width'));
	var nt = parseInt((h + b + m + p - navImgHeight) / 2);
	if(nt != ot && h > 0) {
		$(i).css('top',nt+'px');
	}
}
function navShowBranch(trigger, index){
	if (trigger.className.indexOf('open') == -1 ) {
		navSlideDown(index, navSpeed);
		var s = $(trigger).siblings('li.open');
		if($(s).size() ==1) {
			i=parseInt($(s).attr('id').substring(5));
			navSlideUp(i, navSpeed);
		}
	}
	else {
		navSlideUp(index, navSpeed);	
	}
	$(navTriggers).each(function(i){
		navCenterGraphics($(this));
	});
}
function navSlideUp(index, speed){
	$('#bnav-' + index).slideUp(speed);
	$('#tnav-' + index).removeClass('open');
	$('#inav-' + index).attr('src', closedImg.src);
	removeCookie(index);
}
function navSlideDown(index, speed){
	$('#bnav-' + index).slideDown(speed);
	$('#tnav-' + index).addClass('open');
	$('#inav-' + index).attr('src', openImg.src);
	removeCookie(index);
	addCookie(index);
}
function addCookie(i) {
	navCookies += 'I' + i + '|';
	$.setCookie('navtree', navCookies);
}
function removeCookie(i) {
	navCookies = remove(navCookies, 'I' + i + '|');
	$.setCookie('navtree', navCookies);
}
function remove(s, t) {
	r = '';
	i = s.indexOf(t);
	if (i == -1) return s;
	r += s.substring(0,i) + remove(s.substring(i + t.length), t);
	return r;
}