//-------------------------------
// Class
//-------------------------------

function ToolBoxDataModel() {
	
	var _self = this;
	
	

	//-------------------------------
	// Constants
	//-------------------------------
	
	ToolBoxDataModel.prototype.DATA_COMPLETE = "data_complete";
	
	//-------------------------------
	// Properties
	//-------------------------------
	
	var _data;
	var _counter = 0;
	var _path;
	
	//-------------------------------
	// Constructor
	//-------------------------------
	
	$j(function() {});
	
	//-------------------------------
	// Public Methods
	//-------------------------------
	
	_self.loadData = function(path) {
		_path = path;
		
		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: 'onToolBoxDataComplete'});

	}
	
	//-------------------------------
	// Private Methods
	//-------------------------------
	
	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
	//-------------------------------
	
	window.onToolBoxDataComplete = function(data){
		_counter++;
		$j(_self).trigger(_self.DATA_COMPLETE, [parseXML(data.results[0]), _path, _counter]);
	};
}


