var agType ='';

var chartDiv = "chartIE";
var menberNum = 1;
var lapNum = 1;

var editFlag = false;

var colArray = new Array('#0000FF', '#FF00FF', '#FF0060', '#00FFFF', '#00FF00', '#FFFF00', '#78C800', '#7800C8');

// メニュータブの定義格納用配列
var tdobjmenu = new Array();
var mnClickdata = new Array();
var mnOverdata = new Array();
var mnOutdata = new Array();

// メニュータブの色定義
var tlColSel = "#75DDFF";		//マウス通過時の背景色
var tlColUnSel = "#ECECFF";		//マウス非通過時の背景色
var tlFontColClick = "#FFFBFB";		//選択メニューの文字色
var tlFontColUnClick = "#590000";		//非選択メニューの文字色
var tlBgColClick = "#004BC8";		//選択メニューの文字色
var tlBgColNotSel = "#9F9F98";		//選択不可メニューの背景色
var tlFontColNotSel = "#000000";		//選択不可メニューの文字色

// Yahoo! UI Libraryの初期化
YAHOO.namespace("alert");
YAHOO.namespace("confirm");

function initAlert() {

    // Alertの設定
    var handleAlrtOK = function(e) {
        /* OK処理 */
        this.hide();
    }

    YAHOO.alert.dlg = new YAHOO.widget.SimpleDialog("alrt", {
        /* ダイアログのプロパティを設定 */
        icon: YAHOO.widget.SimpleDialog.ICON_WARN,
        visible:false,
        width: "20em",
        fixedcenter:true,
        modal:true,
        draggable:true
    } );

    YAHOO.alert.dlg.setHeader("入力エラー");
    YAHOO.alert.dlg.setBody("");

    YAHOO.alert.dlg.cfg.queueProperty("buttons", [ 
        { text:"OK", handler:handleAlrtOK, isDefault:true }
    ]);

    var listeners = new YAHOO.util.KeyListener(document, { keys : 27 }, {
        /* ESCキー押下時の動作を設定 */
        fn:handleAlrtOK,
        scope:YAHOO.alert.dlg,
        correctScope:true
    } );

    YAHOO.alert.dlg.cfg.queueProperty("keylisteners", listeners);
    YAHOO.alert.dlg.render(document.body);
}

function initConfirm() {

    // Confirmの設定
    var handleConfOK = function(e) {
        /* OK処理 */
        createNum();
        this.hide();
    }

    var handleConfCancel = function(e) {
        /* OK処理 */
        this.hide();
    }

    YAHOO.confirm.dlg = new YAHOO.widget.SimpleDialog("conf", {
        /* ダイアログのプロパティを設定 */
        icon: YAHOO.widget.SimpleDialog.ICON_WARN,
        visible:false,
        width: "30em",
        fixedcenter:true,
        modal:true,
        draggable:true
    } );

    YAHOO.confirm.dlg.setHeader("確認");
    YAHOO.confirm.dlg.setBody("");

    YAHOO.confirm.dlg.cfg.queueProperty("buttons", [ 
        { text:"OK", handler:handleConfOK, isDefault:false },
        { text:"キャンセル", handler:handleConfCancel, isDefault:true }
    ]);

    var listeners = new YAHOO.util.KeyListener(document, { keys : 27 }, {
        /* ESCキー押下時の動作を設定 */
        fn:handleConfCancel,
        scope:YAHOO.confirm.dlg,
        correctScope:true
    } );

    YAHOO.confirm.dlg.cfg.queueProperty("keylisteners", listeners);
    YAHOO.confirm.dlg.render(document.body);
}

YAHOO.util.Event.addListener(window, "load", initAlert);
YAHOO.util.Event.addListener(window, "load", initConfirm);

function showAlert(msg){
  YAHOO.alert.dlg.cfg.queueProperty("icon", YAHOO.widget.SimpleDialog.ICON_WARN);
  YAHOO.alert.dlg.setBody(msg);
  YAHOO.alert.dlg.show();
}

function showConfirm(msg){
  YAHOO.confirm.dlg.cfg.queueProperty("icon", YAHOO.widget.SimpleDialog.ICON_WARN);
  YAHOO.confirm.dlg.setBody(msg);
  YAHOO.confirm.dlg.show();
}

