var favClass = "fav";
var nofavClass = "nofav";
var favImage = "/stage/img/mine.gif";
var nofavImage = "/stage/img/add2mine.gif";
var favdebug = 0;

function xmlhttpPost(strURL, strParams) 
{
  if (favdebug > 0)
    alert('xmlhttpPost ' + strURL + ' ' + strParams);
  var xmlHttpReq = false;
  var self = this;
  if (window.XMLHttpRequest) // Mozilla/Safari
    self.xmlHttpReq = new XMLHttpRequest();
  else if (window.ActiveXObject) //IE
    self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
  else
    return false;
  self.xmlHttpReq.open('POST', strURL, true);
  self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  self.xmlHttpReq.onreadystatechange = 
    function() 
    {
      if (self.xmlHttpReq.readyState == 4) 
        updatefav(self.xmlHttpReq.responseText);
    }
  self.xmlHttpReq.send(strParams);
}

function switchfav(url)
{
  if (favdebug > 0)
  {
    alert('switchfav ' + url);
    alert(url + '/favlink');
  }
  var fh = document.getElementById(url + '/favlink');
  if (favdebug > 0)
    alert(fh);
  var fav = 1;  
  if (fh.className == favClass)
    fav = 0;
  xmlhttpPost(url+"/fav", "fav=" + fav);
  return false;
}

function updatefav(outstr)
{
  if (favdebug > 0)
    alert('updatefav ' + outstr);
  var url = "";
  var fav = "0";
  var code = 0;
  var keyvals = outstr.split("&");
  for (var i = 0; i < keyvals.length; i++)
  {
    var keyval = keyvals[i];
    var pos = keyval.indexOf('=');
    if (pos < 0)
      pos = keyval.length;
    var key = keyval.substring(0, pos);
    if (pos < keyval.length)
      pos++;
    var val = keyval.substring(pos);
    if (key == "url")
      url = val;
    if (key == "fav")
      fav = val;
    if (key == "code")
      code = val;
  }
  if (code != 0)
    return;
  if (url.length <= 0)
    return;
  if (fav != 0 && fav != "1")
    return;
    
  var classname;
  var imgname;

  if (fav != "0")
  {
    classname = favClass;
    imgname = favImage;
  }
  else
  {
    classname = nofavClass;
    imgname = nofavImage;
  }
  if (favdebug > 0)
    alert(url + '/favlink');
  document.getElementById(url + '/favlink').className = classname;
  if (favdebug > 0)
    alert(url + '/favimage');
  document.getElementById(url + '/favimage').src = imgname;
}

