
/* - ++resource++qb3.theme.javascripts/qb3.js - */
// drop down menu behaviour

jq(document).ready(function(){ 
    jq('ul.sf-menu').superfish({
    	delay:       500,
    	autoArrows	: false,
    	animation:   {opacity:'show',height:'show'}, 
    	speed:       'fast'
    });	        	 
});

// google AJAX Feed API and formatting for the calendar

google.load('feeds', '1');
function initialize() {
  var feed = new google.feeds.Feed('http://www.google.com/calendar/feeds/sum1vp451hhnst9a26c5430hgs@group.calendar.google.com/public/full?futureevents=true&orderby=starttime&sortorder=ascending&max-results=5&ctz=America/Los_Angeles');
  feed.setResultFormat(google.feeds.Feed.XML_FORMAT);
  
  // load the google calendar feed and set the ul container
  feed.setNumEntries(5);
  feed.load(function(result) {
  var container = document.getElementById('gCalFeed');
  if (!result.error) {
    var details = '';
    var entries = google.feeds.getElementsByTagNameNS(result.xmlDocument, 'http://www.w3.org/2005/Atom', 'entry');
    var ul = document.createElement('ul');
    ul.setAttribute('id', 'gcal-events');
    
    // go through the feed and pull the info we want from the entries
    for (var i = 0; i < entries.length; i++) {
      var titleElement = google.feeds.getElementsByTagNameNS(entries[i], 'http://www.w3.org/2005/Atom', 'title')[0];
      var title = titleElement.firstChild.nodeValue;
      var linkElement = google.feeds.getElementsByTagNameNS(entries[i], 'http://www.w3.org/2005/Atom', 'link')[0];
      var link = linkElement.getAttribute('href');
      var whenElement = google.feeds.getElementsByTagNameNS(entries[i], 'http://schemas.google.com/g/2005', 'when')[0];
	  var start = whenElement.getAttribute('startTime');
	  var end = whenElement.getAttribute('endTime');
      var whereElement = google.feeds.getElementsByTagNameNS(entries[i], 'http://schemas.google.com/g/2005', 'where')[0];
      var where = whereElement.getAttribute('valueString');
		
		// apply nice formatting to the ISO8601 standard date/time
		var start2 = new Date();
		start2.setISO8601(start);
		var end2 = new Date();
		end2.setISO8601(end);
		
		var startF = dateFormat(start2, "eventStart");
		var endF = dateFormat(end2, "eventEnd");
		details = startF + endF + ' at ' + where;
      
      //embed the event date in a span element with class='details'
      var spandetails = document.createElement('span');
      spandetails.setAttribute('class', 'details');
      spandetails.appendChild(document.createTextNode(details));
      
      //each feed entry is embedded in a li element
      var li = document.createElement('li');
      li.setAttribute('class', 'gcal-event');
      var a = document.createElement('a');
      var br = document.createElement('br');
      a.setAttribute('href', link + '&ctz=America%2FLos_Angeles');
      a.appendChild(document.createTextNode(title));
      li.appendChild(a);
      li.appendChild(br);
      li.appendChild(spandetails);
      ul.appendChild(li);
      }
   container.appendChild(ul);
   }
});
}
google.setOnLoadCallback(initialize);
