var g_AlertEvents = Array();

function CreateRow(table){
	return table.insertRow(-1);
	//return document.createElement("tr");
}
function CreateCell(Row){
	return Row.insertCell(-1);
}

function getField(xmlObj, fieldName, num){
	var xmlChilds = xmlObj.childNodes;
	for (var i =0;i < xmlChilds.length;i++){
		if ((xmlChilds[i].tagName == fieldName)){
			if (num == 0)
				return xmlChilds[i].firstChild.nodeValue;
			num--;
		}
	}
	return "";
}
function Initalize_7Day() {
	var feed = new google.feeds.Feed("http://earthquake.usgs.gov/eqcenter/catalogs/eqs7day-M5.xml");
	feed.setResultFormat(google.feeds.Feed.XML_FORMAT);
	feed.setNumEntries(100);
	feed.load(function(result) {
		var container = document.getElementById("last7DaysList");
		var tablecontainer = document.createElement("table");
		if (!result.error) {
			var items = result.xmlDocument.getElementsByTagName("item");
			for (var i = 0; i < items.length; i++) {

				var title = getField(items[i],"title",0);
				var description = getField(items[i],"description",0);
				var mag = title.substring(2,5);
				var guid = getField(items[i],"guid",0);
				title = title.substring(7);
				var pdate = getField(items[i],"pubDate",0);
				var depth = getField(items[i],"dc:subject",2);
				var lat = parseFloat(getField(items[i],"geo:lat",0));
				var latInt = parseInt(lat);
				var lon = parseFloat(getField(items[i],"geo:long",0));
				
				var lonInt = parseInt(lon);
				var lonDir = (lon < 0) ? "E" : "W";
				var latDir = (lat > 0) ? "N" : "S";
                                var imgURL = "http://earthquake.usgs.gov/images/globes/" + (Math.floor((latInt + 2.5)/5) * 5) + "_" + 
				(Math.floor((lonInt + 2.5)/5) * 5) + ".jpg";
				var div = CreateRow(tablecontainer);
				var tdImage = CreateCell(div);
				tdImage.innerHTML = "<img src=\"" + imgURL + "\"" +
			 "alt=\"Tsunami Early Warning &amp; Alert System\" width=\"146\" height=\"146\" class=\"imageBorder\" />";
				div.appendChild(tdImage);
				var tdContent = CreateCell(div);
				tdContent.innerHTML = "<p><span class=\"header_small\">" + title + "</span><br />" +
                          "Date: " + pdate + " <br />" +
			  "Magnitude: " + mag + "<br />" +

			  "Location: <a onMouseOver=\"ShowMap(document.getElementById('Last7Days'), " + lat + ", " + lon + ");\" onMouseOut=\"HideMap();\">" + Math.abs(lat) + " " + latDir + ", " + Math.abs(lon) + " " + lonDir + "</a><br />" +  
			  "Depth: " + depth + "		   </p>" +
                          "<p class=\"ReadMore\"><a href=\"Resources/Link.php?EventID=" + guid + "\" target=\"_blank\">read more &gt;</a> </p>";
			}
		container.appendChild(tablecontainer);
		}
	});
}
function InitAlertsHome() {
	InitAlerts(DisplayFeed);
}

function InitAlertsEvent() {

}

function InitAlerts(df) {
	var feed = new google.feeds.Feed("http://www.gdacs.org/xml/RSSEQLite.xml");
	feed.setResultFormat(google.feeds.Feed.XML_FORMAT);
	feed.setNumEntries(100);

	feed.load(ProcessFeed);

	feed = new google.feeds.Feed("http://www.gdacs.org/xml/RSSFL2.xml");
	feed.setResultFormat(google.feeds.Feed.XML_FORMAT);
	feed.setNumEntries(100);
	feed.load(ProcessFeed);

	feed = new google.feeds.Feed("http://www.gdacs.org/xml/RSSTC.xml");
	feed.setResultFormat(google.feeds.Feed.XML_FORMAT);
	feed.setNumEntries(100);
	feed.load(ProcessFeed);

	feed = new google.feeds.Feed("http://www.gdacs.org/xml/RSSVO.xml");
	feed.setResultFormat(google.feeds.Feed.XML_FORMAT);
	feed.setNumEntries(100);
	feed.load(DisplayFeed);
}

function GetTitle(xmlRoot){
	var Title = "";
	var EvType = getField(xmlRoot, "gdas:eventType", 0);
	switch (EvType){
		case "TC":
			Title = "Tropical Cyclone " + getField(xmlRoot, "asgard:name",0);
		break;
		case "FL":
			Title = "Flood " + getField(xmlRoot, "dfo:country", 0);
		break;
		case "VO":
			Title = "Volcano " + getField(xmlRoot, "gdas:country", 0);
		break;
		case "EQ":
			Title =  "Earthquake " + getField(xmlRoot, "gdas:country", 0);
		break;
		default:
		Title = "Unkown";
	}
	return Title;
}

function GetType(xmlRoot){
	var EvType = xmlRoot.getElementsByTagName("gdas:alertLevel")[0].firstChild.nodeValue;
	switch($Data["gdas:alertlevel"]){
		case "Green":
			return "Green";	
		case "Orange":
			return "Orange";
		case "Red":
			return "Red";
	
	}
}

function AlertEvent(title, Type, EventID){
	this.title = title;
	this.Type = Type;
	this.EventID = EventID;
}

function ProcessFeed(result){
	if (!result.error) {

		var items = result.xmlDocument.getElementsByTagName("item");
		for (var i = 0; i < items.length; i++) {
						
			g_AlertEvents.push(new AlertEvent(GetTitle(items[i]), getField(items[i], "asgard:alertLevel", 0), getField(items[i], "asgard:ID", 0)));
		}
	}
}

function DisplayFeed(result) {
	
	ProcessFeed(result);
	var Alerts = document.getElementById("events-sum");
	var tablecontainer = document.createElement("table");
	var RealAlerts = document.getElementById("alerts");
	var row = CreateRow(tablecontainer);
	if (!result.error) {
	
		for (var i = 0; i < g_AlertEvents.length; i++) {
			var Type = g_AlertEvents[i].Type;
			var EventID = g_AlertEvents[i].EventID;
			var title = g_AlertEvents[i].title;
			var cell = CreateCell(row);
			cell.innerHTML = "<a class=\""  + Type + "\" href=\"http://cwarn.org/content/media/odstrevent.php#" + EventID + "\">" + title + "</a>";
			if ((i & 3) == 0){
				row = CreateRow(tablecontainer);
				g_numOfEvents = 0;
			}
		}

			row = CreateRow(tablecontainer);
			cell = CreateCell(row);
			cell.setAttribute("colspan", 4);
			cell.innerHTML = "<br /> <p>Information provided by the <a href=\"http://www.jrc.ec.europa.eu/\">Joint Research Center of the European Commission</a> in the context of the <a href=\"http://www.gdacs.org/\">Global Disaster Alert and Coordination System.</a></p><p><img src=\"http://www.gdacs.org/images/gdacs_logo_small.png\" width=\"90\" height=\"45\"/></p>";
		Alerts.appendChild(tablecontainer);
	}
}
google.load("feeds", "1");
google.setOnLoadCallback(Initalize_7Day);
google.setOnLoadCallback(InitAlertsHome);

