var CalController = {

	init:function()
	{
              this.cal1 = new YAHOO.widget.Calendar( "cal1", "cal1Container"); 
	      this.cal1.selectEvent.subscribe( this.selectedHandler );
              this.cal1.changePageEvent.subscribe( this.changePageHandler );
              
              var ref = this;
              var month = CalController.cal1.cfg.getProperty("pagedate").getMonth() + 1; // because jan is 0
              var year = CalController.cal1.cfg.getProperty("pagedate").getYear() + 1900; // I don't know why =)
              var url = "http://www.24-seven.org/index.php/scripts/eventlist/" + year + "/" + month + "/";
              
              var callback = { 
	             success:   function(o) { ref.success( o ) }, 
	             failure:     function(o) { ref.fail( o ) }
	       } 

              var transaction = YAHOO.util.Connect.asyncRequest( 'GET', url, callback, null ); 
           
	},


       success:function( o )
       {
             var datesAndNames = o.responseText.split(',');
             var dates = '';

             for( var i = 0; i < datesAndNames.length; i++ )
             {
                   dates += datesAndNames[i].split('|')[0] + ',';
             }

            this.cal1.__datesToRemember = datesAndNames; //nasty but neccessary polution

             this.cal1.addRenderer(  dates, this.cal1.renderCellStyleHighlight1 ); 
             this.cal1.render(); 
       },

       fail:function( o )
       {
          // alert( o.statusText )
       },

       selectedHandler:function( type, arrayOfDates )
       {
           var tmpDates = CalController.cal1.__datesToRemember;
           
           var dt = CalController.cal1._toDate(arrayOfDates[0][0])
        

           for( var i = 0; i < tmpDates.length; i++ )
           {
                  var freshDate = new Date( tmpDates[i].split('|')[0] )   // m,d,y
                   
                  if( freshDate.getYear() === dt.getYear() && freshDate.getMonth() === dt.getMonth() && freshDate.getDate() === dt.getDate() ) 
                  {
                        window.location= tmpDates[i].split('|')[1];
                  }
                   
           }
       },

       changePageHandler:function( type, obj )
       {
           var month = CalController.cal1.cfg.getProperty("pagedate").getMonth() + 1; // because jan is 0
           var year = CalController.cal1.cfg.getProperty("pagedate").getYear() + 1900; // I don't know why =)
           var url = "http://www.24-seven.org/index.php/scripts/eventlist/" + year + "/" + month + "/";

              var ref = CalController;

              var callback = { 
	             success:   function(o) { ref.success( o ) }, 
	             failure:     function(o) { ref.fail( o ) }
	      } 

             var transaction = YAHOO.util.Connect.asyncRequest( 'GET', url, callback, null ); 
       }

}



