
function display_() {
	if(!el('sbmap')) return;
	if(el('search_type') && el('search_type').value=='map' && window.location.search.indexOf('autosearch_id')=='-1'){
		el('sbmap').style.display = 'block' ;
		el('sbmap').style.visibility = 'visible';
	}
	else{
		el('sbmap').style.display = 'none';
		el('sbmap').style.visibility = 'hidden';
	}
}

function infoHtml(listing,template_name){
    var s=el(template_name).innerHTML;
    for(var i in listing){
        if(i=='price'){
            var v=addCommas(listing[i]);
        }else{
            var v=listing[i];

        }   
        if(v==null || v=='' || v==' ') v='N/A';
        s=s.replace('{$'+i+'}',v ,'gi');
        s=s.replace('%7B$'+i+'%7D', v,'gi');
    }
    return s;
}

var sb_disp;
var _form=el(g_formName);
var _o_point,_o_point_temp,_o_point_temp1;
var _o_zoom, _o_zoom_temp,_o_zoom_temp1;
var _map_loaded_=false;
var scheetzsMap_result_loaded=false;
var showMapInThumbnail = false;	
var scheetzsMap_result_loaded1=false;
	

var _trk_sc_0 = new Array();
var _trk_sc_1 = new Array();
var _use_transaction_algorithm = false;

(function(){
var f_old = document.createElement;
document.createElement = function(a){
    try{
        var r = f_old(a); //IE
    }catch(e){
        try{
            var r = f_old.call(this,a); //FF
        }catch(e){
            _use_transaction_algorithm = true;
        }    
    }
    if(a=='script')_trk_sc_0.push(r);
    return r;
}
})()

function ver_trk(){
    for(var i in _trk_sc_0)
        if(_trk_sc_0[i].src!=_trk_sc_1[i]){
            _trk_sc_1[i] = _trk_sc_0[i].src;
            if(_trk_sc_1[i].indexOf('maps.google.com/maps?spn=')!=-1)
                GTransaction(true);
        }
}
setInterval('ver_trk();',1000);

//get or FHU : start with this extent
if(el('extent_sw') && el('extent_sw').value!='' && el('extent_sw').value!=' '){
	var _o_bounds=el('extent_sw').value+','+el('extent_ne').value;
}

if(!window._o_bounds || _o_bounds=='' || _o_bounds==' '){
	var _o_bounds='13.239945,-137.460937,70.020587,-51.328125';
}
var map,bounds,_o_ext,_o_ext_temp, _o_bounds_points,tempMap,_o_bounds_points_temp;
var _Markers_=[];
var _scheetz_Markers_=[];

function  initMap(){
	if(map) return;
	var jafieb=new Image();
	jafieb.src='http://www.google.com/intl/en_ALL/mapfiles/smc.png';

    if (GBrowserIsCompatible()) {
        _map_loaded_=true;
        map = new GMap2(document.getElementById(g_divMap));


	
	        
        function searchMap(){}
        searchMap.prototype = new GControl();
        searchMap.prototype.initialize = function(map) {
            var con = map.getContainer();
            var oButton = document.createElement('div');
            oButton.appendChild(document.createTextNode('Search map'));
            oButton.id = 'sbmap';
            //DOM:map covers
            //oButton.style.width ='52px';
            acl.style([oButton],{width:'72px',cursor:'pointer',background:'#FFF',border:'1px solid black',padding:'0px 5px 1px 5px',zIndex:251});
            con.appendChild(oButton);
            oButton.onclick = function (){ beforeSubmit(); }
            return oButton;
        }
        
       
		bounds = new GLatLngBounds;
        map.enableContinuousZoom();
        map.enableDoubleClickZoom();
        
        G_HYBRID_MAP.Hz='Aerial';
        
        map.addControl(new GMapTypeControl());
	    map.addControl(new GScaleControl());
        
        /*
		GEvent.addListener(map, "infowindowclose", function() {
            map.setCenter(_o_point,_o_zoom);
        })
        */
		
        GEvent.addListener(map, "moveend", function () {
            if(map.getInfoWindow().isHidden()){
                _o_zoom=map.getZoom();
                _o_point=map.getCenter();
            }
			updateExtent();
			updateGCount(map.getBounds(), map.getZoom(),map.getCurrentMapType());
        });
        GEvent.addListener(map, "zoomend", function (oldZoom,newZoom) {
            if(map.getInfoWindow().isHidden()){
                _o_zoom=map.getZoom();
                _o_point=map.getCenter();
            }
			updateExtent();
        });

		var a=_o_bounds.split(',');
		_o_bounds_points = new GLatLngBounds( new GLatLng(a[0],a[1]),new GLatLng(a[2],a[3]) );
		_o_zoom=map.getBoundsZoomLevel(_o_bounds_points);
		_o_point=_o_bounds_points.getCenter();

		var t=el(g_divMap).style.display;
		el(g_divMap).style.display='block';
		_o_ext=_o_bounds;
		
		map.addControl(new GSmallMapControl());
		gz_ctrl=new GZoomControl();
		map.addControl(gz_ctrl,new GControlPosition(G_ANCHOR_TOP_LEFT,new GSize(70,9)) );

		map.addControl(new searchMap(),new GControlPosition(G_ANCHOR_TOP_LEFT,new GSize(160,9)) );
		setInterval('display_();',1000);
		map.setCenter(_o_point,_o_zoom);map.setMapType(G_NORMAL_MAP);map.checkResize();setTimeout('map.setMapType(G_NORMAL_MAP);',200);
		var __tmp=new GKeyboardHandler(map);

		document.onunload=function (){ GUnload(); }
		
		if(el('search_type') && el('search_type').value=='map'){
			updateExtent();
		}

	}
}      


