recordSet = new Class( {
	
	initialize: function( view ) {

		var d = new Element('div', {'styles':{'padding':'4px'}}).adopt(
			new Element('span', {'id':'fabrikScrollAnim', 'styles':{'display':'none'}}).adopt(
				new Element('img', {'src':'administrator/components/com_fabrik/images/snake_transparent.gif', 'alt':'please wait...'})
			).appendText('loading....')
		);
		var d2 = new Element('div').adopt([
			new Element('span', {'class':'pagenav'}).adopt(
				new Element('a', {'href':'#First', 'id':'fabrikFirst'}).appendText('<< Start')
			),
			new Element('span', {'class':'pagenav'}).adopt(
				new Element('a', {'href':'#Previous', 'id':'fabrikPrevious'}).appendText(' < Previous')
			),
			new Element('span', {'class':'pagenav'}).adopt(
				new Element('a', {'href':'#Next', 'id':'fabrikNext'}).appendText(' Next >')
			),
			new Element('span', {'class':'pagenav'}).adopt(
				new Element('a', {'href':'#Last', 'id':'fabrikLast'}).appendText(' End >>')
			)
		]);
		d2.injectInside($('fabrikScroller'));
		d.injectInside($('fabrikScroller'));
		var tableId = $('tableid').getValue();
		this.url =  'index2.php?no_html=1&option=com_fabrik&task=nextRecord&tableid=' + tableId + '&view=' + view;
		this.watchButtons();
	},
	
	doUpdate: function(json){
		var o = (eval(json));
		ofabrik.elements.each(function(oEl, key){
			var r = o[0][0];
			var s = r[key];
			oEl.update(s, o[0][0]);
		});
		$('rowid').value = o[0][0]['__pk_val'];
	  $('fabrikScrollAnim').hide();	
	},
	
	watchButtons: function(){
		$('fabrikNext').addEvent('click', function(e){
			var cursor = $('fabrik__cursor').getValue().toInt();
			if(cursor < $('fabrik__total').getValue().toInt() -1){
				$('fabrikScrollAnim').show();
				cursor ++;
				$('fabrik__cursor').value = cursor;
				var pageNav = new Ajax(
		       this.url + '&cursor=' + cursor, 
		        {
						onComplete: function(json){
							this.doUpdate(json);
						}.bind(this)
			    }).request();
			}
			new Event(e).stop();
		}.bind(this));
		
		$('fabrikPrevious').addEvent('click', function(e){
			var cursor = $('fabrik__cursor').getValue().toInt();
			if($('fabrik__cursor').getValue() > 0){
				cursor --;
				$('fabrikScrollAnim').show();
				$('fabrik__cursor').value = cursor;
				var pageNav = new Ajax(
		        this.url + '&cursor=' + cursor, 
		        {
	            onComplete: function(json){
							this.doUpdate(json);
						}.bind(this)
			    }).request();
			}
			new Event(e).stop();
		}.bind(this));
		
		$('fabrikFirst').addEvent('click', function(e){
			if($('fabrik__cursor').value != 0){
				$('fabrik__cursor').value = 0;
				var cursor = 0;
				$('fabrikScrollAnim').show();
				var pageNav = new Ajax(
		        this.url + '&cursor=' + cursor, 
		        {
							onComplete: function(json){
								this.doUpdate(json);
							}.bind(this)
			    }).request();
			}
			new Event(e).stop();
		}.bind(this));

		$('fabrikLast').addEvent('click', function(e){
			var tableId = $('tableid').getValue();
			var total = $('fabrik__total').getValue().toInt() -1;
			var cursor = $('fabrik__cursor').getValue().toInt();
			if( cursor < total) {
				$('fabrikScrollAnim').show();
				$('fabrik__cursor').value = total;
				var pageNav = new Ajax(
		        this.url + '&cursor=' + total , 
		        {
					onComplete: function(json){
							this.doUpdate(json);
						}.bind(this)
			    }).request();
		    }
			new Event(e).stop();
		}.bind(this));		
	}
});
