/**
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&start-min='+startDate + 'T00:00:00.000-04:00&max-results=' + maxResults;
gCalFeed2 += '?alt=json-in-script&callback=jsonhandler&singleevents=true&orderby=starttime&sortorder=a&start-min='+startDate + 'T00:00:00.000-04:00&max-results=' + maxResults;
gCalFeed3 += '?alt=json-in-script&callback=jsonhandler&singleevents=true&orderby=starttime&sortorder=a&start-min='+startDate + 'T00:00:00.000-04:00&max-results=' + maxResults;
//gCalFeed4 += '?alt=json-in-script&callback=jsonhandler&singleevents=true&orderby=starttime&sortorder=a&start-min='+startDate + 'T00:00:00.000-04:00&max-results=' + maxResults;

//RSSRequest(gCalFeed);

RSSRequest(gCalFeed3);


function RSSRequest(url) {
	document.write("<table id=MainCal align=center><tr><td align=center>");
	document.write("<ul id='calBCE' class='calUL' title='Born Cross Eyed'><script type='text/javascript' language='javascript' src='"+ gCalFeed3 +"'></script></ul>");
document.write("</td></tr><tr><td align=center>");
document.write("<ul id='cal9L' class='calUL' title='Nine Lights'><script type='text/javascript' language='javascript' src='"+ gCalFeed2 +"'></script></ul>");
document.write("</td></tr><tr><td align=center>");
document.write("<ul id='calSMJB' class='calUL' title='Sour Mashers Jug Band'><script type='text/javascript' language='javascript' src='"+ gCalFeed +"'></script></ul>");
document.write("<br /></td></tr></table>");
//document.write("<ul id='cal3' class='calUL' title='Bluegrass Collective'><script type='text/javascript' language='javascript' src='"+ gCalFeed3 +"'></script></ul>");
//document.write("<ul id='cal4' class='calUL' title='BCLP'><script type='text/javascript' language='javascript' src='"+ gCalFeed4 +"'></script></ul></div>");


 //   document.write("<ul id='cal5' title='All'><script type='text/javascript' language='javascript' src='");
   // document.write(gCalFeed);
    //document.write("'></script>");
    //document.write("<script type='text/javascript' language='javascript' src='");
    //document.write(gCalFeed2);
    //document.write("'></script>");
    //document.write("<script type='text/javascript' language='javascript' src='");
    //document.write(gCalFeed3);
    //document.write("'></script>");
    //document.write("<script type='text/javascript' language='javascript' src='");
    //document.write(gCalFeed4);
    //document.write("'></script></ul>");

}

function jsonhandler(response) {
	var feed = response.feed;
	var outputHTML = "<div class='calhead'> " + feed['title'].$t + "</div>";
	var itemTimePrev = new Date();
	itemTimePrev.setTime(0);
	
	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;
		  // What I added - Mark
		  
		    var myhoverId = "hp"+ feed['title'].$t +i;
			myhoverId = myhoverId.replace(/ /g,"");
		  
		  // *****
		
		  var itemLocation = entry['gd$where'][0].valueString;
		  var itemDescr = entry['content'].$t;
		  // *****
		  var isAllDay = false; //init isAllDay variable
	      if (itemTimeRaw.length <= 10) isAllDay = true; //just the date is only 10 digits = all day event
	      var itemTime = 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)));
	      if ((itemTime.getUTCDate()!=itemTimePrev.getUTCDate())||(itemTime.getUTCMonth()!=itemTimePrev.getUTCMonth()))

	        /*POPUP*/
	        outputHTML += '<div class=popup id="'+ myhoverId+'" style="visibility:hidden;position:absolute;top:0;left:0;overflow:hidden;"><div class=rssdate> ' + getMonthName(itemTime)+ ' ' + itemTime.getUTCDate() + "</div><div class=rsstitle>" + itemTitle+'</div><div class=location>'+ itemLocation+'</div>'+ itemDescr +'</div>';
	        
	        outputHTML += '<li id="hov'+ myhoverId+'" style="cursor:pointer;" onMouseOver=\'ShowPopup(this,"'+ myhoverId+'");this.className="red";\' onMouseOut=\'HidePopup("'+ myhoverId+'");this.className=""\' ><span class=rssdate>' + getMonthName(itemTime)+ ' ' + itemTime.getUTCDate() + "</span>-&nbsp;<span class=rsstitle>" + itemTitle+"</span>" ;
	                    
	   //   outputHTML += '<li class="venue intro">'; 
	   if (!isAllDay) outputHTML += ' @ '+getTimeFormatted(itemTime);    
	    outputHTML += '</li>';
	    }  
		  //And here as well, I added the location and description to the list item.
	  //   outputHTML += ' <a href="' + itemLink + '" target="GoogleCalendar">' + itemTitle + '</a>';
	      itemTimePrev.setTime(itemTime); //Save the last timestamp for next iteration comparison	  
//	    }
	    
	    var style = "<style>.location{font-size:10pt;}.red{color:red;}.popup{text-align:center;background-color:#3e4249;border:1px solid white;padding:15px;width:360px;}</style>";
	    
	    
	outputHTML += "";
	setHTML("gcalajax", outputHTML + style);
	setHTML("status", "");
	}
	else {setHTML("status", "");}
}



/*
* Time Format - Month  */

function getMonthName(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 minutes = dateObject.getUTCMinutes();
    var formattedTime = null;
    if (is24Hour) {
        if (minutes < 10){minutes = "0" + minutes;}
        formattedTime = hours + ':' + minutes;
        return (formattedTime);
    }
    else {
        var ampm = "AM";
        if (hours > 12){
            hours = hours - 12;
            ampm = "PM";}
        if (hours == 12){ampm = 'PM';}
        if (hours == 0) {hours = 12;}
        if (minutes < 10){minutes = "0" + minutes;}
        formattedTime = hours + ':' + minutes + ' ' + ampm;
		return (formattedTime);
    }
}

function setHTML(div, data)
{
	document.write(data);
}   



function ShowPopup(hoveritem , myIdtoPop)
{
	
var x = hoveritem.offsetLeft;var y = hoveritem.offsetTop;
while(hoveritem.offsetParent){
if(hoveritem==document.getElementsByTagName('body')[0]){break;}
else{
x=x+hoveritem.offsetParent.offsetLeft ;
y=y+hoveritem.offsetParent.offsetTop ;
hoveritem=hoveritem.offsetParent;
}
}
this.x=x;this.y=y;
//return this.x;
//return this.y;
	
hp = document.getElementById(myIdtoPop);
// Set position of hover-over popup

hp.style.top = y+ 30;
hp.style.left = x ;//hoveritem.offsetLeft + 20 ;
//alert("top"+hoveritem1.offsetTop +"    left:"+ par);
// Set popup to visible
hp.style.visibility = "Visible";
}

function HidePopup(myIdtoPop)
{
hp = document.getElementById(myIdtoPop);
hp.style.visibility = "Hidden";
}