$(function() {
    function leftButton() { return $("input.left"); }
    function rightButton() {return $("input.right"); }
    function skipButton() { return $("input#action_skip"); }
    var isLoading = false;

    function preloadImages(doc) {
	var imgs = [];
        var links = doc.filter("link[rel='next']");
	for (var i = 0; i < links.length; i++) {
	    imgs.push(links[i].href);
	}
	$.cacheImage(imgs);
    }

    function answerResponse(data) {
      isLoading = false;
      var html = $(data);
      preloadImages(html);
      var dyns = ["#dynleftbar", "#questionbox", "#dynbarright" ];
      for (i in dyns) {
    $(dyns[i]).replaceWith(html.filter("#content").find(dyns[i]));

      }
    }

    function submitAnswer(btn) {
      if (isLoading) return false;
      isLoading = true;
      var action = btn.attr('name');
      btn.attr('disabled', 'disabled');
      $("#spinner").show();
      var data = {
	       state: $("input[name='state']").attr('value')
      };
      data[action]='1';
      $.ajax({type: 'POST',
	      data:data,
	     url: document.location.href,
	      success: answerResponse
	    });
      return false;
    }

    leftButton().live('click', function() {
		 return submitAnswer(leftButton());
	       });
    rightButton().live('click', function() {
		return submitAnswer(rightButton());
	       });
    skipButton().live('click', function() {
		 return submitAnswer(skipButton());
	       });
    preloadImages($("head"));

});


