var isFaved = false;
var faveURL;
function setupFave(faved, url, update_url) {
	isFaved = faved;
	if ($("fave").hasClassName("faved")) {
		$("fave_text").innerHTML = "faved";
	}
	faveURL = url.gsub("&amp;", "&");
	update_url = update_url.gsub("&amp;", "&");
	Event.observe($("fave"), 'click', function(){
		if (isFaved) {
			faveURL = faveURL + "&unfave=true";
		}
		new Ajax.Request(faveURL, {
			method:"get",
			onSuccess: function(transport) {
				if (isFaved) {
					isFaved = false;
					$("fave").removeClassName("faved");
					$("fave").addClassName("broken");
					$("fave_text").innerHTML = "unfaved";
				}
				else {
					isFaved = true;
					$("fave").addClassName("faved");
					$("fave").removeClassName("broken");
					$("fave_text").innerHTML = "faved";
				}
				if (update_url) {
					new Ajax.Updater('fave_list', update_url, {
						method:"get",
					});
				}
			},
			onFailure: function(transport) {
				alert("Couldn't fave that!");
			}
		});
	});
}