function searchProperty(page) {
    // Pesquisa sempre usando todos os valores actuais da pesquisa
    data = '';
    data += 'price_min=' +cleanSliderValue($('#search #price_min').val());
    data += '&price_max=' +cleanSliderValue($('#search #price_max').val());
    data += '&bedrooms_min=' +$('#search #bedrooms_min').val();    
    data += '&bedrooms_max=' +$('#search #bedrooms_max').val();
    data += '&wc_min=' +$('#search #wc_min').val();    
    data += '&wc_max=' +$('#search #wc_max').val();    
    data += '&area_min=' +cleanSliderValue($('#search #area_min').val());
    data += '&area_max=' +cleanSliderValue($('#search #area_max').val());
    data += '&type=' +$('#prop_type option:selected').val();
    data += '&business_type=' +($('#toSale').hasClass('ui-widget-content')?1:$('#toRent').hasClass('ui-widget-content')?2:0);   // 1 - Sale  |  2 - Rent  |  0 - both
	data += '&generalSearch=' +$('#generalSearch').val();
    data += '&order=' +$('#sortOrder').val();
    data += '&order_field=' +$('#orderField').val();
    data += '&page=' +page;
    
	window.location = '/search/?' +data;
	
}

// ----------------------------------------------------------------------------

function loadStartPage() {
	
	$('.banner').cycle({ 
	    fx: 'fade',
		speed: 2000,
		timeout: 9000,
		random:  1
	});
	
	$('#featured').tabs({
		ajaxOptions: {cache: true},
        spinner:'Loading...',
		fx:{
			opacity: 'toggle',
			speed: 'fast'
		},
		event: 'mouseover'
	}).tabs('rotate', 9000, true);
	
	$('#featured ul').removeClass('ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all')
	$('#featured li').removeClass('ui-corner-top').removeClass('ui-state-default');
	
	$('#toSale, #toRent').click(function() {
		// Quando esta seleccionado tem a class 'ui-widget-content'
		if($(this).hasClass('ui-widget-header')) {
			$(this).parent().find('.ui-widget-content').addClass('ui-widget-header').removeClass('ui-widget-content');
			$(this).removeClass('ui-widget-header').addClass('ui-widget-content');
		}
		searchProperty('');
	});
	
	$('#latest').jCarouselLite({
		auto: 8000,
		speed: 1700,
		vertical: true,
		circular: true,
		scroll: 1,
		visible: 1,
		btnGo:
			['.carouselControls .1', '.carouselControls .2',
			'.carouselControls .3', '.carouselControls .4'],
		beforeStart: function(obj) {
			active = $('.carouselControls .active');
        	activeSrc = active.attr('src');
			active.attr('src', '/media/imagens/pageControl.png');
			active.removeClass('active');
			if (active.hasClass('4')) {
				// Se estiver na linha 4 e nao existir um seguinte, este sera a 1º linha
				if ($('.carouselControls .moveTo').length == 0)
					$('.carouselControls .1').addClass('moveTo');
			}
			else
				if ($('.carouselControls .moveTo').length == 0)
					active.next().addClass('moveTo');
			
			$('.carouselControls .moveTo').addClass('active').removeClass('moveTo').attr('src', activeSrc);
    	}
	});
	
	hoverOpenEstate();
	
}

// ----------------------------------------------------------------------------

function loadSearchSliders(inicial_price, final_price, inicial_bedrooms, final_bedrooms, inicial_wc, final_wc, inicial_area, final_area) {
	
	$('#price_slider').slider({
        range: true,
        min: 0,
        max: 800000,
        step: 50000,
        values: [parseInt(inicial_price), parseInt(final_price)],
        slide: function(event, ui) {
			$('#price_min').val(setDotMask(ui.values[0])+ ' €');
			if (ui.values[1] == 800000)
            	$('#price_max').val('+ de 800.000€');
			else
				$('#price_max').val(setDotMask(ui.values[1])+ ' €');
        },
		change: function(event, ui) {
            $('#toSale').trigger('click');
		}
    });
    $("#price_min").val(setDotMask($("#price_slider").slider("values", 0))+ ' €');
	if ($("#price_slider").slider("values", 1) == '800000')
    	$('#price_max').val('+ de 800.000 €');
	else
		$('#price_max').val(setDotMask($("#price_slider").slider("values", 1))+ ' €');
	
	$('#area_slider').slider({
        range: true,
        min: 0,
        max: 10000,
        step: 500,
        values: [parseInt(inicial_area), parseInt(final_area)],
        slide: function(event, ui) {
        	$("#area_min").val(setDotMask(ui.values[0])+ ' m2');
			if (ui.values[1] == 10000)
            	$('#area_max').val('+ de 10.000m2');
			else
				$("#area_max").val(setDotMask(ui.values[1])+ ' m2');
        },
		change: function(event, ui) {
			searchProperty('');
		}
    });
    $("#area_min").val(setDotMask($("#area_slider").slider("values", 0))+ ' m2');
	if ($("#area_slider").slider("values", 1) == '10000')
		$("#area_max").val('+ de 10.000m2');
	else
		$("#area_max").val(setDotMask($("#area_slider").slider("values", 1))+ ' m2');
	
	$('#bedrooms_slider').slider({
        range: true,
        min: 0,
        max: 10,
        values: [parseInt(inicial_bedrooms), parseInt(final_bedrooms)],
        slide: function(event, ui) {
        	$("#bedrooms_min").val(ui.values[0]);
            $("#bedrooms_max").val(ui.values[1]);
        },
		change: function(event, ui) {
			searchProperty('');
		}
    });
    $("#bedrooms_min").val($("#bedrooms_slider").slider("values", 0));
    $("#bedrooms_max").val($("#bedrooms_slider").slider("values", 1));
	
	$('#wc_slider').slider({
        range: true,
        min: 0,
        max: 8,
        values: [parseInt(inicial_wc), parseInt(final_wc)],
        slide: function(event, ui) {
        	$("#wc_min").val(ui.values[0]);
            $("#wc_max").val(ui.values[1]);
        },
		change: function(event, ui) {
			searchProperty('');
		}
    });
    $("#wc_min").val($("#wc_slider").slider("values", 0));
    $("#wc_max").val($("#wc_slider").slider("values", 1));
}

