 var slider1, slider2, slider3, slider4, slider5, slider6, slider7, slider8, slider13;
 var url;
 var arreglo = new Array();
 var arreglo1 = new Array();	
 var bounds, southWest, northEast;
 var map;
 var band=0;
 var tooltip;
 		
function inivariable(){
	var i;
		var k=0;
			
		for (i=1900;i<=2008;i++)
			{arreglo[k]=i;
			   k++;}
		k=0;
		for (i=5000;i<=5000000;i+=100000)
			{arreglo1[k]=i;
			   k++;}
}

function showTooltip(marker) {
		tooltip.innerHTML = marker.tooltip;
		var point=map.getCurrentMapType().getProjection().fromLatLngToPixel(map.getBounds().getSouthWest(),map.getZoom());
		var offset=map.getCurrentMapType().getProjection().fromLatLngToPixel(marker.getPoint(),map.getZoom());
		var anchor=marker.getIcon().iconAnchor;
		var width=marker.getIcon().iconSize.width;
		var pos = new GControlPosition(G_ANCHOR_BOTTOM_LEFT, new GSize(offset.x - point.x - anchor.x + width,- offset.y + point.y +anchor.y));
		pos.apply(tooltip);
		tooltip.style.visibility="visible";
      }

function createMarker(point,name,html) {
		var marker = new GMarker(point);
		// === store the name so that the tooltip function can use it ===
        marker.tooltip = '<div class="tooltip">'+name+'</div>';
		GEvent.addListener(marker, "click", function() { marker.openInfoWindowHtml(html); });
		GEvent.addListener(marker,"mouseover", function() { showTooltip(marker); });
        GEvent.addListener(marker,"mouseout", function() { tooltip.style.visibility="hidden" });
		return marker;
	}
	
function getbounds(){
		bounds = map.getBounds();
		southWest = bounds.getSouthWest();
		northEast = bounds.getNorthEast();	
		
		var current = jQuery("#bound").val();
		if(current.length <= 0) {
			jQuery("#bound").val(southWest);
		}else {
			jQuery("#bound").val("");
		}
}

function loadMap() {
		// Load Google Map
 	 	if (GBrowserIsCompatible()) {
			map = new GMap(document.getElementById("mapui"));
			map.addControl(new GSmallMapControl());
			map.addControl(new GMapTypeControl());
			map.setCenter(new GLatLng(25.753108,-80.245041), 11);

			tooltip = document.createElement("div");
			document.getElementById("mapui").appendChild(tooltip);
			tooltip.style.visibility="hidden";

			var bounds = new GLatLngBounds();
									
			// Request xml data
			GDownloadUrl(url, function(data, responseCode) {			
					var xmlDoc = GXml.parse(data);
					var htmlside = "";
					// obtain the array of markers and loop through it
					var markers = xmlDoc.documentElement.getElementsByTagName("marker");
					var pager = xmlDoc.documentElement.getElementsByTagName("pager");
					
					for (var i = 0; i < markers.length; i++) {
						// obtain the attribues of each marker
						var lat = parseFloat(markers[i].getAttribute("lat"));
						var lng = parseFloat(markers[i].getAttribute("lng"));
						var point = new GLatLng(lat,lng);
						var html = markers[i].getAttribute("html");
						var label = markers[i].getAttribute("label");
						
						// create the marker
						if ((lat != 0) && (lng != 0))
						{
							var marker = createMarker(point,label,html);
							map.addOverlay(marker);
							// ==== Each time a point is found, extent the bounds to include it =====
							bounds.extend(point);
							htmlside += html + '<br />';
						}
						
						
					}

					htmlside +=pager[0].getAttribute("page");					
					map.setZoom(map.getBoundsZoomLevel(bounds));
					jQuery("#fieldset3").html("");					
					jQuery("#fieldset3").html(htmlside.replace(/"#fieldset1&"/g, "?"));
					map.setCenter(bounds.getCenter());
					addPageHandlers();
					jQuery.unblockUI();	
					// pegar una function a cada link de navegation.
				});											
 	 	}
		else {
			alert("Sorry, the Google Maps API is not compatible with this browser");
		}	
	}// end function
	
	
function addPageHandlers() {
	jQuery("#mappaging p > a").click(function() {
		var href = jQuery(this).attr('href');
		
		page_no = href.substring(href.lastIndexOf('=')+1);
		if(page_no > 0)
			jQuery("#page").attr("value",page_no);
		else
			jQuery("#page").attr("value",0);							
		
		LoadSearch();
					
		return false;
	});
}
	
function addPropertyLink(){
	jQuery(".contborder").click(function() {
		var mlsid = jQuery(this).attr('id').val();
		alert(mlsid);
	
	return false;
	});

}
	
