$(document).ready(function(){
						   
	//testo alternativo alle input e textarea
	preTextLoad();
	$('.pretext').focus(preTextFocus).blur(preTextFocus);
	function preTextFocus(){
		if ($(this).val() == $(this).attr('title'))
			$(this).val('').removeClass('pretext');
		else if ($.trim($(this).val()) == '')
			$(this).addClass('pretext').val($(this).attr('title'));
	}
	function preTextLoad(){
		$('.pretext').each(function(){
			if ($.trim($(this).val()) == '' || $(this).val() == $(this).attr('title')) {
				$(this).val($(this).attr('title'));
				$(this).addClass('pretext');
			}else{
				$(this).removeClass('pretext');
			}
		});
	}
	function preTextClear(form){
		$(form).find('.pretext').each(function() {
			if ($(this).val() == $(this).attr('title')) 
				$(this).val('');
		});
	}
	
	//load immagini allo scrolling della pagina
	$("img").lazyload({
		placeholder : "css/bianco.gif",
		effect : "fadeIn"
	});
	
	//swith immagini e mappa nel dettaglio
	$(".galleria img").click(function(){	
		$("#foto").hide();
		$("#map_google").hide();
		if ($(this).attr('id') == "mappa"){
			$("#map_google").show();
			$(".commento_foto").html("Mappa");
			$("#map_google").gMap({ markers: [{ 
										latitude: $("#latitudine").val(),
										longitude: $("#longitudine").val() }],
										zoom: 15 });
		}
		else{
			var src = $(this).parent('a').attr('href');
			var etichetta = $(this).attr('alt');
			if (etichetta == '') etichetta = 'Foto';
			$(".commento_foto").html('sto caricando: <i>' + etichetta + '</i>');
			$("#foto").attr('src', src).load(function(){
				$(this).fadeIn('slow');
				$(".commento_foto").text(etichetta);
			});
		}
		return false;		
	});
	
	$("#map_agenzia_google").gMap({ markers: [{ 
		latitude: $("#latitudine").val(),
		longitude: $("#longitudine").val() }],
		zoom: 15 });
	$("#map_citta_google").gMap({  
		latitude: $("#latitudine").val(),
		longitude: $("#longitudine").val(),
		zoom: 13 });
	
	//setta numero di annunci di casaria
	$(".logo .numero_annunci").html($(".ricerca .numero_annunci").html());
	
	//esegue il redirect in base al value della option della select
	$("#select_href").change(function(){
		window.location.href = $(this).val();
	});
	
	//ricerca generale
	$("#ricerca").submit(function(){
		var tipologia = '#ricerca select[name="tp"]';
		var provincia = '#ricerca select[name="pr"]';
		var citta = '#ricerca select[name="ct"]';
		if ( $(tipologia).val() == null ){
			alert("Seleziona una Tipologia!");
			return false;
		}
		if ( $(provincia).val() == null && $(citta).val() == null){
			alert("Seleziona una Provincia!");
			return false;
		}
	});
	
	$(".preferiti").click(function(){
		var query = $(this).attr("id");
		var preferito = $(this);
		$.post("scr_preferiti.asp", query,
				function(data) {
					if( data == 'aggiunto' ){
						preferito.removeClass("preferiti_aggiungi");
						preferito.addClass("preferiti_togli");	

						preferito.attr("title", "togli annuncio come preferito");
					}else if( data == 'tolto' ){
						preferito.removeClass("preferiti_togli");
						preferito.addClass("preferiti_aggiungi");
						
						preferito.attr("title", "aggiungi annuncio come preferito");
					}
					else{
						alert("Errore nell'invio! Riprovare.");
					}
				}
			).error(function(data){alert("Errore nell'invio! Sito in manutenzione.");});
	});
	//invia il form di richiesta specifica
	$("#richiesta_specifica").click(function(){
		var errore = false;
		var submit_form = "#form_richiesta_specifica";
		preTextClear(submit_form);
		
		var nome = submit_form + ' input[name="nome"]';
		var email = submit_form + ' input[name="email"]';
		var telefono = submit_form + ' input[name="telefono"]';
		var messaggio = submit_form + ' textarea[name="messaggio"]';
		var privacy = submit_form + ' input[name="privacy"]:checked';
		
		if ( $(nome).val().trim() == "" ){
			alert("Inserisci il tuo Nome!");
			preTextLoad();
			errore = true;
			return false;
		}
		if ( ($(email).val().trim() == "") && ($(telefono).val().trim() == "") ){
			alert("Inserisci il campo Telefono o l'Email!");
			preTextLoad();
			errore = true;
			return false;
		}else{
			if ( $(email).val().trim() != "" ){
				var reg_exp = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$";
				var regv = new RegExp(reg_exp);
				if (window.RegExp){
					if(!regv.test( $(email).val().trim() )){
						alert("Inserisci un'Email corretta!");
						preTextLoad();
						errore = true;
						return false;
					}
				}
				else {
					var chars = "/ ;,:";
					for (k=0; k<chars.length; k++)
					{
						bad = chars.charAt(k);
						if (($(email).val().trim().indexOf(bad,0) != -1)||($(email).val().trim().indexOf("@",0) == -1)||($(email).val().trim().indexOf("@", $(email).val().trim().indexOf("@",0)+1) != -1)||($(email).val().trim().indexOf(".",0) == -1))
						{
							alert("Inserisci un'Email corretta!");
							errore = true;
							preTextLoad();
							return false;
							break;
						}	
					}
				}	
			}
		}
		if ( $(messaggio).val().trim() == "" ){
			alert("Inserisci le Informazioni che vuoi richiedere!");
			preTextLoad();
			errore = true;
			return false;
		}
		if ( $(privacy).val() != "acconsento" ){
			alert("Devi acconsentire al trattamento dei dati personali per richiedere informazioni su questo annuncio.");
			preTextLoad();
			errore = true;
			return false;
		}
		
		if (errore == false){
			$(submit_form + " .button").attr('disabled', 'disabled');
			$.post("scr_richiesta_specifica.asp", $(submit_form).serialize(),
				function(data) {
					if( data == 'ok' ){
						$(submit_form).slideUp(1000);
						$("#result_richiesta_specifica").delay(1000).slideDown(500);
						
					}else{
						alert("Errore nell'invio! Riprovare.");
						$(submit_form + " .button").attr('disabled', '');
					}
				}
			).error(function(data){alert("Errore nell'invio! Sito in manutenzione.");$(submit_form + " .button").attr('disabled', '');});
		}
	});
	
	
	//invia il form di richiesta generica
	$("#richiesta_generica").click(function(){
		var errore = false;
		var submit_form = "#form_richiesta_generica";
		
		var nome = submit_form + ' input[name="nome"]';
		var email = submit_form + ' input[name="email"]';
		var telefono = submit_form + ' input[name="telefono"]';
		var provincia = submit_form + ' select[name="provincia"] option:selected';
		var citta = submit_form + ' input[name="citta"]:checked';
		var tipologia = submit_form + ' select[name="tipologia"] option:selected';
		var locali = submit_form + ' input[name="locali"]:checked';
		var descrizione = submit_form + ' textarea[name="descrizione"]';
		var prezzo = submit_form + ' input[name="prezzo"]';
		var privacy = submit_form + ' input[name="privacy"]:checked';
		
		if ( $(nome).val().trim() == "" ){
			alert("Inserisci il tuo Nome!");
			$(nome).focus();
			errore = true;
			return false;
		}
		if ( ($(email).val().trim() == "") && ($(telefono).val().trim() == "") ){
			alert("Inserisci il campo Telefono o l'Email!");
			$(email).focus();
			errore = true;
			return false;
		}else{
			if ( $(email).val().trim() != "" ){
				var reg_exp = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$";
				var regv = new RegExp(reg_exp);
				if (window.RegExp){
					if(!regv.test( $(email).val().trim() )){
						alert("Inserisci un'Email corretta!");
						$(email).focus();
						errore = true;
						return false;
					}
				}
				else {
					var chars = "/ ;,:";
					for (k=0; k<chars.length; k++)
					{
						bad = chars.charAt(k);
						if (($(email).val().trim().indexOf(bad,0) != -1)||($(email).val().trim().indexOf("@",0) == -1)||($(email).val().trim().indexOf("@", $(email).val().trim().indexOf("@",0)+1) != -1)||($(email).val().trim().indexOf(".",0) == -1))
						{
							alert("Inserisci un'Email corretta!");
							errore = true;
							$(email).focus();
							return false;
							break;
						}	
					}
				}	
			}
		}
		if ( $(provincia).val() == "0" ){
			alert("Seleziona la Provincia dell'immobile che cerchi!");
			$(provincia).focus();
			errore = true;
			return false;
		}
		var contacitta = $(citta).length;
		if (contacitta == 0){
			alert("Seleziona la o le Cittą dove cerchi!");
			errore = true;
			return false;
		}
		if (contacitta > 10){
			alert("Seleziona un massimo 10 Cittą!");
			errore = true;
			return false;
		}
		if ( $(tipologia).val() == "0" ){
			alert("Seleziona la Tipologia dell'immobile che cerchi!");
			$(tipologia).focus();
			errore = true;
			return false;
		}
		var contalocali = $(locali).length;
		if (contalocali == 0){
			alert("Seleziona i Locali/Settore dell'immobile che cerchi!");
			errore = true;
			return false;
		}
		if ( $(descrizione).val().trim() == "" ){
			alert("Inserisci una Descrizione specificando cosa cerchi!");
			$(descrizione).focus();
			errore = true;
			return false;
		}
		if ( $(prezzo).val() == "0" || $(prezzo).val() == "" || isNaN($(prezzo).val()) ){
			alert("Inserisci un Prezzo per l'immobile!");
			$(prezzo).focus();
			errore = true;
			return false;
		}
		if ( $(privacy).val() != "acconsento" ){
			alert("Devi acconsentire al trattamento dei dati personali per richiedere informazioni su questo annuncio.");
			preTextLoad();
			errore = true;
			return false;
		}
		
		if (errore == false){
			$(submit_form + " .button").attr('disabled', 'disabled');
			$(submit_form + " .button").after("<span class='caricamento'><img src='/css/caricamento.gif'/> invio in corso..</span>");
			$(".caricamento").fadeIn(1000);
			$.post("scr_richiesta_generica.asp", $(submit_form).serialize(),
				function(data) {
					if( data == 'ok' ){
						$(submit_form).slideUp(1000);
						$("#result_richiesta_generica").delay(1000).slideDown(500);
						
					}else{
						alert("Errore nell'invio! Riprovare.");
						$(submit_form + " .button").attr('disabled', '');
					}
				}
			).error(function(data){alert("Errore nell'invio! Sito in manutenzione.");$(submit_form + " .button").attr('disabled', '');});
		}
	});
	
	//invia il form di contatto agenzia
	$("#contatta_agenzia").click(function(){
		var errore = false;
		var submit_form = "#form_contatta_agenzia";
		preTextClear(submit_form);
		
		var nome = submit_form + ' input[name="nome"]';
		var email = submit_form + ' input[name="email"]';
		var telefono = submit_form + ' input[name="telefono"]';
		var messaggio = submit_form + ' textarea[name="messaggio"]';
		var privacy = submit_form + ' input[name="privacy"]:checked';
		
		if ( $(nome).val().trim() == "" ){
			alert("Inserisci il tuo Nome!");
			preTextLoad();
			errore = true;
			return false;
		}
		if ( ($(email).val().trim() == "") && ($(telefono).val().trim() == "") ){
			alert("Inserisci il campo Telefono o l'Email!");
			preTextLoad();
			errore = true;
			return false;
		}else{
			if ( $(email).val().trim() != "" ){
				var reg_exp = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$";
				var regv = new RegExp(reg_exp);
				if (window.RegExp){
					if(!regv.test( $(email).val().trim() )){
						alert("Inserisci un'Email corretta!");
						preTextLoad();
						errore = true;
						return false;
					}
				}
				else {
					var chars = "/ ;,:";
					for (k=0; k<chars.length; k++)
					{
						bad = chars.charAt(k);
						if (($(email).val().trim().indexOf(bad,0) != -1)||($(email).val().trim().indexOf("@",0) == -1)||($(email).val().trim().indexOf("@", $(email).val().trim().indexOf("@",0)+1) != -1)||($(email).val().trim().indexOf(".",0) == -1))
						{
							alert("Inserisci un'Email corretta!");
							errore = true;
							preTextLoad();
							return false;
							break;
						}	
					}
				}	
			}
		}
		if ( $(messaggio).val().trim() == "" ){
			alert("Inserisci le Informazioni che vuoi richiedere!");
			preTextLoad();
			errore = true;
			return false;
		}
		if ( $(privacy).val() != "acconsento" ){
			alert("Devi acconsentire al trattamento dei dati personali per richiedere informazioni su questo annuncio.");
			preTextLoad();
			errore = true;
			return false;
		}
		
		if (errore == false){
	
			$(submit_form + " .button").attr('disabled', 'disabled');
			$.post("scr_contatta_agenzia.asp", $(submit_form).serialize(),
				function(data) {
					if( data == 'ok' ){
						$(submit_form).slideUp(1000);
						$("#result_contatta_agenzia").delay(1000).slideDown(500);
						
					}else{
						alert("Errore nell'invio! Riprovare.");
						$(submit_form + " .button").attr('disabled', '');
					}
				}
			).error(function(data){alert("Errore nell'invio! Sito in manutenzione.");$(submit_form + " .button").attr('disabled', '');});
		}
	});
	
	
	
	
	
	//componi form per contatto agenzia
	$(".contatta").click(function(){
		var id_agenzia = $(this).attr("id");
		var nome_agenzia = $(this).attr("title").replace("contatta ", "");
		$("#id").val(id_agenzia);
		$("#agenzia_immobiliare").html(nome_agenzia);
	});
	
	//implementa facebox
	$('a[rel*=facebox]').facebox();
	
});

