      function _run() {
        /*
        * Retrieve events with a date query
        */

        var tournamenttype = 'A-point Tournaments';
        
        // Create Months Array
        var months = new Array(12);
        
        months[0] = 'January';
        months[1] = 'February';
        months[2] = 'March';
        months[3] = 'April';
        months[4] = 'May';
        months[5] = 'June';
        months[6] = 'July';
        months[7] = 'August';
        months[8] = 'September';
        months[9] = 'October';
        months[10] = 'November';
        months[11] = 'December';
        
        // Create Date Ordinal Suffix Array
        
        var ordstr = new Array(31);
        
        ordstr[1] = 'st';
        ordstr[2] = 'nd';
        ordstr[3] = 'rd';
        
        for (var i=1; i<32; i++)
        {

          if ((i==1) || (i==11) || (i==21) || (i==31)) {ordstr[i]='st'}
          else if ((i==2) || (i==12) || (i==22)) {ordstr[i]='nd'}
          else if  ((i==3) || (i==13) || (i==23)) {ordstr[i]='rd'}
          else {ordstr[i] = 'th'}
            
            }
        
        // Obtain a reference to the 'content' div
        var content = document.getElementById('scrollingContent');

        var content2 = document.getElementById('scrollingContent2');

        content2 = 'Wayne';

        var event1 = document.getElementById('event1');
        var event2 = document.getElementById('event2');
        var event3 = document.getElementById('event3');
        var event4 = document.getElementById('event4');
        var event5 = document.getElementById('event5');
        var event6 = document.getElementById('event6');
        var event7 = document.getElementById('event7');
        var event8 = document.getElementById('event8');
        var event9 = document.getElementById('event9');
        var event10 = document.getElementById('event10');
        var event11 = document.getElementById('event11');
        var event12 = document.getElementById('event12');
        
        // Create the calendar service object
        var calendarService =
            new google.gdata.calendar.CalendarService('com.appspot.interactivesampler');
        
        // The "public/full" feed is used to retrieve events from the named public
        // calendar with full projection.
        var feedUri = 'http://www.google.com/calendar/feeds/1np2i2qsjuirrj6breae82eb8s%40group.calendar.google.com/public/full';

        var feedUri2 = 'http://www.google.com/calendar/feeds/03k8gfo07ad7thra7tujj3ceds%40group.calendar.google.com/public/full';

        var feedUriNational = 'http://www.google.com/calendar/feeds/c6kbdulf5he6v7obnfb5h2ok2k%40group.calendar.google.com/public/full';
        
        // Create a CalendarEventQuery, and specify that this query is
        // applied toward the "private/full" feed
        var query = new google.gdata.calendar.CalendarEventQuery(feedUri);

        var query2 = new google.gdata.calendar.CalendarEventQuery(feedUri2);

        var queryNational = new google.gdata.calendar.CalendarEventQuery(feedUriNational);

        
        // Create and set the minimum and maximum start time for the date query
        
          var currentDate = new Date();
          var day = currentDate.getDate();
          var month = currentDate.getMonth()+1;
          var year = currentDate.getFullYear();
        
          var nextmonth = month + 1;
          var nextday = day;
          var nextyear = year;
          
        if (nextmonth>=13) {
          
          nextmonth = nextmonth-12;
          nextyear = year+1;
        }
          
        //  if (day=31 and (month = 3 or month = 5 or month = 8 or month = 10)) {nextday = 30;}
            
        //    if (day>28 and month = 1) {nextday = 28;}  
            
          var monthstr = month+'';
          var daystr = day+'';
          var nextmonthstr = nextmonth+'';
          var nextdaystr = nextday+'';

          if (month < 10) {monthstr = '0'+monthstr}
          if (day < 10) {daystr = '0'+daystr}
          if (nextmonth < 10) {nextmonthstr = '0'+nextmonthstr}
          if (nextday < 10) {nextdaystr = '0'+nextdaystr}

          TodayStr  = year + '-' + monthstr + '-' + daystr;
          NextdayStr = nextyear + '-' + nextmonthstr + '-' + nextdaystr;
             
        var startMin = google.gdata.DateTime.fromIso8601(TodayStr + 'T00:00:00.000-08:00');
        var startMax = google.gdata.DateTime.fromIso8601(NextdayStr+ 'T00:00:00.000-08:00');
        
        query.setMinimumStartTime(startMin);
        query.setMaximumStartTime(startMax);
        
        query2.setMinimumStartTime(startMin);
        query2.setMaximumStartTime(startMax);

        queryNational.setMinimumStartTime(startMin);
        queryNational.setMaximumStartTime(startMax);

        // The callback that will be called when getEventsFeed() returns feed data
        var callback = function(root) {
        
          // Obtain the array of matched CalendarEventEntry
          var eventEntries = root.feed.getEntries();
     
          // Print the query parameters
          var fromDate = google.gdata.DateTime.toIso8601(startMin);
          var toDate = google.gdata.DateTime.toIso8601(startMax);
   
          if (eventEntries.length > 0) {
            var theseevents = new Array(eventEntries.length);
            for (var i = 0; i < eventEntries.length; i++) {
              theseevents[i] = eventEntries[i];
            }
            
        // Sort the Events by date
            
            for (var i = 0; i < eventEntries.length-1; i++) {
              for (var j = i+1; j < eventEntries.length; j++) {
                if (theseevents[j].getTimes()[0].getStartTime().getDate()<theseevents[i].getTimes()[0].getStartTime().getDate()) {
                  var thisevent = theseevents[i];
                  theseevents[i] = theseevents[j];
                  theseevents[j] = thisevent;
                }
              }
            }
          }
                                            
                                              
          // If there is matches for the date query
            if (eventEntries.length > 0) {
            
          // Sort eventEntries
            
        //    for (var i = 0; i < eventEntries.length-1; i++)
        //      for (var j = i+1; j < eventEntries.length; j++)
        //      {
        //        var event1 = eventEntries[i];
        //        var event2 = eventEntries[j];
        //       var date1 = event1.getTimes()[0].getStartTime().getDate(); 
        //        var date2 = event2.getTimes()[0].getStartTime().getDate(); 
                
        //        if (date2 < date1) {
        //          eventEntries[i] = event2;
        //          eventEntries[j] = event1;
                
        
        //      }  
              
//            alert( );

            var calendarname = root.feed.getTitle().getText();

            html += '<p><strong>' + root.feed.getTitle().getText() + '</strong></p>';

            if (tournamenttype=='A-point Tournaments') {tournamenttype = 'B-point Tournaments'}

            else if (tournamenttype=='B-point Tournaments') {tournamenttype = 'National Tournaments'}

//            html += '<ul>';
            for (var i = 0; i < eventEntries.length; i++) {
              var event = theseevents[i];
              var date = event.getTimes()[0].getStartTime().getDate(); 
              var enddate = event.getTimes()[0].getEndTime().getDate();  
              var month = date.getMonth();
              var day = date.getDate();
              var endmonth = enddate.getMonth();
              var endday = enddate.getDate();

 
              if (endday > 1) {endday = endday-1}

              else {
                 
                 if (endmonth == 1) {endday = 31}
                 else if (endmonth == 3) {endday = 31}
                 else if (endmonth == 5) {endday = 31}
                 else if (endmonth == 7) {endday = 31}
                 else if (endmonth == 8) {endday = 31}
                 else if (endmonth == 10) {endday = 31}
                 else if (endmonth == 0) {endday = 31}
                 else if (endmonth == 2) {endday = 28} 
                 else {endday = 30}

 

// Need to correct here for leap year.


                 if (endmonth>0) {endmonth=endmonth-1} else {endmonth=12}
              }


    
             description = event.getContent().getText();

             if (description.indexOf('Int ')>=0)
             { description = description.substring(0,description.indexOf('Int ')) + 'Intermediate ' + description.substring(description.indexOf('Int ')+4);
              }


        
              // Print the event title of the matches
              html += '<p>' + day + ordstr[day] + ' ' + months[month] + ' ' 
                    + '<br><a href="' + event.getHtmlLink().getHref() + ' " target="_blank">' + event.getTitle().getText() + '</a>'  + '<br>' + description  + '<br>' + event.getLocations()[0].getValueString() + '</p><p></p>';

            
/*
            Tdata[Titem] = '<strong><h4>'+day + ordstr[day] + ' ' + months[month] + ' ' 
                    + '</strong></h4><br><h3><a href="' + event.getHtmlLink().getHref() + ' " target="_blank">' + event.getTitle().getText() + '</a></h3>'  + '<br>' + description  + '<br>' + event.getLocations()[0].getValueString();
            Titem += 1;
*/


           if (day==endday & month==endmonth)             
           { 
            Tdata[Titem] = '<h3><a href="' + event.getHtmlLink().getHref() + ' " target="_blank">' + event.getTitle().getText() + '</a></h3><h2>' + day + ordstr[day] + ' ' + months[month] + '</h2> ' + '<br>' + description + '<br>' + event.getLocations()[0].getValueString();
             }
            else
            { 
            Tdata[Titem]  = '<h3><a href="' + event.getHtmlLink().getHref() + ' " target="_blank">' + event.getTitle().getText() + '</a></h3><h2>' + day + ordstr[day] + ' ' + months[month] + ' - ' +   endday + ordstr[endday] + ' ' + months[endmonth] + '</h2>' + description + '<br>' + event.getLocations()[0].getValueString() ;
             }

            Titem += 1;

            var n = 0;
            
            var event1txt = '';

          threeweeksday = currentDate.getDate() + 21;
          threeweeksmonth = currentDate.getMonth();

          if (threeweeksday>31 && (threeweeksmonth == 0 || threeweeksmonth == 2 || threeweeksmonth == 4 || threeweeksmonth == 6 || threeweeksmonth == 7 ||
threeweeksmonth == 9 || threeweeksmonth == 11))
         { threeweeksday= threeweeksday-31;
            threeweeksmonth += 1;
          }
          else if (threeweeksday>28 && threeweeksmonth == 1)
         { threeweeksday= threeweeksday-28;
            threeweeksmonth += 1;
          }
          else if (threeweeksday > 30)
         { threeweeksday= threeweeksday-30;
            threeweeksmonth += 1;
          }
 


/*
           if (calendarname == 'New Zealand National Bridge Tournaments' ||
*/

              if (  ((calendarname == 'Central Districts A-Point Tournaments' || calendarname == 'Central Districts B-Point Tournaments') && 
               ((day < threeweeksday && month == threeweeksmonth) || month < threeweeksmonth))
)  


{

            if (day==endday & month==endmonth)             
           { 
            event1txt  = '<strong>' + event.getTitle().getText()+ '</strong><br>' + day + ordstr[day] + ' ' + months[month] + ' ' + '<br>' + description + '<br>' + event.getLocations()[0].getValueString();
             }
            else
            { 
            event1txt  = '<strong>' + event.getTitle().getText() + '</strong><br>' + day + ordstr[day] + ' ' + months[month] + ' - ' +   endday + ordstr[endday] + ' ' + months[endmonth] + '<br>' + description + '<br>' + event.getLocations()[0].getValueString() ;
             }


          event12.innerHTML = event11.innerHTML;
          event11.innerHTML = event10.innerHTML;
          event10.innerHTML = event9.innerHTML;
          event9.innerHTML = event8.innerHTML;
          event8.innerHTML = event7.innerHTML;
          event7.innerHTML = event6.innerHTML;
          event6.innerHTML = event5.innerHTML;
          event5.innerHTML = event4.innerHTML;
          event4.innerHTML = event3.innerHTML;
          event3.innerHTML = event2.innerHTML;
          event2.innerHTML = event1.innerHTML;
          event1.innerHTML = event1txt;





}

            }
//            html += '</ul>';
          } else {
            // No match is found for the date query
            html += '<p>No events are matched from the query!</p>';
          }
        
          // Output HTML and clear 'Loading...' text
//          content.innerHTML = html;

        };
        
        // Error handler to be invoked when getEventsFeed() produces an error
        var handleError = function(error) {
          content.innerHTML = '<pre>' + error + '</pre>';
        };
        
        // Submit the request using the calendar service object. Notice the CalendarEventQuery
        // object is passed in place of the feed URI

//        var html  = '<p><strong> Central Districts Tournaments </strong></p>';
        var html  = '';

        calendarService.getEventsFeed(query, callback, handleError);
       pausecomp(500);

        calendarService.getEventsFeed(query2, callback, handleError);
        pausecomp(500);
        calendarService.getEventsFeed(queryNational, callback, handleError);
        
      }
      google.setOnLoadCallback(_run);


