
function initAddFavorite()
{
   var linkArray = document.getElementsByTagName("a");
   for(var a = 0, len = linkArray.length; a < len; a++)
   {
      if((linkArray[a].className == "favorite" || linkArray[a].className == "favorite isFavorite") &&
         linkArray[a].href.indexOf("login.php") == -1)
      {
         linkArray[a].href = "#";
      }
   }

   favoritesHTTPObject = getHTTPObject();
}

function addFavorite(link)
{
   // Get resource ID
   var rID = link.id.substr(3);
   
   // Set params
   var params = "id=" + rID + "&redirect=false";
   
   var responseFunction = function(){  showAdded(rID); };
   var failureFunction = function() {  alert('Unable to add to favorites.'); };

   XmlHttpPOST(favoritesHTTPObject, "addFavorite.php", params, responseFunction, failureFunction);

   return false;
}


function removeFavorite(link)
{
   // Get resource ID
   var rID = link.id.substr(3);
   
   // Set params
   var params = "id=" + rID + "&redirect=false";
   
   var responseFunction = function(){  showRemoved(rID); };
   var failureFunction = function() {  alert('Unable to remove from favorites.'); };

   XmlHttpPOST(favoritesHTTPObject, "deleteFavorite.php", params, responseFunction, failureFunction);

   return false;
}

// Displays new ranking based
// on the user's submission.
function showAdded(rID)
{
   if(favoritesHTTPObject.readyState == 4) 
   {

      // Get the old link
      var theLink = document.getElementById("res"+rID);
      theLink.style.backgroundImage = "url('http://lessonlink.library.arizona.edu/layout_imgs/isFavorite.png')";
      theLink.onclick = function(){  removeFavorite(theLink); return false; };
      theLink.innerHTML = "Remove Favorite";

      return false;
   }
}

function showRemoved(rID)
{
   if(favoritesHTTPObject.readyState == 4) 
   {

      // Get the old link
      var theLink = document.getElementById("res"+rID);
      theLink.style.backgroundImage = "url('http://lessonlink.library.arizona.edu/layout_imgs/addFavorite.png')";
      theLink.onclick = function(){  addFavorite(theLink); return false; };
      theLink.innerHTML = "Add to My Favorites";

      return false;
   }
}


function removeFavoriteDiv(link)
{
   // Get resource ID
   var rID = link.id.substr(3);

   // Decrease number of favorites by 1.
   var totalFavsDiv = document.getElementById("totalSearchResults");
   var totalFavs = totalFavsDiv.innerHTML;
   totalFavs = parseInt(totalFavs.substr(totalFavs.lastIndexOf(" ")));
   totalFavs--;
   totalFavsDiv.innerHTML = "Total Favorites: " + totalFavs;
   
   if(totalFavs == 0)
   {

      var noFavString = "<h2>My Favorites</h2>\n";
      noFavString += "<p><em>You currently do not have any resources in My Favorites.</em></p>\n\n";
      noFavString += "<p><em>Please return to <a href=\"../index.php\">the list of resources</a> ";
      noFavString += "to add to My Favorites!</p>";

      // Hide resource div.
      document.getElementById("resourceDiv"+rID).innerHTML = noFavString;
   }
   else
   {
      // Hide resource div.
      document.getElementById("resourceDiv"+rID).style.display = "none";
   }      
}