//invia il form di contatto agenzia
function ValidaFormAgenzia(button){
	var errore = false;
	button.parent('.slide').parent('form').attr("id", "form_contatta_agenzia");
	
	var submit_form = "#form_contatta_agenzia";
	
	$(submit_form + ' .conferma_invio').attr("id", "result_contatta_agenzia");
	var id = submit_form + ' input[name="id"]';
	var nome = submit_form + ' input[name="nome"]';
	var email = submit_form + ' input[name="email"]';
	var telefono = submit_form + ' input[name="telefono"]';
	var messaggio = submit_form + ' textarea[name="messaggio"]';
	var privacy = submit_form + ' input[name="privacy"]:checked';
	if ( isNaN($(id).val()) ){
		errore = true;
		return false;	
	}
	if ( $(nome).val().trim() == "" ){
		alert("Inserisci il tuo Nome!");
		$(nome).focus();
		errore = true;
		return false;
	}
	if ( ($(email).val().trim() == "") && ($(telefono).val().trim() == "") ){
		alert("Inserisci il campo Telefono o l'Email!");
		$(email).focus();
		errore = true;
		return false;
	}else{
		if ( $(email).val().trim() != "" ){
			var reg_exp = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$";
			var regv = new RegExp(reg_exp);
			if (window.RegExp){
				if(!regv.test( $(email).val().trim() )){
					alert("Inserisci un'Email corretta!");
					$(email).focus();
					errore = true;
					return false;
				}
			}
			else {
				var chars = "/ ;,:";
				for (k=0; k<chars.length; k++)
				{
					bad = chars.charAt(k);
					if (($(email).val().trim().indexOf(bad,0) != -1)||($(email).val().trim().indexOf("@",0) == -1)||($(email).val().trim().indexOf("@", $(email).val().trim().indexOf("@",0)+1) != -1)||($(email).val().trim().indexOf(".",0) == -1))
					{
						alert("Inserisci un'Email corretta!");
						$(email).focus();
						errore = true;
						return false;
						break;
					}	
				}
			}	
		}
	}
	if ( $(messaggio).val().trim() == "" ){
		alert("Inserisci le Informazioni che vuoi richiedere!");
		$(messaggio).focus();
		errore = true;
		return false;
	}
	if ( $(privacy).val() != "acconsento" ){
		alert("Devi acconsentire al trattamento dei dati personali per richiedere informazioni.");
		errore = true;
		return false;
	}
	if (errore == false){
		$(submit_form + " .button").attr('disabled', 'disabled');
		$(submit_form + " .button").after("<span class='caricamento'><img src='/css/caricamento.gif'/> invio in corso..</span>");
		$(".caricamento").fadeIn(1000);
		$.post("scr_contatta_agenzia.asp", $(submit_form).serialize(),
			function(data) {
				if( data == 'ok' ){
					$(submit_form + ' .slide').slideUp(1000);
					$("#result_contatta_agenzia").delay(1000).slideDown(500);
					
				}else{
					alert("Errore nell'invio! Riprovare.");
					$(submit_form + " .button").attr('disabled', '');
				}
			}
		).error(function(data){alert("Errore nell'invio! Sito in manutenzione.");$(submit_form + " .button").attr('disabled', '');});
	}
}

function AggiornaCitta(idprovincia, id){ 
	$('#'+id).html("caricamento in corso - -");
	var url = "/richiedi-immobile.htm?aj=citta&pr="+idprovincia;
	$.post(url, function(data) {
		$('#'+id).html(data);
	});
}
function AggiornaLocali(idtipologia, id){ 
	$('#'+id).html("caricamento in corso - -");
	var url = "/richiedi-immobile.htm?aj=locali&tp="+idtipologia;
	$.post(url, function(data) {
		$('#'+id).html(data);
	});
}
