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

function NavigationDataModel() {

	var _self = this;

	//-------------------------------
	// Constants
	//-------------------------------
	
	NavigationDataModel.prototype.DATA_COMPLETE = "data_complete";
	
	//-------------------------------
	// Properties
	//-------------------------------
	
	var _path;
	
	//-------------------------------
	// Constructor
	//-------------------------------
	
	$j(function() {	});
	
	//-------------------------------
	// Public Methods
	//-------------------------------
	
	_self.load = 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: 'onNavigationData'});
	}
	
	//-------------------------------
	// 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.onNavigationData = function(data) {
		$j(_self).trigger(_self.DATA_COMPLETE, [parseXML(data.results[0]), _path.type])
	}
}
