YUI().use("node","io-base","json", function(Y) {
	function scudetti(slug,desc) {
		Y.one("#blipper-16-bia2").set("value","<a href=\"http://www.ventiminuti.com/" + slug + "\" target=\"_blank\"><img src=\"http://www.ventiminuti.com/scudetto/blipper-16-bia.png\" alt=\"" + desc + "\" title=\"" + desc + "\" width=\"16\" height\"16\" border=\"0\" /></a>");
		Y.one("#blipper-16-ner2").set("value","<a href=\"http://www.ventiminuti.com/" + slug + "\" target=\"_blank\"><img src=\"http://www.ventiminuti.com/scudetto/blipper-16-ner.png\" alt=\"" + desc + "\" title=\"" + desc + "\" width=\"16\" height=\"16\" border=\"0\" /></a>");
		Y.one("#blipper-16-col2").set("value","<a href=\"http://www.ventiminuti.com/" + slug + "\" target=\"_blank\"><img src=\"http://www.ventiminuti.com/scudetto/blipper-16-col.png\" alt=\"" + desc + "\" title=\"" + desc + "\" width=\"16\" height=\"16\" border=\"0\" /></a>");
		Y.one("#blipper-16-sto2").set("value","<a href=\"http://www.ventiminuti.com/" + slug + "\" target=\"_blank\"><img src=\"http://www.ventiminuti.com/scudetto/blipper-16-sto.png\" alt=\"" + desc + "\" title=\"" + desc + "\" width=\"16\" height=\"16\" border=\"0\" /></a>");
		Y.one("#blipper-32-col2").set("value","<a href=\"http://www.ventiminuti.com/" + slug + "\" target=\"_blank\"><img src=\"http://www.ventiminuti.com/scudetto/blipper-32-col.png\" alt=\"" + desc + "\" title=\"" + desc + "\" width=\"32\" height=\"32\" border=\"0\" /></a>");
		Y.one("#blipper-32-sto2").set("value","<a href=\"http://www.ventiminuti.com/" + slug + "\" target=\"_blank\"><img src=\"http://www.ventiminuti.com/scudetto/blipper-32-sto.png\" alt=\"" + desc + "\" title=\"" + desc + "\" width=\"32\" height=\"32\" border=\"0\" /></a>");
		Y.one("#blipper-anti-bia2").set("value","<a href=\"http://www.ventiminuti.com/" + slug + "\" target=\"_blank\"><img src=\"http://www.ventiminuti.com/scudetto/blipper-anti-bia.png\" alt=\"" + desc + "\" title=\"" + desc + "\" width=\"80\" height=\"15\" border=\"0\" /></a>");
		Y.one("#blipper-anti-ner2").set("value","<a href=\"http://www.ventiminuti.com/" + slug + "\" target=\"_blank\"><img src=\"http://www.ventiminuti.com/scudetto/blipper-anti-ner.png\" alt=\"" + desc + "\" title=\"" + desc + "\" width=\"80\" height=\"15\" border=\"0\" /></a>");
		Y.one("#blipper-anti-sto2").set("value","<a href=\"http://www.ventiminuti.com/" + slug + "\" target=\"_blank\"><img src=\"http://www.ventiminuti.com/scudetto/blipper-anti-sto.png\" alt=\"" + desc + "\" title=\"" + desc + "\" width=\"80\" height=\"15\" border=\"0\" /></a>");
		Y.one("#blipper-80-bia2").set("value","<a href=\"http://www.ventiminuti.com/" + slug + "\" target=\"_blank\"><img src=\"http://www.ventiminuti.com/scudetto/blipper-80-bia.png\" alt=\"" + desc + "\" title=\"" + desc + "\" width=\"80\" height=\"30\" border=\"0\" /></a>");
		Y.one("#blipper-80-ner2").set("value","<a href=\"http://www.ventiminuti.com/" + slug + "\" target=\"_blank\"><img src=\"http://www.ventiminuti.com/scudetto/blipper-80-ner.png\" alt=\"" + desc + "\" title=\"" + desc + "\" width=\"80\" height=\"30\" border=\"0\" /></a>");
		Y.one("#blipper-80-col2").set("value","<a href=\"http://www.ventiminuti.com/" + slug + "\" target=\"_blank\"><img src=\"http://www.ventiminuti.com/scudetto/blipper-80-col.png\" alt=\"" + desc + "\" title=\"" + desc + "\" width=\"80\" height=\"30\" border=\"0\" /></a>");
		Y.one("#blipper-80-sto2").set("value","<a href=\"http://www.ventiminuti.com/" + slug + "\" target=\"_blank\"><img src=\"http://www.ventiminuti.com/scudetto/blipper-80-sto.png\" alt=\"" + desc + "\" title=\"" + desc + "\" width=\"80\" height=\"30\" border=\"0\" /></a>");			
	}
			
	Y.on("domready",function(){
		var selcat = Y.one("#selcat");

		function complete(id, o, args) {
			categories = Y.JSON.parse(o.responseText);

			function options(categories,level) {
				for (var i=0;i<categories.length;i++) {
					var spaces = "";
					for (var s=0;s<level;s++) spaces += "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
					var option = Y.Node.create("<option value=\"" + categories[i].slug + "\">" + spaces + categories[i].name + "</option>");
					selcat.appendChild(option);
					options(categories[i].subcat,level + 1);
				}
			}
			function selclick() {
				var slug = "";
				var desc = "blipper";
				if (selcat.get("value") != "") {
					slug = "category" + selcat.get("value");
					desc = selcat.get("options")._nodes[selcat.get("selectedIndex")].text;
					desc = trim(desc);
				}
				scudetti(slug,desc);
				Y.one("#badge").setStyle("display","");
			}

			selcat.appendChild(Y.Node.create("<option></option>"));
			options(categories,0);
			selcat.set("selectedIndex", 0);
			Y.on("change", selclick , selcat);

			Y.one("#selcat").setStyle("display","");
			Y.one("#loadmenu").setStyle("display","none");
		}
		
		var qs = new Querystring();
		var slug = qs.get("slug");
		if (slug != undefined) {
			Y.one("#loadmenu").setStyle("display","none");
			var desc = qs.get("desc");
			if (desc == undefined) desc = slug;
			scudetti(slug,desc);
			Y.one("#badge").setStyle("display","");
		} else {
			Y.on("io:complete", complete, this);
			Y.io("/badge/categories.json.php");
		}
	});
});

