var xmlHttp;

function GetXmlHttpObject() {
  var xmlHttp=null;
  try {
    // Firefox, Opera 8.0+, Safari
    xmlHttp=new XMLHttpRequest();
  } catch (e) {
    // Internet Explorer
    try {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
  return xmlHttp;
}

function rankLink(linkID, ranking) {
//alert('rankLink clicked');
  if(!sessionId || sessionId == '') {
    // not logged in, stop now
    alert('To rank a link, you must be logged in. Membership is free, so sign up now!');
    return;
  }
  xmlHttp=GetXmlHttpObject()
  if (xmlHttp==null) {
    alert ("Your browser does not support AJAX!");
    return;
  }

  var url = "rankLink.php";
  url = url + "?linkID=" + linkID;
  url = url + "&ranking=" + ranking;
  url = url + "&userID=" + sessionId;

  xmlHttp.onreadystatechange=stateChanged;
  xmlHttp.open("GET",url,true);
  xmlHttp.send(null);
}

function stateChanged() {
  if(xmlHttp.readyState==4) {
    // here's where we change the star display
    if(xmlHttp.responseText!=''){
//alert(xmlHttp.responseText);   
      var responseArray = xmlHttp.responseText.split('|');
      var linkID = responseArray[0];
      linkID = stripSpaces(linkID);
      var currRanking = responseArray[1];
      var timesRanked = responseArray[2];
      var avgRank = responseArray[3];
//alert('linkID : ' + linkID + '\ncurrRanking : ' + currRanking);
      for(i=1;i<=5;i++) {
        var imgName = 'rank'+linkID+'-'+i;
        var currImg;
//alert('imgName : ' + imgName);
        if ( (currImg = findObj(imgName)) != null) {
//alert('before imgName : ' + imgName + '\n src : ' + currImg.src + '\n oSrc : ' + currImg.oSrc);
          if(i<=currRanking){
            currImg.oSrc = jsHomeUrl + 'images/star_user.gif';
            currImg.src = jsHomeUrl + 'images/star_user.gif';
          } else {
            currImg.oSrc = jsHomeUrl + 'images/star_off.gif';
            currImg.src = jsHomeUrl + 'images/star_off.gif';
          }
//alert('after imgName : ' + imgName + '\n src : ' + currImg.src + '\n oSrc : ' + currImg.oSrc);
        }
      }
      // reset the total rankings info str
      /*
      var myRankingsStr = 'Avg ranking of ' + avgRank + ' based on ';
      if(timesRanked==1){
        myRankingsStr = myRankingsStr + timesRanked + ' ranking';
      } else {
        myRankingsStr = myRankingsStr + timesRanked + ' rankings';
      }
      eval('TotalRankingsStr'+linkID+'=myRankingsStr');
      */
    } else {
      alert('Got nothing back');
    }
  }
}

function stripSpaces(str) {
    while (str.substring(0,1) == ' ' || str.substring(0,1) == '\n') str = str.substring(1);
    while (str.substring(str.length-1,str.length) == ' ' || str.substring(str.length-1,str.length) == '\n') str = str.substring(0,str.length-1);
    return str;
}
