/* $Id: tire.js 228 2009-07-17 15:08:05Z  $ */

var Tire = {

	run: function()
	{
		Tire.container = $('.tire div.filter:first');
		Tire.generateAjaxLoader();
		Tire.fetchTable();
	},
	generateAjaxLoader: function()
	{
		$('.tire div.filter').before('<img class="ajax_loader" src="/media/dsg/ajax_loader.gif" alt="" />');
		Tire.loader = $('.tire img.ajax_loader');
		Tire.loader.hide();
	},
	fetchTable: function()
	{
		$('.tire table.filter a.button').bind('click', Tire.fetchTableClick);
	},
	fetchTableClick: function(event)
	{
		event.preventDefault();

		var $link = $(this);
		var tr = $link.closest('tr');
		var prev_tr = tr.prev('tr');
		if (prev_tr.length != 0) {
			tr = prev_tr;
		}
		$.scrollTo(tr, 500, { axis: 'y'});

		$.ajax({
			url: $link.attr('href'),
			dataType: 'html',
			type: 'GET',
			data: {
				plugin: 'tire',
				mode: 'fetchTable'
			},
			beforeSend: function() {
				Tire.loader.show();
			},
			success: function(data) {
				Tire.container.empty().html(data);
				$('.tire table.filter img[src$=".png"]').ifixpng();
			},
			complete: function() {
				Tire.fetchTableAutoCommit();
				Tire.fetchTable();
				Tire.loader.hide();
			}
		});
	},
	fetchTableAutoCommit: function()
	{
		$('.tire div.filter form input[type="submit"]').trigger('click');
	}

}
StartUp(Tire);