// JavaScript Document
function logDetail(page)
{
	window.open(page, "temp_window", "height=360, width=950, toolbar=no, scrollbars=yes, resizable=yes, menubar=no, location=no",0);
}

function swapBanner()
{
	var b1 = "images/banner.jpg";
	var b2 = "images/banner1.jpg";
	var b3 = "images/banner2.jpg";
	var b4 = "images/banner3.jpg";
	var b5 = "images/banner4.jpg";
	var b;
	var initial = $("#backimagehead").attr("src");
	
	if(initial == b1)
	{
		b = b2;
	}
	else if(initial == b2)
	{
		b = b3;
	}
	else if(initial == b3)
	{
		b = b4;
	}
	else if(initial == b4)
	{
		b = b5
	}
	else
	{
		b = b1;
	}
	
	$("#backimagehead").attr("src", b);
}

function getWeather()
{
	// validate and process form here  
	var icao = $("#icao").val();
	$("#wupdate").load("./callback/weather.php?v=" + icao, icao); 
}

function loadPilot(pid)
{
	if(pid != "")
	{
		$(document).ready(function() {
			$("#update").load("./callback/pilotsearch.php?pid=" + pid, pid);
		 });
	}
	else
	{
		$(document).ready(function(){
			$("#update").empty();
		})
	}
}

var gm = 0;
var gmarkers = [];
var htmls = [];
var oldmap;



var depAir = new GIcon();
depAir.image = "./images/map/air_arr.png";
depAir.iconSize = new GSize(40, 40);
depAir.iconAnchor = new GPoint(6, 20);
depAir.infoWindowAnchor = new GPoint(5, 1);

var arrAir = new GIcon();
arrAir.image = "./images/map/air_dep.png";
arrAir.iconSize = new GSize(40, 40);
arrAir.iconAnchor = new GPoint(6, 20);
arrAir.infoWindowAnchor = new GPoint(5, 1);

var plane = new GIcon();
plane.image = "./images/map/plane.png";
plane.iconSize = new GSize(40, 40);
plane.iconAnchor = new GPoint(6, 20);
plane.infoWindowAnchor = new GPoint(5, 1);

function addMapData(map, mtype) 
{
	map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
	map.setCenter(new GLatLng(37.6499444,-97.4330556),4);

					 
	var xml = GXmlHttp.create();
	
	xml.open("GET", "./xml/connected.xml.php", true);
  		
	xml.onreadystatechange = function() 
	{  	
	
		if (xml.readyState == 4) 
		{
	    	var xmlDoc = xml.responseXML;
	        //loop through pilots
	        var markers = xmlDoc.documentElement.getElementsByTagName("marker"); 
	        for (var i = 0; i < markers.length; i++)
			{
	         	// get attributes
	          	var lat = parseFloat(markers[i].getAttribute("lat"));
	            var lon = parseFloat(markers[i].getAttribute("lon"));
				
	            var point = new GLatLng(lat,lon);           
				
				var marker_type = markers[i].getAttribute("type");  
	           
			    var html = markers[i].getAttribute("html");
				var label = markers[i].getAttribute("label");		
	            // create the marker
	            var newmarker = createMarker(marker_type, point, html, map);
				
	       		gmarkers[gm] = newmarker;
          		htmls[gm] = html;
				gm += 1;
					
	            map.addOverlay(newmarker);
	        }
		   	// ========= Now process the polylines ===========
			var lines = xmlDoc.documentElement.getElementsByTagName("line");
	        // read each line
	        for (var a = 0; a < lines.length; a++) 
			{
	            // get any line attributes
				
	            var colour = lines[a].getAttribute("colour");
	            var width  = parseFloat(lines[a].getAttribute("width"));
	            // read each point on that line
	            var points = lines[a].getElementsByTagName("point");
	            var pts = [];
	            for (var i = 0; i < points.length; i++) 
				{
	               pts[i] = new GLatLng(parseFloat(points[i].getAttribute("lat")),
	                                   parseFloat(points[i].getAttribute("lon")));
	        	}
			var poptions = {geodesic:true}
			map.addOverlay(new GPolyline(pts, colour, width, 1, poptions));
			}		
		}        
	}
xml.send(null);
}


// A function to create the marker and set up the event window
function createMarker(type, point, html, map)
{
	var mark;
	if (type=="pilot")
    {
		mark = new GMarker(point, plane);
		addListen(mark, point, html, map);
	}
	else if (type=="dep")
    {
       	mark = new GMarker(point, depAir);
		addListen(mark, point, html, map);
    }
	else if (type=="arr")
	{
       	mark = new GMarker(point, arrAir);
		addListen(mark, point, html, map);
    }
	return mark;
}

function addListen(marker, point, html, map)
{
			GEvent.addListener(marker, "click", function() {
							map.setCenter(point, 7);
        					marker.openInfoWindowHtml(html);
							gm++;});

}


function findpilot(i) {
	gmarkers[i].openInfoWindowHtml(htmls[i]);
}