function drawMapResults(results){
    if(mapResults_loaded){
	    map.checkResize();
		return;
	}
	bounds = new GLatLngBounds;
	mapResults_loaded = true;

	for (var i in results){
		if(results[i].lat && results[i].lon && results[i].lat!=0 && results[i].lon!=0){ 
        	_Markers_[results[i].id]=new createMarker(results[i]);
			map.addOverlay(_Markers_[results[i].id]); 
		}
    }
    map.checkResize();
	var _CenterRes=!(el('search_type') && el('search_type').value=='map') || (the_criteria && the_criteria.search_recommended);
	if(!bounds.isEmpty() && bounds.getCenter().lat()!=0 && bounds.getCenter().lng()!=0 && _CenterRes){
		_o_zoom=map.getBoundsZoomLevel(bounds);
		map.setZoom(_o_zoom);
		map.panTo(bounds.getCenter());
		_o_point=bounds.getCenter();
	}else{
		map.setCenter(_o_point,_o_zoom);
		map.panTo(_o_point);
	}
}






// Creates a marker at the given point with the given number label
function createMarker(listing) {
    var point=new GLatLng(listing.lat,listing.lon);
    var icon = new GIcon();
    icon.image =g_listing_icon[0];
    if(g_listing_icon[listing.hometype]!=null && g_listing_icon[listing.hometype]!='' && g_listing_icon[listing.hometype]!=' ') icon.image = g_listing_icon[listing.hometype];
    //icon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
	if(g_listing_local && g_listing_local!=null && g_listing_local!='' && g_listing_local!=' ' && listing.local_listing && listing.local_listing=='t') icon.image = g_listing_local;
	if(g_listing_featured && g_listing_featured!=null && g_listing_featured!='' && g_listing_featured!=' '&& listing.featured_prop && listing.featured_prop=='t') icon.image = g_listing_featured;
    icon.iconSize = new GSize(16, 16);
    //icon.shadowSize = new GSize(22, 20);
    icon.iconAnchor = new GPoint(4, 20);
    icon.infoWindowAnchor = new GPoint(8, 8);
    var marker = new GMarker(point,icon);
    
    GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(el('map_tpl_'+listing.id).innerHTML);
        
    });
    
    GEvent.addListener(marker, "infowindowclose", function() {
        //map.setCenter(_o_point,_o_zoom);
    })
    
    bounds.extend(point);
    return marker;
}


function ZoomTo(listing_id){
    var listing=getListingById(listing_id);
	if((listing.lat==null && listing.lon==null) || (listing.lat==0 && listing.lon==0)) return;
	var p=new GLatLng(listing.lat,listing.lon);
    _o_point=map.getCenter();
    _o_zoom=map.getZoom();
	map.panTo(p);
	if(listing_id){
		_Markers_[listing_id].openInfoWindowHtml(el('map_tpl_'+listing_id).innerHTML);
	}
}

function getListingById(listing_id){
    for(var i in listings) if( listings[i].id==listing_id ) return listings[i];
    return false;
}


function updateExtent(){
	if(!window.map){return;}
	if(el('search_type').value=='map'){
		var SW=map.getBounds().getSouthWest().toUrlValue();
		var NE=map.getBounds().getNorthEast().toUrlValue();
	}else{
		var SW='';
		var NE='';
	}
	if(el('extent_sw')){
		el('extent_sw').value=SW;
		el('extent_ne').value=NE;
	}
	if(window.optionSelected){
		optionSelected(el('extent_sw'),'SW');
		optionSelected(el('extent_ne'),'NE');
	}
}



// transaction variables
var GCount = 0;
var GBounds = null;
var GZoom = null;
var GType = null;

// function to check for new transactions
function updateGCount(mapBounds, mapZoomLevel, mapType)
{
        if(!_use_transaction_algorithm) return;
        // null checks are for initial map load transaction
        var updateMapBounds =    (GBounds == null) || !GBounds.intersects(mapBounds);
        var updateMapZoomLevel = (GZoom == null) || (GZoom != mapZoomLevel);
        var updateMapType =      (GType == null) || (GType != mapType);

        if (updateMapBounds || updateMapZoomLevel) { GBounds = mapBounds; } 
		if (updateMapZoomLevel) { GZoom = mapZoomLevel;}
        if (updateMapType)      { GType = mapType;     }

        if (updateMapBounds || updateMapZoomLevel || updateMapType)
        {
            //GLog.write("transaction count: " + (++GCount));
			GTransaction(true);
        }

}