// ウインドウロード時に実行する初期化処理
function initialize(){

  agType = defAgent();

  if( agType == 'IE' ){
    chartDiv = 'chartIE';
  }else {
    chartDiv = 'chart';
  }

  getclick();

  m1Click();

  // 人数・周回数選択エリアの表示
  showNumArea(true);

  // データ入力エリアの非表示
  showDataArea(false);

  // ラップチャートエリアの非表示
  showChartArea(false);

}

// データ入力テーブルの表示
function createTable(){

  var inputNameTag = '';
  var inputTimeTag = '';

  var memberIdx = document.tableForm.memberMenu.selectedIndex;
  var lapIdx = document.tableForm.lapMenu.selectedIndex;

  menberNum = parseInt(document.tableForm.memberMenu.options[memberIdx].value);
  lapNum = parseInt(document.tableForm.lapMenu.options[lapIdx].value);

  // 入力チェック
  if ( menberNum == 0 ) {
//alert('人数を選択してください。');
    showAlert('人数を選択してください。');
    return;
  } else if ( lapNum == 0 ){
//alert('周回数を選択してください。');
    showAlert('周回数を選択してください。');
    return;
  }

  if (!editFlag) {

    // *************** 名前表示エリアの設定処理
    inputNameTag += '<table border="1" cellspacing="0" cellpadding="0" style="width: 150px;">\n';
    // タイトル行の表示
    inputNameTag += '  <tr style="text-align:center; background-color:#DDFFC8;">\n';
    inputNameTag += '    <td>\n';
    inputNameTag += '      名前\n';
    inputNameTag += '    </td>\n';
    inputNameTag += '  </tr>\n';

    // *************** ラップタイム表示エリアの設定処理
    inputTimeTag += '<table border="1" cellspacing="0" cellpadding="0">\n';

    // タイトル行の表示
    inputTimeTag += '  <tr style="text-align:center; background-color:#DDFFC8;">\n';
    for (lpCnt=1; lpCnt <= lapNum; lpCnt++){ 

      inputTimeTag += '    <td>\n';
      inputTimeTag += '      Lap' + lpCnt + '\n';
      inputTimeTag += '    </td>\n';
    }

    // 名前数分ループ
    for (mbrCnt=1; mbrCnt <= menberNum; mbrCnt++){ 

      // *************** 名前表示エリアの設定
      inputNameTag += '  <tr>\n';
      inputNameTag += '    <td>\n';
      inputNameTag += '      <input type="text" id="name' + mbrCnt + '" size="25" maxlength="20">\n';
      inputNameTag += '    </td>\n';
      inputNameTag += '  </tr>\n';

      // *************** ラップタイム表示エリアの設定
      inputTimeTag += '  <tr>\n';

        for (lpCnt=1; lpCnt <= lapNum; lpCnt++){ 

          inputTimeTag += '    <td>\n';
  //        inputTimeTag += '      <input type="text" name="time' + mbrCnt + '-' + lpCnt + '" size="10" maxlength="6" value="">\n';
          inputTimeTag += '      <input type="text" id="time' + mbrCnt + '-' + lpCnt + '" size="10" maxlength="6" value="">\n';

          inputTimeTag += '    </td>\n';

        }
      inputTimeTag += '  </tr>\n';

    }

    // *************** 名前表示テーブルのクローズ
    inputNameTag += '<table>';

    // *************** ラップタイム表示テーブルのクローズ
    inputTimeTag += '  </tr>\n';
    inputTimeTag += '<table>';

  //  inputTimeTag += '<br>';

    outputLAYER('nameTbl', inputNameTag);
    outputLAYER('inputTbl', inputTimeTag);

    editFlag = true;
  }

  m2Click();

  // 名前表示エリアの設定処理
  // 人数・周回数選択エリアの非表示
  showNumArea(false);

  // データ入力エリアの表示
  showDataArea(true);

  // ラップチャートエリアの非表示
  showChartArea(false);

}

// 人数、周回数選択領域の表示
function createNum(){

  // 確認
//  ret = confirm('人数や周回数を変更すると今まで入力したデータはクリアされます。\nよろしいですか？');

//  if(!ret){
//    return;
//  }

  m1Click();

  // データ入力エリアの非表示
  showDataArea(false);

  // ラップチャートエリアの非表示
  showChartArea(false);

  // 人数・周回数選択エリアの表示
  showNumArea(true);

  editFlag = false;
}

