var maxEvents = 1;
var strTest = "";

var dateFormat = function()

{

    var token = /d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g, timezone = /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g, timezoneClip = /[^-+\dA-Z]/g, pad = function(val, len)

    {

        val = String(val);

        len = len || 2;

        while (val.length < len)

            val = "0" + val;

        return val;

    };

    

    // Regexes and supporting functions are cached through closure

    return function(date, mask, utc)

    {

        var dF = dateFormat;

        

        // You can't provide utc if you skip other args (use the "UTC:" mask

        // prefix)

        if (arguments.length == 1

                && (typeof date == "string" || date instanceof String)

                && !/\d/.test(date))

        {

            mask = date;

            date = undefined;

        }

        

        // Passing date through Date applies Date.parse, if necessary

        date = date ? new Date(date) : new Date();

        if (isNaN(date))

            throw new SyntaxError("invalid date");

        

        mask = String(dF.masks[mask] || mask || dF.masks["default"]);

        

        // Allow setting the utc argument via the mask

        if (mask.slice(0, 4) == "UTC:")

        {

            mask = mask.slice(4);

            utc = true;

        }

        

        var _ = utc ? "getUTC" : "get", d = date[_ + "Date"](), D = date[_

                + "Day"](), m = date[_ + "Month"](), y = date[_ + "FullYear"](), H = date[_

                + "Hours"](), M = date[_ + "Minutes"](), s = date[_ + "Seconds"]

                (), L = date[_ + "Milliseconds"](), o = utc ? 0 : date

                .getTimezoneOffset(), flags =

        {

            d : d,

            dd : pad(d),

            ddd : dF.i18n.dayNames[D],

            dddd : dF.i18n.dayNames[D + 7],

            m : m + 1,

            mm : pad(m + 1),

            mmm : dF.i18n.monthNames[m],

            mmmm : dF.i18n.monthNames[m + 12],

            yy : String(y).slice(2),

            yyyy : y,

            h : H % 12 || 12,

            hh : pad(H % 12 || 12),

            H : H,

            HH : pad(H),

            M : M,

            MM : pad(M),

            s : s,

            ss : pad(s),

            l : pad(L, 3),

            L : pad(L > 99 ? Math.round(L / 10) : L),

            t : H < 12 ? "a" : "p",

            tt : H < 12 ? "am" : "pm",

            T : H < 12 ? "A" : "P",

            TT : H < 12 ? "AM" : "PM",

            Z : utc ? "UTC" : (String(date).match(timezone) || [ "" ]).pop()

                    .replace(timezoneClip, ""),

            o : (o > 0 ? "-" : "+")

                    + pad(

                            Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o)

                                    % 60, 4),

            S : [ "th", "st", "nd", "rd" ][d % 10 > 3 ? 0

                    : (d % 100 - d % 10 != 10) * d % 10]

        };

        

        return mask.replace(token, function($0)

        {

            return $0 in flags ? flags[$0] : $0.slice(1, $0.length - 1);

        });

    };

}();



// Some common format strings

dateFormat.masks =

{

    "default" : "ddd mmm dd yyyy HH:MM:ss",

    shortDate : "m/d/yy",

    mediumDate : "mmm d, yyyy",

    longDate : "mmmm d, yyyy",

    fullDate : "dddd, mmmm d, yyyy",

    shortTime : "h:MMtt",

    mediumTime : "h:MM:ss TT",

    longTime : "h:MM:ss TT Z",

    isoDate : "yyyy-mm-dd",

    isoTime : "HH:MM:ss",

    isoDateTime : "yyyy-mm-dd'T'HH:MM:ss",

    isoUtcDateTime : "UTC:yyyy-mm-dd'T'HH:MM:ss'Z'",

    justYear : "yyyy",

    justMonth : "mm",

    justDay : "d",

    justHour : "HH:MM"



};



// Internationalization strings

dateFormat.i18n =

