var numEventos = 0;

function googleCalendar(num){
	if(num >0) numEventos = num;
	google.setOnLoadCallback(getMyFeed);
	google.load("gdata", "1");
}

var myService;
var feedUrl = "http://www.google.com/calendar/feeds/psicopraxis07@gmail.com/public/full";//?orderby=starttime";
//var feedUrl = "http://www.google.com/calendar/feeds/5029bnugdulqamf6dinv9mtsjs%40group.calendar.google.com/public/full";

var aut;
var ref;
var calendarEntry;

function setupMyService() {
   var falert = window.alert;
   window.alert = function() { /* silence google */ };
   myService = new google.gdata.calendar.CalendarService('exampleCo-exampleApp-1');
   window.alert = falert;
}

function handleMyFeed(myResultsFeedRoot) {
  //alert("This feed's title is: " + myResultsFeedRoot.feed.getTitle().getText());
  
  var entries = myResultsFeedRoot.feed.entry;
  
  listEvents(myResultsFeedRoot);
}

function handleError(e) {
  alert("There was an error!");
  alert(e.cause ? e.cause.statusText : e.message);
}

function getMyFeed() {
      // Fill out
	  setupMyService();
	
	// Create a CalendarEventQuery, and specify that this query is 
	// applied toward the "private/full" feed
	var query = new google.gdata.calendar.CalendarEventQuery(feedUrl);
	
	// Create and set the minimum and maximum start time for the date query
//	var startMax = google.gdata.DateTime.fromIso8601('2009-07-01T00:00:00.000-08:00');
	var now = new Date();
	var today = now.getFullYear()+'-'+padNumber(now.getMonth() +1)+'-'+padNumber(now.getDate());
	query.setMinimumStartTime(today);
	query.setOrderBy('starttime');
	//query.ExtraParameters = "orderby=starttime"; 
	//if(numEventos > 0) query.setMaxResults(numEventos);
//	query.setMaximumStartTime(startMax);	  
	  myService.getEventsFeed(query, handleMyFeed, handleError);
	  //alert("cargado");
    }
	
/**
 * Adds a leading zero to a single-digit number.  Used for displaying dates.
 */
function padNumber(num) {
  if (num <= 9) {
    return "0" + num;
  }
  return num;
}
	
function listEvents(feedRoot) {
  var entries = feedRoot.feed.getEntries();
  var eventDiv = document.getElementById('events');
  if (eventDiv.childNodes.length > 0) {
    eventDiv.removeChild(eventDiv.childNodes[0]);
  }	  
  /* create a new unordered list */
  var ul = document.createElement('ul');
  /* set the calendarTitle div with the name of the calendar */
//  document.getElementById('calendarTitle').innerHTML = 
 //   "Calendar: " + feedRoot.feed.title.$t;
  /* loop through each event in the feed */
  var len = entries.length;
  if(numEventos <= 0 || numEventos>=len) numEventos = len;
  for (var i = len - 1; i >= len - numEventos; i--) {
    var entry = entries[i];
    var title = entry.getTitle().getText();
	var desc = entry.getContent().getText();
	var loca = entry.getLocations()[0].getValueString();
    var startDateTime = null;
    var startJSDate = null;
    var times = entry.getTimes();
    if (times.length > 0) {
      startDateTime = times[0].getStartTime();
      startJSDate = startDateTime.getDate();
    }
    var entryLinkHref = null;
    if (entry.getHtmlLink() != null) {
      entryLinkHref = desc;//entry.getHtmlLink().getHref();
    }
	dias = new Array("Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sabado");
	meses = new Array ("Enero", "Febrero", "Marzo", "Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");
	//var dateString = (dias[startJSDate.getDay()] + ", " + startJSDate.getDate() + " de " + meses[startJSDate.getMonth()] + " de " + startJSDate.getFullYear());
	var dateString = (startJSDate.getDate() + " de " + meses[startJSDate.getMonth()] + " de " + startJSDate.getFullYear());
    if (!startDateTime.isDateOnly()) {
      dateString += " " + startJSDate.getHours() + ":" + 
          padNumber(startJSDate.getMinutes());
    }
    var li = document.createElement('li');
	//if(i < len - 10) li.setAttribute('class', 'oculto');

    /* if we have a link to the event, create an 'a' element */
    if (entryLinkHref != null) {
      entryLink = document.createElement('a');
      //entryLink.setAttribute('href', desc);//entryLinkHref);
	  entryLink.setAttribute('href', entryLinkHref);
      entryLink.appendChild(document.createTextNode(title));
      li.appendChild(document.createTextNode( loca + ' - ' + dateString));
      li.appendChild(entryLink);
    } else {
      li.appendChild(document.createTextNode(title + ' - ' + dateString));
    }	    

    /* append the list item onto the unordered list */
    ul.appendChild(li);
  }
  eventDiv.appendChild(ul);
  finalPrecarga();
}

function finalPrecarga() {
	$("img.preloading").addClass("oculto");
}
	

