function favorites_add() {
    var page      = URLNAME;
    var hfunction = 'add';
    var sendVars = "function=" + hfunction + "&page=" + URLNAME;
    favorites_ajax_handler(sendVars, favorites_add_cb);
}
function favorites_remove(page) {
    var hfunction = 'remove';
    var sendVars = "function=" + hfunction + "&page=" + page;
    favorites_ajax_handler(sendVars, favorites_remove_cb);
}
function favorites_add_cb(responseData) {
    var favdata = eval("(" + responseData + ")");
    if (favdata.favstatus == "ok") {
    	var favlink = document.getElementById('favorite');
        favlink.className = "favdown";
        favlink.href = "/favorites/";
        favlink.onclick = "";
        favlink.innerHTML = "Added to Favorites";
    } else if (favdata.favstatus == "login") {
        alert('You need to be logged in to do that!');
    } else {
        alert('An internal error occurred. Please try again later.');
    }
}
function favorites_remove_cb(responseData) {
    var favdata = eval("(" + responseData + ")");
    if (favdata.favstatus == "ok") {
        if (Effect) {
            Effect.DropOut("link-" + favdata.page);
        } else {
            document.getElementById('link-' + favdata.page).style.display = "none";
        }
    } else if (favdata.favstatus == "login") {
        alert('You need to be logged in to do that!');
    } else {
        alert('An internal error occurred. Please try again later.');
    }
}
function favorites_ajax_handler(sendVars, favoritesCb) {
	var handlerUrl = "/system/favorites/handler.php";
    if (!f) {
		http.open("POST", handlerUrl, true);
		http.onreadystatechange = function() {
		  if (http.readyState == 4) {
		      if(http.status == 200){
		          favoritesCb(http.responseText);
		          f = false;
              }
		  }
		};
		http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		http.setRequestHeader('Accept','text/plain');
		http.send(sendVars);
		f = true;
    }
}