// ----------------------------------------------------------------------------

function showImages(propertyID) {
	$.post('/properties/getimages/',
		{ property: propertyID },
		function(response){
			$('#largeImage').append('<img src="/site_media/properties/' +propertyID+ '/' +response[0]+ '" width="630" height="420">');
			for(i=0;i<response.length;i++){
				image = '<img src="/site_media/properties/' +propertyID+ '/' +response[i]+ '">';
				//alert(image);
				$('#imagesdiv #thumbs').append('<img src="/site_media/properties/' +propertyID+ '/th_' +response[i]+ '" title="' +response[i]+ '">');
			}
			$('#imagesdiv #thumbs img').click(function(){
				$('#largeImage').html('<img src="/site_media/properties/' +propertyID+ '/' +$(this).attr('title')+ '" width="630" height="420">');
			});
			$('#imagesdiv').dialog('open');
		}
	, 'json');
}

// ----------------------------------------------------------------------------

function hoverOpenEstate() {
	$('.openEstate').hover(function(){
		$(this).removeClass('ui-widget-header').addClass('ui-state-hover');
	}, function(){
		$(this).removeClass('ui-state-hover').addClass('ui-widget-header');
	});
}

// ----------------------------------------------------------------------------

function setLanguage(lang) {
	$('#languageForm #language').val(lang);
	$('#languageForm').submit();
}

// ----------------------------------------------------------------------------

function initializeGmap(address) {
	var latlng = new google.maps.LatLng(32.656503, -16.912251);
	var geocoder = new google.maps.Geocoder();
	geocoder.geocode({ 'address': address }, function(results, status) {
		if (status == google.maps.GeocoderStatus.OK) {
			latlng = results[0].geometry.location;
		}
	    var myOptions = {
			zoom: 13,
			center: latlng,
			mapTypeId: google.maps.MapTypeId.HYBRID
	    };
	    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
	});
}

function initializeGmapPink() {
	if ($('#map').is(':hidden')) {
		$('#siteInfo').hide();
		$('#bt_showMap').html('Esconder mapa');
		$('#map').show();
		var latlng = new google.maps.LatLng(32.687065, -16.859894);
		var map;
	    var myOptions = {
	      zoom: 11,
	      center: latlng,
	      mapTypeId: google.maps.MapTypeId.HYBRID
	    };
	    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
		
		var mx = new google.maps.LatLng(32.716506, -16.765555);
	    var mxMarker = new google.maps.Marker({
	        position: mx, 
	        map: map
	    });
		var infowindow = new google.maps.InfoWindow({
	        content: 'Rua do Ribeirinho, Edificio Forúm Machico<br/>9200-102 MACHICO<br/>Telefone: 291 967 200<br/>Fax: 291 967 202<br/>Email: info@pinkimobiliaria.com'
	    });
		google.maps.event.addListener(mxMarker, 'click', function() {
			map.setZoom(16);
			map.setCenter(mx);
		});
		google.maps.event.addListener(mxMarker, 'mouseover', function() {
			infowindow.open(map, mxMarker);
		});
		
	    var fx = new google.maps.LatLng(32.647939, -16.915652);
	    var fxMarker = new google.maps.Marker({
	        position: fx, 
	        map: map
	    });
		var infowindow = new google.maps.InfoWindow({
	        content: 'Rua Dr. João de Brito Câmara, nº 26B<br/>9000-039 FUNCHAL<br/>Telefone: 291 759 177<br/>Fax: 291 759 012<br/>Email: info@pinkimobiliaria.com'
	    });
		google.maps.event.addListener(fxMarker, 'click', function() {
			map.setZoom(16);
			map.setCenter(fx);
		});
		google.maps.event.addListener(fxMarker, 'mouseover', function() {
			infowindow.open(map, fxMarker);
		});
	}
	else {
		$('#map').hide();
		$('#bt_showMap').html('Ver mapa');
		$('#siteInfo').show();
	}
	
}

// ----------------------------------------------------------------------------

function setDotMask(value) {
	value = value.toString();
	newValue = value;
	stop = false;
	if (value.length > 3) {
		newValue = value.substring(value.length - 3);
		seed = value.substring(0, value.length - 3);
		while (!stop) {
			//alert('seed: ' + seed + '\nvalue: ' + newValue);
			if (seed.length <= 3) {
				stop = true;
				newValue = seed + '.' + newValue;
			}
			else 
				newValue = seed.substring(seed.length - 3) + '.' + newValue;
			seed = seed.substring(0, seed.length - 3);
		}
	}
	return newValue;
}

function cleanSliderValue(str) {
	return str.replace('.', '').replace(',', '').replace('€', '').replace('m2', '').replace('+ de ', '').replace(' ', '');
}

// ----------------------------------------------------------------------------


