(function($){
    $(function(){
    	
    	if(typeof pageLoaded != 'undefined')
    	{
	    	switch( pageLoaded )
	    	{
	    		case 'store': initStore(); break;
	    		case 'registrazione': initRegistrazione(); break;
	    		case 'admin': initAdmin(); break;
	    		case 'ristoranti': initList(1); break;
	    		case 'alberghi': initList(2); break;
	    		case 'ricette': initRicette(); break;
	    		case 'sondaggi': initSondaggi(); break;
	    		case 'recensioni': initRecensioni(); break;
	    		case 'le-ricette': initLeRicette(); break;
	    	}
    	}
    	
    	$('.jsSubmitNuovaRicetta').click(function(){
    		if($('form[name=nuovaRicetta] [name=dosi]').val()!=''
	    		&& $('form[name=nuovaRicetta] [name=r_tipo]').val()!=''
	    		&& $('form[name=nuovaRicetta] [name=r_titolo]').val()!=''
	    		&& $('form[name=nuovaRicetta] [name=r_tempo1]').val()!=''
	    		&& $('form[name=nuovaRicetta] [name=r_difficolta]').val()!=''
	    		&& $('form[name=nuovaRicetta] [name=r_preparazione]').val()!=''
	    		&& $('form[name=nuovaRicetta] [name=ingredienti]').val()!=''){
    				$('form[name=nuovaRicetta]').submit();
    		}
    		else{
    			var stringa = '';
    		
    			$('form[name=nuovaRicetta] *[name]').each(function(){
    				if($(this).val()==''){
    					var nome = $(this).parent().find('span').html();
    					nome = nome.replace('*:','  ');
    					stringa = stringa + '<p>Il campo ' + nome + ' &egrave; obbligatorio </p>';
    				}
    			});
    			$('.compilaCampi').html(stringa);
    			$('.compilaCampi').show();
    		}
    	});
    	$('.jsSendForm').click(function(){ 
    		//alert($('form').html());
    		//alert('cat: '+$('form [name=categoria]').val() + 'reg: '+$('form [name=regione]').val());
    		//if(parseInt($('form [name=categoria]').val())>0 && parseInt($('form [name=regione]').val())>0){
    		if(parseInt($('form [name=categoria]').val())>0){
    			$('#attiv').submit();
    		}
    		//else alert('no');
    	});
    	$('.jsSendFormRicette').click(function(){ 
    		if(($('#rice [name=parolachiave]').val())!=''){
    			$('#rice').submit();
    		}
    		//else alert('no');
    	});
    	
    	function initRicette(){
    		$('input.jsInviaVoto').click(function(){
    			var bottone = $(this);
    			var voto = $('#voto').val();
    			var user = $('#user').val();
    			var id = $('#id').val();
    			$.ajax({
					type: "POST",
					url: "/ajax/set_rece/",
					data : { voto: voto, user: user, id: id, is_ricetta : '1' },
					success: function(msg)
					{
						if(msg == 'ok')
						{
							$(bottone).addClass('Hidden');
							$('.jsVoto').addClass('Hidden');
							$('.jsResp').removeClass('Hidden');
						} else {
							$('.errorBox').html('<p>'+msg+'</p>').removeClass('Hidden');
						}
					},
					error: function(){}
				});
    			
    		});
    		
    	}
    	
    	
    	function initRecensioni(){
    		$('p.Bots').click(function(){
    			var bottone = $(this);
    			var rece = $('#recensione').val();
    			var voto = $('#voto').val();
    			var user = $('#user').val();
    			var id = $('#id').val();
    			$.ajax({
					type: "POST",
					url: "/ajax/set_rece/",
					data : { rece: rece, voto: voto, user: user, id: id },
					success: function(msg)
					{
						if(msg == 'ok')
						{
							$(bottone).addClass('Hidden');
							$('.jsRece').addClass('Hidden');
							$('.jsVoto').addClass('Hidden');
							$('.jsResp').removeClass('Hidden');
						} else {
							$('.errorBox').html('<p>'+msg+'</p>').removeClass('Hidden');
						}
					},
					error: function(){}
				});
    			
    		});
    	
    		$(".jsClose").click(function(){ 
				var obj = $(this).parent().parent().find(".jsMore");
				if(obj.hasClass('Hidden')){
					obj.removeClass('Hidden');
					$('.jsLess').addClass('Hidden');
					$(this).parent().find('span').html('Mostra meno informazioni');
				}
				else{
					obj.addClass('Hidden');
					$('.jsLess').removeClass('Hidden');
					$(this).find('span').html('Mostra pi&ugrave; informazioni');
				}
			});
    	}
    	
    	function initStore(){
			$('#regione').change(function(){ manageSelectGeo(2,$('#regione').val(), 4); });
			$('#provincia').change(function(){ manageSelectGeo(3,$('#provincia').val(), 4); });
			
			$('.jsShow').click(function(){
				var info = $(this).next('tr');
				if (info.hasClass('Hidden')) {
					$("tbody tr:not(.jsShow)").addClass('Hidden');
					info.removeClass('Hidden');
				} else {
					$("tbody tr:not(.jsShow)").addClass('Hidden');
					info.addClass('Hidden');
				}

			});
    	}
    	
    	function initRegistrazione(){
    		$('.jsShowPrivacy').click(function(){
    			$('#infoPrivacy').toggle();
    		});
    		
    	
			$('#regione').change(function(){ manageSelectGeo(2,$('#regione').val(), 3); });
			$('#provincia').change(function(){ manageSelectGeo(3,$('#provincia').val(), 3); });
			
			$("[name=ref_conoscenza]").change(function(){ 
				if($(this).val()==6){
					$('#altro_conoscenza').show();
				}
				else{
					$('#altro_conoscenza').hide();
				}
			});
			
			$("[name=username]").blur(function(){ 
				ogg = this;
				
				$.ajax({
					type: "POST",
					url: "/ajax/checkUsername/",
					data : { username: $(this).val()},
					success: function(msg)
					{
						if(msg=='no'){
							$(ogg).addClass('Error');
							if($(ogg).next("span.Error").length==0){
								$(ogg).after('<span class="Error"> &nbsp; Username non disponibile</span>');
							}
							$("input.Bot").attr('disabled','disabled');
						}
						else{
							$(ogg).removeClass('Error');
							$(ogg).next('span.Error').remove();
							if($("input.Error").length==0){ $("input.Bot").removeAttr('disabled'); }
						}
					},
					error: function(){}
				});
			});
			
			$("[name=email]").blur(function(){ 
				ogg = this;
				
				$.ajax({
					type: "POST",
					url: "/ajax/checkEmail/",
					data : { email: $(this).val()},
					success: function(msg)
					{
						if(msg=='no'){
							$(ogg).addClass('Error');
							if($(ogg).next("span.Error").length==0){
								$(ogg).after('<span class="Error"> &nbsp; Indirizzo email gi&agrave; registrato</span>');
							}
							$("input.Bot").attr('disabled','disabled');
						}
						else{
							$(ogg).removeClass('Error');
							$(ogg).next('span.Error').remove();
							if($("input.Error").length==0){ $("input.Bot").removeAttr('disabled'); }
						}
					},
					error: function(){}
				});
			});
		}
		
		function initList(tipo)	{
		
			/*Gestione del tasto per chiudere il riquadro di informazioni su risto e alb*/
			$(".jsCloseBox").click(function(){ 
				$.ajax({
					type: "POST",
					url: "/ajax/visibilityToggle/",
					data : { },
					success: function(msg){ },
					error: function(){}
				});
				var obj = $(this).parent().parent().find(".infoBox");
				if(obj.hasClass('Hidden')){
					obj.removeClass('Hidden');
					$(this).find('span').html('Chiudi Riquadro');
				}
				else{
					obj.addClass('Hidden');
					$(this).find('span').html('Apri Riquadro');
				}
			});
			
			$('.jsClose').click(function(){
				var obj = $('#jsMore');
				if(obj.hasClass('Hidden')){
					obj.removeClass('Hidden');
				}
				else{
					obj.addClass('Hidden');
				}
							
			});
			
			
			$(document).ready(function(){ 
				/*var regione = $('#regione > option[selected]').val();
				/*var provincia = $('#regione > option[selected]').val();
				var regione = $('#regione > option[selected]').val();
				if(regione != undefined)
				{
					manageSelectGeo(2, regione);
				}*/
			});
			
			$("#regione").change(function()	{
				manageSelectGeo(2,$(this).val(), $('#tipo').val()); 
			});
			
			$("#provincia").change(function() {
				manageSelectGeo(3,$(this).val(), $('#tipo').val()); 
			});
			
			
			
			$('.jsShow').click(function(){
				var info = $(this).next('tr');
				if (info.hasClass('Hidden')) {
					$("tbody tr:not(.jsShow)").addClass('Hidden');
					info.removeClass('Hidden');
				} else {
					$("tbody tr:not(.jsShow)").addClass('Hidden');
					info.addClass('Hidden');
				}

			});
			
		}
		
		function initSondaggi()
		{
			$("ul.SondaggiList > li > a").click(function(){
				var risp = $(this).parent('li').find('div.Checks');
				if (risp.hasClass('jsDone'))
				{
					$(risp).find('.Completamento > .Success').each(function(){
						$(this).animate({"width": $(this).attr('perc')+'%'}, 2000);
						$(this).html($(this).attr('perc')+'%');
					});
				}
				if(risp.hasClass('Hidden')) {
					$(".SondaggiList > li > div:visible").each(function(){
						$(this).addClass('Hidden');				
					});
					risp.removeClass('Hidden');
				} else {
					risp.addClass('Hidden');
				}
				$('.RadioBt:checked').attr('checked','');
				return false;
				//$(this).animate({"width": $(this).attr("value")+'px'}, 2000);
			});
			
			$("p.Bots").click(function(){
				var botton = $(this);				
				var user = $('#user').val();
				var risp = $(botton).parents('div').find('.RadioBt:checked').val();
				//alert(risp);
				var sond = $('.RadioBt:checked').parents('li.jsQues').attr('id');
				if (typeof risp != 'undefined' && !risp.NaN) {
					$.ajax({
						type: "POST",
						url: "/ajax/vota_sond/",
						data : { sond: sond, risp: risp, user: user, format : 'ajax'},
						dataType: 'json',
						success: function(res)
						{
							if(res.msg == 'ok')
							{
								botton.addClass('Hidden');
								$(botton).parents('div.Checks').find('.RadioBt').addClass('Hidden');
								$(botton).parents('div.Checks').find('.Completamento').removeClass('Hidden');
									//alert('html:'+$(botton).parents('div.Checks').find('.Completamento > .Success').attr('perc'));
								$(botton).parents('div.Checks').find('.Completamento > .Success').each(function(){
									for (var key in res.result)
									{
										if ($(this).attr('rel') == key)
										{
											$(this).attr('perc', res.result[key]);
										}
									}
									$(this).animate({"width": $(this).attr('perc')+'%'}, 2000);
									$(this).html($(this).attr('perc')+'%');
								});
							} else {
								return false;
							}
						},
						error: function(){}
					});
				}
				return false;
			});	
		}

		
		function manageSelectGeo(level,value, tipo){
			// before request - disable selects
			switch(level)
			{
				case 1: if (value == 0) {
							disableSelect('provincia');
							disableSelect('citta');
						}
						break;
				
				case 2: if (value == 0) {
							disableSelect('provincia');
							disableSelect('citta');
							return false;
						}
					break;
				case 3: if (value == 0) {
							
							disableSelect('citta');
							level = 2;
							value = $('#regione').val();
							$('#search').val(value);
						}
					break;
			}
			
			
			$.ajax({
				type: "POST",
				url: "/ajax/geo_select/",
				data : { level: level, value: value, tipo: tipo, format : 'ajax'},
				success: function(alldata)
				{
					var lines = alldata.split("\n");
					var num = lines.length;
			
					var optText = new Array();
					var optVals = new Array();
			
					for (var i=0; i < (num-1); i++) {
						var f = lines[i].split("###");
						optVals[i] = f[0];
						optText[i] = f[1];
					}
					
					if (level == 1) {
						target=document.getElementById('regione');
						target_id='regione';	
						//alert('qui');
					} else if (level == 2) {
						target=document.getElementById('provincia');
						target_id='provincia';	
					} else if (level == 3) {
						target=document.getElementById('citta');
						target_id='citta';
					}
		
					if (optVals.length > 1) {
						populateSelect(target,optVals,optText);
						$('#'+target_id).attr('disabled',false);
						$('#'+target_id).removeClass('Disabled');
					}
					
					// seleziona automaticamente la prima citta
					//if (level == 2) target.selectedIndex = 1;
		
				},
				error: function(){}
			});
			
			return true;
		}
			
			function disableSelect(id) {
				$('#'+id).attr('disabled',true);
				$('#'+id).addClass('Disabled');
				emptySelect(document.getElementById(id));
			}
			
			function emptySelect(s) {
				s.options.length = 1;
			}
			
			function populateSelect(s, v, t) {
				s.options.length = 0;
				if (v != null) {
					for (var i=0; i < v.length; i++) s.options[i] = new Option(t[i], v[i], false, false);
				}
			}
		
    	
		function spiderino(){
			url = $("#URL_8").val();
			
			$.ajax({
				type: "POST",
				url: "/s/cercaProdotti.php",
				data: { a: "esaminaLink", url: url },
				dataType : "json",
				success: function(m){
					
					var cont = $(".TestoPiccolo",m['html']).html();
					//alert(cont);
					$("#content").html("tit:\n "+ m['tit'] +" \ncont:"+ cont +"");
					//alert($("#content span").html());
				},
				error: function(){
					//alert('<div>Nessuna Risposta</div>');
				}
			});
		}
		
		function initAdmin(){
			$(".Success.Percent").each(function(){
				$(this).animate({"width": $(this).attr("value")+'px'}, 2000);
			});

			$(".jsDetails").click(function(){
				var parent = $(this).html();
				$(this).parent().siblings().each(function(){
					if($(this).attr("rel")==parent) $(this).toggle();
				});
			});
			
			$("#filtroRicetta").change(function(){ 
				toggleFilter();
			});
			
			toggleFilter();
			
			function toggleFilter(){ 
				$(".jsFilter").not(this).each(function(){ 
					if($("#filtroRicetta").val()!=''){
						$(this).attr('disabled','disabled');
					}
					else{
						$(this).removeAttr('disabled');
					}
				});
			}

			initInserisciRicetta();
			
			$(".jsOrderBy").click(function(){ 
				$("form").append('<input type="hidden" value="'+$(this).attr("alt")+'" name="ord_by"/>');
				$("form").submit();
			});
			
		}
		
		function initInserisciRicetta(){
			$(document).ready(function(){
				/*$(".jsAddIngrTit").live('click',function(){
					var intestazione = '<tr><td colspan="4">Intestazione per gli ingredienti &nbsp;&nbsp;&nbsp;<input type="text" name="ingredienti[intestazione]" value="" size="40" /></td></tr>';
					$(this).parent().parent().before(intestazione);
				});*/
				$(".jsAddIngr").live('click',function(){
					var altroIngr = $(this).parent().parent().clone(); //clono l'elemento da copiare
					$(altroIngr).find('input').each(function(){
						$(this).val(''); //svuoto i campi del clone che altrimenti avrebbero gli stessi valori del clonato
					});
					$(this).parent().parent().after(altroIngr); //appendo il clone dopo l'elemento clonato
				});
				$(".jsDelIngr").live('click',function(){
					if($(".jsAddIngr").length>1){
						$(this).parent().parent().remove(); //rimuovo l'elemento
					}
				});
				$(".jsAddProd").live('click',function(){
					var altroIngr = $(this).parent().parent().clone(); //clono l'elemento da copiare
					$(this).parent().parent().after(altroIngr); //appendo il clone dopo l'elemento clonato
				});
				$(".jsDelProd").live('click',function(){
					if($(".jsAddProd").length>1){
						$(this).parent().parent().remove(); //rimuovo l'elemento
					}
				});
				$(".jsIngrSpec").click(function(){
					$(".sez").show();
				});
				$(".jsDelSez").live('click',function(){ 
					//alert($(this).attr("rel") + "\n" + $(this).parent().parent().parent().find("."+$(this).attr("rel")).length);
					$("."+$(this).attr("rel")).each(function(){
						$(this).remove();
					});
					$(this).parent().parent().parent().remove();
				});
				$(".jsOkSez").live('click',function(){
					var nomeSez = $(this).parent().find("input").val().replace(/ /g,"_");
					if(nomeSez==''){
						alert('nome sezione vuoto');
						return false;
					}
					var nuovaSez = $(this).parent().parent().parent().clone();
					$(this).parent().parent().parent().after(nuovaSez);		
					var group = $(".gruppoIngredienti").html();
					group = group.replace(/ingredienti\[\]/g,'ingredienti_'+nomeSez+'[]');
					group = group.replace(/quantita\[\]/g,'quantita_'+nomeSez+'[]');
					group = group.replace(/prodotti\[\]/g,'prodotti_'+nomeSez+'[]');
					group = group.replace(/quantita_pr\[\]/g,'quantita_pr_'+nomeSez+'[]');
					group = group.replace(/<\/th>/g," "+$(this).parent().find("input").val()+" </th>");
					group = group.replace(/<tr>/g,'<tr class="js'+nomeSez+'"');
					/* " */
			
					$(this).parent().parent().parent().after(group);
					$(this).parent().parent().find("b").html($(this).parent().find("input").val());
					$(this).parent().parent().find(".jsDelSez").attr("rel","js"+nomeSez);
					
					$(this).parent().parent().find(".titoloSezione").show();
					$(this).parent().hide();
				});
				
			});
			$(document).submit(function(){
				$(".prod").each(function(){
					var valore = $(this).val();
					$(".prod").not($(this)).each(function(){
						if($(this).val()==valore){
							$('.errProd').html(' &nbsp;&nbsp;&nbsp; <b><font color="red">PRODOTTO DOPPIO</font></b>');
							return false;
						}
					});
					
				});
			});
		}
		
		function initLeRicette(){
			$(".jsAddIngr").live('click',function(){
				var parentObj = $(this).parent().parent().parent();
				var parentObjNext = $(parentObj).next();
			
				var altroIngr = $(parentObj).clone(); //clono l'elemento da copiare
				var altraQuant = $(parentObj).next().clone(); //clono l'elemento da copiare

				$(altroIngr).find('input').each(function(){
					$(this).val('a'); //svuoto i campi del clone che altrimenti avrebbero gli stessi valori del clonato
				});
				$(altraQuant).find('input').each(function(){
					$(this).val('a'); //svuoto i campi del clone che altrimenti avrebbero gli stessi valori del clonato
				});
				$(parentObjNext).after(altraQuant); //appendo il clone dopo l'elemento clonato
				$(parentObjNext).after(altroIngr); //appendo il clone dopo l'elemento clonato
			});
			$(".jsDelIngr").live('click',function(){
				if($(".jsAddIngr").length>1){
					$(this).parent().parent().parent().next().remove(); //rimuovo l'elemento
					$(this).parent().parent().parent().remove(); //rimuovo l'elemento
				}
			});
		}
		
	});
})(jQuery);


