 // output the weekend list of events with images
function weekendlisttwo(elementID, object){

  var e = document.getElementById(elementID);
  var j = 0;
  var eventlist = new Array();
  var t = "";
  var eo = 'even';

  // get events
  for (i = 0; i < object.bwEventList.events.length; i++) {
    eventlist[j] = i;
    j++;
  }

  for(k in eventlist){
    // set the display dates
    dispdate =  object.bwEventList.events[eventlist[k]].start.longdate;
    dispdate = object.bwEventList.events[eventlist[k]].start.dayname + " " + dispdate.substr(0,dispdate.indexOf(","));
    dispdate += ", " + object.bwEventList.events[eventlist[k]].start.time;
    
    // set the display location
    disploc = object.bwEventList.events[eventlist[k]].location.address;
    if (disploc.match("EMPAC") != null) {
      disploc = disploc.substring(5);
    }
    
    // check for symposium
    var isSymposium = false;
    for (i=0; i<object.bwEventList.events[eventlist[k]].categories.length; i++) {
      if (object.bwEventList.events[eventlist[k]].categories[i] == "Symposium") {
        isSymposium = true;
      }
    }

    
   //for even|odd highlighting
    if(eo == 'even') {
      eo = "odd";
    } else {
      eo = "even";
    }
// 		t +=   "<div class=\"" + eo + "\"><h3><a href=\"http://vadersfist.empac.rpi.edu" + object.bwEventList.events[eventlist[k]].link.substring(24) + "\">" + object.bwEventList.events[eventlist[k]].summary + "</a></h3>";
            
    t +=   "<div class=\"" + eo + "\"><h3><a href=\"" + object.bwEventList.events[eventlist[k]].link + "\">" + object.bwEventList.events[eventlist[k]].summary + "</a></h3>";
    if (object.bwEventList.events[eventlist[k]].xproperties['X-BEDEWORK-IMAGE']) {
      t += "<img src=\"" + object.bwEventList.events[eventlist[k]].xproperties['X-BEDEWORK-IMAGE'].values.text + "\" />";
    }
    if (object.bwEventList.events[eventlist[k]].calendar.name == "Exhibits" || isSymposium) {
      var exibdates = '<p class=\"date\">';
      exibdates += object.bwEventList.events[eventlist[k]].start.longdate.substr(0,object.bwEventList.events[eventlist[k]].start.longdate.indexOf(","));
      exibdates += " - ";
      exibdates += object.bwEventList.events[eventlist[k]].end.longdate.substr(0,object.bwEventList.events[eventlist[k]].end.longdate.indexOf(","));
      t += exibdates;
    } else {
      t += '<p class=\"date\">' + dispdate;
    }
    t +=  " | " + disploc + "</p>";
    t +=  "<p>" + object.bwEventList.events[eventlist[k]].description + "</p>";
    t += "</div>";
  }

  e.innerHTML += t;
}

// produce the event box on an event page