function trim (str, charlist) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: mdsjack (http://www.mdsjack.bo.it)
    // +   improved by: Alexander Ermolaev (http://snippets.dzone.com/user/AlexanderErmolaev)
    // +      input by: Erkekjetter
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: DxGx
    // +   improved by: Steven Levithan (http://blog.stevenlevithan.com)
    // +    tweaked by: Jack
    // +   bugfixed by: Onno Marsman
    // *     example 1: trim('    Kevin van Zonneveld    ');
    // *     returns 1: 'Kevin van Zonneveld'
    // *     example 2: trim('Hello World', 'Hdle');
    // *     returns 2: 'o Wor'
    // *     example 3: trim(16, 1);
    // *     returns 3: 6

    var whitespace, l = 0, i = 0;
    str += '';

    if (!charlist) {
        // default list
        whitespace = " \n\r\t\f\x0b\xa0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000";
    } else {
        // preg_quote custom list
        charlist += '';
        whitespace = charlist.replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, '$1');
    }

    l = str.length;
    for (i = 0; i < l; i++) {
        if (whitespace.indexOf(str.charAt(i)) === -1) {
            str = str.substring(i);
            break;
        }
    }

    l = str.length;
    for (i = l - 1; i >= 0; i--) {
        if (whitespace.indexOf(str.charAt(i)) === -1) {
            str = str.substring(0, i + 1);
            break;
        }
    }

    return whitespace.indexOf(str.charAt(0)) === -1 ? str : '';
}

/* Client-side access to querystring name=value pairs
	Version 1.3
	28 May 2008
	
	License (Simplified BSD):
	http://adamv.com/dev/javascript/qslicense.txt
*/
function Querystring(qs) { // optionally pass a querystring to parse
	this.params = {};
	
	if (qs == null) qs = location.search.substring(1, location.search.length);
	if (qs.length == 0) return;

// Turn <plus> back to <space>
// See: http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.13.4.1
	qs = qs.replace(/\+/g, ' ');
	var args = qs.split('&'); // parse out name/value pairs separated via &
	
// split out each name=value pair
	for (var i = 0; i < args.length; i++) {
		var pair = args[i].split('=');
		var name = decodeURIComponent(pair[0]);
		
		var value = (pair.length==2)
			? decodeURIComponent(pair[1])
			: name;
		
		this.params[name] = value;
	}
}

Querystring.prototype.get = function(key, default_) {
	var value = this.params[key];
	return (value != null) ? value : default_;
}

Querystring.prototype.contains = function(key) {
	var value = this.params[key];
	return (value != null);
}


