// Ver.1.00 2004/07/27

var oddsapFlg = false;

  var srf=new Array(0);
  var maketime='';

  var readFlg = false;
  var param = "";

  function getJS(prm){
    readFlg = false;
    srf=new Array(0);
    maketime='';

    param = prm;
//    var oddsJs = 'odds'+param+'.js';
    var oddsJs = '../content/oddsjs/odds'+param+'.js';
    reJS(oddsJs);
    oddsChk();

  }

  function oddsChk(){
    if(srf.length==816){
//    var anaJs = 'anj'+param+'.js';
    var anaJs = '../content/analyzerjs/anj'+param+'.js';
      reJS(anaJs);
      anaChk();
    }else{
      setTimeout('oddsChk()',500);
    }
  }

  function anaChk(){
    if(maketime.length>0){
      addOddsPoint();
    }else{
      setTimeout('anaChk()',500);
    }
  }

  function addOddsPoint(){

    //出走馬ならオッズ追加
    if(reg[0]==0){

      //人気順
      var ninki = new Array(0);
        //準備
        for(var i=0;i<uma.length;i++){
          ninki[i] = new Array(i,tf[i][0]);
        }

      //入れ替え
      for(var i=0;i<ninki.length;i++){
        for(var j=i+1;j<ninki.length;j++){
          var stf = false;
          if(ninki[i][1]<0 && ninki[j][1]>=0){
            //前だけ取消
            stf = true;
          }else if(ninki[i][1]>=0 && ninki[j][1]<0){
            //後だけ取消
            stf = false;
          }else if(ninki[i][1]==0 && ninki[j][1]!=0){
            //前だけ票数無し
            stf = true;
          }else if(ninki[i][1]!=0 && ninki[j][1]==0){
            //後だけ票数無し
            stf = false;
          }else if(ninki[i][1]>ninki[j][1]){
            //前のオッズが低い
            stf = true;
          }else if(ninki[i][1]==ninki[j][1]){
            //オッズが同じ
            if(ninki[i][0]>ninki[j][0]){
              //馬番順
              stf = true;
            }
          }
          if(stf){
            var esc = ninki[i];
            ninki[i]=ninki[j];
            ninki[j]=esc;
          }
        }
      }

      //オッズポイント追加
      var rank = 1;
      var point = 10;
      var escCnt = 0;
      for(var i=0;i<ninki.length;i++){
        if(i!=0 && ninki[i][1]!=ninki[i-1][1]){
          rank=rank+escCnt+1;
          point = point-(escCnt*2)-2;
          if(point<0){
            point = 0;
          }
          escCnt=0;
        }else if(i!=0){
          escCnt++;
        }
        uma[ninki[i][0]][4] = rank;
        uma[ninki[i][0]][5] = ninki[i][1];
        uma[ninki[i][0]][33] = point;

        var total = 0;
        if(ninki[i][1]>=0){
          for(var j=33;j<46;j++){
            if(uma[ninki[i][0]][j]!=""){
              total+=parseInt(uma[ninki[i][0]][j]);
            }
          }
        }
        uma[ninki[i][0]][32]=total;
      }

    }else{
      for(var i=0;i<uma.length;i++){
        uma[i][33] = 0;
      }
    }

    //再評価
    reEvaluation();

    readFlg = true;

  }

//再評価
  function reEvaluation(){
    //総合順
    var AP = new Array(0);
      //準備
      for(var i=0;i<uma.length;i++){
        AP[i] = new Array(i,uma[i][32],uma[i][5],uma[i][34],uma[i][35],uma[i][36],uma[i][1]);
      }                 //配列番号,総合ポイント,オッズ,前５走,前走,前々走,馬番

      //入れ替え
      for(var i=0;i<AP.length;i++){
        for(var j=i+1;j<AP.length;j++){
          var stf = false;
          if(AP[i][2]<0){
            //前が取り消し
            stf = true;
          }else if(AP[j][2]<0){
            //後が取り消し
            stf = false;
          }else if(AP[i][1]<AP[j][1]){
            //前の総合ポイントが低い
            stf = true;
          }else if(AP[i][1]==AP[j][1]){
            //総合ポイントが同じ
            if(AP[i][2]>AP[j][2]){
              //前のオッズが低い
              stf = true;
            }else if(AP[i][2]==AP[j][2]){
              //オッズが同じ
              if(AP[i][2]<AP[j][2]){
                //前の前５走が低い
                stf = true;
              }else if(AP[i][2]==AP[j][2]){
                //前５走が同じ
                if(AP[i][3]<AP[j][3]){
                  //前の前走が低い
                  stf = true;
                }else if(AP[i][3]==AP[j][3]){
                  //前走が同じ
                  if(AP[i][4]<AP[j][4]){
                    //前の前々走が低い
                    if(AP[i][5]<AP[j][5]){
                      stf = true;
                    }else if(AP[i][5]==AP[j][5]){
                      //前々走が同じ
                      if(AP[i][6]>AP[j][6]){
                        //馬番順
                        stf = true;
                      }
                    }
                  }
                }
              }
            }
          }
          if(stf){
            var esc = AP[i];
            AP[i]=AP[j];
            AP[j]=esc;
          }
        }
      }

      for(var i=0;i<uma.length;i++){
        uma[AP[i][0]][31] = (i+1);
      }
  }

//ＪＳ再読み込み
  function reJS(fileName){

    var url = fileName+'?'+Math.random();

    if(document.all){
      if(navigator.userAgent.indexOf("Win")!=-1){
        eval(document.all('js')).src = url;
      }else if(navigator.userAgent.indexOf("Mac")!=-1){
        document.body.insertAdjacentHTML('BeforeEnd','<SCRIPT type="text/javascript" src="'+url+'"></SCRIPT>');
      }
    } else if(document.getElementById){
      var newURL = document.createElement('SCRIPT');
      newURL.src = url;
      newURL.id  = 'js';
      var oldURL =document.getElementById('js');
      oldURL.parentNode.replaceChild(newURL,oldURL);
    } else {
      if(document.images){
        var datasrc = new Image();
        datasrc.src = url;
        location.href = datasrc.src;
      }
    }
  }

//馬コードからＡＰ計を取得
  function getAP(code){
    for(var i=0;i<uma.length;i++){
      if(code==uma[i][3]){
        return uma[i][32];
      }
    }
    return -1;
  }


  document.write('<SCRIPT type="text/javascript" id="js"></SCRIPT>');

oddsapFlg = true;

