/*Load and set map settings*/
if (GBrowserIsCompatible()) {
    //Create map
    var map = new GMap2(document.getElementById("map"));
           
    //Add controls
    var mapTypeControl = new GMapTypeControl();
    var topRight = new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(10,10));
    //map.addControl(mapTypeControl, topRight);
    map.addControl(new GSmallMapControl());
    
    map.enableScrollWheelZoom();
    
    //Set mapcenter
    var gll = new GLatLng(63.4319, 10.3919);
    map.setCenter(gll, 5);
}
/*Done with map loading*/

/*
function load(){
    if (GBrowserIsCompatible()) {
        //Create map
        var map = new GMap2(document.getElementById("map"));
           
        //Add controls
        var mapTypeControl = new GMapTypeControl();
        var topRight = new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(10,10));
        map.addControl(mapTypeControl, topRight);
        map.addControl(new GSmallMapControl());
    
        map.enableScrollWheelZoom();
    
        //Set mapcenter
        var gll = new GLatLng(63.4319, 10.3919);
        map.setCenter(gll, 14);
    }
}
*/

/*Draw a circle in the map, used for marking areas*/
function drawCircle(lat, lng, rad, color){
    var radius = rad;
    var pos = new GLatLng(lat, lng);
    
    var circlePoints = Array();

    with (Math){
        var d = radius/6378.8;	// radians
        
        var lat1 = (PI/180)* pos.lat(); // radians
        var lng1 = (PI/180)* pos.lng(); // radians

        //Rotate through circle angles and draw circle
        for (var a = 0 ; a < 361 ; a++ ){
            var tc = (PI/180)*a;
            var y = asin(sin(lat1)*cos(d)+cos(lat1)*sin(d)*cos(tc));
            var dlng = atan2(sin(tc)*sin(d)*cos(lat1),cos(d)-sin(lat1)*sin(y));
            var x = ((lng1-dlng+PI) % (2*PI)) - PI ; // MOD function
            var point = new GLatLng(parseFloat(y*(180/PI)),parseFloat(x*(180/PI)));
            circlePoints.push(point);
        }

        if (d < 1.5678565720686044){
            circle = new GPolygon(circlePoints, color, 2, 1, color, 0.25);	
        }else{
            circle = new GPolygon(circlePoints, color, 2, 1);	
        }
        
        map.addOverlay(circle); 
    }
}

	function showAddress(address) {
		var geocoder = new GClientGeocoder();
		if (geocoder) {
			geocoder.getLatLng(address,
				function(point) {
					if (!point) {
						map.setCenter(gll, 0);
					} else {
						map.clearOverlays();
						map.setCenter(point, 14);
						var marker = new GMarker(point, {draggable: false});  
						map.addOverlay(marker);
					}
				});
		}
	}


function placeAdvert(lat, lng, htmlToDisplay, id){
    var coords = new GLatLng(lat, lng);
    var marker = new GMarker(coords, new GIcon(G_DEFAULT_ICON));
	marker.value = id;		
	GEvent.addListener(marker, "click", function() {
		//var myHtml = "<b>#" + number + "</b><br/>" + message[number -1];
		marker.openInfoWindowHtml(htmlToDisplay);
	});
	
	map.addOverlay(marker);
 }

