/* self_label form elements ============================================= */
var self_label_contents = {};
var self_label_seq = 0;

function self_label_key (elt, create) {
    var k = elt.self_label_key;

    if (! k && create) {
	self_label_seq++;
	k = "s" + self_label_seq + "|" + elt.name;
	elt.self_label_key = k;
    }
    return (k);
}

function self_label_init () {
    var key = self_label_key (this, true);
    self_label_contents[key] = this.value;
}

function self_label_clear () {
  if (this.type == "hidden") {
    return;
  }

  if (this.type == "text" || this.nodeName == "TEXTAREA") {
    var key = self_label_key (this, false);
    if (key && this.value == self_label_contents[key]) {
      this.value = "";
    }
  }
}

function self_label_prompt () {
        var key = self_label_key (this, false);
	if (key && ! this.value && self_label_contents[key]) {
		this.value = self_label_contents[key];
	}
}

function self_label_submit () {
	$(this).find("input, textarea").each(self_label_clear);
}

$(function ()
  {
	$(".self_label input,.self_label textarea").each (self_label_init);
	$(".self_label input[type=text]").focus (self_label_clear);
	$(".self_label input[type=text]").blur(self_label_prompt);
	$(".self_label").submit (self_label_submit);
  }
);
/* ================================================================ */

function auto_select_click (ev) {
    var elt = ev.target;
    elt.focus();
    elt.select();
}

$(function () {
$(".auto_select").click(auto_select_click);
});

/* ================================================================ */

var tumb_cur = null;
var tumb_timer = null;

function tumb_step (step) {
    try {
	var idx;

	if (tumb_cur) {
	    idx = $(".tumblr_post").index (tumb_cur);
	    $(tumb_cur).hide ();
	} else {
	    idx = 0;
	}
	tumb_cur = $(".tumblr_post").get(idx + step);
	if (! tumb_cur) {
	    if (window.tumb_auto_reload)
		location.reload (true);
	    tumb_cur = $(".tumblr_post").get(0);
	}
	$(tumb_cur).show ();
    } catch (e) {
	console.log ("tumb_next error " + e);
    }
    return (false);
}

function tumb_next () {
    if (tumb_timer) {
	clearTimeout (tumb_timer);
	tumb_timer = null;
    }
    tumb_step (1);
    return (false);
}

function tumb_prev () {
    if (tumb_timer) {
	clearTimeout (tumb_timer);
	tumb_timer = null;
    }
    tumb_step (-1);
    return (false);
}

function tumb_play () {
    if (tumb_timer) {
	clearTimeout (tumb_timer);
	tumb_timer = null;
    }
    var step = 1;
    if (! tumb_cur)
	step = 0;
    tumb_step (step);
    tumb_timer = setInterval ('tumb_tick()', tumb_interval * 1000);
    return (false);
}

function tumb_tick () {
    tumb_step (1);
    return (false);
}

$(function () {
	if ($(".tumblr_post").size() > 0) {
	    $("#tumb_next").click (tumb_next);
	    $("#tumb_prev").click (tumb_prev);
	    $("#tumb_play").click (tumb_play);

	    if (! window.tumb_interval)
		tumb_interval = 5;
	    tumb_play ();
	}
});

