﻿var ZoomFlag=false;
 var gmarkers = [];
    var htmls = [];
    var i = 0;
    
    var cmlxArray=new Array(); 
    var PrTypeArray=new Array(); 
    
    var latArray=new Array(); 
    var lngArray=new Array(); 
    var flagclick= [];	
    var ListingID=new Array();
    var htmlSTR=new Array();
   var MLSID=new Array();

   
   
 //*************************************************************************************************   
 
    function createMarker(point, number, counter) 
    {
        //var marker = new GMarker(point,icons[0]);
        var marker = new GMarker(point);
        //marker.tooltip = '<div class="tooltip">'+toolTip+'</div>';
        // save the info we need to use later for the sidebar
        gmarkers[i] = marker;
        var html="<table class='MLS_M'><tr valign='top'><td align='left'>" + number + "</td></tr></table>";
        htmls[i] = html;
        //alert(html)
        i=i+1;
        if (!marker.point) {marker.point = marker.getPoint();}
        if(number!='')
            GEvent.addListener(marker, "click", function() {marker.openInfoWindowHtml(html);});
        return marker;
    }
    
    // A function to create the marker and set up the event window
      function createMarkerPin(point,name,html,icontype) {
      /*alert(icontype);
       alert(html);
       alert(point);
       alert(name);*/
       var gicons = new Array();
       if (icontype==1)
       {
       //gicons[icontype] = new GIcon(G_DEFAULT_ICON, "<img src=http://econym.googlepages.com/colour086.png onerror=\'this.src=\"../images/nopic.gif\";\'/>");
       gicons[icontype] = new GIcon(G_DEFAULT_ICON, "../images/roundedblue.gif");
       }
       //alert(gicons[icontype]);
       var number1=0;
        // === create a marker with the requested icon ===
        //var marker = new GMarker(point, gicons[icontype]);
         
        var marker = new GMarker(point, gicons[icontype]);
        //alert(marker.point);
        
        if (!marker.point) 
        
        {
       // alert('point');
        marker.point = marker.getPoint();}
        var html="<table class='MLS_M'><tr valign='top'><td align='left'>" + html + "</td></tr></table>";
        htmls[i] = html;
        i=i+1;
        gmarkers[i] = marker;
        htmls[i] = html;
       
        GEvent.addListener(marker, "click", function() {
          marker.openInfoWindowHtml(html);
        });
        // save the info we need to use later for the side_bar
        
        // add a line to the side_bar html
        
        i++;
        return marker;
      }

    function myclick(i) 
    {
        //alert(htmls[i])
        gmarkers[i].openInfoWindowHtml(htmls[i]);		
    }

    // This function picks up the click and opens the corresponding info window
    function myover(i) 
    {
        if(flagclick[i]!=1)
        {
            gmarkers[i].openInfoWindowHtml(htmls[i]);								
        }	
        else{gmarkers[i].openInfoWindowHtml(htmls[i]);}
    }
    function myout(i) {
        if(flagclick[i]!=1)
        {
            mapX.closeInfoWindow();	
        }	
    }
    
    function LoadMap()
    {
            if(document.getElementById("mapX"))  
            {
                var args = LoadMap.arguments;
                 var zoomlevel=23;
                // alert(latArray.length);
                if(latArray.length<=1)
                {
                    zoomlevel=16;
                }
               
                document.getElementById("mapX").style.display='BLOCK';
                if (ZoomFlag)
                {
                    document.getElementById("mapX").style.display='BLOCK';
                    zoomlevel=16;
                }
                else if(!(latArray.length>0))
                {
                    document.getElementById("mapX").style.display='BLOCK';
                }
                //alert(document.getElementById("mapX").style.display)
            }                
          
        if(document.getElementById("mapX"))  
        {
            var mapX = new GMap2(document.getElementById("mapX"));
            mapX.addControl(new GSmallMapControl()); 
            if (args[0] != 1)
            {
               // mapX.addControl(new GMapTypeControl()); 
            }
                        
            var j=0;
            for(j=0;j<latArray.length;j++)      
            {
                if(j==0)
                    mapX.setCenter(new GLatLng(latArray[j], lngArray[j]), 8);//zoomlevel is 14
                
                 {//cmlxArray[j]
                     if(htmlSTR[j]!='')
                           mapX.addOverlay(createMarker(new GLatLng(latArray[j], lngArray[j]), ''+ htmlSTR[j]+'',0));
                     else
                                mapX.addOverlay(createMarker(new GLatLng(latArray[j], lngArray[j]), '',0));
                         
                    
                 }
            }
            SetUpZoom(mapX);
          
        }
        

    } 
    function SetUpZoom(mapX)
	{
		var maxLat,minLat;
		maxLat=-1000.00;
		minLat=1000.00								
		/*alert('LEngth '+latArray.length)
		alert(mapX.getZoom())*/
		
		for(i=0;i<latArray.length;i++)
		{
			//alert(i);
			for(j=0;j<15;j++)
			{	
						
				if((mapX.getBounds().getSouthWest().lat()<latArray[i]) && (latArray[i]<mapX.getBounds().getNorthEast().lat()) && (mapX.getBounds().getSouthWest().lng()<lngArray[i]) && (lngArray[i]<mapX.getBounds().getNorthEast().lng()))
				{	//alert('Break');
					break;}
				else
				{	//alert('ZoomOut');
					mapX.zoomOut();	}
			}		
		}		
	}
	
	function AddListing(lat, lon, html,listingid,mlsid)
	{
	    var j=0;
	    j=latArray.length;
	    latArray[j]=lat;	    
        lngArray[j]=lon;
        ListingID[j]=listingid;
        htmlSTR[j]=html;
        MLSID[j]=mlsid;
	}
	
	
