// JavaScript Document
latsgn=1;
lgsgn=1;
var map = null;
var iconBlue = null;
var iconRed = null;
var customIcons = [];

////////////////////////////////////////////////////////////////////////////////
		
		//16 Degree 47 Minute 54 second
		/*latitude=16;
		latitudem=47;
		latitudes=54; */
		//96 degree 08 minute 58 second
		/*longitude=96;
		longitudem=08;
		longitudes=58;

		showLatLong1(16,47,54,96,08,58);
*/


    function initialize() {
		
	  map = new GMap2(document.getElementById("map"));
      if (GBrowserIsCompatible()) {
		  
		  
		showLatLong1(21,13,40,96,25,54,5,'');
		
		
	iconBlue = new GIcon(); 
    iconBlue.image = 'blue-dot.png';
    iconBlue.shadow = 'shadow.png';
    iconBlue.iconSize = new GSize(12, 20);
    iconBlue.shadowSize = new GSize(22, 20);
    iconBlue.iconAnchor = new GPoint(6, 20);
    iconBlue.infoWindowAnchor = new GPoint(5, 1);
	
	iconRed = new GIcon(); 
    iconRed.image = 'red-dot.png';
    iconRed.shadow = 'shadow.png';
    iconRed.iconSize = new GSize(12, 20);
    iconRed.shadowSize = new GSize(22, 20);
    iconRed.iconAnchor = new GPoint(6, 20);
    iconRed.infoWindowAnchor = new GPoint(5, 1);
	  

    customIcons["E"] = iconBlue;
    customIcons["N"] = iconRed;

		
		map.enableDoubleClickZoom();

		
		GDownloadUrl("townlist.xml", function(data) {
          var xml = GXml.parse(data);
          var markers = xml.documentElement.getElementsByTagName("marker");
          for (var i = 0; i < markers.length; i++) {
            var name = markers[i].getAttribute("cityname");
            var latitude = markers[i].getAttribute("latitude");
            var latitudem = markers[i].getAttribute("latitudem");			
            var latitudes = markers[i].getAttribute("latitudes");						
            var longitude = markers[i].getAttribute("longitude");									
            var longitudem = markers[i].getAttribute("longitudem");
			var longitudes = markers[i].getAttribute("longitudes");
			var type = markers[i].getAttribute("type");
            var point = createpoint(latitude, latitudem,latitudes, longitude,  longitudem,  longitudes);
			if(type!='E') 
			{
				type='N';
				
			}
            var marker = createMarker(point,name,type);

            map.addOverlay(marker);
          }
        });



		
		
				GEvent.addListener(map, 'click', function(overlay,point) 
		{
			compos(point);

		});


		
	}
 }

	
	function showLatLong1(latitude, latitudem,latitudes, longitude,  longitudem,  longitudes,zoom,cityname) {
	
		if(latitude < 0)  { latsgn = -1; }
		alat = Math.abs( Math.round(latitude * 1000000.));
		
		
		latitudem = Math.abs(Math.round(latitudem * 1000000.)/1000000);  //integer
		absmlat = Math.abs(Math.round(latitudem * 1000000.));  //integer
		latitudes = Math.abs(Math.round(latitudes * 1000000.)/1000000);
		absslat = Math.abs(Math.round(latitudes * 1000000.));
		
		if(longitude < 0)  { lgsgn = -1; }
		alon = Math.abs( Math.round(longitude * 1000000.));
		longitudem = Math.abs(Math.round(longitudem * 1000000.)/1000000);
		absmlon = Math.abs(Math.round(longitudem * 1000000));
		longitudes = Math.abs(Math.round(longitudes * 1000000.)/1000000);
		absslon = Math.abs(Math.round(longitudes * 1000000.));
		
		latitude = Math.round(alat + (absmlat/60.) + (absslat/3600.) ) * latsgn/1000000;
		
		longitude = Math.round(alon + (absmlon/60) + (absslon/3600) ) * lgsgn/1000000;
				
				/////////////////////////////////////////////////////////////////////////////////////
			
		var point = new GLatLng(latitude,longitude);
		//var map = new GMap2(document.getElementById("map_canvas"));
		//var map = new GMap2(document.getElementById("map"));
		map.setCenter(point,zoom);
		map.setMapType(G_HYBRID_MAP);
		map.setUIToDefault();		
		
		/*opts = { 
				  "title": "city",
				  "labelText": cityname,
				};
				var marker = new LabeledMarker(point, opts);*/
			
		/*	GEvent.addListener(marker, "click", function() {
				  marker.openInfoWindowHtml("I'm a Labeled Marker!");
				}); */
		
		
//		marker = new GMarker(point, {draggable:false});
	//	map.addOverlay(marker);
		
		
//		GEvent.addListener(marker, "click", function() {marker.openInfoWindowHtml("<font face='Zawgyi-one'>"+cityname+"</font>");});
	
		
		
				
		//var label = new ELabel(point, '<span style="background-color:#ffffff;color:#black;font-size:20px;font-weight:bold;">'+cityname+'</span>', null, new GSize(6,-30), 50);
	
		//map.addOverlay(label);

       
}


