var lastsearch;
function trim(stringa)
{
	stringa = stringa + "";
	return stringa.replace(/^ */,"").replace(/ *$/,"");
}

function showUserHomePage()
{
  new Ajax.Request('index.php', {
	  method: 'get',
	  parameters: { page: 'home' },
	  onSuccess: updateMainArea,
	  onFailure: failureFunc
  });
}

function showImmobili(param)
{
  new Ajax.Request('index.php?page=search', {
	  method: 'get',
	  encoding: 'UTF-8',
	  parameters: param,
	  onSuccess: function(response) {
        updateMainArea(response);
        SortableTable.load($('tableimmobili'));
        SortableTable.addSortType('currencywithdot', function(a,b) {
          var calc = function(v) {
            var re = new RegExp("([^,0-9])", "g");
            
            v = parseFloat(v.replace(re,""));
            return isNaN(v) ? 0 : v;
          }
          return SortableTable.compare(calc(a),calc(b));
        });        
        SortableTable.sort($('tableimmobili'), $('colprezzo'),1);
      },
	  onFailure: failureFunc
  });	
}

function showPage(page) {
  new Ajax.Request('index.php?page=xml_page&name='+page, {
	  encoding: 'UTF-8',
	  onSuccess: updateMainArea,
	  onFailure: failureFunc
  });		
}

function showChiSiamo() {
  new Ajax.Request('index.php?page=chisiamo', {
	  encoding: 'UTF-8',
	  onSuccess: updateMainArea,
	  onFailure: failureFunc
  });		
}

function showVendicasa() {
  new Ajax.Request('index.php?page=vendicasa', {
	  encoding: 'UTF-8',
	  onSuccess: updateMainArea,
	  onFailure: failureFunc
  });	
}

function showMutui() {
	
}

function showCercacasa() {
  new Ajax.Request('index.php?page=cercacasa', {
	  encoding: 'UTF-8',
	  onSuccess: updateMainArea,
	  onFailure: failureFunc
  });	
}

function updateMainArea(response){
	$('main_area').update(response.responseText);
	fb.tagAnchors($('main_area')); // necessary to load floatbox inside ajax call
}

function failureFunc(response){
	 content = "Impossibile recuperare i dati";
     $('main_area').update(content);
}

function cercaRiferimento() {
	riferimento = $('riferimento').getValue();
	
	riferimento = parseInt(riferimento);
	
	if (isNaN(riferimento))
		return false;
	
	riferimento = riferimento - 1310;
	
	link(riferimento);

	return false;
}

function cerca(params) {
	url = 'index.php?page=search';
	if (!params) params = $('ricerca').serialize(true);
	
	lastsearch = params;
	
	new Ajax.Request( url, {
		method: 'get', 
		encoding: 'UTF-8',
		parameters: params,
/*		onLoading: function() {
			new Effect.Opacity('admindl', { to: 0.2, duration: 1 });
			new Effect.ScrollTo('admindl');
			$('submit_load').appear();
		},*/
		onSuccess: function(transport) {
				updateMainArea(transport);
				$('ricerca').prm_tipologia[0].selected = "selected";
				$('ricerca').prm_tipo[0].selected = "selected";
				$('ricerca').prm__opmax_prezzo.value = "";
				$('ricerca').prm__opmin_prezzo.value = "";
				$('ricerca').prm_localita.value = "";
			}
		}
	)
	return false;
}

function elimina() {
	url = 'scheda.php?action=eliminam';
	if (!window.confirm("Sei sicuro di voler eliminare gli immobili selezionati?")) return false;
	
	new Ajax.Request( url, {
		method: 'post', 
		encoding: 'UTF-8',
		parameters: $('selezionati').serialize(true),
/*		onLoading: function() {
			new Effect.Opacity('admindl', { to: 0.2, duration: 1 });
			new Effect.ScrollTo('admindl');
			$('submit_load').appear();
		},*/
		onSuccess: function(transport) {
				cerca(lastsearch);
			}
		}
	)
	return false;
}

function pubblica(chiave,valore) {
	url = 'scheda.php?action=sethomepage&chiave='+chiave+'&valore='+valore;
	if (!window.confirm("Sei sicuro di voler modificare gli immobili selezionati?")) return false;
	
	new Ajax.Request( url, {
		method: 'post', 
		encoding: 'UTF-8',
		parameters: $('selezionati').serialize(true),
/*		onLoading: function() {
			new Effect.Opacity('admindl', { to: 0.2, duration: 1 });
			new Effect.ScrollTo('admindl');
			$('submit_load').appear();
		},*/
		onSuccess: function(transport) {
				//updateMainArea(transport);
				cerca(lastsearch);
			}
		}
	)
	return false;
}

function link(id) {
	fb.loadAnchor("scheda.php?id="+id, "width:630 height:600");
}

function stopEvent(e) {
	if (!e) var e = window.event;
	e.cancelBubble = true;
	if (e.stopPropagation) e.stopPropagation();
}

function stripProvincia(text, element) {
	provincia = text.value.slice(-4).replace(/[()]/g,'');
	localita = text.value.slice(0,-5);
	
	$('localita').value = localita;
}

function sendForm(tipo) {
	var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
	
	if (trim($('frm_nome').value) == '') {
		$('frm_nome').value = '';
		$('frm_nome').focus();
		return false;
	}
		
	if (trim($('frm_telefono').value) == '' && (trim($('frm_email').value) == '' || !$('frm_email').value.match(emailExp))) {
		alert("E' necessario inserire un indirizzo email corretto oppure un contatto telefonico.");
		$('frm_email').focus();
		return false;
	}
	
	var url = 'index.php?page=sendmail&type='+tipo;
	
	new Ajax.Request( url, {
	  method: 'post',
	  encoding: 'UTF-8',
	  parameters: $('formmail').serialize(true),
	  onSuccess: function(transport) {
		if (transport.responseText.match(/OK/)) {
			$('descriptive').update('<h3>Richiesta inoltrata correttamente, sarete contattati al più presto</h3>');
		} else {
			$('descriptive').update('<p>'+transport.responseText+'</p><br/><br/><h3>Si è verificato un errore nell\'inoltro della richiesta. <br/>Si prega di riprovare più tardi o di contattarci telefonicamente.<br/>Ci scusiamo per l\'inconveniente<br/></h3>');
		}
	  }
  });
  return false;
}

/** Funzione che crea una variabile $_GET **/
var $_GET = new Array();
if(window.location.search) {
	var query = window.location.search.substr(1);
	var pairs = query.split(/&|;/);
	for(var i = 0; i < pairs.length; i++) {
		var pair = pairs[i].split("=");
		$_GET[unescape(pair[0])] = unescape(pair[1]);
	}
}