// ラップチャートの描画
function createChart(){

  var lapValue = '';
  var name = '';

  var lapTime = 0.0;
  var totalTime = 0.0;

  // ラップチャートのタイトル
  var cTitle = '';

  // 名前格納用配列
  var nameArray = new Array();

  // ラップタイム格納用配列
  var timeArray = new Array();

  // 最高／最低ラップタイム判定用配列
  var validTimeArray = new Array();

  // 平均ラップタイム算出用配列
  var totalTimeArray = new Array();

  // グラフ横軸名称格納用配列
  var xAxisArray = new Array();

  // ラップタイム０情報格納用配列（該当メンバー名と周回数を格納）
  var noTimeArray = new Array();
  //noTimeArray[0] = new Array();
  //noTimeArray[1] = new Array();

  for (mbrCnt=1; mbrCnt <= menberNum; mbrCnt++){ 

    name = document.getElementById('name' + mbrCnt).value;

    // 名前の入力チェック
    if( name == "") {
//alert( mbrCnt + '件目の名前が入力されていません。');
      showAlert(mbrCnt + '件目の名前が入力されていません。');
      return;
    }

//    name = document.dataForm['name' + mbrCnt].value;
    nameArray.push( name );

    timeArray[mbrCnt-1] = new Array();
    validTimeArray[mbrCnt-1] = new Array();

    lapValue = '';
    lapTime = 0.0;
    totalTime = 0.0;

    for (lpCnt=1; lpCnt <= lapNum; lpCnt++){ 

      lapValue = document.getElementById('time' + mbrCnt + '-' + lpCnt).value;

//      lapValue = document.dataForm['time' + mbrCnt + '-' + lpCnt].value;

      // ラップタイムの入力チェック
      if( lapValue == "") {
        lapValue = '0';
      }else if ( isNaN(lapValue) ) {
//alert('Lap' + lpCnt + 'の入力内容が数値ではありません');
        showAlert('Lap' + lpCnt + 'の入力内容が数値ではありません');
        return;
      }else if ( lapValue >= 100) {
//alert('100秒以上のタイムは入力できません。\n Lap' + lpCnt + 'のタイムを修正してください。');
        showAlert('100秒以上のタイムは入力できません。<br> Lap' + lpCnt + 'のタイムを修正してください。');
        return;
      }else if ( lapValue < 0) {
//alert('Lap' + lpCnt + 'のタイムが0秒未満になっています');
        showAlert('Lap' + lpCnt + 'のタイムが0秒未満になっています');
        return;
      }

      lapTime = parseFloat(lapValue);

      timeArray[mbrCnt-1].push(lapTime);

      // ラップタイムが0以外の場合は、最高/最低タイム算出用配列に格納
      if( lapTime != 0) {
        validTimeArray[mbrCnt-1].push(lapTime);

      } else {
        // ラップタイムが0の場合、ラップタイム０情報配列に格納
        // （グラフ表示の際、ラップタイム０を置換するのに使用する）

        noTimeArray.push([ mbrCnt-1, lpCnt-1 ]);
       // noTimeArray[0].push(mbrCnt -1);
       // noTimeArray[1].push(lpCnt -1);
      }

      // 合計タイムを加算
      totalTime += lapTime;

      // グラフの横軸に表示する名称を設定
      xAxisArray[lpCnt-1] = 'Lap' + lpCnt;

    }

    // 各メンバーの合計タイムを格納
    totalTimeArray.push( totalTime );

  }

  m3Click();

  // 人数・周回数選択エリアの非表示
  showNumArea(false);

  // データ入力エリアの非表示
  showDataArea(false);

  // ラップチャートエリアの表示
  showChartArea(true);

  // メンバ別のベスト/ワースト/平均タイムの取得
  var limitData = getLimitTime(validTimeArray, totalTimeArray);

  // 全体のベスト/ワーストタイムの取得
  var fastestData = getFastestTime(limitData);

  // ラップチャート全体のタイトルを表示
  var tName = document.getElementById('cTitle').value;

  if( tName == '') {
    tName = '　';
  }
  cTitle += '<div style="width:700px; font-size:3px;">&nbsp;</div>\n';

  cTitle += '<div style="width:700px; text-align:center;">' + tName + '</div>\n';

  cTitle += '<span style="background-color:#E3F4FF; border-left:3px solid #3535FF; border-bottom:1px dashed #3535FF;">\n';
  cTitle += '&nbsp;ラップチャート　　　　　　　　　　　　&nbsp;\n';
  cTitle += '</span>';
  cTitle += '<span style="font-size:3px;"><br></span>\n';
//  if( cTitle == '' ){
//    cTitle = 'ラップチャート';
//  }

  // ラップチャートのタイトルを表示
  outputLAYER('crtTitle', cTitle );

  // ラップタイム表を表示
  drawLapTable(nameArray, timeArray, limitData, fastestData[1]);

  // ラップチャートを描画
  drawLapChart(nameArray, timeArray, xAxisArray, fastestData, noTimeArray);


}

