// Copyright (c) 2007 Jakub Argasinski (jakub.argasinski@escsa.pl).
// Last modified: Mon 16 Apr 2007 01:26:22 PM CEST
// vela.js version: v0.01
// vela.module.menu.rollover version: v0.01 + collapse patch + maciejmegal33t patch

if (typeof Vela.menuRollOverSwitch=="undefined") {

	/*
	Vela.menuRollOverStartPageCollapse = function() {
		var fm = document.getElementById('VelaRollOverMenu1');
		if (fm === null) return true;
		var anchor = Vela.firstChild(Vela.firstChild(fm));
		anchor.onclick = function() {
			var all_lis = document.getElementsByTagName('li');
			for (var i=0; i < all_lis.length; i++) {
				if (all_lis[i].className == 'menu-rollover-collapsed') {
					all_lis[i].style.display = 'none';
				}
	
			}
			return true;
		};
	
	//	$('ul.menu-rollover > li > ul').each(function() {
	//		$(this).parent().css('display', 'none');
	//		console.info([$(this), $(this).parent()])
	//	});
	
	//	$('ul.menu-rollover').each(function() {
	//		Vela.menuRollOverRestoreState(this.id);
	//	});
	};
	*/
	
	Vela.menuRollOverSwitch = function(o, url, mode, level) {
		var anchor = $(o);
		// Chowamy wszystkie rozwinięte podmenu dla wszystkich menu,
		// wedle życzenia Macieja... (sigh) (ale tylko 1.poziomowe zwijają)
		if (level == 0) {
			$('ul.menu-rollover li > ul').parent().css('display', 'none');
			this.eraseCookie('VelaRollOverMenu');
		}
		// ...i postępujemy w zależności od trybu.
		switch (mode) {
			// Przypadek z rozwinięciem i przekierowaniem
			case 0:
				//console.info('0: Wariant hybrydowy, level: '+level); 
				if (url === null || url == '') return false;
				this.createCookie('VelaRollOverMenu', anchor.attr('id'));
				anchor.parent().next().show();
				//console.info(anchor.attr('id'));
				break;
			// Przypadek tylko z rozwinięciem
			case 1:
				//console.info('1: Wariant tylko rozwinięcie, level: '+level); 
				anchor.parent().next().toggle();
				break;
			// Przypadek tylko z przekierowaniem
			case 2:
				//console.info('2: Wariant tylko przekierowanie, level: '+level); 
				// Jeśli URL jest pusty, nic nie robimy w tym przypadku
				if (url === null || url == '') return false;
				if (level > 0) {
					var p_anchor = anchor.parent().parent().parent().prev().children('a').eq(0).attr('id');
					// Tworzymy ciasteczko gdzie zapamiętamy którą pozycję menu kliknął user
					this.createCookie('VelaRollOverMenu', p_anchor);
				}
				break;
	  }
		switch (mode) {
			case 0:
				document.location.href = url;
			case 2:
				document.location.href = url;
		}
		return false;
	}
	
	/*
	// Zapis stanu (rozwiniec) menu
	Vela.menuRollOverSaveState = function(menu_id) {
		this.eraseCookie(menu_id);
		var menu = document.getElementById(menu_id); 
		var list = menu.getElementsByTagName('li'); 
		var array = "Array(null";
		var status;
		for (var i = 0; i < list.length; i++) { 
			status = this.getStyle(list[i], 'display');
			array += ",'"+status+"'";
		}
		array += ');';
		this.createCookie(menu_id+this.getBrowserName(), array);
	}
	*/
	
	// Odtworzenie ostatnio klikniętej pozycji
	Vela.menuRollOverRestoreState = function() {
		var cookie = this.readCookie('VelaRollOverMenu');
		if (cookie) {
			var anchor = $('#'+cookie);
			var li = anchor.parent();
			while (li.parent().is('ul')) {
				li.next().show();
				li = li.parent().parent().prev();
			};
		}
		
	/*
		var cookie;
		if (cookie = this.readCookie(menu_id+this.getBrowserName())) {
			var menu = document.getElementById(menu_id); 
			var list = menu.getElementsByTagName('li'); 
			var array = eval(cookie);
			// Jezeli ilosc zapamietanych pozycji menu rozni
			// sie od rzeczywistej ilosci pozycji, nie przywracaj stanu
			if (array.length-1 != list.length) {
	//			alert(array.length-1+" : "+list.length);
				return;
			}
			for (var i = 0; i < list.length; i++) { 
				list[i].style.display = array[i+1];
			}
		}
	*/
	}

} // if 

