//-------------------------------
// Class
//-------------------------------

function FeaturedContentDataModel() {
	
	var _self = this;

	//-------------------------------
	// Constants
	//-------------------------------
	
	_self.DATA_COMPLETE = "data_complete";
	_self.DATA_LOADED	= "data_loaded";
	
	//-------------------------------
	// Properties
	//-------------------------------
	
	var _data;
	var _path;
	
	//-------------------------------
	// Constructor
	//-------------------------------
	
	$j(function() {});
	
	//-------------------------------
	// Public Methods
	//-------------------------------
	
	_self.loadJSON = function(path) {
		
		_path = path;

		if(path.url.match("http://www.nba.com") || path.url.match("xml/")) {
			//alert(path.type);
			
			$j.ajax({ url: path.url, dataType: "xml", success: function(data) {
				$j(_self).trigger(_self.DATA_COMPLETE, [data, path]);
			}
		});
		} else {
			
			var yql = 'http://query.yahooapis.com/v1/public/yql?q=' + encodeURIComponent('select * from xml where url="' + path.url + '"') + '&format=jsonp&_maxage=300';
			$j.ajax({ url: yql, dataType: 'jsonp', jsonp: 'callback', jsonpCallback: 'onFeaturedDataComplete'});
		}
		
	}
	
	

	
	//-------------------------------
	// Private Methods
	//-------------------------------
	
	window.onFeaturedDataComplete = function(data){
		$j(_self).trigger(_self.DATA_COMPLETE, [parseXML(data.results[0]), _path]);
	};
	
	
	function parseXML(xml) {
		if( window.ActiveXObject && window.GetObject ) {
            var dom = new ActiveXObject( 'Microsoft.XMLDOM' );
            dom.loadXML( xml );
            return dom;
        }
        if( window.DOMParser )
            return new DOMParser().parseFromString( xml, 'text/xml' ); 
	}


	//-------------------------------
	// Listeners
	//-------------------------------
	

}