// Calendar at a glance view:
function glance(elementID, jsonObj) {
  var e = document.getElementById(elementID);
  var j = 0;
  var eventlist = new Array();
  var t = "";

  // get events
  for (i = 0; i < jsonObj.bwEventList.events.length; i++) {
    eventlist[j] = i;
    j++;
  }

  // three column view (with tables)
  var col = Math.ceil(j/3);
  t += "<table><tbody><tr><td>";
  for(k in eventlist){
    var isSymposium = false;        
    // check for symposium
    for (i=0; i<jsonObj.bwEventList.events[eventlist[k]].categories.length; i++) {
      if (jsonObj.bwEventList.events[eventlist[k]].categories[i] == "Symposium") {
        isSymposium = true;
      }
    }
    
    // set the display date
    if (jsonObj.bwEventList.events[eventlist[k]].calendar.name == "Exhibits" || isSymposium) {
      dispdate = jsonObj.bwEventList.events[eventlist[k]].start.longdate.substr(0,jsonObj.bwEventList.events[eventlist[k]].start.longdate.indexOf(","));
      dispdate += " - ";
      var exenddate = jsonObj.bwEventList.events[eventlist[k]].end.longdate.substr(jsonObj.bwEventList.events[eventlist[k]].end.longdate.indexOf(" "), jsonObj.bwEventList.events[eventlist[k]].end.longdate.indexOf(","));
      dispdate += " " + exenddate;            
    } else {
      dispdate =  jsonObj.bwEventList.events[eventlist[k]].start.longdate;
      dispdate = dispdate.substr(0,dispdate.indexOf(","));
      dispdate += " " + jsonObj.bwEventList.events[eventlist[k]].start.time;
    }
    
    // set the display location
    disploc = jsonObj.bwEventList.events[eventlist[k]].location.address;
    if (disploc.match("EMPAC") != null) {
      disploc = disploc.substring(5);
    }
    
    // output the events (each event is in a ul)
    //t += "<ul><li><a href=\"http://www2.empac.rpi.edu:8080" + jsonObj.bwEventList.events[eventlist[k]].link.substring(24) + "\">" + jsonObj.bwEventList.events[eventlist[k]].summary + "</a></li>";
    t += "<ul><li><a href=\"" + jsonObj.bwEventList.events[eventlist[k]].link + "\">" + jsonObj.bwEventList.events[eventlist[k]].summary + "</a></li>";
    if(jsonObj.bwEventList.events[eventlist[k]].categories.length > 0) {
      t += "<li>" + jsonObj.bwEventList.events[eventlist[k]].categories[0] + " | " + disploc + "</li>";
      t += "<li>" + dispdate + "</li>";
    } else {
      t  +=  "<li>" + dispdate + " | " + disploc + "</li>";
    }
    t += "</ul>";
    if( (parseInt(k)+1)%col == 0) {
      t += "</td><td>";
    }
  }
  t += "</td></tr></tbody></table>";
  e.innerHTML = t;
}

// output the weekend list of events with images
function weekendlist(elementID){

  var e = document.getElementById(elementID);
  var j = 0;
  var eventlist = new Array();
  var t = "";
  var eo = 'even';

  // get events
  for (i = 0; i < bwObject.bwEventList.events.length; i++) {
    eventlist[j] = i;
    j++;
  }

  for(k in eventlist){
    // set the display dates
   dispdate =  object.bwEventList.events[eventlist[k]].start.longdate;
    dispdate = object.bwEventList.events[eventlist[k]].start.dayname + " " + dispdate.substr(0,dispdate.indexOf(","));
    dispdate += ", " + object.bwEventList.events[eventlist[k]].start.time;
    
    // set the display location
    disploc = bwObject.bwEventList.events[eventlist[k]].location.address;
    if (disploc.match("EMPAC") != null) {
      disploc = disploc.substring(5);
    }
    
    // check for symposium
    var isSymposium = false;
    for (i=0; i<bwObject.bwEventList.events[eventlist[k]].categories.length; i++) {
      if (bwObject.bwEventList.events[eventlist[k]].categories[i] == "Symposium") {
        isSymposium = true;
      }
    }

    
   //for even|odd highlighting
    if(eo == 'even') {
      eo = "odd";
    } else {
      eo = "even";
    }
// 		t +=   "<div class=\"" + eo + "\"><h3><a href=\"http://www2.empac.rpi.edu:8080" + bwObject.bwEventList.events[eventlist[k]].link.substring(24) + "\">" + bwObject.bwEventList.events[eventlist[k]].summary + "</a></h3>";
            
    t +=   "<div class=\"" + eo + "\"><h3><a href=\"" + bwObject.bwEventList.events[eventlist[k]].link + "\">" + bwObject.bwEventList.events[eventlist[k]].summary + "</a></h3>";
    if (bwObject.bwEventList.events[eventlist[k]].xproperties['X-BEDEWORK-IMAGE']) {
      t += "<img src=\"" + bwObject.bwEventList.events[eventlist[k]].xproperties['X-BEDEWORK-IMAGE'].values.text + "\" />";
    }
    if (bwObject.bwEventList.events[eventlist[k]].calendar.name == "Exhibits" || isSymposium) {
      var exibdates = '<p class=\"date\">';
      exibdates += bwObject.bwEventList.events[eventlist[k]].start.longdate.substr(0,bwObject.bwEventList.events[eventlist[k]].start.longdate.indexOf(","));
      exibdates += " - ";
      exibdates += bwObject.bwEventList.events[eventlist[k]].end.longdate.substr(0,bwObject.bwEventList.events[eventlist[k]].end.longdate.indexOf(","));
      t += exibdates;
    } else {
      t += '<p class=\"date\">' + dispdate;
    }
    t +=  " | " + disploc + "</p>";
    t +=  "<p>" + bwObject.bwEventList.events[eventlist[k]].description + "</p>";
    t += "</div>";
  }

  e.innerHTML = t;
}

