//
// APRS WXmap handler, v0.3-SV1LH-09/2007.
//

    var sidebar_html = "";
    var gmarkers = [];
    var htmls = [];
    var i = 0;
    var histdays = 2;
    var icons = new Array();
    baseIcon = new GIcon();
    baseIcon.image = "images/mm_20_red.png";
    baseIcon.iconSize = new GSize(12, 20);
    baseIcon.iconAnchor = new GPoint(6, 20);
    baseIcon.infoWindowAnchor = new GPoint(5, 10);
    baseIcon.src = 'images/mm_20_red.png';
    icons['red'] = baseIcon;
    icons['purple'] = new GIcon(baseIcon);
    icons['purple'].image = "images/mm_20_purple.png";
    icons['purple'].src = 'images/mm_20_purple.png';

function createMarker(point, name, html, iconurl) {
        var marker;
	var wd;  var ht;
        var icon = new GIcon(baseIcon);
        if (iconurl) {
          icon.image = iconurl;
          if(iconurl.indexOf("png")==-1) { icon.iconSize = new GSize(19, 19); wd=ht='16'}
	     else { icon.iconSize = new GSize(11, 19); wd='9'; ht='16'; }
          marker = new GMarker(point, icon);
        } else { marker = new GMarker(point, icons["purple"]); }
        GEvent.addListener(marker, "click", function() {
          marker.openInfoWindowHtml(html);
        });
        gmarkers[i] = marker;
        htmls[i] = html;
        sidebar_html += '<img src="'+iconurl+'" width="'+wd+'" height="'+ht+'" align="left"><a href="javascript:showonmap(' + i + ')">' + name + '</a><br>';
        name = name.replace("-","_");
        marker.setTooltip(name);
        i++;
        return marker;
}

function showonmap(i) {
        var point = gmarkers[i].getPoint();
        gmarkers[i].openInfoWindowHtml(htmls[i]);
}

function positionOverview(x,y) {
     var omap=document.getElementById("map_overview");
     omap.style.left = x+"px";
     omap.style.top = y+"px";
     omap.firstChild.style.border = "1px solid gray";
     omap.firstChild.firstChild.style.left="4px";
     omap.firstChild.firstChild.style.top="4px";
     omap.firstChild.firstChild.style.width="120px";
     omap.firstChild.firstChild.style.height="120px";
}
   
function loadata() {
    sidebar_html = "";
    gmarkers.length = 0;
    htmls.length = 0;
    i = 0;
    var request = GXmlHttp.create();
    request.open("GET", "wxmln.php?hist=" + histdays, true);
    request.onreadystatechange = function() {
    if (request.readyState == 4) {
       if (request.status == 200) {    
          var xmlDoc = request.responseXML;
          var markers = xmlDoc.documentElement.getElementsByTagName("station");
          var stats = xmlDoc.documentElement.getElementsByTagName("stats");		    
          map.clearOverlays();
          for (var j = 0; j < markers.length; j++) {
 		var point = new GPoint(parseFloat(markers[j].getAttribute("lon")),
    			           parseFloat(markers[j].getAttribute("lat")));
		var call = markers[j].getAttribute("call");
		var desc = markers[j].getAttribute("desc");
		var iconurl = markers[j].getAttribute("icon");
		var marker = createMarker(point, call, desc, iconurl);
		map.addOverlay(marker);
                }
          }
          document.getElementById("sidebar").innerHTML = sidebar_html;
          for (var j = 0; j < stats.length; j++) {
                var wxstations = stats[j].getAttribute("wxstations");
                var quakestations = stats[j].getAttribute("quakestations");
                }
                document.getElementById("wxstations").innerHTML = wxstations;
                document.getElementById("quakestations").innerHTML = quakestations;
	}
      }
      request.send(null);
//      setInterval("loadata()", 300000);
}

function loadhistory() { 
histdays = document.ref.history.value;
loadata();
}