function getLimitTime(validArr, ttlArr){

  var lmtArr = new Array(3);
  lmtArr[0] = new Array();
  lmtArr[1] = new Array();
  lmtArr[2] = new Array();

  var avg = 0.0;

  for (mbrCnt=1; mbrCnt <= menberNum; mbrCnt++){ 

    // 最も遅いタイムの取得
    lmtArr[0].push( validArr[mbrCnt-1].max() );

    // ベストタイムの取得
    lmtArr[1].push( validArr[mbrCnt-1].min() );

    // 平均タイムの取得
    if( ttlArr[mbrCnt-1] == 0 ){
      avg = 0;
    } else {
      avg = ttlArr[mbrCnt-1] / (validArr[mbrCnt-1].length);
    }

    // 1000分の1秒単位で四捨五入する
    avg = Math.round(avg * 1000) / 1000;
    lmtArr[2].push( avg );
  }

  return lmtArr;
}

function getFastestTime(bestArr){

  var fstArr = new Array();

  // 全体で最も遅いタイムの取得
  fstArr.push( bestArr[0].max() );

  // ファステストラップタイムの取得
  fstArr.push( bestArr[1].min() );

  return fstArr;
}

function drawLapChart(nameArr, timeArr, xAxArr, fastArr, ntArr) {

  // 縦軸の最大／最小値取得
  var grLimitData = getGridLimit(fastArr);

  // 縦軸本数取得
  var grLines = getGridLines(grLimitData);

  // タイムが０の場合グリッド最低値に置換
  var drawTimeArr = replaceNotime(timeArr, grLimitData[1], ntArr);

  var c = new Chart(document.getElementById(chartDiv));
  c.setDefaultType(CHART_LINE);
  c.setLabelPrecision(2);
  c.setGridDensity(xAxArr.length, grLines);
  c.setVerticalRange( grLimitData[1], grLimitData[0] );
  c.setHorizontalLabels(xAxArr);

  for (mbrCnt=0; mbrCnt < menberNum; mbrCnt++){ 
    c.add(nameArr[mbrCnt],  colArray[mbrCnt], drawTimeArr[mbrCnt] );
  }

  c.draw();
}

　//  window.onload = function() {
　//    draw();
　//  };

function getGridLimit(fastArr){

  var grLmtArr = new Array();
  var lBound = 0;
  var uBound = 0;
  var dist = 0;

  // グラフ表示の上限値を設定（最も遅いタイムを切り上げて設定）
  uBound = Math.ceil( fastArr[0] );

  // グラフ表示の下限値を設定（ファステストラップタイムを切り捨てて設定）
  lBound = Math.floor( fastArr[1] );

  dist = uBound - lBound;

  // ファステストラップタイムと最も遅いタイムの差が20秒以上の場合は
  // タイム差が偶数になるようにする
  if( ( dist >= 20 ) && 
         ( ( dist % 2 ) != 0 )) {
    uBound += 1;
  }

  // グリッド表示の上限値を設定
  grLmtArr.push( uBound );

  // グリッド表示の下限値を設定
  grLmtArr.push( lBound );

  return grLmtArr;
}

function getGridLines(lmtArr){

  var lines = 0;
  var dstNum = 0;

  dstNum = lmtArr[0] - lmtArr[1];

  // グラフの縦軸に表示する線の間隔を指定

  // 差が10秒以下の場合、0.5秒間隔
  if( dstNum <= 10 ) {
    lines = 1 + dstNum * 2;

  // 差が20秒以下の場合、1秒間隔
  }else if( dstNum <= 20 ) {
    lines = 1 + dstNum;

  // 差が20秒を超える場合、2秒間隔
  }else {
    lines = 1 + dstNum / 2;
  }

  return lines;
}