// produce the event box on an event page
function eventdata(elementID, disp){
	var e = document.getElementById(elementID);
  var t = '';
	 
	//display the duration if it looks good
    dispdate = bwObject.bwEvent.start.longdate;
    dispdate =  bwObject.bwEvent.start.dayname + " " + dispdate.substr(0,dispdate.indexOf(","));
    dispdate += ", " + bwObject.bwEvent.start.time;


	var stime = bwObject.bwEvent.start.utcdate;
	stime = stime.substr(stime.indexOf("T")+1, 4);
	var etime = bwObject.bwEvent.end.utcdate;
	etime = etime.substr(etime.indexOf("T")+1, 4);
	var dur = etime - stime;
    
  // check for symposium
  var isSymposium = false;
  for (i=0; i<bwObject.bwEvent.categories.length; i++) {
    if (bwObject.bwEvent.categories[i] == "Symposium") {
      isSymposium = true;
    }
  }
	 
	var dispdur = "";
  if(bwObject.bwEvent.calendar.name == "Exhibits" || isSymposium){
    dispdur = "";
  } else {
    /*  // keep for reference and ability to revert
    if(bwObject.bwEvent.end.shortdate == bwObject.bwEvent.start.shortdate) {
      dispdur = '<p><strong>Concludes:</strong> ' + bwObject.bwEvent.end.time + '</p>';
    } else {
      var dispshortdate = bwObject.bwEvent.end.shortdate;
      dispdur = '<p><strong>Concludes:</strong> ' + dispshortdate.substr(0,dispshortdate.lastIndexOf("/")) + ' ' + bwObject.bwEvent.end.time  + '</p>';
    }*/
    var startDateStr = bwObject.bwEvent.start.longdate + " " + bwObject.bwEvent.start.jstime;
    var endDateStr = bwObject.bwEvent.end.longdate + " " + bwObject.bwEvent.end.jstime;
    var duration = Date.parse(endDateStr) - Date.parse(startDateStr); // duration in milliseconds
    var minutesDur = Math.round(duration/(1000*60)); // full minutes
   
    if (minutesDur) { 
      dispdur = '<p><strong>Duration:</strong> ' + minutesDur + ' minutes</p>';
    }
  }

	t += '<h4>' + bwObject.bwEvent.summary + '</h4>';
  if(bwObject.bwEvent.calendar.name == "Exhibits" || isSymposium) {
    t += '<p>' + bwObject.bwEvent.start.shortdate.substr(0,bwObject.bwEvent.start.shortdate.lastIndexOf("/")); 
    t += ' - ';
    t += bwObject.bwEvent.end.shortdate.substr(0,bwObject.bwEvent.end.shortdate.lastIndexOf("/")) + '<br />';
  } else {
    t += '<p>' + dispdate + '<br />';
	 
  }
  
  disploc = bwObject.bwEvent.location.address;
  if (disploc.match("EMPAC") != null) {
    disploc = disploc.substring(5);
  }
  
	t += disploc + '</p>';
	//t += '<p><strong>Free and Open to the Public</strong></p>';
	t += dispdur;

  e.innerHTML = t;

	//print out ical link
  s = "http://events.rpi.edu/misc/export.gdo?b=de";
  s += "&subid=" + bwObject.bwEvent.subscriptionId;
  s += "&calPath=" + bwObject.bwEvent.calPath;
  s += "&guid=" + bwObject.bwEvent.guid;
  s += "&recurrenceId=" + bwObject.bwEvent.recurrenceId;
  s += "&nocache=no&contentName=";
  s += bwObject.bwEvent.guid + ".ics";

  var headelements = document.getElementById('eventInfo').getElementsByTagName('h3');
  headelements[0].innerHTML = "Event Info:<a href=\""+s+"\"><img border=\"0\" src=\"http://www.rpi.edu/dept/cct/apps/rpi-bedework-3.4.1.1/calrsrc.MainCampus/images/empacIcalIcon.gif\" /></a>";
}


