//Drop Down Panel script (March 29th, 08'): By JavaScript Kit: http://www.javascriptkit.com

var jkpanel={
	controltext: 'Panel Content',
	contentdivheight: 0,
	oninit: null,
	onopen: null,
	onclose: null,
	$mainpanel: null,
	$contentdiv: null,
	$clickelement: null,

	openclose:function($, speed){
		this.$mainpanel.stop() //stop any animation
		if (this.$mainpanel.attr('openstate')=='closed') {
			this.onopen();
			this.$contentdiv.animate({height: this.contentdivheight+'px'}, speed, 'linear', function(){
				jkpanel.$mainpanel.attr('openstate', 'open')
			});
		}
		else {
			jkpanel.onbeforeclose();
			this.$contentdiv.animate({height: '0px'}, speed, 'linear', function(){
				jkpanel.$mainpanel.attr('openstate', 'closed')
				jkpanel.onclose();
			});
		}
	},
	
	init:function(file, height, speed, controltext, idclickelement, oninit, onopen, onclose, onbeforeclose){
		jQuery(document).ready(function($){
			jkpanel.controltext = controltext;

			jkpanel.oninit=(typeof oninit=="undefined")? function(){} : oninit
			jkpanel.onopen=(typeof onopen=="undefined")? function(){} : onopen
			jkpanel.onclose=(typeof onclose=="undefined")? function(){} : onclose
			jkpanel.onbeforeclose=(typeof onbeforeclose=="undefined")? function(){} : onbeforeclose

			jkpanel.$mainpanel=$('<div id="dropdownpanel"><div class="contentdiv"></div><div class="control">'+jkpanel.controltext+'</div></div>').prependTo('body')
			jkpanel.$contentdiv = jkpanel.$mainpanel.find('.contentdiv');
			jkpanel.$clickelement = jkpanel.$mainpanel.find('.dropdownpanelclick');

			var $controldiv=jkpanel.$mainpanel.find('.control')

			jkpanel.$clickelement.css({cursor: 'wait'})
			jkpanel.$contentdiv.load(file, '', function($){
					var heightattr;
					if (isNaN(parseInt(height))) {
						heightattr = 'auto';
						jkpanel.contentdivheight=parseInt(jkpanel.$contentdiv.get(0).offsetHeight);
					}
					else {
						heightattr = parseInt(height);
						jkpanel.contentdivheight=heightattr;
					}
					jkpanel.$contentdiv.css({height: '0px'})
					jkpanel.$mainpanel.attr('openstate', 'closed')
					jkpanel.$clickelement.css({cursor:'hand', cursor:'pointer'})

					jkpanel.oninit();
			})
			jkpanel.$clickelement.click(function(){jkpanel.openclose($, speed)})
		})
	}
}