function replaceNotime(datArr, min, ntArr){

  var mbIdx = 0;
  var lpIdx = 0;

  for (ntCnt = 0; ntCnt < ntArr.length; ntCnt++){

    mbIdx = ntArr[ntCnt][0];
    lpIdx = ntArr[ntCnt][1];

    // タイムが０の場合はグラフのグリッド最低値に置換する
    // datArr[mbIdx].splice(lpIdx, lpIdx, min);
    datArr[mbIdx][lpIdx] = min;

  }

  return datArr;
}

// ラップタイム一覧領域の表示
function drawLapTable(nameArr, timeArr, avgArr, fstTime){

  var tblTag = '<table border="0" cellspacing="0" cellpadding="0" style="width: 700px; font-size:12px;">\n';

  var nmTitle1 = '';
  var lpTitle1 = '';

  var nmArea1  = '';
  var lpArea1  = '';

  var nmTitle2 = '';
  var lpTitle2 = '';

  var nmArea2  = '';
  var lpArea2  = '';

  var endCol1  = '';
  var endCol2  = '';

  var padRow   = '';

  var avgArea  = '';

  var colspan  = 12;

  var laptm  = 0;
  var beststyle  = '';
  var eColWidth = 700 - (120 + (55*lapNum));

  endCol1 += '  <td style="width:' + eColWidth + 'px; background-color:#FFFFFF;">\n';
  endCol1 += '  </td>\n';
  endCol1 += '</tr>\n';

  if( lapNum > 10 ){
    colspan = lapNum + 2;

    nmTitle2 += '<tr style="background-color:#DDFFC8;">\n';
    nmTitle2 += '  <td style="width:150px; border-right:1px ridge #aaa; background-color:#FFFFFF;">\n';
    nmTitle2 += '    &nbsp;';
    nmTitle2 += '  </td>\n';


    nmArea2 += '<tr>\n';
    nmArea2 += '  <td style="width:150px; border-right:1px ridge #aaa;">\n';
    nmArea2 += '    &nbsp;';
    nmArea2 += '  </td>\n';

//    lpArea2 += nmArea2;

    endCol2 += endCol1;

    padRow += '<tr style="height:10px;">\n';
    padRow += '  <td colspan="' + colspan + '">\n';
    padRow += '  </td>\n';
    padRow += '</tr>\n';
  }


  // 名前数分ループ
  for (mbrCnt=1; mbrCnt <= menberNum; mbrCnt++){ 

    nmTitle1 = '';
    lpTitle1 = '';

    nmArea1  = '';
    lpArea1  = '';

    lpTitle2 = '';
    lpArea2  = '';

    endCol   = '';

    avgArea  = '';

    // 名前タイトルの設定
//    if ( mbrCnt == 6 ){
      // 5件目のデータで印刷を改ページさせる
//      nmTitle1 += '<tr style="page-break-before: always;">\n';
//    } else{
      nmTitle1 += '<tr>\n';
//    }
    nmTitle1 += '  <td style="width:150px; text-align:center; border:1px ridge #aaa; border-bottom:none; background-color:#DDFFC8;">\n';
    nmTitle1 += '    名前\n';
    nmTitle1 += '  </td>\n';

    // 名前表示欄の設定
    nmArea1 += '<tr>\n';
    nmArea1 += '  <td style="width:150px; text-align:center; border:1px ridge #aaa;">\n';
    nmArea1 += '    ' + nameArr[mbrCnt-1] + '\n';
    nmArea1 += '  </td>\n';

    // ラップタイム数分ループ
    for (lpCnt=1; lpCnt <= lapNum; lpCnt++){ 

      laptm = timeArr[mbrCnt-1][lpCnt-1];
      beststyle = '';

      if( laptm == 0){
        laptm = '-'
      }else if( laptm == avgArr[1][mbrCnt-1] ) {
        beststyle = 'background-color:#A4C6FF;';

        if( laptm <= fstTime ){
          outputLAYER('fstdatArea', '<span style="font-weight:bold;">Fastest Lap : ' + laptm + '</span>&nbsp;&nbsp;( ' + nameArr[mbrCnt-1] + '&nbsp;' + ' [ Lap' + lpCnt + ' ] )');
        }
      }

      // ラップタイムタイトル、表示エリアの設定
      if( lpCnt < 11 ){

        lpTitle1 += '<td style="width:55px; text-align:center; border:1px ridge #aaa; border-left:none; border-bottom:none; background-color:#DDFFC8;">\n';
        lpTitle1 += '  Lap' + lpCnt +'\n';
        lpTitle1 += '</td>\n';

        lpArea1 += '<td style="width:55px; text-align:center; border:1px ridge #aaa; border-left:none; ' + beststyle + '">\n';
        lpArea1 += '  ' + laptm + '\n';
        lpArea1 += '</td>\n';
      } else {

        lpTitle2 += '<td style="width:55px; text-align:center; border:1px ridge #aaa; border-left:none; border-bottom:none; background-color:#DDFFC8;">\n';
        lpTitle2 += '  Lap' + lpCnt +'\n';
        lpTitle2 += '</td>\n';

        lpArea2 += '<td style="width:55px; text-align:center; border:1px ridge #aaa; border-left:none; ' + beststyle + '">\n';
        lpArea2 += '  ' + laptm + '\n';
        lpArea2 += '</td>\n';
      }


    }

    avgArea += '<tr style="text-align:left">\n';
    avgArea += '  <td colspan="' + colspan + '">\n';
    avgArea += '    Average : ' + avgArr[2][mbrCnt-1] + '\n';
    avgArea += '  </td>\n';
    avgArea += '</tr>\n';
    avgArea += '<tr style="height:10px;">\n';
    avgArea += '  <td colspan="' + colspan + '">\n';
    avgArea += '  </td>\n';
    avgArea += '</tr>\n';

    tblTag += nmTitle1 + lpTitle1 + endCol1 
            + nmArea1 + lpArea1 + endCol1 
            + padRow 
            + nmTitle2 + lpTitle2 + endCol2 
            + nmArea2 + lpArea2 + endCol2 
            + avgArea;
  }

  tblTag += '</table>';

  outputLAYER('lapArea', tblTag);
}

