
	var globalX = 0, globalY = 0;
	var checking = 0;
	$(document).mousemove(function(e) { globalX = e.pageX; globalY = e.pageY; });
	
	var lists_queue = new Array;
	
	function select_onfocus(oggetto)
	{
		var label = $(oggetto);
		var input = label.parent();
		var container = input.parent();
		var lista = container.find('.select_list');
		var elenco = lista.find('ul');
		var elementi = elenco.children().length;
			
		//if ( elementi > 16 ) { lista.css('overflow-y', 'scroll'); }
		//label.val('');
	
		elemento = elenco.find('.select_list_focus');
		elemento.removeClass('select_list_focus');
		
		lista.slideDown(500,function() {


				$(document).bind('click',{ obj: oggetto },checkblur);
				$(this).bind('mouseenter',imover);
				$(this).bind('mouseleave',imout);
		});


		
		
	}
	
	function imout(e) {
			
			
			var uniq_id = e.timeStamp;
			
			
			if ($(this).attr('uniq-id') == undefined) {
			
				$(this).attr('uniq-id',uniq_id);
			
			} else {
				
				uniq_id = $(this).attr('uniq-id');
				
			}
			
			//console.log(uniq_id + " is out .. starting countdown");
			
			lists_queue[uniq_id] = setTimeout("select_onblur2($(\"*[uniq-id='" + uniq_id + "']\").parent());",1500);
		
		
	}
	
	function imover() {
		
			var uniq_id = $(this).attr('uniq-id');
			
			if (uniq_id != undefined && lists_queue[uniq_id] != undefined) {
			
				//console.log(uniq_id + " saved");
				
				clearTimeout(lists_queue[uniq_id]);
			
			}
	}
	


	function select_onclick(oggetto)
	{
		//quando si clicca deve vedere se è aperta o chiusa
		//se è aperta, deve eseguire l'onblur
		//se è chiusa deve eseguire l'onfocus
		var label = $(oggetto);
		var input = label.parent();
		var container = input.parent();
		var lista = container.find('.select_list');
		
		var stato = lista.css('display');
		
		
		if ( stato == 'none' ) 
		{
			//alert('apro');

			select_onfocus(oggetto);
		}else{
			//alert('chiudo');
			select_onblur2(oggetto);
		}
		


	}
	
	function new_select_onfocus(oggetto)
	{
		var label = $(oggetto);
		var input = label.parent();
		var container = input.parent();
		var lista = container.find('.select_list');


		elemento = lista.find('.select_list_focus');
		elemento.removeClass('select_list_focus');
		lista.slideDown();

		
	}
	
	
	function checkblur(e) {
	
		var obj = e.data.obj;
		var label = $(obj);
		var input = label.parent();
		var container = input.parent();
		var mousex = e.pageX;
		var mousey = e.pageY;
		obj = container;
		var left = $(obj).offset().left;
		var top  = $(obj).offset().top;
		var right = left + $(obj).width();
		var bottom = top + $(obj).height();
		
		
		
		if (e.pageX > right+10 || e.pageX < left || e.pageY > bottom || e.pageY < top) select_onblur2(e.data.obj);
	
	}
	
	function select_onblur2(oggetto) {
	
		var label = $(oggetto);
		var input = label.parent();
		var container = input.parent();
		var lista = container.find('.select_list');
		lista.slideUp();

		$(document).unbind('click',checkblur);
		$(lista).unbind('mouseenter',imover);
		$(lista).unbind('mouseleave',imout);
		
	}
	function select_onblur(oggetto)
	{
			
	}
	
	
	function input_select_change(oggetto)
	{
		
		var elemento = $(oggetto);
		var elenco = elemento.parent();
		var lista = elenco.parent();
		var container = lista.parent();
		var label = container.find('.select_label');
		var hidden = container.find('.select_hidden');
		var input = container.find('.select_input');
		var chiave = elemento.html();
		var valore = elemento.attr('value');
		var valore_old = hidden.val();


		hidden.val(valore);
		label.val(chiave);
		input.attr('val', valore);
		elemento.addClass('select_list_focus');
		hidden.trigger("change");
		

		
		$('.select_label').each( function (index) 
		{
			if ( $(this).attr('labelname') == label.attr('labelname') )
			{
				$(this).val( chiave );
				select_onblur2(container);
			}
		});
		
	}
	function new_input_select_change(oggetto)
	{
		
		var elemento = $(oggetto);
		var lista = elemento.parent();
		var container = lista.parent();
		var label = container.find('.select_label');
		var hidden = container.find('.select_hidden');
		var input = container.find('.select_input');
		var chiave = elemento.html();
		var valore = elemento.attr('value');
		var valore_old = hidden.val();
		

		hidden.val(valore);
		label.val(chiave);
		input.attr('val', valore);
		elemento.addClass('select_list_focus');
		hidden.trigger("change");
	}

