// JavaScript Document


var xmlhttp;
function loadXMLDocument(url) {
	xmlhttp = null;
	
	xmlhttp = (window.XMLHttpRequest) ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
	
	if (xmlhttp != null) {
		xmlhttp.onreadystatechange = onResponse;
		xmlhttp.open("GET", url, true);
		xmlhttp.send(null);
	} else
		alert("Your browser does not support XML HTTP requests.");
}

function checkReadyState(obj) {
	if (obj.readyState == 4) {
		if (obj.status == 200) return true
		else alert("An error occurred while retrieving XML data.");
	}
}

var tmpX = 0;
var tmpY = 0;
var re = /\w/;
function onResponse() {
	if (checkReadyState(xmlhttp)) {
		var r = xmlhttp.responseXML.documentElement;
		var theEventID = (r.getElementsByTagName("eventid")[0].hasChildNodes()) ? r.getElementsByTagName("eventid")[0].childNodes[0].nodeValue : '';
		var thePrivate = (r.getElementsByTagName("private")[0].hasChildNodes()) ? r.getElementsByTagName("private")[0].childNodes[0].nodeValue : '';
		var theTitle = (r.getElementsByTagName("title")[0].hasChildNodes()) ? r.getElementsByTagName("title")[0].childNodes[0].nodeValue : '';
		var theSubTitle = (r.getElementsByTagName("subtitle")[0].hasChildNodes()) ? r.getElementsByTagName("subtitle")[0].childNodes[0].nodeValue : '';
		var theDate = (r.getElementsByTagName("date")[0].hasChildNodes()) ? r.getElementsByTagName("date")[0].childNodes[0].nodeValue : '';
		var theDateStr = (r.getElementsByTagName("datestr")[0].hasChildNodes()) ? r.getElementsByTagName("datestr")[0].childNodes[0].nodeValue : '';
		var theTime = (r.getElementsByTagName("time")[0].hasChildNodes()) ? r.getElementsByTagName("time")[0].childNodes[0].nodeValue : '';
				
		var theCost = (r.getElementsByTagName("cost")[0].hasChildNodes()) ? r.getElementsByTagName("cost")[0].childNodes[0].nodeValue : '';
		var theLocation = (r.getElementsByTagName("location")[0].hasChildNodes()) ? r.getElementsByTagName("location")[0].childNodes[0].nodeValue : '';
		var theBuildingID = (r.getElementsByTagName("buildingid")[0].hasChildNodes()) ? r.getElementsByTagName("buildingid")[0].childNodes[0].nodeValue : '';
		var theLocationOther = (r.getElementsByTagName("location_other")[0].hasChildNodes()) ? r.getElementsByTagName("location_other")[0].childNodes[0].nodeValue : '';
		var theRoom = (r.getElementsByTagName("room")[0].hasChildNodes()) ? r.getElementsByTagName("room")[0].childNodes[0].nodeValue : '';
		var theType = (r.getElementsByTagName("type")[0].hasChildNodes()) ? r.getElementsByTagName("type")[0].childNodes[0].nodeValue : '';
		var theDetails = (r.getElementsByTagName("details")[0].hasChildNodes()) ? r.getElementsByTagName("details")[0].childNodes[0].nodeValue : '';
		var theWebsite = (r.getElementsByTagName("website")[0].hasChildNodes()) ? r.getElementsByTagName("website")[0].childNodes[0].nodeValue : '';
		var theSponsorID = (r.getElementsByTagName("sponsorid")[0].hasChildNodes()) ? r.getElementsByTagName("sponsorid")[0].childNodes[0].nodeValue : '';
		var theSponsor = (r.getElementsByTagName("sponsor")[0].hasChildNodes()) ? r.getElementsByTagName("sponsor")[0].childNodes[0].nodeValue : '';
		var theSponsorOther = (r.getElementsByTagName("sponsor_other")[0].hasChildNodes()) ? r.getElementsByTagName("sponsor_other")[0].childNodes[0].nodeValue : '';
		var theSponsorContact = (r.getElementsByTagName("sponsor_contact")[0].hasChildNodes()) ? r.getElementsByTagName("sponsor_contact")[0].childNodes[0].nodeValue : '';
		var theSponsorEmail = (r.getElementsByTagName("sponsor_email")[0].hasChildNodes()) ? r.getElementsByTagName("sponsor_email")[0].childNodes[0].nodeValue : '';
		var theSponsorPhone = (r.getElementsByTagName("sponsor_phone")[0].hasChildNodes()) ? r.getElementsByTagName("sponsor_phone")[0].childNodes[0].nodeValue : '';
		var theSponsorWebsite = (r.getElementsByTagName("sponsor_website")[0].hasChildNodes()) ? r.getElementsByTagName("sponsor_website")[0].childNodes[0].nodeValue : '';
		
		$('event_title').innerHTML = theTitle;
		if (re.test(theSubTitle)) {
			$('event_subtitle').innerHTML = theSubTitle;
			$('event_subtitle').style.display = "block";
		} else {
			$('event_subtitle').style.display = "none";
		}
		
		if (re.test(theDateStr)) {
			if (thePrivate == '0')
				$('event_date').innerHTML = "<a href=\"http://events.umich.edu/index.cfm?date=" + theDate + "#event_" + theDate + "_" + theEventID + "\">" + theDateStr + "</a>";
			else
				$('event_date').innerHTML = theDateStr;
		}
		
		
		
		$('event_time').innerHTML = theTime;
		
		if (re.test(theLocation)) {
			if (re.test(theBuildingID)) {
				$('event_location').innerHTML = "<a href=\"http://uuis.umich.edu/cic/buildingproject/index.cfm?BuildingID=" + theBuildingID + "\">" + theLocation + "</a>";
			} else {
				setText($('event_location'), theLocation);
			}
		}
		
		if (re.test(theRoom)) {
			$('label_room').style.display = "inline";
			$('event_room').style.display = "inline";
			setText($('event_room'), theRoom);
		} else {
			$('label_room').style.display = "none";
			$('event_room').style.display = "none";	
			$('event_room').innerHTML = '';
		}
		$('event_etype').innerHTML = theType;
		$('event_details').innerHTML = theDetails;
		
		if (re.test(theCost)) {
			$('label_cost').style.display = "inline";
			$('event_cost').style.display = "inline";
			$('event_cost').innerHTML = theCost;
		} else {
			$('label_cost').style.display = "none";
			$('event_cost').style.display = "none";
			$('event_cost').innerHTML = '';
		}
		if (re.test(theWebsite)) {
			$('label_website').style.display = "inline";
			$('event_website').style.display = "inline";
			$('event_website').innerHTML = "<a href=\"" + theWebsite + "\">" + theWebsite + "</a>";
		} else {
			$('label_website').style.display = "none";
			$('event_website').style.display = "none";
			$('event_website').innerHTML = '';
		}
		
		if (re.test(theLocationOther)) {
			$('label_locationother').style.display = "inline";
			$('event_locationother').style.display = "inline";
			$('event_locationother').innerHTML = theLocationOther;
		} else {
			$('label_locationother').style.display = "none";
			$('event_locationother').style.display = "none";
			$('event_locationother').innerHTML = '';
		}

		if (re.test(theSponsor)) {
			$('label_sponsor').style.display = "inline";
			$('event_sponsor').style.display = "inline";
			$('event_sponsor').innerHTML = theSponsor;
		} else {
			$('label_sponsor').style.display = "none";
			$('event_sponsor').style.display = "none";
			$('event_sponsor').innerHTML = '';
		}
		if (re.test(theSponsorOther)) {
			$('label_sponsorother').style.display = "inline";
			$('event_sponsorother').style.display = "inline";
			$('event_sponsorother').innerHTML = theSponsorOther;
		} else {
			$('label_sponsorother').style.display = "none";
			$('event_sponsorother').style.display = "none";
			$('event_sponsorother').innerHTML = '';
		}

		if (re.test(theSponsorContact)) {
			$('label_sponsorcontact').style.display = "inline";
			$('event_sponsorcontact').style.display = "inline";
			$('event_sponsorcontact').innerHTML = theSponsorContact;
		} else {
			$('label_sponsorcontact').style.display = "none";
			$('event_sponsorcontact').style.display = "none";
			$('event_sponsorcontact').innerHTML = '';
		}

		if (re.test(theSponsorPhone)) {
			$('label_sponsorphone').style.display = "inline";
			$('event_sponsorphone').style.display = "inline";
			$('event_sponsorphone').style.whiteSpace = "nowrap";
			$('event_sponsorphone').innerHTML = theSponsorPhone;
		} else {
			$('label_sponsorphone').style.display = "none";
			$('event_sponsorphone').style.display = "none";
			$('event_sponsorphone').innerHTML = '';
		}
		if (re.test(theSponsorEmail)) {
			$('label_sponsoremail').style.display = "inline";
			$('event_sponsoremail').style.display = "inline";
			$('event_sponsoremail').innerHTML = theSponsorEmail;
		} else {
			$('label_sponsoremail').style.display = "none";
			$('event_sponsoremail').style.display = "none";
			$('event_sponsoremail').innerHTML = '';
		}
		if (re.test(theSponsorWebsite)) {
			$('label_sponsorwebsite').style.display = "inline";
			$('event_sponsorwebsite').style.display = "inline";
			$('event_sponsorwebsite').innerHTML = "<a href=\"" + theSponsorWebsite + "\">" + theSponsorWebsite + "</a>";
		} else {
			$('label_sponsorwebsite').style.display = "none";
			$('event_sponsorwebsite').style.display = "none";
			$('event_sponsorwebsite').innerHTML = '';
		}

		// Set-up to use getMouseXY function onMouseMove
		setTimeout(function() { // this function pulls the variable tmpY from tooltips.js
			//$('popupWindow').style.zIndex = 150;
			//$('popupWindow').style.top = (tmpY) + 'px'; // move the popup window vertically in case the calendar has been scrolled
			if (navigator.userAgent.indexOf("Safari") != -1) {
				$('popupWindow').style.top = "200px";
				$('popupWindow').style.left = "100px";
			}
			$('popupWindow').style.display = "block";
		}, 200);
	}
}

function getMouseXY(e) {
	tmpX = (document.all) ? event.clientX + document.body.scrollLeft : e.pageX;
	tmpY = (document.all) ? event.clientY + document.body.scrollTop : e.pageY;
	if (tmpX < 0) tmpX = 0;
	if (tmpY < 0) tmpY = 0;
}

