var rating = {
  init : function(){
    var elements = YAHOO.util.Dom.getElementsByClassName('rater','a');
    YAHOO.util.Event.addListener(elements, "click", rating.action);
  },
  action : function(e){
    YAHOO.util.Event.preventDefault(e);

    var parameterString = this.href.replace(/.*\?(.*)/, "$1"); // onclick="sndReq('j=1&q=2&t=127.0.0.1&c=5');
  	var parameterTokens = parameterString.split("&"); // onclick="sndReq('j=1,q=2,t=127.0.0.1,c=5');
  	var parameterList = new Array();

  	for (j = 0; j < parameterTokens.length; j++) {
  		var parameterName = parameterTokens[j].replace(/(.*)=.*/, "$1"); // j
  		var parameterValue = parameterTokens[j].replace(/.*=(.*)/, "$1"); // 1
  		parameterList[parameterName] = parameterValue;
  	}
  	var ratingID = parameterList['q'];
  	var vote = parameterList['j'];
  	var userIP = parameterList['t'];
  	var units = parameterList['c'];

  	//for testing	alert('sndReq('+theVote+','+theratingID+','+theuserIP+','+theunits+')'); return false;
  	var theUL = document.getElementById('unit_ul'+ratingID); // the UL

  	// switch UL with a loading div
  	theUL.innerHTML = '<div class="loading"></div>';
    var handleFailure = function(o){
      alert("Server Error");
    }
    var handleSuccess = function(o){
      var response = o.responseText;
      var update = new Array();
      if(response.indexOf('|') != -1) {
          update = response.split('|');
          var viewer = document.getElementById(update[0]);
          viewer.innerHTML = update[1];
      }
    }
    var callback =
    {
      success:handleSuccess,
      failure:handleFailure
    };
  	var request = YAHOO.util.Connect.asyncRequest('GET', '/ratingsRpc.aspx?rpc=1&j='+vote+'&q='+ratingID+'&c='+units, callback);

  }
}


YAHOO.util.Event.addListener(window, "load", rating.init);