// データ選択領域の表示／非表示
function showNumArea(flag){

  if(flag){

    resizeToLAYER('numSel', 700, 100);
    resizeToLAYER('createMenu', 700, 100);
  } else {
    resizeToLAYER('numSel', 700, 0);
    resizeToLAYER('createMenu', 700, 0);
  }

  showHideDiv('numSel', flag);
  showHideDiv('createMenu', flag);
}

// データ入力領域の表示／非表示
function showDataArea(flag){

  var tblHgt = 0;

  if(flag){
    tblHgt = 39 + (25 * menberNum);

    resizeToLAYER('inputTitle', 700, 60);
    resizeToLAYER('inputTitleArea', 700, 60);

    resizeToLAYER('dataTitle', 700, 35);
    resizeToLAYER('dataTitleArea', 700, 35);
    resizeToLAYER('inputdata', 700, tblHgt+5);
    resizeToLAYER('nameTbl', 150, tblHgt);
    resizeToLAYER('nameTblArea', 150, tblHgt);
    resizeToLAYER('inputTbl', 540, tblHgt);
    resizeToLAYER('inputTblArea', 540, tblHgt);
   resizeToLAYER('mkChart', 700, 20);
    resizeToLAYER('mkChartCell', 700, 20);
  } else {

    resizeToLAYER('inputTitle', 700, 0);
    resizeToLAYER('inputTitleArea', 700, 0);

    resizeToLAYER('dataTitle', 700, 0);
    resizeToLAYER('dataTitleArea', 700, 0);
    //  outputLAYER('nameTbl', '');
    //  outputLAYER('inputTbl', '');
    resizeToLAYER('nameTbl', 150, 0);
    resizeToLAYER('nameTblArea', 150, 0);
    resizeToLAYER('inputTbl', 540, 0);
    resizeToLAYER('inputTblArea', 540, 0);
    resizeToLAYER('inputdata', 700, 0);
    resizeToLAYER('mkChart', 700, 0);
    resizeToLAYER('mkChartCell', 700, 0);
  }

  showHideDiv('inputTitle',flag);
  showHideDiv('inputTitleArea',flag);
  showHideDiv('inputTitleTbl',flag);
  showHideDiv('dataTitle', flag);
  showHideDiv('dataTitleArea', flag);
  showHideDiv('nameTbl',flag);
  showHideDiv('inputTbl',flag);
  showHideDiv('inputdata',flag);
  showHideDiv('mkChart', flag);
  showHideDiv('mkChartCell', flag);
}

