/**
gCalJSON
Copyright 2006 Mark Percival -  SquarePush, LLC
mark@squarepush.com
Released under GPL
A JSON implementation of gCalAjax.
**/


var today = new Date();
var startDate = today.getFullYear() + '-';
startDate += (today.getMonth()+1 < 10) ? '0'+(today.getMonth()+1) : today.getMonth()+1; 
startDate += '-';
startDate += (today.getDate() < 10) ? '0'+today.getDate() : today.getDate(); 

gCalFeed += '?alt=json-in-script&callback=jsonhandler&singleevents=true&orderby=starttime&sortorder=a';
gCalFeed += '&start-min='+startDate;
gCalFeed += '&max-results=' + maxResults;

RSSRequest(gCalFeed);


function RSSRequest(url) {
document.write("<script type='text/javascript' language='javascript' src='");
document.write(gCalFeed);
document.write("'></script>");
}

function jsonhandler(response) {
	var feed = response.feed;
	var outputHTML = "";
	var TimeZoneShift = 700;
	var itemTimePrev = new Date();
	itemTimePrev.setTime(0);


//outputHTML +=  getTimeFormatted(today) - TimeZoneShift + ' is right now. <br><br>';
	var now = getTimeFormatted(today) - TimeZoneShift ;


	if(feed.entry) { 
		for (var i = 0 ; i < feed.entry.length; i++) {



	      var entry = feed.entry[i];
	      var itemTitle = entry['title'].$t;
		  var itemLink = entry['link'][0].href;
		  var itemTimeRaw = entry['gd$when'][0].startTime;
		  var itendTimeRaw = entry['gd$when'][0].endTime;
		  // What I added - Mark
		  // *****
		  var itemLocation = entry['gd$where'][0].valueString;
		  var itemDescr = entry['content'].$t;
		  // *****
		  var isAllDay = false; //init isAllDay variable
		  var isContinued = false; //init isContinued variable
		  var isLinked = false; //init isLinked variable
	      if (itemTimeRaw.length <= 10) isAllDay = true; //just the date is only 10 digits = all day event
	      var itemTime = new Date();
	      var itendTime = new Date();
	      itemTime.setTime (Date.UTC(itemTimeRaw.substr(0,4),(itemTimeRaw.substr(5,2)-1),itemTimeRaw.substr(8,2),itemTimeRaw.substr(11,2),itemTimeRaw.substr(14,2)));
	      itendTime.setTime (Date.UTC(itendTimeRaw.substr(0,4),(itendTimeRaw.substr(5,2)-1),itendTimeRaw.substr(8,2),itendTimeRaw.substr(11,2),itendTimeRaw.substr(14,2)));
	      
		
		if (itemTime <= today) isContinued = true;
		//if (itemTime <= today) itemTime = today;
		
		//if ((itemTime.getUTCDate()!=itemTimePrev.getUTCDate())||(itemTime.getUTCMonth()!=itemTimePrev.getUTCMonth()))
	

	//outputHTML += getTimeFormatted(itemTime) + ' is >= ' + now + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>';
	if  ((getTimeFormatted(itendTime)) >= (now) )
{
	if  ((getTimeFormatted(itemTime)) <= (now) )
{       

//outputHTML += getTimeFormatted(itemTime) + '---------------' + getTimeFormatted(itendTime) + '<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;     ' + itemTitle +  '<br><br>';





outputHTML += '<center><table bgcolor="red" width=774px border="0"><tr id="tr2"><td ALIGN="left" width=280px><h1><font color=#ffff66>Take Action Now:&nbsp;</font></h1></td><td ALIGN="right"><h1><a href="'+ itemDescr + '"><font color=#ffcc33>' + itemTitle + '</font></a></h1></td></tr></table></center>'






	 //     if (!isAllDay) outputHTML += getTimeFormatted(itemTime) + ' - ';     
		  //And here as well, I added the location and description to the list item.
//itemDescr=itemDescr.replace("http://","<a href=http://");
//isLinked = itemDescr.match("http:") ;

//if (isLinked) outputHTML += ' target="_blank">link</a>';

	      itemTimePrev.setTime(itemTime); //Save the last timestamp for next iteration comparison	  
	    }}}
	//outputHTML += "</table>";
	setHTML("gcalajax", outputHTML);
	setHTML("status", "");
	}
	else {setHTML("status", "No future events.");}
}

/*
* Time Format - Month
*/
function getMonthName(dateObject) {
    var m_names = new Array("Jan", "Feb", "Mar", 
    "Apr", "May", "Jun", "Jul", "Aug", "Sep", 
    "Oct", "Nov", "Dec");
    return(m_names[dateObject.getUTCMonth()]);
}

function getManthName(dateObject) {
    var m_names = new Array("January", "February", "March", 
    "April", "May", "June", "July", "August", "September", 
    "October", "November", "December");
    return(m_names[dateObject.getUTCMonth()]);
}

/*
* Time Format - Hour
*/
function getTimeFormatted(dateObject) {
    var hours = dateObject.getUTCHours();
    var date = dateObject.getUTCDate();
    var minutes = dateObject.getUTCMinutes();
    var year = dateObject.getUTCFullYear();
    var month = dateObject.getUTCMonth();



    var formattedTime = null;
    
        if (minutes < 10){minutes = "0" + minutes;}
        if (hours < 10){hours  = "0" + hours;}
        if (date < 10){date = "0" + date;}
        if (month < 10){month = "0" + month;}
        formattedTime = year + '' + month + '' + date + '' + hours + '' + minutes;
        return (formattedTime);
   
}

function topAlign()
{
document.getElementById('tr2').vAlign="top";
}

function setHTML(div, data)
{
	document.write(data);
}   
