var xHTTP = null
var eventsToAdd = new Array();
var eventsAddedCount = ""

function eventToAdd (elementID, locationID, maxToDisplay, heading, excludeTerms, startDate, endDate) {
	this.elementID  = elementID
	this.locationID = locationID
	if (maxToDisplay) {
		this.maxToDisplay = maxToDisplay
	} else {
		this.maxToDisplay = 1
	}
	if (heading) {
		this.heading = heading
	} else {
		this.heading = ""
	}
	if (excludeTerms) {
		this.excludeTerms = excludeTerms
	} else {
		this.excludeTerms = ""
	}
	if (startDate) {
		this.startDate = startDate
	} else {
		this.startDate = ""
	}
	if (endDate) {
		this.endDate = endDate
	} else {
		this.endDate = ""
	}
}

function checkXHTTP() {
	if (xHTTP.readyState == 4) {
		var thisEvent = eventsToAdd.shift()
		var responseText = xHTTP.responseText
		if (responseText != "NO RESULTS") {
			var eventsElement = document.getElementById(thisEvent.elementID)
			var moreEvents = document.createElement('moreevents' + eventsAddedCount)
			moreEvents.innerHTML = responseText
			eventsElement.appendChild(moreEvents)
			if (eventsAddedCount == "") {
				eventsAddedCount = 1
			} else {
				eventsAddedCount = eventsAddedCount + 1
			}
			eventsElement = document.getElementById('eventspoweredby')
			if (eventsElement && eventsElement.style.display != "") {
				eventsElement.style.display = ""
			}
		}
		if (eventsToAdd.length > 0) {
			requestEvent()
		} else {
			delete xHTTP
			xHTTP = null
		}
	}
}

function requestEvent() {

	var thisEvent = eventsToAdd[0]
	var requestURL = "http://" + javaDomainName + "/events/get_event-V2.aspx?locationID=" + thisEvent.locationID
	if (thisEvent.maxToDisplay != 1) {
		requestURL  = requestURL + "&maxToDisplay=" + thisEvent.maxToDisplay
	}
	if (thisEvent.heading != "") {
		requestURL  = requestURL + "&heading=" + encodeURI(thisEvent.heading)
	}
	if (thisEvent.excludeTerms != "") {
		requestURL  = requestURL + "&exclude=" + encodeURI(thisEvent.excludeTerms)
	}
	if (thisEvent.startDate != "") {
		requestURL  = requestURL + "&startdate=" + thisEvent.startDate
	}
	if (thisEvent.endDate != "") {
		requestURL  = requestURL + "&enddate=" + thisEvent.endDate
	}
	xHTTP.open("GET", requestURL, true)
	xHTTP.onreadystatechange = checkXHTTP
	xHTTP.send(null)
}

function addEventListing(elementID, locationID, maxToDisplay, heading, excludeTerms, startDate, endDate) {

	var thisEvent = new eventToAdd(elementID, locationID, maxToDisplay, heading, excludeTerms, startDate, endDate)
	eventsToAdd.push(thisEvent)
	if (eventsToAdd.length == 1) {
		if (window.XMLHttpRequest) {
			xHTTP = new XMLHttpRequest()
		} else {
			xHTTP = new ActiveXObject("Microsoft.XMLHTTP")
		}
		requestEvent()
	}
}

function getSelectedValue(controlID)
{
	var selectControl

	selectControl = document.getElementById(controlID)
	return selectControl.options[selectControl.selectedIndex].value
}

function getSelectedText(controlID)
{
	var selectControl

	selectControl = document.getElementById(controlID)
	return selectControl.options[selectControl.selectedIndex].text
}

function DatesChanged()
{
	var optionText = getSelectedText("specialdates")
	var year = optionText.substr(optionText.length - 4, 4)

	var specialDate = getSelectedValue("specialdates")
	var str = window.location.href

	// Strip off current parameters
	str = str.indexOf("?") == -1 ? str : str.substring(0, str.indexOf("?"))
	str = str + "?specialDate=" + specialDate
	if (specialDate != 0) {
		str = str + "&year=" + year
	}

	window.location = str
}

