var url = "/programguide/ProgramListFeed.do?networkKey=cbc_radio_one:cbc_radio_2&descLength=90";

var $C = YAHOO.util.Connect;
var $D = YAHOO.util.Dom;
var $E = YAHOO.util.Event;
var $A = YAHOO.util.Animation;			
var $  = $D.get;
var nspace_str = 'YAHOO.radioLP';

var fpHandler = findProgramHandler;
fpHandler.init();

FnCallback = function (nodeId,property) 
{
	this.nodeId = nodeId;
	this.property = property;
}

FnCallback.prototype.addClickHandler = function() 
{ 
	var el = YAHOO.util.Dom.get( this.nodeId );
	YAHOO.util.Event.addListener( el, "click", this.onClick, this, true); 
}
FnCallback.prototype.onClick = function (e, obj)
{
	var el = YAHOO.util.Dom.get( this.nodeId );
	el = el.getElementsByTagName("a")[0];
	//<a/>, id 
	fpHandler.sortFields( el, this.property );
}

function createSortClickEvents ( nodes, props )
{
	var i = nodes.length;
	var el;
	var cb;
	var list = []
	while(i--)
	{
		cb = new FnCallback (nodes[i], props[i]);
		cb.addClickHandler();

		list.push( cb );
	}
	return list;
}

function success (event)
{
	function foo ()
	{
		createSortClickEvents( [ "programname", "host", "genre", "channel" ],
							   [ "p_name", "host", "genre", "network" ] );
		
		var _str = event.responseText.replace( /&#39;/g, "'" );
		var response = eval("("+_str+")");
		
		var programs = [];
		var i = response.programs.length;
		var o;
		while( i-- )
		{
			o = response.programs[ i ];
			
			programs.push( new ProgramGuideVO ( o.name, 
												o.description, 
												o.url, 
												o.networks, 
												o.genres, 
										  	   	o.personalities  ) );
		}

		fpHandler.render( programs );
		$order['p_name'] = 0;
		$order_class['p_name']	= 'asc';
		var pnn = YAHOO.util.Dom.get( "programname" ).getElementsByTagName("a")[0];
		//pnn = YAHOO.util.Dom.getFirstChild( pnn );
		fpHandler.sortFields( pnn, "p_name" );
	}
	
	if( YAHOO.util.Dom.get( "programs" ) == null )
	{
		YAHOO.util.Event.onAvailable( "programs", foo );
	}
	else
	{
		foo();
	}
}

function failure (event)
{
	YAHOO.util.Dom.setStyle( "programs",'display','none');
}


// callback handler
var callback = { success:success,
				 failure:failure};

var connector = YAHOO.util.Connect.asyncRequest('GET',url,callback);