$(function() {

	//funzione che mostra i popup a seconda della sezione in cui si effettua la ricerca
	function show_select() {

		$adv_search.show()		
		//inizialmente le nascondo tutte eccetto quelle dei tag			
		$table_select.hide().attr('disabled', 'disabled')
	
		// eccetto home o oroscopo 
		if (complicato) {
			$all_select.each(function() {
				$('span#' + this.name).append(this)
			})
		}
		switch ($tag_list.val()) {
			case "url":
				$("table#adv_tab select[name != key]").hide().attr('disabled', 'disabled')
				$key_list.show().removeAttr('disabled')
				if (complicato) {
					$key_list.appendTo($select_adv)
					if (! $key_list.val() || $('div#adv_search select[name = keydown] option').length == 1) {
						$adv_search.hide()
					} else {
						$adv_search.show()
						$keydown_list.show().removeAttr('disabled')
					}
				}
				break;
			case "app":
				$("table#adv_tab select[name != reg]").hide().attr('disabled', 'disabled')
				$key_list.show().removeAttr('disabled')
				$reg_list.show().removeAttr('disabled')
				$tapp_list.show().removeAttr('disabled')
				$archive_list.show().removeAttr('disabled')
				if (complicato) {
					$reg_list.appendTo($select_adv)
					if($key_list.val())
						$keydown_list.show().removeAttr('disabled')
				}
				break;
			case "azi":
				$("table#adv_tab select[name != key]").hide().attr('disabled', 'disabled')
				$key_list.show().removeAttr('disabled')
				$reg_list.show().removeAttr('disabled')
				if (complicato) {
					$key_list.appendTo($select_adv)
					if($key_list.val())
						$keydown_list.show().removeAttr('disabled')
					if ($('div#adv_search select[name = keydown] option').length == 1)
						$keydown_list.hide()
				}
				break;
			case "news":
				$("table#adv_tab select[name != tnews]").hide().attr('disabled', 'disabled')
				$tnews_list.show().removeAttr('disabled')
				if (complicato) {
					$tnews_list.appendTo($select_adv)
					$adv_search.hide()
				}
				break;
			case "cult":
				$("table#adv_tab select[name != tcult]").hide().attr('disabled', 'disabled')
				$tcult_list.show().removeAttr('disabled')
				$author_list.show().removeAttr('disabled')
				if (complicato) {
					$tcult_list.appendTo($select_adv)
				}
				break;
			case "vid":
				$("table#adv_tab select[name != key]").hide().attr('disabled', 'disabled')
				$key_list.show().removeAttr('disabled')
				if (complicato) {
					$key_list.appendTo($select_adv)
					if (! $key_list.val() || $('div#adv_search select[name = keydown] option').length == 1) {
						$adv_search.hide()
					} else {
						$adv_search.show()
						$keydown_list.show().removeAttr('disabled')
					}
				}
				break;
		}		
		
		//se l'utente non ha cliccato il link della ricerca avanzata non mostro le selection list 
		if($adv_search.text() == "Apri la ricerca avanzata") 
			$table_select.hide().attr('disabled', 'disabled')
		else 
			$table_select.show().removeAttr('disabled')
	}


	var tag2sez = { url: 406, app: 100, azi: 407, news: 408, cult: 426, vid: 474 }

	// selection list della form di ricerca
	var $form = $('div#adv_search form'),
		$adv_search = $('div#adv_search a#advanced'),
		$tag_list = $('div#adv_search select[name = tag]'),
		$key_list = $('div#adv_search select[name = key]'),
		$keydown_list = $('div#adv_search select[name = keydown]'),
		$reg_list = $('div#adv_search select[name = reg]'),
		$tapp_list = $('div#adv_search select[name = tapp]'),
		$tnews_list = $('div#adv_search select[name = tnews]'),
		$tcult_list = $('div#adv_search select[name = tcult]'),
		$author_list = $('div#adv_search select[name = author]'),
		$archive_list = $('div#adv_search select[name = archive]'),
		$table_select = $('table#adv_tab'),
		$loading = $('div#adv_search img.loading'),
		$select_adv = $('#select_adv'),
		$all_select = $form.find('select'),
		current_sez = (($('body').attr("class")).split("-")).pop(),
		complicato = (current_sez != 347 && current_sez != 392)
		
	$all_select.each(function() {
		$(this).wrap($('<span></span>').attr('id', this.name))
	})
		
	//inizialmente la lista delle categorie di 2 e 3 livello viene nascosto
	if (! $key_list.val()) 
		$keydown_list.hide().attr('disabled', 'disabled')		

	$tag_list.show().removeAttr('disabled')
	$adv_search.show()

	//in base ai valori di tag_list mostro le selection list appropriate		
	$tag_list.change(function() {	
		$form.attr('action', '/sez,' + tag2sez[$tag_list.val()])
		show_select();
	});

	$adv_search.toggle(
		//ricerca avanzata
		function() {
			$adv_search.text("Chiudi")
			show_select()
		},
		//ricerca tradizionale
		function() {
			$adv_search.text("Apri la ricerca avanzata")
			show_select();
		}
	);

	$key_list.change(function() {
		$keydown_list.hide().attr('disabled', 'disabled')
		$keydown_list.find('option:not(:first)').remove()
		if($key_list.val()) {
			$adv_search.show()	
			$loading.show()
			$.getJSON('/flow.int?func=spiritual_canali&key=' + $key_list.val(), function(canal_list) {
				$loading.hide()
				if (canal_list.length > 0) {
					$keydown_list.show().removeAttr('disabled')
					for (var i in canal_list) {
						var canal = canal_list[i]
						$('<option>').attr('value', canal.id).text(canal.tit).appendTo($keydown_list)
					}
				}
				else if(canal_list.length == 0) {
					if ($tag_list.val() == "url" || $tag_list.val() == "vid")
						$adv_search.hide()
					else if($tag_list.val() == "azi")
						$keydown_list.hide()	
				}
			})				
		}
		else if (! $key_list.val() && current_sez != 407) 
			$adv_search.hide()
	})


	$('#loading-search').hide()
	$form.css({ visibility: 'visible' }).hide().fadeIn()
	$tag_list.change()
	$key_list.change()
	if(current_sez != 406 && current_sez != 408 && current_sez != 474)
		$adv_search.show()	
	
});