// initialize iframe with registration application
function setiframe(elementId, disp) {
  if(disp == 1) {
    s = "http://reg.empac.rpi.edu/empacreg/init.do?";
    s += "subid=" + bwObject.bwEvent.subscriptionId;
    s += "&calPath=" + bwObject.bwEvent.calPath;
    s += "&guid=" + bwObject.bwEvent.guid;
    s += "&recurrenceId=" + bwObject.bwEvent.recurrenceId;
    e = document.getElementById('reg');
    e.src = s;
    e.style.display = "block";
  }	         
}

// json feeds across three months


  function nextglance(feeds, elementID, start, end){

	var e = document.getElementById(elementID);
	var j = 0;
	var eventlist = new Array();
	var t = "";

        // get events in the spec'd date range
	for(feed in feeds){
	  for (i = 0; i < feeds[feed].bwEventList.events.length; i++) {
		 eventstart = feeds[feed].bwEventList.events[i].start.utcdate.substr(0,8);
		 if(eventstart >= start && eventstart <= end){
			eventlist[j] = feeds[feed].bwEventList.events[i];
			j++;
		 }
	  }
	}

	// three column view (with tables)

	var col = Math.ceil(j/3);
   t += "<table><tbody><tr><td>";
   for(k in eventlist){
                 eventlink = "http://events.rpi.edu/event/eventView.do?";
	         	 eventlink += "subid=" + eventlist[k].subscriptionId;
                 eventlink += "&calPath=" + eventlist[k].calPath;
                 eventlink += "&guid=" + eventlist[k].guid;
                 eventlink += "&recurrenceId=" + eventlist[k].recurrenceId;
                  
		  dispdate =  eventlist[k].start.longdate;
		  dispdate = eventlist[k].start.dayname + " " + dispdate.substr(0,dispdate.indexOf(","));
		  dispdate += ", " + eventlist[k].start.time;
		  
                 if (eventlist[k].calendar.name == "Exhibits") {
                 var exibdates = eventlist[k].start.longdate.substr(0,eventlist[k].start.longdate.indexOf(","));
                 exibdates += " - ";
                 exibdates += eventlist[k].end.longdate.substr(0,eventlist[k].end.longdate.indexOf(","));
                 dispdate = exibdates;
                  }



                  // set the display location
                  disploc = eventlist[k].location.address;
                  if (disploc.match("EMPAC") != null) {
                    if (disploc == "EMPAC") {
                      // do nothing - EMPAC can stand by itself
                    } else {
                      // otherwise there's more there; trim off EMPAC
                      disploc = disploc.substring(5);
                    }
                  }

		  t += "<ul><li><a href=\"" + eventlist[k].link + "\">" + eventlist[k].summary + "</a></li>";

		  // use below line if you want to point to the calendar instead of the event page	
		  //t += "<ul><li><a href=\"" + eventlink + "\">" + eventlist[k].summary + "</a></li>";

		  if(eventlist[k].categories.length > 0)
		  {
			t += "<li>" + eventlist[k].categories[0] + " | " + disploc + "</li>";
			t += "<li>" + dispdate + "</li>";
		  }
		  else
		  {
			t  +=  "<li>" + dispdate + " | " + disploc + "</li>";
		  }
		  t += "</ul>";
		  if( (parseInt(k)+1)%col == 0)
		  {
			t += "</td><td>";
		  }
	}
	t += "</td></tr></tbody></table>";
	e.innerHTML = t;


  }