{

    dayNames : [ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sunday",

            "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ],

    monthNames : [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug",

            "Sep", "Oct", "Nov", "Dec", "January", "February", "March",

            "April", "May", "June", "July", "August", "September", "October",

            "November", "December" ]

};



// For convenience...

Date.prototype.format = function(mask, utc)

{

    return dateFormat(this, mask, utc);

};



function padNumber(num)

{

    if (num <= 9)

    {

        num = "0" + num;

    }

    return num;

}



function locationAsHtml(item)

{

    var loc = '';

    

    if (item.location)

        loc = "<span class='eLoc'>" + item.location + "</span>";

    else

        ; // no place for this event, must be an annoucement

        

    return loc;

}

function isSameDay(item)

{
    var start = item.start;

    var end = item.end;

    var sameDay = start.format("justYear") == end.format("justYear");

    var startDay = new Number(start.format("justDay"));

    var endDay = new Number(end.format("justDay"));

    sameDay = sameDay && start.format("justMonth") == end.format("justMonth");

    sameDay = sameDay

            && (start.format("justDay") == end.format("justDay") || (startDay == endDay

                    && start.format("justHour") == "00:00" && end

                    .format("justHour") == "00:00"));

    

    // alert(item.start.format("justHour") + " " + item.end.format("justHour") +

    // " " + sameDay + " " + startDay + "-" + endDay);

    return sameDay;

}

function datesAsHtml(item)

{

    // alert(item.start.format() + " " + item.end.format());

    // var sameDay = item.start.format("fullDate") ==

    // item.end.format("fullDate");

    var sameDay = isSameDay(item);

    var allDay = item.start.format("shortTime") == item.end.format("shortTime");

    var dhtml = "";

    var dateF = "ddd. mmm. d, yyyy ";

    if (sameDay && !allDay)

    {

        dhtml = item.start.format(dateF) + "at "

                + item.start.format("shortTime");

    }

    else if (sameDay && allDay)

    {

        dhtml = item.start.format(dateF);

    }

    else if (!sameDay)

    {

        var endTime = item.end.getTime();

        endTime = endTime - (1000 * 60 * 60 * 24);

        var endDate = new Date(endTime);

        var s = item.start.format(dateF);

        var e = endDate.format(dateF);

        if (s != e)

            dhtml = item.start.format(dateF) + " - " + endDate.format(dateF);

        else

            dhtml = item.start.format(dateF);

    }

    else

    {

        throw "Unhandled date display case: sameDay=" + sameDay + " allDay: "

                + allDay;

    }

    return "<span class='eDate'>" + dhtml + "</span>";

}



function listMedallions(feedRoot)
{
    var entries = feedRoot.feed.getEntries();
	
    var len = entries.length;

    var items = new Array();

    var listing = "";

    var lastMonth = "";

    var monthIndex = 0;

    var seenTitles = new Array();

    var stop = false;

    for ( var i = 0; i < len; i++)

    {

        var entry = entries[i];

        var item = parseItem(entry);

        items[i] = item;

        var title = item.oldtitle;

        

        if (seenTitles[title] == null)

        {

            

            var currMonth = item.start.format("mmmm");

            if (currMonth != lastMonth)

            {

                

                lastMonth = currMonth;

                

                if (monthIndex > 0 && monthIndex < 3)

                {

                    $('medallionEvents' + monthIndex).innerHTML = listing;

                    listing = "";

                    

                }

                else

                {

                    

                }

                monthIndex++;

                listing += "<li class='eMonth'>" + lastMonth + "</li>";

            }

            

            listing += "<li>" + item.title + item.dates + item.loc

                    + item.comments + "</li>";

        }

        

    }

    if (len == 0)

        listing = "<li><p>No events, please check for updates again later on.</p></li>";

    else

        ; // have events

        

    $('medallionEvents3').innerHTML = listing;

    

}



function listEvents(feedRoot, targetId)

{

    

    var entries = feedRoot.feed.getEntries();

    

    var len = entries.length;

    

    var items = new Array();

    var listing = "";

    

    var lastMonth = "";

    

    var seenTitles = new Array();

    var stop = false;

    

    for ( var i = 0; i < len; i++)

    {

        var entry = entries[i];

        var item = parseItem(entry);

        items[i] = item;

        var title = item.oldtitle;

        

        if (seenTitles[title] == null)

        {

            // want to capture 1 ig general mtg and 1 ig & dcm mtg

            if (targetId == "groupEvents")

                seenTitles[title] = true;

            else

                ; // not the ig general feed

                

            var currMonth = item.start.format("mmmm");

            if (currMonth != lastMonth && showMonths)

            {

                lastMonth = currMonth;

                listing += "<li class='eMonth'>" + lastMonth + "</li>";

            }

            

            listing += "<li>" + item.title + item.dates + item.loc

                    + item.comments + "</li>";

        }

        

    }

    if (len == 0)

    {

        listing = ""; // "<li><p>No events, please check for updates again

                        // later on.</p></li>";

        try

        {

            if ($('eHitsSummary').innerHTML == '')

            {

                $('eHitsSummary').innerHTML = 'No events matched your query.';

            }

        }

        catch (ignored)

        {

            

        }

    }

    else

    {

        try

        {

            $('eHitsSummary').innerHTML = '&nbsp;';

        }

        catch (ignored)

        {

            

        }

    }

    $(targetId).innerHTML = listing;

}



function listAnyEvents(feedRoot, targetId)

{

    

    var entries = feedRoot.feed.getEntries();

    

    var len = entries.length;

    

    var items = new Array();

    var listing = "";

    

    var lastMonth = "";

    

    var seenTitles = new Array();

    var stop = false;

    

    for ( var i = 0; i < len; i++)

    {

        var entry = entries[i];

        var item = parseItemForAll(entry);

        items[i] = item;

        var title = item.oldtitle;

        

        if (seenTitles[title] == null)

        {

            

            var currMonth = item.start.format("mmmm");

            if (currMonth != lastMonth && showMonths)

            {

                

                lastMonth = currMonth;

                listing += "<br/><p><b>" + lastMonth + "</b></p><br/>";

            }

            

            listing += "<p><b>" + item.title + "</b><br/>" + item.dates;

            if (item.loc != null && item.loc != '')

            {

                listing+= "<br/><i>" + item.loc + "</i>";

            }

            if (item.comments != null && item.comments != '')

            {

                listing += "<br/>" + item.comments;

            }

            listing +="</p><br/>";

        }

        

    }

    

    $(targetId).innerHTML = $(targetId).innerHTML + listing;

    

}



var myService = null;

var twoThreeFourUrl = 'http://www.google.com/calendar/feeds/aatoronto.org_ue51kq731e9gkquns7nrpthfk0%40group.calendar.google.com/public/full';

var medallionUrl = 'http://www.google.com/calendar/feeds/aatoronto.org_l7f1plk4magm0c8rbrcan641pc@group.calendar.google.com/public/full';

var eventsUrl = 'http://www.google.com/calendar/feeds/aatoronto.org_ieh6knmpi8srpm8cilia5v1c20@group.calendar.google.com/public/full';

var districtFeedUrl = 'http://www.google.com/calendar/feeds/aatoronto.org_mjjg5qliiveqb990rkav5d06b8@group.calendar.google.com/public/full';

var allFeeds = [ eventsUrl, twoThreeFourUrl, medallionUrl, districtFeedUrl ];



function setupMyService()

{

    myService = new google.gdata.calendar.CalendarService('myservice');

}



var handleTwoThreeFour = function(myResultsFeedRoot)

{

    listEvents(myResultsFeedRoot, "ig234events");

}



var handleEvents = function(myResultsFeedRoot)

{

    listEvents(myResultsFeedRoot, "gtaEvents");

}



var handleMedallion = function(myResultsFeedRoot)

{

    listEvents(myResultsFeedRoot, "medallionEvents");

}



var handleMedallionForEventPage = function(myResultsFeedRoot)

{

    listMedallions(myResultsFeedRoot, "medallionEvents");

}



var handleDistrictsForEventPage = function(myResultsFeedRoot)

{

    

    listEvents(myResultsFeedRoot, "districtEvents");

}



var handleListEvents = function(myResultsFeedRoot)

{

    listAnyEvents(myResultsFeedRoot, "listStart");

}



var allHandles = [ handleEvents, handleTwoThreeFour, handleMedallion,

        handleDistrictsForEventPage ];



function parseItem(entry)

{

    var item = new Object();

    

    //strTest = strTest + "\n" . entry.getTitle().getText()  ;

    

    item.oldtitle = entry.getTitle().getText();

    item.title = entry.getTitle().getText();

    item.comments = entry.getContent().getText();

    

    var times = entry.getTimes();

    

    if (times.length > 0)

    {

        item.start = times[0].getStartTime().getDate();

        item.end = times[0].getEndTime().getDate();

    }

    else

    {

        throw "Event with no date found! " + item.title;

    }

    

    var where = entry.getLocations();

    if (where.length > 0)

    {

        item.location = where[0].getValueString();

    }

    

    item.loc = locationAsHtml(item);

    item.dates = datesAsHtml(item);

    item.comments = item.comments ? "<span class='eComments'>" + item.comments

            + "</span>" : "";

    

    item.comments = item.comments.replace(

            /\[(.*),{1,1}\s*(.*),{1,1}(internal|external)\]{1,1}/gi,

            "<a class='$3' href='$2'>$1</a>");

    item.comments = item.comments.replace(/\n\s*\n/gi, '<br/>&nbsp;<br/>');

    item.comments = item.comments.replace(/\n/gi, '<br/>');

    

    item.title = "<span class='eTitle'>" + item.title + "</span>";

    

    return item;

}





function parseItemForAll(entry)

{

    var item = new Object();

    

    item.oldtitle = entry.getTitle().getText();

    item.title = entry.getTitle().getText();

    item.comments = entry.getContent().getText();

    

    var times = entry.getTimes();

    

    if (times.length > 0)

    {

        item.start = times[0].getStartTime().getDate();

        item.end = times[0].getEndTime().getDate();

    }

    else

    {

        throw "Event with no date found! " + item.title;

    }

    

    var where = entry.getLocations();

    if (where.length > 0)

    {

        item.location = where[0].getValueString();

    }

    

    item.loc = locationAsHtml(item);

    item.dates = datesAsHtml(item);

    item.comments = item.comments ? item.comments : "";

    

    item.comments = item.comments.replace(/\n\s*\n/gi, '<br/>&nbsp;<br/>');

    item.comments = item.comments.replace(/\n/gi, '<br/>');

    

    item.title = item.title ;

    

    return item;

}



/** for committee page ** */

var handleCmt = function(feedRoot)

{

    var entries = feedRoot.feed.getEntries();

    

    var len = entries.length;

    

    var items = new Array();

    

 

    var seenTitles = new Array();

    

    for ( var i = 0; i < len; i++)

    {

        var entry = entries[i];

        

        var item = parseItem(entry);

       



        

        var title = item.title;

        

        var key = item.oldtitle.replace(/\s{1,1}.*/, "");

        key = key.toLowerCase();

        

        if (seenTitles[key] == null)

        {

            

            seenTitles[key] = true;

            

            var listing = "<b>" + item.dates + "</b>" + item.loc + item.comments;

                   

            try

            {

                $('cmt' + key).innerHTML = listing;

            }

            catch (ignored)

            {

                //alert (listing);

            }

            

        }

        

    }

	
	var els = $$('span.clsNextMtg');

	els.each(function(item) {
	  
	  item.update('(No Meeting scheduled at this time)').setStyle({color: '#333', fontWeight: 'bold'});

	});


}



function parseQuery(url, maxResults)

{

    var query = new google.gdata.calendar.CalendarEventQuery(url);



    query.setOrderBy('starttime');

    query.setSortOrder('ascending');



    query.setFutureEvents(true);

    query.setSingleEvents(true);

    query.setMaxResults(100);



    return query;

}



/** for committee page ** */

var getCmtFeed = function()

{

    setupMyService();

    var query = parseQuery(twoThreeFourUrl, maxEvents);


    myService.getEventsFeed(query, handleCmt, calErrorHandler);

}



/** for GM map page * */

var getIGMFeed = function()

{

    setupMyService();

    var maxResults = 20;

    var query = parseQuery(twoThreeFourUrl, maxResults);

    

    myService.getEventsFeed(query, handleIgm, calErrorHandler);

    

}



var getDistrictFeed = function()

{

    setupMyService();

    // var maxResults = 15;

    // var query = parseQuery(districtFeedUrl, maxResults);

    

    // myService.getEventsFeed(query, handleDistrict, calErrorHandler);

    

    maxResults = 15;

    query = parseQuery(districtFeedUrl, maxResults);

    

    myService.getEventsFeed(query, handleDistrictMeeting, calErrorHandler);

    

}



/** for GM map page * */

var handleIgm = function(feedRoot)

{

    var entries = feedRoot.feed.getEntries();

    

    var len = entries.length;

    

    var items = new Array();

    

    var listingsByTitleMap = new Array();

    var seenTitles = new Array();

    

    for ( var i = 0; i < len; i++)

    {

        var entry = entries[i];

        var item = parseItem(entry);

        items[i] = item;

        

        var title = item.title;

        

        if (seenTitles[title] == null)

        {

            

            seenTitles[title] = true;

            

            var listing = item.dates + "<br/>" + item.loc;

            

            var key = item.oldtitle.replace(/\s.*/, "");

            

            listingsByTitleMap[key] = listing;

            try

            {

                if (item.oldtitle == 'Monthly General Meeting of GTA Intergroup')

                {

                    $('igmeeting').innerHTML = listing;

                }

            }

            catch (ignored)

            {

            }

            

        }

        

    }

    

}



var handleDistrictMeeting = function(feedRoot)

{

    var entries = feedRoot.feed.getEntries();

    

    var len = entries.length;

    

    var items = new Array();

    

    var listingsByTitleMap = new Array();

    var seenTitles = new Array();

    

    for ( var i = 0; i < len; i++)

    {

        var entry = entries[i];

        var item = parseItem(entry);

        items[i] = item;

        

        var title = item.title;

        

        if (seenTitles[title] == null)

        {

            

            seenTitles[title] = true;

            

            var listing = "<b style='line-height: 2em;'>" + item.dates + "</b><br/>" + item.loc + "<br/>"

                    + item.comments;

            

            var key = item.oldtitle.replace(/\s.*/, "");

            

            listingsByTitleMap[key] = listing;

            try

            {

                if (item.oldtitle == 'District 22 Committee Meeting')

                {

                    $('D22Mtg').innerHTML = listing;

                }

                else if (item.oldtitle == 'District 10 Committee Meeting')

                {

                    $('D10Mtg').innerHTML = listing;

                }

                else if (item.oldtitle == 'District 12 Committee Meeting')

                {

                    $('D12Mtg').innerHTML = listing;

                }

                else if (item.oldtitle == 'District 2 Committee Meeting')

                {

                    $('D2Mtg').innerHTML = listing;

                }

                else if (item.oldtitle == 'District 14 Committee Meeting')

                {

                    $('D14Mtg').innerHTML = listing;

                }

                else if (item.oldtitle == 'District 6 Committee Meeting')

                {

                    $('D6Mtg').innerHTML = listing;

                }

                else if (item.oldtitle == 'District 18 Committee Meeting')

                {

                    $('D18Mtg').innerHTML = listing;

                }

                else if (item.oldtitle == 'Joint Intergroup and Districts Meeting')

                {

                    $('dmeeting').innerHTML = listing;

                }

                

            }

            catch (ignored)

            {

            }

            

        }

        

    }

    

}



/** for district page * */

var handleDistrict = function(feedRoot)

{

    var entries = feedRoot.feed.getEntries();

    

    var len = entries.length;

    

    var items = new Array();

    

    var listingsByTitleMap = new Array();

    var seenTitles = new Array();

    

    for ( var i = 0; i < len; i++)

    {

        var entry = entries[i];

        var item = parseItem(entry);

        items[i] = item;

        

        var title = item.title;

        

        if (seenTitles[title] == null)

        {

            

            seenTitles[title] = true;

            

            var listing = item.dates + "<br/>" + item.loc;

            

            var key = item.oldtitle.replace(/\s.*/, "");

            

            listingsByTitleMap[key] = listing;

            try

            {

                if (item.oldtitle == 'Joint Intergroup and Districts Meeting')

                {

                    $('dmeeting').innerHTML = listing;

                }

            }

            catch (ignored)

            {

            }

            

        }

        

    }

    

}



var getHomePageFeed = function()

{

    setupMyService();

    

    for ( var i = 0; i < allFeeds.length; i++)

    {

        currFeed = i;

        var maxResults = 2;

        var query = parseQuery(allFeeds[i], maxResults);

        

        myService.getEventsFeed(query, allHandles[i], calErrorHandler);

    }

    

}



function makeStartDate(monthOffset)

{

    var d = new Date();

    

    d.setMonth(d.getMonth() + monthOffset + 1, 1);

    // alert(d.getFullYear() + "-" + (d.getMonth() + 1) +

    // "-01T00:00:00.000-04:00");

    // '2009-01-01T00:00:00.000-04:00'

    

    var m = d.getMonth();

   var m = new String(m);

   if (m.length == 1)

       m = "0" + m;

       

    var day = d.getDay();

   var day = new String(day);

   if (day.length == 1)

       day = "0" + day;       

       

       

   var r = d.getFullYear() + "-" + m

   + "-" + day + "T00:00:00.000-08:00";

   

  //alert("Date is: " + day);

    return r;

}



var getMyFeed = function()

{

    setupMyService();

    

    for ( var i = 0; i < allFeeds.length; i++)

    {

        var maxResults = 30;

        var at234 = 1;

        var medal = 2;

        var districts = 3;

        

        if (i == at234)

        {

            maxResults = 15;

        }

        else if (i == districts)

        {

            maxResults = 12;

        }

        

        if (i == medal)

        {

            

            var query = new google.gdata.calendar.CalendarEventQuery(

                    medallionUrl);

            query.setOrderBy('starttime');

            query.setSortOrder('ascending');

            

            query.setSingleEvents(true);

            var startMin = google.gdata.DateTime.fromIso8601(makeStartDate(-1));

            var startMax = google.gdata.DateTime.fromIso8601(makeStartDate(6));

            

            query.setMinimumStartTime(startMin);

            query.setMaximumStartTime(startMax);

            query.setMaxResults(100);

            

            myService.getEventsFeed(query, handleMedallionForEventPage,

                    calErrorHandler);

        }

        else

        {

            var query = parseQuery(allFeeds[i], maxResults);

            myService.getEventsFeed(query, allHandles[i], calErrorHandler);

        }

        

    }

}



var calErrorHandler = function(e)

{

    // alert("Error loading Google calendar: " + e);

}



// parse a query string

function gup(name)

{

    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");

    var regexS = "[\\?&]" + name + "=([^&#]*)";

    var regex = new RegExp(regexS);

    var results = regex.exec(window.location.href);

    if (results == null)

        return "";

    else

        return results[1];

}



/*

 * Retrieve events with full text query

 */



var eventSearch = function()

{

    setupMyService();

    

    // Full text calSearchQuery for this string

    var searchText = gup('q');

    

    for ( var i = 0; i < allFeeds.length; i++)

    {

        var maxResults = 30;

        

        var at234 = 1;

        var medal = 2;

        var districts = 3;

        

        var query = new google.gdata.calendar.CalendarEventQuery(allFeeds[i]);

        

        var startMin = google.gdata.DateTime.fromIso8601(makeStartDate(-1));

        var startMax = google.gdata.DateTime.fromIso8601(makeStartDate(5));

        

        query.setMinimumStartTime(startMin);

        query.setMaximumStartTime(startMax);

        query.setOrderBy('starttime');

        query.setSortOrder('ascending');

        query.setSingleEvents(true);

        

        if (i == at234)

        {

            maxResults = 15;

        }

        else if (i == districts)

        {

            maxResults = 5;

            

        }

        

        query.setMaxResults(maxResults);

        

        query.setFullTextQuery(searchText);

        

        myService.getEventsFeed(query, allHandles[i], calErrorHandler);

    }

    

}



var getListFeed = function()

{

    setupMyService();

    

    for ( var i = 0; i < allFeeds.length; i++)

    {

        var maxResults = 30;

        var at234 = 1;

        var medal = 2;

        var districts = 3;

        

        if (i == at234)

        {

            maxResults = 0;

        }

        else if (i == districts)

        {

            maxResults = 12;

        }

        

        if (i == medal)

        {

            

            var query = new google.gdata.calendar.CalendarEventQuery(

                    medallionUrl);

            query.setOrderBy('starttime');

            query.setSortOrder('ascending');

            

            query.setSingleEvents(true);

            var startMin = google.gdata.DateTime.fromIso8601(makeStartDate(-1));

            var startMax = google.gdata.DateTime.fromIso8601(makeStartDate(6));

            query.setMinimumStartTime(startMin);

            query.setMaximumStartTime(startMax);

            query.setMaxResults(100);

            

            myService.getEventsFeed(query, handleListEvents,

                    calErrorHandler);

        }

        else

        {

            var query = parseQuery(allFeeds[i], maxResults);

            myService.getEventsFeed(query, handleListEvents, calErrorHandler);

        }

        

    }

}