// ラップチャート領域の表示／非表示
function showChartArea(flag){

  var lpAreaHgt = 0;
 
  if(flag){

    if( lapNum > 10 ){
      lpAreaHgt = menberNum * 100;
    } else {
      lpAreaHgt = menberNum * 60;
    }

    resizeToLAYER('chartTitle', 700, 45);
    resizeToLAYER('chartTitleCell', 700, 45);
    resizeToLAYER('crtTitle', 700, 45);
    resizeToLAYER('fastData', 700, 25);
    resizeToLAYER('fastDataCell', 700, 25);
    resizeToLAYER('fstdatArea', 700, 15);
    resizeToLAYER('lapTblTitle', 700, 25);
    resizeToLAYER('lapTblTitleArea', 700, 25);
    resizeToLAYER('chart', 700, 250);
    resizeToLAYER('lapData', 700, lpAreaHgt);
    resizeToLAYER('lapDataArea', 700, 0);
    resizeToLAYER('lapArea', 700, 0);
    resizeToLAYER('chartBtn', 700, 50);
    resizeToLAYER('chartBtnCell', 700, 50);
  }else{

    resizeToLAYER('chartTitleCell', 700, 0);
    resizeToLAYER('chartTitle', 700, 0);
    resizeToLAYER('crtTitle', 700, 0);
    resizeToLAYER('fstdatArea', 700, 0);
    resizeToLAYER('fastDataCell', 700, 0);
    resizeToLAYER('fastData', 700, 0);
    resizeToLAYER('lapTblTitleArea', 700, 0);
    resizeToLAYER('lapTblTitle', 700, 0);
    resizeToLAYER('chart', 700, 0);
    resizeToLAYER('lapData', 700, 0);
    resizeToLAYER('lapDataArea', 700, 0);
    resizeToLAYER('lapArea', 700, 0);
    resizeToLAYER('chartBtn', 700, 0);
    resizeToLAYER('chartBtnCell', 700, 0);
  }

  showHideDiv('chartTitle', flag);
  showHideDiv('chartTitleCell', flag);
  showHideDiv('crtTitle', flag);
  showHideDiv('chart', flag);
  showHideDiv('lapArea', flag);
  showHideDiv('lapDataArea', flag);
  showHideDiv('lapData', flag);
  showHideDiv('fastData', flag);
  showHideDiv('fastDataCell', flag);
  showHideDiv('fstdatArea', flag);
  showHideDiv('lapTblTitle', flag);
  showHideDiv('lapTblTitleArea', flag);
  showHideDiv('chartBtnCell', flag);
  showHideDiv('chartBtn', flag);

}

function Mover(tab){

    setDivBackgroundColor(tab, tlColSel);
}

function Mout(tab){

    setDivBackgroundColor(tab, tlColUnSel);

}

// メニュータブの設定保存関数
function getclick(){

  for (i=1; i <= 3; i++) {
    tdobjmenu.push(document.getElementById('menu' + i ));
    mnClickdata.push(tdobjmenu[i-1].getAttribute('onclick'));
    mnOverdata.push(tdobjmenu[i-1].getAttribute('onmouseover'));
    mnOutdata.push(tdobjmenu[i-1].getAttribute('onmouseout'));
  }

}

