$(document).ready(function() {
	// Load busy image
	var busy_grey = $('<img src="/images/grey/busy.gif" />');
	var busy_pink = $('<img src="/images/pink/busy.gif" />');
	
	$('div#tab-triggers > ul').tabs('div#tab-panes > div', {
		onBeforeClick: function(index) {
			var tab = this.getTabs().eq(index);
			
			if (tab.is(':not([href^=#])'))
				$.get(tab.attr('href') + '.js', null, null, 'script');
		} 
	});
	
	$('form[name=remote]').livequery('submit', function() {
		var trigger = $(this).find(':submit');
		var text = trigger.html();
		
		trigger.attr('disabled', 'disabled').html(busy_grey);
		
		$.ajax({
			url: this.action + '.js',
			type: this.method,
			data: $(this).serializeArray(),
			dataType: 'script',
			complete: function() {
				trigger.removeAttr('disabled').html(text);
			}
		});
		
		return false;
	});

	$('form[name=remote_status]').livequery('submit', function() {
                var trigger = $(this).find(':submit');
                var text = trigger.html();
                var textbox = $(this).find("[name='status[body]']");

		if (textbox.attr('value') == textbox.attr('title'))
		{
			return false;
		}

                trigger.attr('disabled', 'disabled').html(busy_grey);

                $.ajax({
                        url: this.action + '.js',
                        type: this.method,
                        data: $(this).serializeArray(),
			dataType: 'script',
                        complete: function() {
                                trigger.removeAttr('disabled').html(text);
                                
				if (textbox.length > 0)
                                {
                                        textbox.css({
							'color': '#aaaaaa',
							'font-style': 'italic'
					})
					textbox.attr('value', textbox.attr('title'));
                                }
                        }
                });

                return false;
        });

	$('form[name=remote_post]').livequery('submit', function() {
                var trigger = $(this).find(':submit');
                var text = trigger.html();
                var textbox = $(this).find("[name='post[body]']");

		if (textbox.attr('value') == textbox.attr('title'))
		{
			return false;
		}

                trigger.attr('disabled', 'disabled').html(busy_grey);

                $.ajax({
                        url: this.action + '.js',
                        type: this.method,
                        data: $(this).serializeArray(),
						dataType: 'script',
                        complete: function() {
                                trigger.removeAttr('disabled').html(text);
								
                                if (textbox.length > 0)
                                {
                                        textbox.css({
							'color': '#aaaaaa',
							'font-style': 'italic'
					})
					textbox.attr('value', textbox.attr('title'));
                                }
                        }
                });

		return false;
	});

	$('form[name=remote_comment]').livequery('submit', function() {
                var trigger = $(this).find(':submit');
                var text = trigger.html();
                var textbox = $(this).find("[name='comment[body]']");

                trigger.attr('disabled', 'disabled').html(busy_grey);

                $.ajax({
                        url: this.action + '.js',
                        type: this.method,
                        data: $(this).serializeArray(),
						dataType: 'script',
                        complete: function() {
                                trigger.removeAttr('disabled').html(text);
								
                                if (textbox.length > 0)
                                {
                                        textbox.val("");
                                }
                        }
                });

                return false;
        });
	
	$('a[href][rel=remote]').livequery('click', function() {
		var trigger = $(this);
		var href = this.href;
		
		trigger.removeAttr('href').addClass('busy');
		
		$.get(href + '.js', null, function() {
			trigger.attr('href', href).removeClass('busy');
		}, 'script');
		
		return false;
	});
	
	$('a[href][rel=remote_put]').livequery('click', function() {
		var trigger = $(this);
		var href = this.href;
		
		trigger.removeAttr('href').addClass('busy');
		
		$.ajax({
			url: href + '.js',
			type: 'put',
			dataType: 'script',
			complete: function() {
				trigger.attr('href', href).removeClass('busy');
			}
		});
		
		return false;
	});

        $('a[href][class=next_page]').livequery('click', function() {
                var trigger = $(this);
                var href = this.href;

                trigger.removeAttr('href').addClass('busy');

                $.ajax({
                        url: href + '.js',
                        type: 'get',
                        dataType: 'script',
                        complete: function() {
                                trigger.attr('href', href).removeClass('busy');
                        }
                });

                return false;
        });

	 $('a[href][class=prev_page]').livequery('click', function() {
                var trigger = $(this);
                var href = this.href;

                trigger.removeAttr('href').addClass('busy');

                $.ajax({
                        url: href + '.js',
                        type: 'get',
                        dataType: 'script',
                        complete: function() {
                                trigger.attr('href', href).removeClass('busy');
                        }
                });

                return false;
        });
	
	$('a[rel=toggle]').livequery('click', function() {
		$(this).closest(':has(.toggle)').find('.toggle').slideToggle('fast');
		return false;
	});
	
	$('input[title]').hint();
});
