var _holder;
var _opener;
var _slider;
var _slideSpeed;
var _breadCrumbs;
var _slideMenu;

var _hash2 = '';
var _f=false;
var _mass = [];
// page init
$(function() {
	initNav();
});

function initNav(){
	$('.hideall').css({display: 'none'});
	
	_holder = $('div.top-slide');
	_opener = _holder.find('.open-link');
	_slider = _holder.find('.box-holder');
	_breadCrumbs = _holder.find('.slide-open ul.slide-list').eq(0);
	_slideSpeed = 300;

	_opener.click(function(){
		if(_holder.hasClass('active')) {
			_holder.removeClass('active');
			if (_f) _slider.hide();
			else _slider.slideUp(_slideSpeed);
		} else {
			_holder.addClass('active');
			_slider.slideDown(_slideSpeed);
		}
		return false;
	});
	


	$('#nav a').each(function(i, el){
		$(el).click(function(){
			if($(this).attr('id') != ''){
				if ($(this).hasClass('active')){
					if(_holder.hasClass('active')) {
						_holder.removeClass('active');
						if (!_slider.is(':visible')) {loadSubMenu($(this).attr('id'));_slider.slideDown(_slideSpeed)();}
						else{
							_slider.slideUp(_slideSpeed);
						}
					} else {
						if (_f) {_slider.show();loadSubMenu($(this).attr('id'));}
						_holder.addClass('active');
						_slider.slideDown(_slideSpeed);
					}
					
				}else{
					$('#nav a.active').removeClass('active');
					$(this).addClass('active');
					Cufon.refresh();
					loadSubMenu($(this).attr('id'));
				}
				return false;
			}else{
				return true;
			}
		});
	});
	
	var _navBlocks = $('.slide-list').find('li');
	
	_navBlocks.each(function(){
		var _item = $(this);
		var _opener = _item.find('>a').eq(0);
		var _drop = _item.find('>ul').eq(0);

		_opener.click(function(){
			if(_item.hasClass('active')) {
				_item.removeClass('active');
				if(_drop.length) {
					_drop.fadeOut(_slideSpeed,function(){
						rebuildBreadcrumbs();
					});
				} else {
					rebuildBreadcrumbs();
				}
			}else{
				_item.parent().children().filter('.active').find('>a').eq(0).trigger('click');
				//if(_item.parent().get(0) == _slideMenu.get(0)) _slideMenu.find('li.active').removeClass('active').find('>ul').hide();
				_item.addClass('active');
				
				if(_drop.length) {
					_drop.fadeIn(_slideSpeed,function(){
						rebuildBreadcrumbs();
					});
				} else {
					rebuildBreadcrumbs();
				}
				recalcHeight();
			}
			/*return false;
			}else{
				return true;
			}*/	
			if ($(this).parent().find('ul:first').html()){
				return false;
			}else{
				return true;
				
			}
		});
		
	});
	var _hash = window.location.hash;
	_mass = _hash.substr(1,_hash.length).split(';');
	_f = true;
	$('#nav a').eq(_mass[0]).click();
	for (i=1; i<_mass.length; i++){
		var _slList = $('.box-holder .slide-list:visible');
		var _sub = _slList.eq(_slList.length - 1).find('>li').eq(_mass[i]).addClass('active').find('>.slide-list').show();
	}
	rebuildBreadcrumbs();
	_opener.click();
	_f = false;	
}

function loadSubMenu(strId){
	if($('.hideall').html()){
		_slideMenu = $('#sub-' + strId);
		_slideMenu.css({display: 'block'});
	
		_holder.addClass('active');
		_slider.css({display: 'block'});
		
		rebuildBreadcrumbs();
		$('.hideall').slideDown(_slideSpeed);
		$('.hideall').removeClass('hideall');
		
	}else{
		//alert('asdf');
		//als open dan inschuiven en openen
		if(_holder.hasClass('active')) {
			_holder.removeClass('active');
			_slider.slideUp(_slideSpeed, function(){
				//data reseten
				$('.slide-list').hide();
				_breadCrumbs.show();
				$('.frame').attr('style', '');
				$('.submenu').find('.active').removeClass('active');
				
				//menu inlezen
				_slideMenu = $('#sub-' + strId)
				_slideMenu.css({display: 'block'});
				_holder.addClass('active');
				_slider.slideDown(_slideSpeed);
				rebuildBreadcrumbs();
			});
		}else{
			//anders vervangen en openen
			//$('.submenu').css({display: 'none'});
			$('.slide-list').hide();
			$('.frame').attr('style', '');
			_breadCrumbs.show();
			$('.submenu').find('.active').removeClass('active');
			_slideMenu = $('#sub-' + strId);
			_slideMenu.css({display: 'block'});
			_holder.addClass('active');
			_slider.slideDown(_slideSpeed);
			rebuildBreadcrumbs();
		}
	}
	
	
}


// rebuild breadcrumbs
function rebuildBreadcrumbs() {
	var _mainCategory = $('#nav a.active').parent().clone();
	_slideMenu = $('#sub-' + $('#nav a.active').attr('id'));
	_breadCrumbs.empty();

	_breadCrumbs.append('<li><a href="'+_mainCategory.find('a').attr('href')+'">'+_mainCategory.text()+'</a></li>');
	var _item;
	var _start = _slideMenu.find('li.active:visible');

	_start.each(function(i){
		_breadCrumbs.append('<li><a href="#">'+$(this).find('>a:eq(0)').html()+'</a></li>');
		if (i == _start.length - 1){
			_hash2 = $(this).find('>a').attr('href').split('#')[1];
		}
	});
	window.location.hash = _hash2;
	if(_breadCrumbs.children().length > 1) {
		var _last = _breadCrumbs.children(':last').addClass('right');
		_last.html(_last.find('a').html());
	}

	// refresh cufon
	Cufon.replace('.slide-open .slide-list', { fontFamily: 'HelveticaRoundedLTStd-Bd', hover: true });
}

// flexible height
function recalcHeight() {
	var _blocks = _slideMenu.find('li.active > ul');
	var _maxHeight = _slideMenu.outerHeight(true);
	_slideMenu.css({height:'auto'})

	_blocks.each(function(){
		var _h = $(this).outerHeight(true);
		if(_h>_maxHeight) _maxHeight = _h;
	});
	_slider.find('.frame:eq(0)').animate({height:_maxHeight},{duration:_slideSpeed,queue:false});
}
