﻿// ***** Feed Control ********
google.load('feeds', '1');

// Our callback function, for when a feed is loaded.
function feedLoaded(result) {
      if (!result.error) {
        // Grab the container we will put the results into
        var container = document.getElementById("content");
        container.innerHTML = '';
    
        // Loop through the feeds, putting the titles onto the page.
        // Check out the result object for a list of properties returned in each entry.
        // http://code.google.com/apis/ajaxfeeds/documentation/reference.html#JSON
        for (var i = 0; i < result.feed.entries.length; i++) {
          var entry = result.feed.entries[i];
          var div = document.createElement("div");
          div.innerHTML = entry.content;
          container.appendChild(div);
        }
      }
    }
   Ext.onReady(function() {
      // Create a feed instance that will grab Digg's feed.
      var feed = new google.feeds.Feed("http://weather.yahooapis.com/forecastrss?p=USTX0901&u=f");
    
      // Calling load sends the request off.  It requires a callback function.
      feed.load(feedLoaded); 
      YAHOO.example.calendar.init();     
      
    });
    
// ***** Calendar ******

var minYear = "2009";
var date = new Date();
var maxYear = date.getFullYear();
YAHOO.namespace("example.container");
YAHOO.namespace("example.calendar");
 
var myCustomRenderer = function(workingDate, cell) {
			cell.innerHTML = workingDate.getDate();
			YAHOO.util.Dom.addClass(cell, "highlight1");
			return YAHOO.widget.Calendar.STOP_RENDER;
		}

function myPageChangeHandler(type,args,obj)
{
	var calendarDate = obj.cfg.getProperty("pagedate");
	var month = calendarDate.getMonth() + 1;
	var year = calendarDate.getFullYear();
	var date = month+""+year;
	var sUrl = "http://www.radiokvmw.com/scripts/calendar.php?date=" + date;
	YAHOO.example.calendar.cal1.addMonthRenderer  ( month , YAHOO.example.calendar.cal1.renderOutOfBoundsDate);
   	YAHOO.example.calendar.cal1.render();
   Ext.Ajax.request({
   		url: sUrl,
   		success: function(response, opts) {
   		if(response.responseText !== undefined){
				try { 
				    var response = Ext.decode(response.responseText);
				    YAHOO.example.calendar.cal1.addMonthRenderer  ( month , YAHOO.example.calendar.cal1.renderBodyCellRestricted);
					YAHOO.example.calendar.cal1.addRenderer(response.calendar.dateString, myCustomRenderer);
					YAHOO.example.calendar.cal1.render();
					var s = Ext.select("td.calcell");
					for (day in response.calendar.events){ 
					 	var date = YAHOO.widget.DateMath.getDate(year, month-1, day);
						var index =  YAHOO.example.calendar.cal1.getCellIndex(date);
						s.item(index).on("mouseover", eventHandler);
						s.item(index).on("mouseout", eventHandler);
						s.item(index).dom.myflag = response.calendar.events[day];
  					 	s.item(index).dom.mydate = date;
  					}  
			    } 
				catch (e) { 
				YAHOO.example.calendar.cal1.addMonthRenderer  ( month , YAHOO.example.calendar.cal1.renderBodyCellRestricted);
   				YAHOO.example.calendar.cal1.render();
   				} 
				
			}
			else
				console.log('Invalid response from server');
				    
   		},
   		failure: function(response, opts) {
   		   console.log('server-side failure with status code ' + response.status);
  		}
	});
};
	
 
	YAHOO.example.calendar.init = function() {
		YAHOO.example.calendar.cal1 = new YAHOO.widget.Calendar("cal1","cal1Container", { MULTI_SELECT: true,mindate:"1/1/" + minYear,
                                                                      maxdate:"12/31/"+maxYear });
	
		YAHOO.example.calendar.cal1.changePageEvent.subscribe(myPageChangeHandler, YAHOO.example.calendar.cal1, true); 
		myPageChangeHandler(null, null, YAHOO.example.calendar.cal1);
		}	
	        
	function eventHandler(evt){
				if (evt.type == "mouseout")
		       	{
					if (YAHOO.example.container.myPanel) { 
		       	     YAHOO.example.container.myPanel.destroy(); 
		       		}
		       	}
   				else if (evt.type == "mouseover")
   				{
				YAHOO.example.container.myPanel = new YAHOO.widget.Panel("myPanel", { width:"538px",fixedcenter:true, 
	  	    			visible:true, close:false, effect:{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.5}} );
					YAHOO.example.container.myPanel.setHeader(dateFormat(evt.target.mydate, "dddd, mmmm dS, yyyy"));
					YAHOO.example.container.myPanel.setBody(evt.target.myflag);
					YAHOO.example.container.myPanel.setFooter("Community Calendar");
					YAHOO.example.container.myPanel.render("eventContainer");
				//	console.log(this.myflag);
				
			    
				}
	}
