// JavaScript Document

window.onload=function(){window.onload;onLoad()}; 

var xmloutput = "";

function getWorkshops(){

	var xmlHttp = createAjaxObj();
	
	var url = "http://www.phillywatersheds.org/php/rainbarrel/rb_genWSList.php?rnd=" + Math.random();
				
		xmlHttp.open("GET",url,true);
		
		xmlHttp.onreadystatechange=function(){
			if(xmlHttp.readyState==4){
			xmloutput=xmlHttp.responseXML;
			generateWorkshopList();
		}
		
		}
		
	xmlHttp.send(null);

}

function generateWorkshopList(){

	var watershedAlias = {
	"DC":
	{"alias": "Darby/Cobbs"},
	"DE":
	{"alias": "Delaware Direct"},
	"SC":
	{"alias": "Schuylkill"},
	"PP":
	{"alias": "Pennypack"},
	"PQ":
	{"alias": "Poquessing"},
	"TF":
	{"alias": "Tacony/Frankford"},
	"WI":
	{"alias": "Wissahickon"},
	"DS":
	{"alias": "Delaware Direct (South Phila.)"},
	"WT":
	{"alias": "West Tacony-Frankford"},
	"LW":
	{"alias": "Lower Wissahickon"},
	"SW":
	{"alias": "Springfield/Wissahickon"},
	"S1":
	{"alias": "Schuylkill"},
	"P1":
	{"alias": "Pennypack"},
	"PH":
	{"alias": "Philadelphia"}};

	var workshops = xmloutput.documentElement.getElementsByTagName("workshop");
	
	var month = {
			"01":"January",
			"02":"February",
			"03":"March",
			"04":"April",
			"05":"May",
			"06":"June",
			"07":"July",
			"08":"August",
			"09":"September",
			"10":"October",
			"11":"November",
			"12":"December"}
				
	var workshop_count = 0;	
	
	for (var i = 0; i < workshops.length; i++) {
		
		var status = workshops[i].getAttribute("status");
								
		if(status == 1){
		
	
			var id = workshops[i].getAttribute("ID");
			var watershed = workshops[i].getAttribute("watershed");
			//takes the retrieved watershed (which is just two letters (ex. TF) and looks up its full name in the watershedAlias array
			var wsAlias = document.createTextNode(watershedAlias[watershed].alias);
			var date = document.createTextNode(workshops[i].getAttribute("date"));
			var time = document.createTextNode(workshops[i].getAttribute("time"));
			var endTime = document.createTextNode(workshops[i].getAttribute("endTime"));
			var place = document.createTextNode(workshops[i].getAttribute("place"));
			var loc = document.createTextNode(workshops[i].getAttribute("loc"));
			var partners = document.createTextNode(workshops[i].getAttribute("partners"));
			
			
			var sLoc = workshops[i].getAttribute("loc")
			
			var str_date = workshops[i].getAttribute("date");
						
			var formatted_date = month[str_date.slice(5,7)] + " " + str_date.slice(8,10) + ", " + str_date.slice(0,4);
									
			var TR = document.createElement("tr");
			var workshopTD = document.createElement("td");	
			
			var br1 = document.createElement("br");
			var br2 = document.createElement("br");
			var br3 = document.createElement("br");
			var br4 = document.createElement("br");
			
			var map = document.createTextNode("(view map)");
			
			var mapA = document.createElement("a");
			mapA.setAttribute("href","http://www.google.com/maps?q=" + sLoc);
			mapA.setAttribute("target", "_blank");
			
			mapA.appendChild(map);
			
			workshopTD.appendChild(wsAlias);
			workshopTD.appendChild(document.createTextNode(' Watershed'));
			workshopTD.appendChild(br1);
			workshopTD.appendChild(document.createTextNode(formatted_date));
			workshopTD.appendChild(document.createTextNode(', '));
			workshopTD.appendChild(time);
			workshopTD.appendChild(document.createTextNode(' - '));
			workshopTD.appendChild(endTime);
			workshopTD.appendChild(br3);
			workshopTD.appendChild(place);
			workshopTD.appendChild(br4);
			workshopTD.appendChild(loc);
			workshopTD.appendChild(document.createTextNode(' '));
			workshopTD.appendChild(mapA);
			workshopTD.appendChild(br2);
			workshopTD.appendChild(document.createTextNode('Partners: '));
			workshopTD.appendChild(partners);		
			
			workshopTD.colSpan = 2;
						
			TR.appendChild(workshopTD);
			
			if (id != 99) { //workshop 99 is the notification list for future workshops. we are pretending its a workshop so that we can use the existing sign-up system. we just need to change what displays on the rain barrel workshop page
				document.getElementById("workshops").appendChild(TR);
			} else {
				var workshopListTD = document.createElement("td");	
				workshopListTD.colSpan = 2;
				workshopListTD.appendChild(place);
				var workshopListTR = document.createElement("tr");
				workshopListTR.appendChild(workshopListTD);
				document.getElementById("workshops").appendChild(workshopListTR);
			}
			workshop_count += 1;
						
		}
		
	}
		
	if(workshop_count == 0){
		
		var text = document.createTextNode('Sorry, there are currently no workshops scheduled.');
		
		document.getElementById("signup").innerHTML = "";
		
		document.getElementById("signup").appendChild(text);
	
	} else {
	
		var a = document.createElement('a');
		a.setAttribute("href","http://www.phillywatersheds.org/rainbarrel/rb_signup.php");
		
		var text = document.createTextNode('Click here to sign up');
		
		a.appendChild(text);
		
		document.getElementById("signup").innerHTML = "";
		
		document.getElementById("signup").appendChild(a);
	
	}
	
}
var WindowObjectReference = null;


function getWebMsg(){
	var xmlHttp = createAjaxObj();
	
	var url = "http://www.phillywatersheds.org/php/rainbarrel/rb_getWebMsg.php?rnd=" + Math.random();
				
	xmlHttp.open("GET",url,true);
	
	xmlHttp.onreadystatechange=function(){
		if(xmlHttp.readyState==4){
		document.getElementById('webMsg').innerHTML = xmloutput=xmlHttp.responseText;
	}
	
	}
	
	xmlHttp.send(null);
}

function onLoad(){ 
	getWorkshops();
	getWebMsg();
}