var map;
 

// Create a base icon for all of our markers that specifies the
// shadow, icon dimensions, etc.
var baseIcon0 = new GIcon();
baseIcon0.shadow = "http://www.google.com/mapfiles/shadow50.png";
baseIcon0.iconSize = new GSize(19, 17);
baseIcon0.shadowSize = new GSize(19, 17);
baseIcon0.iconAnchor = new GPoint(5, 17);
baseIcon0.infoWindowAnchor = new GPoint(5, 1);
baseIcon0.infoShadowAnchor = new GPoint(9, 12);
  

 var baseIcon1 = new GIcon();
baseIcon1.shadow = "http://www.google.com/mapfiles/shadow50.png";
baseIcon1.iconSize = new GSize(30	, 30);
baseIcon1.shadowSize = new GSize(30,30);
baseIcon1.iconAnchor = new GPoint(5, 17);
baseIcon1.infoWindowAnchor = new GPoint(5, 1);
baseIcon1.infoShadowAnchor = new GPoint(9, 12);
   


	 
function init() { 
	
	
try{
	//  alert(' center @ ' + centerLatitude + ' ' + centerLongitude); 
   map = new GMap2(document.getElementById("map"));
  map.addControl(new GLargeMapControl());
  map.addControl(new GMapTypeControl());
  map.addControl(new GOverviewMapControl());
  
  map.enableDoubleClickZoom();
  map.enableScrollWheelZoom();
  map.removeMapType(G_NORMAL_MAP);
  map.addMapType(G_PHYSICAL_MAP);    
  
  
  //alert('passed lat lng: ' +       centerLatitude + ' ' + centerLongitude); 
  map.setCenter(new GLatLng(centerLatitude, centerLongitude), startZoom);
  map.setMapType(G_PHYSICAL_MAP);
   //alert(' retrieve');
  retrieveMarkers();
    }
catch(e)
    {
    alert(e.message);
    return;
    }
}
 
window.onload = init; 
 
function createMarker(latlng, html, iconImage, icType) {
	
	
	try{
	
if (iconImage !='') {	
	if (icType == 0) {	 
		var icon = new GIcon(baseIcon0);
} else {
			var icon = new GIcon(baseIcon1);
}
	icon.image = iconImage;	 
    var marker = new GMarker(latlng, icon );
}	else {
 var marker = new GMarker(latlng);
}
GEvent.addListener(marker, 'click', function() {
	var markerHTML = html;
	marker.openInfoWindowHtml(markerHTML);
});

    }
catch(e)
    {
    alert(e.message);
    return;
    }



return marker;
}
 
function retrieveMarkers() {
  
try //Internet Explorer
  {
  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  }
catch(e)
  {
  try //Firefox, Mozilla, Opera, etc.
    {
    xmlDoc=document.implementation.createDocument("","",null);
    }
  catch(e)
    {
    alert("retrievemarkers: " + e.message);
    return;
    }
  }
 var   xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  
  function loadXML(xmlFile)
{
  xmlDoc.async="false";
  xmlDoc.onreadystatechange=verify;
  xmlDoc.load(xmlFile);
  xmlObj=xmlDoc.documentElement;
}

 function verify()
{
  // 0 Object is not initialized
  // 1 Loading object is loading data
  // 2 Loaded object has loaded data
  // 3 Data from object can be worked with
  // 4 Object completely initialized
  if (xmlDoc.readyState != 4)
  {
      return false;
  }
}
 //alert('b4 loadxml');
   
 loadXML('cwcity.xml');

 var markers = xmlDoc.documentElement.getElementsByTagName("marker");
 // alert(markers.length);
 

 
for (var i = 0; i < markers.length; i++) {
  	var lng = markers[i].getAttribute("lng");
	var lat = markers[i].getAttribute("lat");
//check for lng and lat so MSIE does not error
//on parseFloat of a null value
if(lng && lat) {
var latlng = new GLatLng(parseFloat(lat),parseFloat(lng));
 
//marker info shown:
// contains popup or link to citydetails
var popurl = "cityshow.asp?city="   + i; 
var html ='<div><b>city</b> '+ markers[i].getAttribute("cName") + '</div>'
     + 'Details: <div><a href=javascript:poptastic("' + popurl + '");>Temporary Popup</a></div>'           
     + '<div> <a href=cityshow.asp?city='    + i+ ' target= "_blank">New full sized window</a></div>';
 
 // choose icon based on current owner, recruit pts, unless occupied 
 
try{
  
 
var icType = 0;	
 
if (owner[i] == 1) { 		 
   var iconImage = "http://cascoly.com/games/cw/iconb.png";
 
} else { 
	if (owner[i] == 2) { 	
	 var iconImage = "http://cascoly.com/games/cw/iconr.png";
	
   } else { 
	  var iconImage = "http://cascoly.com/games/cw/icong.png";
   }
}
 
for (var ii = 1; ii < tcity.length; ii++) { 
	 if (tcity[ii] == i) {
		 var icType = 1;	
		if (tside[ii] == 1) { 	var iconImage = "http://maps.google.com/mapfiles/kml/pal4/icon61.png"; }
		if (tside[ii] == 2) { 	var iconImage = "http://maps.google.com/mapfiles/kml/pal4/icon53.png"; }
		if (tside[ii] == 3) { 	var iconImage = "http://maps.google.com/mapfiles/kml/pal3/icon32.png"; }
	
   } 
 
}



  


   }
  catch(e)
    {
    alert(e.message);
    return;
    }
var marker = createMarker(latlng, html, iconImage, icType);
map.addOverlay(marker );

 //print markers[i].getAttribute("cName");

}
} //for 
  
 
 
   // alert('city links ='+ cid1.length);
   
//    show city links

 // testing  cid1.length = 150;
for (var ii = 1; ii < cid1.length; ii++) { 
    if (ii > cid1.length -2) {
	// alert(ii + ' links ='+ cid1[ii] + ' ' + cid2[ii]);
    }
var lat1 = markers[cid1[ii]].getAttribute("lat");
var lng1 = markers[cid1[ii]].getAttribute("lng");
var lat2 = markers[cid2[ii]].getAttribute("lat");
var lng2 = markers[cid2[ii]].getAttribute("lng");

var rcolor = "#ff0000";
  if (roadtype[ii] == 2) var rcolor = "#ffff00";		// road
  if (roadtype[ii] == 1) var rcolor = "#ff0000";		// railroad
  if (roadtype[ii] == 3) var rcolor = "#0000ff";		// river

  
 var polyline2 = new GPolyline([  new GLatLng(lat1,lng1),  new GLatLng(lat2, lng2)], rcolor , 3);
 map.addOverlay(polyline2);
  }
 
   //alert('done city links ='+ cid1.length);
 

}
 var newwindow;
function poptastic(url)
{
	newwindow=window.open(url,'name','height=500,width=600,resizeable=1,scrollbars=1');
	if (window.focus) {newwindow.focus()}
}