function GTransaction(oneMoreTime){
	var _url__= "/gtransaction?rand="+Math.random()+'&dt='+(new Date()).getTime();
	GDownloadUrl(_url__, function(data, responseCode) {
	  if(responseCode!='200' && oneMoreTime){
		  setTimeout('GTransaction(null);',800);
	  }
	});
}

/*--------- c21scheetz enhancements (Nov/3/2010)---START-----*/

function initScheetzMap(divname){
if(!showMapInThumbnail){
		return;
	}
	if(tempMap)
		return;
scheetzsMap_result_loaded = false;
 var tempSchDiv = divname;
   if (GBrowserIsCompatible()) {
  _map_loaded_=true;
    tempMap = new GMap2(document.getElementById(tempSchDiv),new GMapUIOptions(new GSize(500,300)));

	//var mapOptions = new Object();
	//mapOptions.size = new GSize(500,500);
	//tempMap = new GMap2(document.getElementById(tempSchDiv),mapOptions);
    
     
  
	bounds = new GLatLngBounds;
	tempMap.enableContinuousZoom();
	 tempMap.enableDoubleClickZoom();
												        
	  G_HYBRID_MAP.Hz='Aerial';
	 // tempMap.addControl(new GMenuMapTypeControl());
	 // tempMap.addControl(new GScaleControl());
	 tempMap.setUIToDefault();

	 
/*
GEvent.addListener(map, "infowindowclose", function() {
  map.setCenter(_o_point,_o_zoom);
})
 */
														
	//tempMap.setUI(new GMapUIOptions(new GSize(500,300)));
	var a=_o_bounds.split(',');
	if(!_o_bounds_points_temp){
	_o_bounds_points_temp = new GLatLngBounds( new GLatLng(a[0],a[1]),new GLatLng(a[2],a[3]) );
	_o_zoom_temp=tempMap.getBoundsZoomLevel(_o_bounds_points_temp);
	_o_point_temp=_o_bounds_points_temp.getCenter();
	}else{
	tempMap.getBoundsZoomLevel(_o_bounds_points_temp);
	}
	var t=el(tempSchDiv).style.display;
	el(tempSchDiv).style.display='block';
	//_o_ext_temp=_o_bounds;
	// tempMap.addControl(new GSmallMapControl());
	//gz_ctrl=new GZoomControl();
	//tempMap.addControl(gz_ctrl,new GControlPosition(G_ANCHOR_TOP_LEFT,new GSize(70,9)) );
	//tempMap.addControl(new searchMap(),new GControlPosition(G_ANCHOR_TOP_LEFT,new GSize(160,9)) );
	tempMap.setCenter(_o_point_temp,_o_zoom_temp);
	tempMap.setMapType(G_NORMAL_MAP);
	//tempMap.checkResize();
	//setTimeout('tempMap.setMapType(G_NORMAL_MAP);',200);
	var __tmp=new GKeyboardHandler(tempMap);
	document.onunload=function (){ GUnload(); }
	}
	
}

function drawScheetzMapResults(results){
if(!tempMap){
	return;
}
if(scheetzsMap_result_loaded){
	    tempMap.checkResize();
		return;
	}
	tempMap.clearOverlays();
	bounds = new GLatLngBounds;
	scheetzsMap_result_loaded = true;

	for (var i in results){
		if(results[i].lat && results[i].lon && results[i].lat!=0 && results[i].lon!=0){ 
        	_scheetz_Markers_[results[i].id]=new createMarker(results[i]);
			tempMap.addOverlay(_scheetz_Markers_[results[i].id]); 
		}
    }
    tempMap.checkResize();
	//tempMap.setZoom(_o_zoom_temp);
	//tempMap.setCenter(_o_point,_o_zoom);
	//tempMap.panTo(_o_point);
	//var _CenterRes=!(el('search_type') && el('search_type').value=='map') || (the_criteria && the_criteria.search_recommended);
	if(!bounds.isEmpty() && bounds.getCenter().lat()!=0 && bounds.getCenter().lng()!=0 ){
		_o_zoom=tempMap.getBoundsZoomLevel(bounds);
		tempMap.setZoom(_o_zoom);
		tempMap.panTo(bounds.getCenter());
		_o_point=bounds.getCenter();
	}else{
		tempMap.setCenter(_o_point,_o_zoom);
		tempMap.panTo(_o_point);
	}
}


/*--------- c21scheetz enhancements (Nov/17/2010)---END-----*/
/*--------- c21scheetz enhancements   Added for ListViewTemplate for displaying Google map-----*/


