$(document).ready(function() {
	var ts_text			= new Array
	ts_text["list"]		= "List";
	ts_text["cloud"]	= "Cloud";
	ts_text["popular"]	= "Popular";
	ts_text["alpha"]	= "Alphabetical";
	ts_text["current"]	= ts_text["list"];

	$(".tagcloud-wrapper").each(function(){
		var wrapper = $(this)
		$(wrapper).prepend('<div class="options has-layout"></div>')
		$(wrapper).find(".options").hide()
	});
	$(".tagcloud-wrapper.sortable").each(function(){
		var wrapper = $(this)
		var h2 = $(wrapper).find("h2:first").remove()
		var title = null
		if(h2.text() != "") {
			title = '<h2>'+h2.text()+'</h2>'
		}
		var options = $(wrapper).find(".options")
		options.prepend('<a href="javascript:void(0)" class="switcher textlink" title="Click to change appearance">Change appearance</a> <span class="text-small">|</span> <a href="javascript:void(0)" class="sorter textlink" title="Click to sort">Popular</a>')
		options.show()
		var tagcloud_switcher = $(title+options)

		if( $($(wrapper).find("ul")).attr("class").search(/.list/i)!=-1 ){
			ts_text["current"] = ts_text["cloud"]
		}
		$(this).prepend(tagcloud_switcher).find(".switcher").text(ts_text["current"])

		$(wrapper.find(".options .switcher")).click(function(){
			var cloud = $(wrapper).find("ul")
			$(cloud).hide().toggleClass("list").fadeIn()
			$(this).text( $(cloud).attr("class").search(/.list/i)!=-1 ? ts_text["cloud"] : ts_text["list"])
			return false
		})

		$(wrapper.find(".options .sorter")).toggle(
			function(){ $(wrapper).find("ul>li").tsort("span.count", {order:"desc"}); $(this).text(ts_text["alpha"]) },	
			function(){ $(wrapper).find("ul>li").tsort({order:"asc"}); $(this).text(ts_text["popular"]) }
		)
	});
	$(".tagcloud-wrapper.collapsible").each(function(){
		var wrapper = $(this)
		var options = $(wrapper).find(".options")
		var sorter = $(wrapper).find(".options .sorter")
		var cloud = $(wrapper).find(".tagcloud-panel")
		var separator = ""
		if(sorter.text()!=""){
			separator = ' <span class="text-small">|</span> '
		}
		options.append(separator+'<a href="javascript:void(0)" class="collapser textlink">'+($(cloud).css("display").search(/block/i)!=-1 ? "Hide" : "Show")+'</a>')
		options.show()

		$(wrapper.find(".options .collapser")).click(function(){
			$(cloud).toggle()
			$(this).text( $(cloud).css("display").search(/block/i)!=-1 ? "Hide" : "Show")
			return false
		})
	});

	var delay = (function(){
		var timer = 0;
		return function(callback, ms){
			clearTimeout (timer);
			timer = setTimeout(callback, ms);
		};
	})();

	// Basket
	$("#basket-help").hide();
	$("#basket-help-link").click(function(){
		$("#basket-help").toggle("blind")
		return false
	});
	$(".basket-table input").keyup(function(){
		delay(function(){
			$("#basket-flash").show().effect("bounce", {times:4}, 300)
		},800)
	});

	// Outline scrubber
	$("a").focus(function() { this.blur() });
	$("button").focus(function() { this.blur() });
	
	// External links
	$("a[rel=external]").attr("target", "blank");


	$(".focus-field").each(function(){
		text = $(this).val()
		$(this).focus(function(){
			if ($(this).val() === text) { $(this).val('') }
		})
		$(this).blur(function(){
			if ($(this).val() === "") { $(this).val(text) }
		})
	})
})