// JavaScript Document
<!--
// this function to highlight dates of events in calendar
function setEventDates(){
	if((typeof Spry.Widget != 'undefined') && filterNotifier && (eventsListDs.getRowCount() > 0)){
		filterNotifier.notifyObservers("setHighlightedDates",{dateColumn: 'ts:date', bookedDates: eventsListDs.getData()});
	}
	eventsListDs.removeObserver(eventObserver);
}
function toggleDetails(div){
	Spry.$$(div).toggleClassName('blurbhide');
}
// this is a function to change the display type
function changeDisplayStyle(){
	evtDisplayType = evtDisplayType == 'image'? 'text' : 'image';
	/* pagesSize = displayType == 'image'? minDefaultPageSize : maxDefaultPageSize;
	eventsPagingDs.setPageSize(pagesSize);*/
	Spry.Data.updateRegion('eventListingRegion');
}
function getEventThumb(region,lookupFunc){ //(region, lookupFunc){
	var id = lookupFunc('{eventsPagingDs::ts:id}');
	return id.toLowerCase();
	/*var div = id+'Img';
	var img = id+'_thumb';
	Spry.Utils.updateContent(div,'includes/widgets/media/get_media.php?folder=events&match='+img);*/
}
function isOtherEvent(region, lookupFunc){
	if(lookupFunc('{eventsPagingDs::ts:level}') > 2 || enableTier == false)
		return false;
	if(showOtherEvents)
		return false;
	
	return showOtherEvents = true;
}
function getEventDate(region, lookupFunc){
	return setDateFormatted(lookupFunc('{eventsPagingDs::ts:date}'),'D jS M Y'); 
}

function checkDate (region, lookupFunc){
	var currDate = setDateFormatted(lookupFunc('{eventsPagingDs::ts:date}'),'Y-m-d');
	var currRowID = lookupFunc('{ds_RowID}');
	if(currRowID < 1)
		return true;
	
	var prevRow = eventsListDs.getRowByID(currRowID-1);
	var prevDate = setDateFormatted(prevRow['ts:date'],'Y-m-d');
	return prevDate == currDate? false : true;
	
}

// this is a function to get the link for the event
function getEventLink(region, lookupFunc){
	var id = lookupFunc('{eventsPagingDs::ts:id}');
	/*Note: i have to use this to check for real url otherwise go to default by id process var url = lookUpFunc('{link/@href}');*/
	return evtDisplayURL+ ((evtDisplayURL.indexOf("?") == -1)? '?id=' : '&id=') + id;
}
function resetEventsFilter(n,data){
	eventsListDs.url = null;
	eventsListDs.setURL(evntURL,{method:"POST",postData:params,headers: {  "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8" }});
	showOtherEvents = false;
	eventsListDs.loadData();
}
// get event by category
//Note: this is to be moved to a filters object.
function getEventsByFilter(notifier,data){
	if(eventDontNotify)
		return false;
	var url;
	var params;
	url = eventsListDs.getURL();
	params = 'search=true&'+data+'&'+evtFilterParams+'&sortdate=DESC';
	eventsListDs.setURL(url,{method:"POST",postData:params,headers: {  "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8" },useCache:false});
	showOtherEvents = false;
	eventsListDs.loadData();
}
var showOtherEvents = false;
// the observer event
var eventObserver = {};
eventObserver.onPostLoad = setEventDates;
eventObserver.getByFilter = getEventsByFilter;
eventObserver.clearFilter = resetEventsFilter;
// init widget
var evtDisplayURL = defaultEvtDisplayURL? defaultEvtDisplayURL : '?page=display'; // url to display details

var params = ((window.location.search).search('search') != -1)? (window.location.search).replace("?",'') : 'search=true&'+evtFilterParams + (showLatest? '&range=now' : '');
// information module
var evntURL = "includes/widgets/events/get_events_com.php"; 
var eventsListDs = new Spry.Data.XMLDataSet(evntURL, "feed/entry", {method: "POST", postData: params, headers: {"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8" }, subPaths: ["author/name","contributor/name"], useCache:false});
eventsListDs.setColumnType("published", "date");
eventsListDs.setColumnType("updated", "date");
eventsListDs.setColumnType("content", "html");
eventsListDs.setColumnType("summary", "html");
eventsListDs.setColumnType("title", "html");
eventsListDs.addObserver(eventObserver);
var eventsPagingDs = new Spry.Data.PagedView(eventsListDs, { pageSize: evtPagesSize? evtPagesSize : 15 });
var eventsPagingDsInfo = eventsPagingDs.getPagingInfo();
// set up a notifier for the events for the categories
// Note: I may want to move this to a filters object
var filterNotifier = filterNotifier? filterNotifier : new Spry.Utils.Notifier();
// add observer to be notified on category change
// Note: this may be moved to a filter object
filterNotifier.addObserver(eventObserver);
//sendEventAlerts(); // send out alerts
//-->