function getListing(mlsnumber) {		
	var url = '/apps/api/map-view.php?mlsid=' + mlsnumber+'&js=1';
	jQuery('#cma').triggerTab(2); // triggers view tab
	jQuery("#continformation").load(url);
}
	
	function initSliders(){
		
	slider1 = new Control.Slider('handle1', 'track1', {
			range: $R(1000,5000000),
			values: arreglo1,
			sliderValue: 1,
			onSlide: function(v) {$('mnprice').value = v;},
			onChange: function(v) {$('mnprice').value = v;}
	});	 //end slider
	
	slider2 = new Control.Slider('handle2', 'track2', {
		range: $R(1000,5000000),
		values: arreglo1,
		sliderValue: 1,
		onSlide: function(v) { $('mxprice').value = v;},
		onChange: function(v) { $('mxprice').value = v;}
	}); 
	
	slider3 = new Control.Slider('handle3', 'track3', {
		onSlide: function(v) {(v*5000).toFixed();$('mxliving').value = (v*5000).toFixed();},
		onChange: function(v) {(v*5000).toFixed();$('mxliving').value = (v*5000).toFixed();}
	});
	
	slider4 = new Control.Slider('handle4', 'track4', {
		onSlide: function(v) {(v*10).toFixed();$('bed').value = (v*10).toFixed();},
		onChange: function(v) {(v*10).toFixed();$('bed').value = (v*10).toFixed();}
	});
	
	slider5 = new Control.Slider('handle5', 'track5', {
		onSlide: function(v) {(v*10).toFixed();$('bath').value = (v*10).toFixed();},
		onChange: function(v) {(v*10).toFixed();$('bath').value = (v*10).toFixed();}
	});
	
	slider6 = new Control.Slider('handle6', 'track6', {
		onSlide: function(v) {(v*365).toFixed();$('day').value = (v*365).toFixed();},
		onChange: function(v) {(v*365).toFixed();$('day').value = (v*365).toFixed();}
	});
	
	slider7 = new Control.Slider('handle7', 'track7', {
		range: $R(1900,2009),
		values: arreglo,
		sliderValue: 1,
		onSlide: function(v) {$('mnyear').value = v;},
		onChange: function(v) {$('mnyear').value = v;}
	});
	
	slider8 = new Control.Slider('handle8', 'track8', {
		range: $R(1900,2009),
		values: arreglo,
		sliderValue: [1900,2009],
		onSlide: function(v) {$('mxyear').value =v;},
		onChange: function(v) {$('mxyear').value = v;}
	});
	
	
}		
	
	 function initialize() {
      if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("mapui"));
        map.setCenter(new GLatLng(25.46, -80.11), 11);
      }
    }
			
     function setSliderValue(slider,value,bande) {
				// due to onChange code above we need this or 
				// a 0 will be put in the text box when you delete the value
				if(bande==1)
				{
					if(value=="") return;
					
					if(isNaN(value))
					  slider1.setValue(0);
					else
						slider1.setValue(value);
				}
				
				if(bande==2)
				{
					if(value=="") return;
					
					if(isNaN(value))
					  slider2.setValue(0);
					else
						slider2.setValue(value);
				}
				
				if(bande==3)
				{
					if(value=="") return;
					
					if(isNaN(value))
					  slider3.setValue(0);
					else
						slider3.setValue(value/5000);
				}
				
				if(bande==4)
				{
					if(value=="") return;
					
					if(isNaN(value))
					  slider4.setValue(0);
					else
						slider4.setValue(value/10);
				}
				
				if(bande==5)
				{
					if(value=="") return;
					
					if(isNaN(value))
					  slider5.setValue(0);
					else
						slider5.setValue(value/10);
				}
				
				if(bande==6)
				{
					if(value=="") return;
					
					if(isNaN(value))
					  slider6.setValue(0);
					else
						slider6.setValue(value/365);
				}
				
				if(bande==7)
				{
					if(value=="") return;
					
					if(isNaN(value))
					  slider7.setValue(0);
					else
						slider7.setValue(value);
				}
				
				if(bande==8)
				{
					if(value=="") return;
					
					if(isNaN(value))
					  slider8.setValue(0);
					else
						slider8.setValue(value);
				}
				
				if(bande==13)
				{
					if(value=="") return;
					
					if(isNaN(value))
					  slider13.setValue(0);
					else
					{
						if(value >0 && value <=1)
							slider13.setValue(value);
						else
						{
							slider13.setValue(value);
						}
						
					}
				}
	}
	
	function LoadSearch()
	{
	
		var yearini =jQuery("#yearini").val();
 		var yearfin = jQuery("#yearfin").val();	 		
 		
 		if(yearini >yearfin){
 		 	alert('Date Range Invalid');
	 		jQuery("#yearfin").focus();
			return;
		}
 		
 		else
		{
			blockUI();		 		
	  		var formdata = jQuery("#form").serialize();
			url = "/apps/api/getkml.php?" + formdata;
			jQuery('#cma1').triggerTab(2); // triggers third tab						  		
	  		loadMap();
	  		addPropertyLink();
	  		
	  		jQuery(document).unload(GUnload());	
 		}	     
	 		
	}
	
	jQuery(document).ready(function()
	{
	 		//inicializacion de variables array a traves de una funcion..
	 		inivariable();
	 		initSliders();
	 		
	 		initialize();
	 		
			jQuery("#advanced").click(function(){
				jQuery("#moresearch").slideToggle('slow');
			}); //end advanced search click event
				       
		    jQuery("#btnmapsearch").click(function(){
		      	LoadSearch();	       
		    });
	         
	     	jQuery("#mapctive").click(function(){
	     		getbounds()
     		});    		
			
			jQuery("#cma").tabs();
			jQuery("#cma1").tabs();
			jQuery("#moresearch").hide();
			
			jQuery().ajaxStop(function() {
	 	 	// "Zebra stripe" table rows
	 	 	jQuery(".stripeMe tbody tr").mouseover(function() {$(this).addClass("over");}).mouseout(function() {$(this).removeClass("over");});
	 	 	jQuery(".stripeMe tbody tr:odd").addClass("alt");

 			jQuery.unblockUI();		
						
		}); //end AjaxStop
			
			jQuery("#j1").click(function(){
 				alert('que paso men');
 				jQuery("#quick").slideToggle(200);
 			});

		}); //end document ready