//メニュータブクリック時の動作設定関数
function m1Click(){

  tdobjmenu[0].setAttribute('onclick','javascript:void(0);');
  tdobjmenu[0].setAttribute('onmouseover','javascript:void(0);');
  tdobjmenu[0].setAttribute('onmouseout','javascript:void(0);');
  tdobjmenu[0].style.cursor='default';
  tdobjmenu[0].style.color = tlFontColClick;
  tdobjmenu[0].style.fontWeight = 'bold';
  tdobjmenu[0].style.letterSpacing = '0.2em';
  setDivBackgroundColor('menu1', tlBgColClick);

  tdobjmenu[1].setAttribute('onclick',mnClickdata[1]);
  tdobjmenu[1].setAttribute('onmouseover',mnOverdata[1]);
  tdobjmenu[1].setAttribute('onmouseout',mnOutdata[1]);
  tdobjmenu[1].style.cursor='pointer';
  tdobjmenu[1].style.color = tlFontColUnClick;
  tdobjmenu[1].style.fontWeight = 'normal';
  tdobjmenu[1].style.letterSpacing = '0.1em';
  setDivBackgroundColor('menu2', tlColUnSel);

  tdobjmenu[2].setAttribute('onclick','javascript:void(0);');
  tdobjmenu[2].setAttribute('onmouseover','javascript:void(0);');
  tdobjmenu[2].setAttribute('onmouseout','javascript:void(0);');
  tdobjmenu[2].style.cursor='default';
  tdobjmenu[2].style.color = tlFontColNotSel;
  tdobjmenu[2].style.fontWeight = 'normal';
  tdobjmenu[2].style.letterSpacing = '0.1em';
  setDivBackgroundColor('menu3', tlBgColNotSel);

}

function m2Click(){

  tdobjmenu[0].setAttribute('onclick',mnClickdata[0]);
  tdobjmenu[0].setAttribute('onmouseover',mnOverdata[0]);
  tdobjmenu[0].setAttribute('onmouseout',mnOutdata[0]);
  tdobjmenu[0].style.cursor='pointer';
  tdobjmenu[0].style.color = tlFontColUnClick;
  tdobjmenu[0].style.fontWeight = 'normal';
  tdobjmenu[0].style.letterSpacing = '0.1em';
  setDivBackgroundColor('menu1', tlColUnSel);

  tdobjmenu[1].setAttribute('onclick','javascript:void(0);');
  tdobjmenu[1].setAttribute('onmouseover','javascript:void(0);');
  tdobjmenu[1].setAttribute('onmouseout','javascript:void(0);');
  tdobjmenu[1].style.cursor='default';
  tdobjmenu[1].style.color = tlFontColClick;
  tdobjmenu[1].style.fontWeight = 'bold';
  tdobjmenu[1].style.letterSpacing = '0.2em';
  setDivBackgroundColor('menu2', tlBgColClick);

  tdobjmenu[2].setAttribute('onclick',mnClickdata[2]);
  tdobjmenu[2].setAttribute('onmouseover',mnOverdata[2]);
  tdobjmenu[2].setAttribute('onmouseout',mnOutdata[2]);
  tdobjmenu[2].style.cursor='pointer';
  tdobjmenu[2].style.color = tlFontColUnClick;
  tdobjmenu[2].style.fontWeight = 'normal';
  tdobjmenu[2].style.letterSpacing = '0.1em';
  setDivBackgroundColor('menu3', tlColUnSel);
}

function m3Click(){

  tdobjmenu[0].setAttribute('onclick',mnClickdata[0]);
  tdobjmenu[0].setAttribute('onmouseover',mnOverdata[0]);
  tdobjmenu[0].setAttribute('onmouseout',mnOutdata[0]);
  tdobjmenu[0].style.cursor='pointer';
  tdobjmenu[0].style.color = tlFontColUnClick;
  tdobjmenu[0].style.fontWeight = 'normal';
  tdobjmenu[0].style.letterSpacing = '0.1em';
  setDivBackgroundColor('menu1', tlColUnSel);

  tdobjmenu[1].setAttribute('onclick',mnClickdata[1]);
  tdobjmenu[1].setAttribute('onmouseover',mnOverdata[1]);
  tdobjmenu[1].setAttribute('onmouseout',mnOutdata[1]);
  tdobjmenu[1].style.cursor='pointer';
  tdobjmenu[1].style.color = tlFontColUnClick;
  tdobjmenu[1].style.fontWeight = 'normal';
  tdobjmenu[1].style.letterSpacing = '0.1em';
  setDivBackgroundColor('menu2', tlColUnSel);

  tdobjmenu[2].setAttribute('onclick','javascript:void(0);');
  tdobjmenu[2].setAttribute('onmouseover','javascript:void(0);');
  tdobjmenu[2].setAttribute('onmouseout','javascript:void(0);');
  tdobjmenu[2].style.cursor='default';
  tdobjmenu[2].style.color = tlFontColClick;
  tdobjmenu[2].style.fontWeight = 'bold';
  tdobjmenu[2].style.letterSpacing = '0.2em';
  setDivBackgroundColor('menu3', tlBgColClick);
}