jkpanel.init('locali_panel.php', 440, 400, '<div class="tab"><div class="dropdownpanelclick" title="Apri/Chiudi Locali...">&nbsp;&nbsp;&nbsp;&uarr;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Locali&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&darr;&nbsp;&nbsp;&nbsp;&nbsp;</div></div>', 'dropdownpanelclick',
	function () {
		//$.ajaxSetup({
		//	'beforeSend' : function(xhr) {
		//		if (xhr && xhr.overrideMimeType) xhr.overrideMimeType('text/html; charset=ISO-8859-1');
		//	},
		//});

		$("#panellistloader").hide();

		var list_scroll_class = $('#dropdownpanel div.hidden_data div.list_pagination_class').text();
		var current_page = parseInt($('#dropdownpanel div.hidden_data div.list_pagination_currentpage').text());
		var max_pages = parseInt($('#dropdownpanel div.hidden_data div.list_pagination_maxpages').text());
		var link = $('#dropdownpanel div.hidden_data div.list_pagination_link').text();
		var page_name = $('#dropdownpanel div.hidden_data div.list_pagination_url').text();
		var list_scroll_height = parseInt($('#dropdownpanel div.hidden_data div.list_pagination_height').text());

		setCookie('panel_current_page', current_page);

		check_buttons_css(current_page, max_pages);
		reset_items();

		$('#dropdownpanel #panellistbuttonup').click(function() {
			if (current_page > 1) {
				current_page -= 1;
				$('#panel_list_scroll_' + (current_page + 1)).after('<div id="panel_list_scroll_' + current_page + '"></div>');

				//$('#dropdownpanel #panellistbuttonup').css('visibility', 'hidden');
				//$('#dropdownpanel #panellistbuttondown').css('visibility', 'hidden');
				$('#dropdownpanel #panellistbuttonup').fadeTo(500, 0.0);
				$('#dropdownpanel #panellistbuttondown').fadeTo(500, 0.0);

				$('#dropdownpanel div.msg').hide();
				$("#panellistloader").show();
				$.get(link, { Page: current_page }, function(data){
					$('#panel_list_scroll_' + current_page).fadeTo('fast', 0.0, function(){
						$('#panel_list_scroll_' + current_page).html(data);
						$('#panel_list_scroll_' + current_page + ' .box .img .mask_wrap').fadeTo('fast', 0.0);
					});

					$('#panel_list_scroll_' + (current_page + 1) + ' .box .img .mask_wrap').fadeTo(400, 0.0);
					$('#panel_list_scroll_' + (current_page + 1)).fadeTo(500, 0.0, function(){
						$('#panel_list_scroll_' + (current_page + 1)).remove();
						$('#panel_list_scroll_' + current_page + ' .box .img .mask_wrap').css('visibility', 'visible');
						reset_items();

						setCookie('panel_current_page', current_page);
						$('#panel_list_scroll_' + current_page + ' .box .img .mask_wrap').fadeTo(500, 1.0);
						$('#panel_list_scroll_' + current_page).fadeTo(500, 1.0, function(){
							$("#panellistloader").hide();
							$('#dropdownpanel div.msg').show();

							//$('#dropdownpanel #panellistbuttonup').css('visibility', 'visible');
							//$('#dropdownpanel #panellistbuttondown').css('visibility', 'visible');

							check_buttons_css(current_page, max_pages);
						});
					});
				});
			}
		});

		$('#dropdownpanel #panellistbuttondown').click(function() {
			if (current_page < max_pages) {
				current_page += 1;
				$('#panel_list_scroll_' + (current_page - 1)).after('<div id="panel_list_scroll_' + current_page + '"></div>');

				//$('#dropdownpanel #panellistbuttonup').css('visibility', 'hidden');
				//$('#dropdownpanel #panellistbuttondown').css('visibility', 'hidden');
				$('#dropdownpanel #panellistbuttonup').fadeTo(500, 0.0);
				$('#dropdownpanel #panellistbuttondown').fadeTo(500, 0.0);

				$('#dropdownpanel div.msg').hide();
				$("#panellistloader").show();
				$.get(link, { Page: current_page }, function(data){
					$('#panel_list_scroll_' + current_page).fadeTo('fast', 0.0, function(){
						$('#panel_list_scroll_' + current_page).html(data);
						$('#panel_list_scroll_' + current_page + ' .box .img .mask_wrap').fadeTo('fast', 0.0);
					});

					$('#panel_list_scroll_' + (current_page - 1) + ' .box .img .mask_wrap').fadeTo(400, 0.0);
					$('#panel_list_scroll_' + (current_page - 1)).fadeTo(500, 0.0, function(){
						$('#panel_list_scroll_' + (current_page - 1)).remove();
						$('#panel_list_scroll_' + current_page + ' .box .img .mask_wrap').css('visibility', 'visible');
						reset_items();

						setCookie('panel_current_page', current_page);
						$('#panel_list_scroll_' + current_page + ' .box .img .mask_wrap').fadeTo(500, 1.0);
						$('#panel_list_scroll_' + current_page).fadeTo(500, 1.0, function(){
							$("#panellistloader").hide();
							$('#dropdownpanel div.msg').show();

							//$('#dropdownpanel #panellistbuttonup').css('visibility', 'visible');
							//$('#dropdownpanel #panellistbuttondown').css('visibility', 'visible');

							check_buttons_css(current_page, max_pages);
						});
					});
				});
			}
		});

		$('#dropdownpanel #panel_reset').click(function(){
			$.get('locali_panel.php', { action: "RESET"}, function(data) {
				if ($('#dropdownpanel .contentdiv').html()) {
					$('body').append('<div id="search_results_check">&nbsp;</div>');
					$('#search_results_check').html(data);
					if (parseInt($('#search_results_check .hidden_data .list_pagination_currentpage').text()) > 0) {
						$('#dropdownpanel .contentdiv').html(data);
						$("#search_msg").html('&nbsp;');
						$('#dropdownpanel .control .tab .dropdownpanelclick').recover();
						jkpanel.oninit();
						$('#dropdownpanel .contentdiv .panellistscroll .box .img .mask_wrap').fadeTo(700, 1.0);
					}
					else {
						$("#search_msg").text('Nessun locale trovato');
					}
					$('#search_results_check').remove();

					$('#search_keywords').attr('value', '');
					$('form#search_form select').find('option:first').attr('selected', 'selected').parent('select');
				}
			});
		});

		jQuery("#dropdownpanel").css({zIndex: '40'});

		jQuery("#header").css({zIndex: '30'});

		jQuery("#banner_carousel .belt").css({zIndex: '10'});
		jQuery(".navcarouselbuttons").css({zIndex: '20'});
		jQuery("#logo").css({zIndex: '10'});
		jQuery("#search").css({zIndex: '10'});

		jQuery('#dropdownpanel .control .tab .dropdownpanelclick').pulse({
			opacityRange: [0.3, 0.8],
			speed: 500
		});

		$('#dropdownpanel .contentdiv .panellistscroll .box .img .mask_wrap').fadeTo('fast', 0.0);
		$('#dropdownpanel .contentdiv .panellistscroll .box .img .mask_wrap').css('visibility', 'visible');

		function check_buttons_css(current_page, max_pages) {
			if ((current_page == 1) || (!max_pages)) {
				$('#dropdownpanel #panellistbuttonup').fadeTo(500, 0.5);
				$('#dropdownpanel #panellistbuttonup').css('cursor', 'auto');
			}
			else {
				$('#dropdownpanel #panellistbuttonup').fadeTo(500, 1.0);
				$('#dropdownpanel #panellistbuttonup').css('cursor', 'pointer');
			}

			if ((current_page == max_pages) || (!max_pages)) {
				$('#dropdownpanel #panellistbuttondown').fadeTo(500, 0.5);
				$('#dropdownpanel #panellistbuttondown').css('cursor', 'auto');
			}
			else {
				$('#dropdownpanel #panellistbuttondown').fadeTo(500, 1.0);
				$('#dropdownpanel #panellistbuttondown').css('cursor', 'pointer');
			}
		}

		function reset_items() {
			jQuery("#dropdownpanel .contentdiv .panellistscroll .box").css("opacity", 0.7);

			// this adds hover to full opacity:
			jQuery("#dropdownpanel .contentdiv .panellistscroll .box").hover( 
				// hover state
				function() {
					jQuery(this).animate({opacity: 1.0}, 100);
				},
				// back to off
				function() {
					jQuery(this).animate({opacity: 0.7}, 100);
				}
			);

			$('#dropdownpanel .contentdiv .panellistscroll .box a.targetext').each(function(){
				$(this).attr('href', 'javascript:void(0);');
			});

			$('#dropdownpanel .contentdiv .panellistscroll .box a.targetext').click(function(){
				var url = $(this).find('.url').text();

				if (url) window.open(url);
			});
		}
	},
	function () {
		$('#dropdownpanel .contentdiv .panellistscroll .box .img .mask_wrap').fadeTo(700, 1.0);

		jQuery("#banner_carousel .belt").css({zIndex: '10'});
		jQuery(".navcarouselbuttons").css({zIndex: '20'});
		jQuery("#logo").css({zIndex: '10'});
		jQuery("#search").css({zIndex: '10'});

		jQuery('#dropdownpanel .control .tab .dropdownpanelclick').recover();
		jQuery('#search .cnt .search_input input').hide();
		jQuery('#search .cnt .search_input select').hide();
	},
	function () {
		jQuery('#search .cnt .search_input input').show();
		jQuery('#search .cnt .search_input select').show();

		jQuery("#banner_carousel .belt").css({zIndex: '10'});
		jQuery(".navcarouselbuttons").css({zIndex: '20'});
		jQuery("#logo").css({zIndex: '10'});
		jQuery("#search").css({zIndex: '10'});

		jQuery('#dropdownpanel .control .tab .dropdownpanelclick').pulse({
			opacityRange: [0.3, 0.8],
			speed: 500
		});
	},
	function () {
		$('#dropdownpanel .contentdiv .panellistscroll .box .img .mask_wrap').fadeTo(300, 0.0);
	}
);
