function refine(name, value) {
  var input = document.createElement('input');
  input.type = "hidden";
  input.name = name;
  input.value = value;
  if (name !== 'b') { // Refining ! Resetting page to 0
  	var start = document.createElement('input');
  	start.type = 'hidden';
  	start.name = 'b';
  	start.value = '0';
  	document.forms.searchForm.appendChild(start);
  }
  document.forms.searchForm.appendChild(input);
  document.forms.searchForm.submit();
  return false;
}

function submitForm(){
  var form = document.getElementById("searchForm");
  var query = document.getElementById("q").value;
  if(query.replace(/^\s+/g,'').replace(/\s+$/g,'').length === 0 ){
    form.action = "";
  }
  form.submit();
}

$(function() {
	/* Suggest */
  $("#q").exaSuggest({
   	url: 'suggest.php',
  	delay:360
  });

	/* thumbs */
  if ($.fn.exaTumbRoll) {
    $(".hits .thumb").exaTumbRoll();
  }

	/* Refines */

	$("#searchForm :checkbox").change(function(event){
		var cb = $(this);
		if (cb.is(":checked")) {
			cb.parent().next().attr("disabled", true);
		} else {
			cb.parent().next().removeAttr("disabled");
		}
	});

  var selectLink = $("<span />").addClass("select").text("(un)select all");
  $("div.kind h3").append(selectLink);

  $("div.kind div.video ul:last").addClass("last");

	$("div.kind h3 .select").click(function(event) {
		var checkboxs = $(this).parent().parent().find(":checkbox");
		if (checkboxs.filter(":checked").size() < 2) {
			checkboxs.attr("checked","checked").trigger("change");
		} else {
			checkboxs.removeAttr("checked").trigger("change");
		}
	});

  var showOnly = $("<span />").addClass("only").text("show only");
  $("div.kind label").append(showOnly);

	$("div.kind label span.only").click(function(event){
		event.preventDefault();
		$(this).parents("div.kind").find(":checkbox").removeAttr("checked").trigger("change");
		$(this).parent().prev().prev().children(":checkbox").attr("checked","checked").trigger("change");
	});

	$("#sources").click(function(event){
		event.stopPropagation();
	});

	$("#toggleSource").click(function(event) {
		event.preventDefault();
		event.stopPropagation();
		var menu = $('#sources');
		toggle(event, menu);
		var target = $(event.target);
		if (menu.is(":visible")) {
			$("body").live("click", function () {
				target.text(target.text().replace("Hide", "Show"));
				menu.hide();
			});
		} else {
			$("body").die("click", function () {
				target.text(target.text().replace("Hide", "Show"));
				menu.hide();
			});
		}
	});

  var closeButton = $("<span />").addClass("closeButton").text("x").appendTo($("#sources .kind")).click(function(event){
    $(event.target).parent().parent().hide();
  });
});


function toggle(event, elt)
{
	var target = $(event.target);
	if (elt.is(":visible"))
	{
    target.text(target.text().replace("Hide", "Show"));
		elt.hide();
	}
	else
	{
    target.text(target.text().replace("Show", "Hide"));
		elt.show();
	}
}

$("#toggleTags").click(function(event)
{
	event.preventDefault();
	toggle(event, $('.tagCloud'));
});

$("#toggleTimeLine").click(function(event)
{
  event.preventDefault();
	toggle(event, $('#flashTimeline'));
});

$("div.tagCloud ul.legend").click(function(event){
	var element = $(event.target);
	var type;

	if (element.hasClass("people")) {
		type = "people";
	} else if (element.hasClass("organization")) {
		type = "organization";
	} else {
		type = "location";
	}
	var toggle = $(".tagCloud").hasClass(type);
	$(".tagCloud").removeClass("people organization location");
	if (!toggle) {
		$("div.tagCloud").addClass(type);
	}


});
