var url_load_map="/static/js/gmaps/google_detail_view_tab_map.js";
var url_load_events="/static/js/gmaps/google_detail_view_tab_events.js";
var url_load_schools="/static/js/gmaps/google_detail_view_tab_schools.js";
var url_load_job="/static/js/gmaps/google_detail_view_job.js";
var url_load_drive_score="/static/js/gmaps/google_detail_view_drive_score.js";
var url_load_street_view="/static/js/gmaps/google_detail_view_street_view.js";
var url_load_value_trends = "/static/js/gmaps/google_detail_view_value_trends.js";
var url_load_ecology="/static/js/gmaps/google_detail_view_tab_ecology.js";

var load_google_script = false;
function mapsLoaded(){
	if (load_google_script) return;
	load_google_script = true;
}

var load_google_search_script = false;
function mapsSearchLoaded(){
	    load_google_search_script = true;
}

function loadMaps() {
  google.load("maps", "2.x",{"callback" : mapsLoaded});
}

function loadMapSearh(){
   if (!load_google_script) return;
   google.load("search", "1",{"callback" : mapsSearchLoaded});
}

var load_google_ajax_loader = false;
function initLoader() {
  if (load_google_ajax_loader) return;
  load_js(maps_key);
  load_google_ajax_loader = true;
}	


function load_detail_gmaps(path, search){
    if (!load_google_script){
        initLoader();
		window.setTimeout('load_detail_gmaps("'+path+'",'+search+')',800);
		return;
 	}
	geocoder = new GClientGeocoder();
	if (search){
		if (!load_google_search_script) {
			loadMapSearh();
			window.setTimeout('load_detail_gmaps("' + path + '",'+search+')', 800);
			return;
		}
    }
	load_js(path);
}


function load_ms_map(){
     load_js("http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=5");
	 load_js("/static/js/msmaps/detail_view.js");
	 try{
	 	GetMap2(house_text);
	 }catch(e){
	 	window.setTimeout(load_ms_map,800)
	 }
}

// save house coord
function setHouseCoord(id,lat,lng){
    $.get("/ajax_gmaps_set_house_coord.html",{id:id,lat:lat,lng:lng})
} 

// for find addres to lat-lng
var geocoder = null;

function showAddress(house, func) {
         if (house["coord"] == "1" && parseFloat(house["lat"]) !=0 && parseFloat(house["lng"]) !=0 ){   
             var point = new GLatLng(parseFloat(house["lat"]),
			                         parseFloat(house["lng"]));
             func(point);
         } else {
         if (geocoder) {
             geocoder.getLatLng(house["name"],
                                function(point) {
                                        if (!point) 
											func(false);
										else {
											//alert(12345)
											setHouseCoord(house["id"], point.lat(), point.lng());
											func(point);
										}          
            }
         )
     }
   }
} 