//  JavaScript共通モジュール
//      Last Update at 2005.02.25 H.Satake

  var ns6=document.getElementById&&!document.all

  var hiBgColor = "#fff7d2"   //フォーカス時の背景色を指定
  var hiColor = "#000000"   //フォーカス時の文字色を指定

  var previous=""
  var currentObj


//-----------------------------------------
//フォーム要素にフォーカスしたときの処理
function focusEl(e)
{
}

function bkfocusEl(e)
{
  currentObj=ns6?e.target:event.srcElement
  subtag=currentObj.tagName
  subtype=currentObj.type
  if ((((subtag=="TEXTAREA")||subtag=="INPUT")||subtag=="SELECT")||subtag=="OPTION") {
    if (previous!='') {
      previous.style.backgroundColor=''
      previous.style.color=''
      previous=currentObj
      if ((subtype!="radio")&&(subtype!="checkbox")) {
        currentObj.style.backgroundColor=hiBgColor
        currentObj.style.color=hiColor
      }
    } else {
      if ((subtype!="radio")&&(subtype!="checkbox")) {
        currentObj.style.backgroundColor=hiBgColor
        currentObj.style.color=hiColor
      }
      previous=currentObj
    }
  }
}

//-----------------------------------------
// サブウィンドウ表示
function openWin(url,winname,width,height,left,top) {
  open(url, winname, "width="+width+",height="+height+",left="+left+",top="+top);
}

//-----------------------------------------
// サブウィンドウ表示
function openWinScBar(url,winname,width,height,left,top) {
  open(url, winname, "location=no,resizable=yes,titlebar=no,menubar=no,scrollbars=yes,width="+width+",height="+height+",left="+left+",top="+top);
}

//-----------------------------------------
// 数値チェック
function checkIsNumber(value) {
  return (value.match(/[0-9]+/g) == value);
}

//-----------------------------------------
// バイト数を取得
function getByte(text)
{
  count = 0;
  for (i=0; i<text.length; i++)
  {
    n = escape(text.charAt(i));
    if (n.length < 4) count++; else count+=2;
  }
  return count;
}

//-----------------------------------------
// 日付論理チェック
function checkIsDate(in_data){

  var chkData = in_data;

  //8桁以外はエラー
  if (chkData.length != 8)
     {return false;}

  //小数点が入っていたらエラー
  if (chkData.indexOf(".") != -1)
     {return false;}

  //マイナスが入っていたらエラー
  if (chkData.indexOf("-") != -1)
     {return false;}

  //数値チェック
  if (isNaN(chkData) == true)
     {return false;}

  in_Year = eval(chkData.substring(0,4));
  in_Month = eval(chkData.substring(4,6));
  in_Day = eval(chkData.substring(6,8));

  if ((in_Month>12) || (in_Day >31))
     {return false;}

  //閏年
  if ((in_Month == 2) && YearChk(in_Year))
     {in_Month=13;}

  //末日チェック
  if (LastDayChk(in_Month,in_Day))
     {return true;}
  else
     {return false;}

}

//末日チェック
function LastDayChk(in_Month,in_Day){
  lastDay = new Array(31,28,31,30,31,30,31,31,30,31,30,31,29);
  if (lastDay[in_Month-1] >= in_Day)
     {return true;}
   else
     {return false;}
}

//年チェック
function YearChk(in_Year){
  if ((in_Year % 4) == 0 && ((in_Year % 100) != 0 || (in_Year % 400)))
     {return true;}
  return false;
}



//-----------------------------------------
// URLチェック
function checkIsURL(msg){
    var i,msg2;
    //許容範囲を増やす場合はここで文字を増やせばよい
    var checkStr = new String   ("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_\-#&?=\/.~:");
    //スペースを取り除く
    msg2 = msg.replace(/ /g,"");
    if(msg2.length == 0){
        return false;
    }
    for(i=0;i<msg2.length;i++){
        if(checkStr.indexOf(msg2.charAt(i),0) == -1){
            return false;
        }
    }
    return true;
}

//-----------------------------------------
//画像拡張子チェック
function checkImageExt(filename){

  var dot = filename.lastIndexOf('.') + 1;
  var ext = filename.substr(dot,filename.length-dot);

  ext = ext.toLowerCase();
  if(ext=='jpeg'||ext=='jpg'||ext=='gif'||ext=='png')
  {return true;}
  else
  {return false;}

}
