(function () {
	
	var $ = jQuery;
				
	google.load("gdata", "1");
	
	$(window).load(function () {
		
		var service = new google.gdata.calendar.CalendarService('GoogleInc-jsguide-1.0');
	    var query = new google.gdata.calendar.CalendarEventQuery('http://www.google.com/calendar/feeds/g0iif4dhofjeg51m8ence70sgg%40group.calendar.google.com/public/full');
		query.setMinimumStartTime((new google.gdata.DateTime(new Date())));
	    query.setOrderBy('starttime');
	    query.setSortOrder('ascending');
	    query.setMaxResults(7);
		
		service.getEventsFeed(query, function (feedRoot) {
	        
	        var $divEvents = $('#events');
	        
	        if (!$divEvents) {
	        
	            return;
	        }
	        
	        var events = feedRoot.feed.getEntries();
	        
	        if (!events) {
	        	
	            return;
	        }
			
			var $tblEvents = $('<table></table>').attr('class', 'entries').appendTo($divEvents);
			var $tBdyEvents = $('<tbody></tbody>').appendTo($tblEvents);
	        
	        for (i = 0; i < events.length; i++) {
				
	            var href = events[i].getLink('alternate').getHref();
	            var title = events[i].getTitle().getText();
	            var date = events[i].getTimes()[0].getStartTime().getDate();
	            var month = ((date.getMonth() + 1) < 10) ? '0' + (date.getMonth() + 1).toString() : (date.getMonth() + 1);
	            var day = (date.getDate() < 10) ? '0' + date.getDate().toString() : date.getDate();
				
				var $trEvent = $('<tr></tr>').appendTo($tBdyEvents);
				var $tdEventDate = $('<td></td>').attr('class', 'boldit date').appendTo($trEvent);
				$tdEventDate.text(month + '/' + day);
				
				var $tdEventDesc = $('<td></td>').appendTo($trEvent);
	            var $aEventDesc = $('<a></a>').attr('href', href).attr('title', title).text(title).appendTo($tdEventDesc);
	            $aEventDesc.click(function (e) {
	            
	                var href = $(e.target).attr('href');
	                
	                if (!href || href == '') {
	                
	                    return true;
	                }
	                else {
	                
	                    window.open(href, '_blank', 'height=400px,location=no,menubar=no,resizable=no,scrollbars=no,status=no,toolbar=no,width=650px', 'false');
	                    return false;
	                }
	            });
	        }
			
			$divEvents.find('span:first').hide();
			
		}, function (error) {
			
			if (error.cause) {
	        
	            alert(error);
	        }
		});
	});
})();