$(document).ready(function() {

  // mozilla keeps things checked when you reload
  $('[@checked]').each(function(){this.checked=true});

  $('#update').hide();
  $('input').click(function(e){
    var count=0;

    $('input[@type="checkbox"]').each(function(){
      if (this.checked)++count;
    });
    if (!count) {
      $('#entityList').empty();
    }
    else {
      $('#show').ajaxSubmit('#entityList', addEvents, null, 'get-ents.php');
    }
  });
  
  addEvents();

  $('#update').after('<input type="button" id="clear" value="clear" />');
  $('#clear').click(clearAllStays);
});

function addEvents() {
	$('.entity')
		.hover(function(){
			$(this).addClass('hover');
		}, function(){
			$(this).removeClass('hover');
		})

		.each(addClickHandler)
	;
}

function clearStay() {
	$(this).parent()
		.removeClass('stay')
		.each(addClickHandler)
	;
	$(this).remove();
	return false;
}

function addClickHandler() {
	$(this).oneclick(function(){
		$(this).addClass('stay');
		var closeText = document.createTextNode('X');
		var closeLink = document.createElement('div');
		$(closeLink)
			.addClass('close')
			.attr('title', 'Click to hide information')
			.click(clearStay)
			.prepend(closeText)
		;
		$(this).prepend(closeLink);
	});
}

function clearAllStays() {
	$('.entity').removeClass('stay').each(addClickHandler);
	$('.close').remove();
}

