/**
 * @author Rich
 */

var staleSkip = 0;
var olderSkip = 20;
var staleCheckInterval = null;

$(document).ready(function() {
	keyRing.initKeys("staleCheck", "fetch");
	if (canStaleCheck) {
		//staleCheckInterval = setInterval(function() { staleCheck(); }, STALE_CHECK_TIME);
		if (canStaleCheck) {
			setTimeout(function(){
				staleCheckInterval = setInterval(function(){
					staleCheck();
				}, STALE_CHECK_TIME);
			}, STALE_CHECK_TIME);
		}
	}
});

 function staleCheck() {
 	if (!keyRing.acquireKey("staleCheck")) {
		return;
	}
	$.ajax({
		url			: "/home/ajax_is_stale/",
		data		: {"after" : origin,
					   "skip"  : staleSkip},
		cache		: false,
		timeout		: TIMEOUT_LIMIT,
		success		: function(data) {
			$("#topExpander").slideToggle(500);
			clearInterval(staleCheckInterval);
		},
		error		: function(xhr, type, error) {
			if ((DEBUG) && (xhr.status != "404")) showMessage("error",xhr.status+" "+ xhr.responseText+" "+ type+" "+ error,false,"staleCheck-home",xhr.responseText);
		},
		complete	: function() {
			doneLoading();
			keyRing.releaseKey("staleCheck");
		}
	});
 }

 function fetchNewer() {
 	if (!keyRing.acquireKey("fetch")) return;
 	$.ajax({
        url			: "/home/ajax_expand_top/",
		data		: {"after" : origin,
					   "skip"  : staleSkip},
        cache	 	: false,
        timeout	 	: TIMEOUT_LIMIT,
		dataType 	: "json",
		beforeSend	: function(xhr) {
			startLoading("Loading newer items...");
		},
        success	 	: function(data) {
			$("#topExpander").hide();
			$("#items").prepend(data[0]);
			staleSkip = data[1];
			keyRing.releaseKey("staleCheck");
			staleCheckInterval = setInterval(function() { staleCheck(); }, STALE_CHECK_TIME);
        },
        error	 	: function(xhr, type, error) {
			showMessage("error","The server encountered an error.  Please try again later.",false,"fetchNewer-home",xhr.responseText);
			if (DEBUG) showMessage("error",xhr.status+" "+ xhr.responseText+" "+ type+" "+ error,false,"fetchNewer-home");
        },
		complete	: function() {
			doneLoading();
			keyRing.releaseKey("fetch");
		}
    });
 }
 
 
 function fetchOlder() {
 	if (!keyRing.acquireKey("fetch")) return;
	keyRing.acquireKey("staleCheck");
 	$.ajax({
        url			: "/home/ajax_expand_bottom/",
		data		: {"before" : origin,
					   "skip"   : olderSkip},
        cache	 	: false,
        timeout	 	: TIMEOUT_LIMIT,
		dataType 	: "json",
		beforeSend	: function(xhr) {
			startLoading("Loading older items...");
		},
        success	 	: function(data) {
			$("#items").append(data[0]);
			if (data[1]) {
				olderSkip = data[1]
			}
			else {
				$("#bottomExpander").toggle();
			}
        },
        error	 	: function(xhr, type, error) {
			showMessage("error","The server encountered an error.  Please try again later.",false,"fetchOlder-home",xhr.responseText);
			if (DEBUG) showMessage("error",xhr.status+" "+ xhr.responseText+" "+ type+" "+ error,false,"fetchOlder-home");
        },
		complete	: function() {
			doneLoading();
			keyRing.releaseKey("fetch");
		}
    });
 }

function promoBoxFormSubmit() {
  if($('.input_getStarted2').is(':visible')) {
    $('#first_row').siblings('.row').toggle();
    $('.input_getStarted2').toggle();
    return false;
  }
  else {
    return join('promoBoxSignUpForm',false,'/my_events');
  }
}

