﻿// JScript File
    
google.load("maps", "2");

var localSearch = new GlocalSearch();
var map;

var iconHotel;
var iconMarket;

var g_bOpenMapInNewWindow = false;

// = new google.maps.Icon();
//iconM.image = "images/b_submit.gif";
//iconM.shadow = "http://www.google.com/mapfiles/shadow50.png";
//iconM.iconSize = new GSize(20, 34);
//iconM.shadowSize = new GSize(37, 34);
//iconM.iconAnchor = new GPoint(10, 34); 



function Init()
{
    iconMarket = new google.maps.Icon();
    iconMarket.image = "/maps/images/map_market.png";
    //iconM.shadow = "http://www.google.com/mapfiles/shadow50.png";
    iconMarket.iconSize = new GSize(30, 30);
    iconMarket.shadowSize = new GSize(30, 30);
    iconMarket.iconAnchor = new GPoint(30, 30); 
    
    
    iconHotel = new google.maps.Icon();
    iconHotel.image = "/maps/images/map_hotel.png";
    iconHotel.iconSize = new GSize(30, 30);
    iconHotel.shadowSize = new GSize(30, 30);
    iconHotel.iconAnchor = new GPoint(30, 30); 

}
   
function CreateMap(tagID,lat,lng,bOpenMapInNewWindow)  //y-axis,x-axis
{
        map = new google.maps.Map2(document.getElementById(tagID));
        map.setCenter(new google.maps.LatLng(lat, lng), 14);
        map.addControl(new GSmallMapControl());
        
        g_bOpenMapInNewWindow = bOpenMapInNewWindow;
        
        if (bOpenMapInNewWindow){
            GEvent.addListener(map,"click", function(overlay,latlng,overlaylatlng){YAHOO.com.thecodecentral.dialog3.show();
            });
        }
        
        //map.addControl(new GMapTypeControl());
        //map.addControl(new GScaleControl());

                       
        //map.openInfoWindow(new GLatLng(37.4419, -122.1419), "Hello World!");
}

function MoveFocus(lat,lng)
{
    map.setCenter(new google.maps.LatLng(lat, lng), 14);
}



function AddMarker(lat,lng,strText)
{

    var marker = new google.maps.Marker(new google.maps.LatLng(lat,lng));
    if(!g_bOpenMapInNewWindow){
        GEvent.addListener(marker,"click",function(){map.openInfoWindow(new GLatLng(lat, lng),strText);});
    }
    map.addOverlay(marker);
    
}

function AddHotelMarker(lat,lng,strText)
{

    var marker = new google.maps.Marker(new google.maps.LatLng(lat,lng),{icon:iconHotel});
    if(!g_bOpenMapInNewWindow){
        GEvent.addListener(marker,"click",function(){map.openInfoWindowHtml(new GLatLng(lat, lng),strText);});
    }
    map.addOverlay(marker);
    
}

 function orderOfCreation(marker,b) { 
        return 1000; 
      } 



function AddChristmasMarketMarker(lat,lng,strText)
{

    //var marker = new google.maps.Marker(new google.maps.LatLng(lat,lng),{icon:iconMarket},{zIndexProcess:orderOfCreation});
    var marker = new google.maps.Marker(new google.maps.LatLng(lat,lng),{zIndexProcess:orderOfCreation,icon:iconMarket});
    //var marker = new google.maps.Marker(new google.maps.LatLng(lat,lng),{zIndexProcess:orderOfCreation});
    if(!g_bOpenMapInNewWindow){
        GEvent.addListener(marker,"click",function(){map.openInfoWindow(new GLatLng(lat, lng),strText);});
    }
    map.addOverlay(marker);
    
}

function setCenterToPoint(point)
{
	map.setCenter(point, 15);
}

function setMapTo(address)
{
    var geocoder = new GClientGeocoder();
    geocoder.getLatLng(address,
     function(point)
    {
                if(!point){
                    alert(address + ' not found');
                } else {
                    
                    map.setCenter(point,13);
                    var marker = new google.maps.Marker(point);
                    map.addOverlay(marker);
                    marker.openInfowWindowsHtml(address);
                }
    }

    
    );
    
    /*geocoder.getLatLng(
        address,
            function(point){
                if(!point){
                    alert(address + " not found");
                } else {
                    map.setCenter(point,13);
                    var marker = new google.maps.Marker(point);
                    map.addOverlay(marker);
                    marker.openInfowWindowsHtml(address);
                }
     );*/
    
}


 /*function(point)
 {
                if(!point){
                    alert(address + " not found");
                } else {
                    alert("done");
                    /*map.setCenter(point,13);
                    var marker = new google.maps.Marker(point);
                    map.addOverlay(marker);
                    marker.openInfowWindowsHtml(address);
                }
 }*/

function usePointFromPostcode(postcode, country, callbackFunction) {
	
	localSearch.setSearchCompleteCallback(null, 
		function() {
			
			if (localSearch.results[0])
			{		
				var resultLat = localSearch.results[0].lat;
				var resultLng = localSearch.results[0].lng;
				var point = new google.maps.LatLng(resultLat,resultLng);
				callbackFunction(point);
			}else{
				alert("Postcode not found!");
			}
		});	
		
	localSearch.execute(postcode + ", " + country);
}



//       var iconMole = Icon(); 
//        iconMole.image = 'images/b_submit.gif';
//        iconMole.shadow = 'mole_down.png';
//        iconMole.iconSize = new GSize(36, 42);
//        iconMole.shadowSize = new GSize(36, 42);
//        iconMole.iconAnchor = new GPoint(6, 20);
//        iconMole.infoWindowAnchor = new GPoint(5, 1);
// 