/*function manageSelectGeo(level,value) {
				// before request - disable selects
				
				alert(level);
				if (level == 1) {
					if (value == 0) disableSelect('provincia');
					disableSelect('citta');
				} else if (level == 2 && value == 0) {
					disableSelect('citta');
				}
				
				$.ajax({
					type: "POST",
					url: "/ajax/geo_select/",
					data : { level: level, value: value, format : 'ajax'},
					success: function(alldata){
						var lines = alldata.split("\n");
						var num = lines.length;
				
						var optText = new Array();
						var optVals = new Array();
				
						for (var i=0; i < (num-1); i++) {
							var f = lines[i].split("###");
							optVals[i] = f[0];
							optText[i] = f[1];
						}
						
						if (level == 1) {
							target=document.getElementById('provincia');
							target_id='provincia';			
						} else if (level == 2) {
							target=document.getElementById('citta');
							target_id='citta';	
						} else if (level == 3) {
							target=document.getElementById('zona');
							target_id='zona';
						}
			
						if (optVals.length > 1) {
							populateSelect(target,optVals,optText);
							$('#'+target_id).attr('disabled',false);
							$('#'+target_id).removeClass('Disabled');
						}
						
						// seleziona automaticamente la prima citta
						if (level == 2) target.selectedIndex = 1;
			
					},
					error: function(){}
				});
			}
			
			/*$('#citta').change(function(){
				if ($(this).val() != 0){
					$('#search').val($(this).val());
				}
				else{
					$('#search').val($("#provincia").val());
				}*
				populateList(tipo, $('#search').val(), 1);
			});*/
			
	
			/*$(".jsPrev").live('click', function(){
				var page = $('#pagina').val();
				if (page > 1)
				{
					populateList(tipo, $('#search').val(), parseInt(page)-1);
					$('#pagina').val(parseInt(page)-1);
				}
				return false;
			});
			
			$(".jsNext").live('click', function(){
				var page = $('#pagina').val();
				var max = $('#max').val();
				if (page < max) 
				{
					populateList(tipo, $('#search').val(), parseInt(page)+1);
					$('#pagina').val(parseInt(page)+1);
				}
				return false;
			});
			
			$(".jsFirst").live('click', function(){
				populateList(tipo, $('#search').val(),1)
				$('#pagina').val(1);
				return false;
			});
			
			$(".jsLast").live('click', function(){
				var max = $('#max').val();				
				populateList(tipo, $('#search').val(), max);
				$('#pagina').val(max);
				return false;
			});
			
		/*function populateList(tipo, value, pagina){
			$.ajax({
				type: "POST",
				url: "/ajax/populate_list/",
				data : { tipo: tipo, value: value, pagina: pagina, format : 'ajax'},
				success: function(alldata)
				{
					$('#jsList').show();			
					$('#jsTable').html(alldata);
				},
				error: function(){}
			});
			
			return true;
		}
		
		*/			
