var NXC = NXC || {};
NXC.GMapInfoParser = new Class( {
	Implements: [Options],

	options: {
		'pointSelector':       'div.gmap-point',
		'latSelector':         'div.gmap-point-lat',
		'lngSelector':         'div.gmap-point-lng',
		'descriptionSelector': 'div.gmap-point-description'
	},

    initialize: function( blockID, options ) {
		this.block = $( blockID );
		
    	this.setOptions( options );
    },

	parseInfo: function( loadPercent ) {
		var info    = new Hash();
		var counter = 0;
		this.block.getElements( this.options.pointSelector ).each( function( point ) {
			var pointInfo = new Hash();
			pointInfo.set( 'lat', point.getElement( this.options.latSelector ).get( 'html' ).toFloat() );
			pointInfo.set( 'lng', point.getElement( this.options.lngSelector ).get( 'html' ).toFloat() );
			pointInfo.set( 'description', point.getElement( this.options.descriptionSelector ).get( 'html' ) );
			
			info.set( counter, pointInfo );
			counter++;
		}.bind( this ) );
		return info;
    }
} );