function compos(point)
{
	
	
	var latA = Math.abs(Math.round(value=point.y * 1000000.));
var lonA = Math.abs(Math.round(value=point.x * 1000000.));

if(value=point.y < 0)
{
	var ls = '-' + Math.floor((latA / 1000000));
}
else
{
	var ls = Math.floor((latA / 1000000));
}

var lm = Math.floor(((latA/1000000) - Math.floor(latA/1000000)) * 60);
var ld = ( Math.floor(((((latA/1000000) - Math.floor(latA/1000000)) * 60) - Math.floor(((latA/1000000) - Math.floor(latA/1000000)) * 60)) * 100000) *60/100000 );

if(value=point.x < 0)
{
  var lgs = '-' + Math.floor((lonA / 1000000));
}
else
{
	var lgs = Math.floor((lonA / 1000000));
}

var lgm = Math.floor(((lonA/1000000) - Math.floor(lonA/1000000)) * 60);
var lgd = ( Math.floor(((((lonA/1000000) - Math.floor(lonA/1000000)) * 60) - Math.floor(((lonA/1000000) - Math.floor(lonA/1000000)) * 60)) * 100000) *60/100000 );

	
	
document.getElementById('point_show').innerHTML='<img src="blue-dot.png" border="0" align="left" /> &nbsp;&nbsp;&nbsp;= &nbsp;&nbsp;e-Telegram<br><br>';	
document.getElementById('point_show').innerHTML+="<b>X: </b>"+point.x.toFixed(3)+"<br>";
document.getElementById('point_show').innerHTML+="<b>Y: </b>"+point.y.toFixed(3)+"<br>";


document.getElementById('point_show').innerHTML+="<b>Latitude: </b>"+ls+"de "+lm+"m "+ld.toFixed(3)+" s<br>";
document.getElementById('point_show').innerHTML+="<b>Longitude: </b>"+lgs+"de "+lgm+"m "+lgd.toFixed(3)+" s<br>";

}


function createpoint(latitude, latitudem,latitudes, longitude,  longitudem,  longitudes)
					 
{
	if(latitude < 0)  { latsgn = -1; }
		alat = Math.abs( Math.round(latitude * 1000000.));
		
		
		latitudem = Math.abs(Math.round(latitudem * 1000000.)/1000000);  //integer
		absmlat = Math.abs(Math.round(latitudem * 1000000.));  //integer
		latitudes = Math.abs(Math.round(latitudes * 1000000.)/1000000);
		absslat = Math.abs(Math.round(latitudes * 1000000.));
		
		if(longitude < 0)  { lgsgn = -1; }
		alon = Math.abs( Math.round(longitude * 1000000.));
		longitudem = Math.abs(Math.round(longitudem * 1000000.)/1000000);
		absmlon = Math.abs(Math.round(longitudem * 1000000));
		longitudes = Math.abs(Math.round(longitudes * 1000000.)/1000000);
		absslon = Math.abs(Math.round(longitudes * 1000000.));
		
		latitude = Math.round(alat + (absmlat/60.) + (absslat/3600.) ) * latsgn/1000000;
		
		longitude = Math.round(alon + (absmlon/60) + (absslon/3600) ) * lgsgn/1000000;	
		
		var point = new GLatLng(latitude,longitude);
		
		return point;
}


function createMarker(point,cityname,type)
{
	
	
	var marker = new GMarker(point,customIcons[type]);
	
	 var html="<font face='zawgyi-one'>"+cityname+"</fotn>";
	 
	GEvent.addListener(marker, 'click', function() {
        marker.openInfoWindowHtml(html);
      });
	return marker;

}
