var RANK2=0;

function RankByClick(sQ,nMax) {
  var nMax=(nMax==undefined ? 0 : nMax);
  var aInp=document.getElementsByTagName("input");
  for(var i=0;i<aInp.length;i++) {
    var oC=aInp[i];
    if((oC.name.substring(0,sQ.length)==sQ) && !oC.name.match(/@/)) {
      var oE=document.createElement('DIV');
      oE.id="_rank_"+oC.name.replace(/[\[\]\.\@]/g,"_");
      oE.className="rankbox"
      if(oC.value) {
        if(parseInt(oC.value,10)>RANK2) { RANK2=parseInt(oC.value,10); }
        oE.innerHTML=oC.value;
      }
      else { oE.innerHTML="-"; }
      oE.inputValue=oC;
      oE.onclick=function() {
        clickRank(this,this.inputValue,sQ,nMax);
      };
      oC.parentNode.appendChild(oE);

      var oLab=oC.parentNode.parentNode.cells[0].getElementsByTagName("span")[0];
      oLab.style.cursor="pointer";
      oLab.boxValue=oE;
      oLab.inputValue=oC;
      oLab.onclick=function() {
        clickRank(this.boxValue,this.inputValue,sQ,nMax);
      };

      oC.style.display="none";
    }
  }
}

function clickRank(oBox,oInp,sQ,nMax) {
  if(oInp.value) {
    var aInp=document.getElementsByTagName("input");
    for(var i=0;i<aInp.length;i++) {
      var oC=aInp[i];
      if(oC.name.substring(0,sQ.length)==sQ) {
        if(parseInt(oC.value,10)>parseInt(oInp.value,10)) {
          oC.value=String(parseInt(oC.value,10)-1);
          oC.parentNode.getElementsByTagName('div')[0].innerHTML=oC.value;
        }
      }
    }
    oBox.innerHTML="-";
    oInp.value="";
    RANK2--;
  }
  else if((RANK2<nMax) || (nMax==0)) {
    RANK2++;
    oBox.innerHTML=String(RANK2);
    oInp.value=String(RANK2);
  }
}

