// 小数チェック
function isDecimal(data) {
  var tempStr = "0123456789." ;
  var thisChar ;
  var cnt = 0;
  for( var i = 0 ; i < data.length ; i++ ) {
      thisChar = data.substring( i, i+1 ) ;
      if( tempStr.indexOf(thisChar, 0) == -1 ) {
        return( false ) ;
      }
      if( thisChar == "." ) {
        cnt++;
      }
      if( cnt > 1 ) {
        return( false );
      }
  }
  return( true ) ;
}

// 小数チェック（桁チェックあり）
function isDecimal2(data, seisu, shosu) {
  if( !isDecimal( data ) ) {
    return false ;
  }
  var point = data.indexOf(".") ;
  if( point == -1 ) {
    // 整数部桁オーバー
    if( data.length > seisu ){
      return false ;
    }
  }
  else{
    // 整数部桁オーバー
    if( point > seisu ){
      return false ;
    }
    // 小数部桁オーバー
    if( data.length - point -1 > shosu ){
      return false ;
    }
  }
      return true ;
}


// 日付編集
function isEditDate( yyyy, mm, dd ) {
  //2003/02/21 Keya 仮実装
  var tempDate = "" ;

  if( !isDate( yyyy, mm, dd ) ){
    return tempDate ;
  }
  tempDate = yyyy ;
  if( mm.length == 1 ){
    mm = "0" + mm ;
  }
  tempDate = tempDate + mm ;
  if( dd.length == 1 ){
    dd = "0" + dd ;
  }
  tempDate = tempDate + dd ;

  return tempDate ;
   
}


// 日付の比較チェック
function isCompareDate( yyyymmdd, yyyymmdd2 ) {
  //2003/02/21 Keya 仮実装
  if( parseInt( yyyymmdd, 10 ) >  parseInt( yyyymmdd2, 10 ) ){
    return false ;
  }
  return true ;
}


// 日付チェック　
function isDate2(yyyymmdd) {
}


// 日付チェック　
function isDate(yyyy, mm, dd) {
  // 年　妥当性チェック
  if( !isYear(yyyy) ) {
    return false;
  }

  // 月　妥当性チェック
  if( !isMonth(mm) ) {
    return false;
  }

  // 日　妥当性チェック
  if( !isDay2(dd) ) {
    return false;
  }

  // 年月日　妥当性チェック
  if( !isDay(yyyy, mm, dd) ) {
    return false;
  }
  return true;
}


// 全て半角かチェック　
function isSingleByte(data) {
  var check;
  if ("あ".length == 1) {
    check = "0";
  }
  else {
    check = "1";
  }
  if( slength(data, check) != getLength(data) ) {
    return false;
  }
  return true;
}


// 全て全角かチェック　
function isDoubleByte(data) {
  var check;
  if ("あ".length == 1) {
    check = "0";
  }
  else {
    check = "1";
  }
  if( slength(data, check) * 2 != getLength(data) ) {
    return false;
  }
  return true;
}


// 全て全角か改行チェック　
function isDoubleAndKaigyo(data) {
}


//文字列長 (文字数)　Q:\biznet\jsp\cartDisp.jsp
function slengthNotKaigyo(data, check)
{
  return (len);
}


//文字列長 (文字数)　Q:\biznet\jsp\cartDisp.jsp
function slength(data, check)
{
  if (check == "1")
  {
    var len = 0;
    for(var i=0; i< data.length; i++)
    {
      if (isSjis1(eval("0x" + escape(data.charAt(i)).substring(1, 3))))
      {
        i++;
      }
      len++;
    }
  }
  else
  {
    len = data.length;
  }
  return (len);
}


//文字列長（バイト数）　Q:\biznet\jsp\cartDisp.jsp
function getLength(data)
{
  var i,cnt = 0;
  for(i=0; i< data.length; i++)
  {
    if (escape(data.charAt(i)).length >= 4 )
    {
      if (escape(data.charAt(i)) >= "%uFF65" && escape(data.charAt(i)) <= "%uFF9F")
      {
        cnt++;
      }
      else
      {
        cnt+=2;
      }
    }
    else
    {
      cnt++;
    }
  }
  return cnt;
}


// 半角数字チェック　Q:\biznet\jsp\bizCatShohinResults.jsp
function isNumber(data) {
  var tempStr = "0123456789" ;
  var thisChar ;
  for( var i = 0 ; i < data.length ; i++ ) {
      thisChar = data.substring( i, i+1 ) ;
      if( tempStr.indexOf(thisChar, 0) == -1 ) {
        return( false ) ;
      }
  }
  return( true ) ;
}

// 半角英数チェック　Q:\biznet\jsp\adminInput.jsp
function isNumberOrLetters(data) {
  var tempStr="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
  var thisChar;
  for (var i=0; i < data.length; i++)  {
      thisChar = data.substring(i, i+1);
      if (tempStr.indexOf(thisChar, 0) == -1)
         return(false);
  }
  return(true);
}


// 半角英数チェック（小文字無し）カンマあり　Q:\biznet\jsp\cartDisp.jsp
function isNumberOrAlpha(data) {
  var tempStr="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ,";
  var thisChar;
  for (var i=0; i < data.length; i++) {
      thisChar = data.substring(i, i+1);
      if (tempStr.indexOf(thisChar, 0) == -1)
         return(false);
  }
  return(true);
}

// 半角英数チェック1(ワイルドカード有り)　Q:\biznet\jsp\keyword.jsp
function isNumberOrLettersWildcard(data) {
  var tempStr="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ*?";
  var thisChar;
  for (var i=0; i < data.length; i++)  {
      thisChar = data.substring(i, i+1);
      if (tempStr.indexOf(thisChar, 0) == -1)
         return(false);
  }
  return(true);
}


// 半角カナチェック　Q:\biznet\jsp\dealerMitumoriDisp.jsp
function isNotkana( data, check )
{
  var i ;
  for( i = 0 ; i < data.length ; i++ )
  {
    if( escape(data.charAt(i)).length >= 4 )
    {
      if( escape(data.charAt(i)) >= "%uFF65" && escape(data.charAt(i)) <= "%uFF9F" )
      {
        return( false ) ;
      }
    }
    else if( check == "0" )
    {
      if( escape(data.charAt(i)) >= "%A5" && escape(data.charAt(i)) <= "%DF" )
      {
        return( false ) ;
      }
    }
    else
    {
      if ( isSjis1(eval("0x" + escape(data.charAt(i)).substring(1, 3))) )
      {
        i++ ;
      }
      else if( escape(data.charAt(i)) >= "%A5" && escape(data.charAt(i)) <= "%DF" )
      {
        return( false ) ;
      }
    }
  }
  return( true ) ;
}


// 半角英数（小文字チェック）　Q:\biznet\jsp\cartDisp.jsp
function isNotKomoji(data) {
  var tempStr2="abcdefghijklmnopqrstuvwxyz";
  var thisChar2;
  for (var i=0; i < data.length; i++)  {
      thisChar2 = data.substring(i, i+1);
      if (tempStr2.indexOf(thisChar2, 0) != -1)
         return(false);
  }
  return(true);
}


// 電話番号チェック　Q:\biznet\jsp\mitIraiInput09.jsp
function isTelNumber( data )
{
  var tempStr = "0123456789-()" ;
  var thisChar ;
  if( getLength(data) > 15 ) {
    return( false );
  }
  for( var i=0 ; i < data.length ; i++ )
  {
    thisChar = data.substring( i, i+1 ) ;
    if ( tempStr.indexOf(thisChar, 0) == -1 )
    {
      return( false ) ;
    }
  }
  return( true ) ;
}


// 郵便番号チェック　Q:\biznet\jsp\mitIraiInput03.jsp
function isZip( data )
{
  var tempStr = "0123456789-" ;
  var thisChar ;
  var cnt = 0 ;
  if( getLength(data) > 8 ) {
    return( false );
  }
  for( var i=0 ; i < data.length ; i++ )
  {
    thisChar = data.substring( i, i+1 ) ;
    if ( tempStr.indexOf(thisChar, 0) == -1 )
    {
      return( false ) ;
    }
    if( thisChar == "-" )
    {
      cnt++ ;
    }
    if( cnt > 1 )
    {
      return( false ) ;
    }
  }
  return( true ) ;
}


// メールアドレスチェック　Q:\biznet\jsp\registAdditional.jsp
function isMail( data )
{
  var tempStr = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ~@_-.%/" ;
  var thisChar ;
  var count = 0 ;
  if( getLength(data) > 40 ) {
    return( false );
  }
  for( var i=0 ; i < data.length ; i++ )
  {
    thisChar = data.substring( i, i+1 ) ;
    if( tempStr.indexOf(thisChar, 0) == -1 )
    {
      return( false ) ;
    }
    if( thisChar == "@" )
    {
      count++ ;
    }
  }
  if( count != 1 )
  {
    return( false ) ;
  }
  return( true ) ;
}


//シフトＪＩＳ第一バイト判定　Q:\biznet\jsp\cartDisp.jsp
function isSjis1(data)
{
  return (0x81 <= data && data <= 0x9f) || (0xe0 <= data && data <= 0xfc);
}


// 年チェック　Q:\biznet\jsp\campainTopInput.jsp
function isYear( data ) {
  var year = 0 ;

  if( data == "" ) {
    return( false );
  }
  if( !isNumber(data) ) {
    return( false ) ;
  }
  if( data.length != 4 ) {
    return( false ) ;
  }
  return( true ) ;
}

// 月チェック　Q:\biznet\jsp\campainTopInput.jsp
function isMonth( data ) {
  if( data == "" ) {
    return( false );
  }
  if( !isNumber(data) ) {
    return( false ) ;
  }
  if( parseInt( data, 10 ) < 1 || parseInt( data, 10 ) > 12 ) {
    return( false ) ;
  }
  return( true ) ;
}

// 日妥当性チェック
function isDay2( data ) {
  if( data == "" ) {
    return( false );
  }
  if( !isNumber( data ) ) {
    return( false );
  }
  if( data.length > 2 ) {
    return( false );
  }
  return( true );
}
// 日チェック　Q:\biznet\jsp\campainTopInput.jsp
function isDay( data1, data2, data3 ) {
  var matsubi = "31" ;
  if( parseInt( data2, 10 ) == 4 || parseInt( data2, 10 ) == 6 || parseInt( data2, 10 ) == 9 || parseInt( data2, 10 ) == 11 ) {
    matsubi = "30" ;
  }
  else if( parseInt( data2, 10 ) == 2 ) { 
    if( parseInt( data1, 10 ) % 4 == 0 ) {
      if( parseInt( data1, 10 ) % 100 == 0 && parseInt( data1, 10 ) % 400 != 0 ) {
        matsubi = "28";
      }
      else {
        matsubi = "29" ;
      }
    }
    else {
      matsubi = "28" ;
    }
  }
  if ( parseInt( data3, 10 ) < 1 || parseInt( data3, 10 ) > parseInt( matsubi, 10 ) ) {
    return( false );
  }
  return( true ) ;
}

// 改行チェック　Q:\biznet\jsp\campainTopInput.jsp
function isCR( data )
{
  var tempStr = '%0D' ;
  var thisChar ;
  thisChar = escape( data ) ;
  if ( thisChar.indexOf(tempStr) != -1 )
  {
    return( false ) ;
  }
  return( true ) ;
}


// ｉｎｔに変換
function isInt( data )
{
  return( parseInt(data, 10) )
}


// ０チェック
function isNot0( data )
{
  if( parseInt(data, 10) == 0 )
  {
    return( false ) ;
  }
  return( true ) ;
}
function convertMsg(msg, value0) {
	paramloc = msg.indexOf( "{0}" );
	msghead = msg.substring( 0, paramloc );
	msgend = msg.substring( paramloc+3, msg.length );
	return ( msghead + value0 + msgend );
}
function convertMsg2(msg, value0, value1) {
	paramloc = msg.indexOf( "{0}" );
	msghead = msg.substring( 0, paramloc );
	msgend = msg.substring( paramloc+3, msg.length );
	msg = msghead + value0 + msgend ;

	paramloc = msg.indexOf( "{1}" );
	msghead = msg.substring( 0, paramloc );
	msgend = msg.substring( paramloc+3, msg.length );
	return ( msghead + value1 + msgend );
}

//-------------------------------------------------------
// カッコ付の名前がついているアイテムを配列に取得する
// 例：syhnInf[].orderCodeの場合name引数にorderCodeを指定
//------------------------------------------------------
function getArray( targetForm, name ) {
	var num = 0;
	for( i = 0; i < targetForm.elements.length; i++ ) {
		var len = targetForm.elements[i].name.indexOf( name );
		if( len >= 0 ) {
			if( ( targetForm.elements[i].name.length - len ) == name.length ) {
			  num++;
			}
		}
	}
	
	list = new Array(num);
	for( i = 0; i < list.length; i++ ) {
		list[i] = null;
	}
	for( i = 0; i < targetForm.elements.length; i++ ) {
		var len = targetForm.elements[i].name.indexOf( name );
		if( len >= 0 ) {
			if( ( targetForm.elements[i].name.length - len ) == name.length ) {
			  index = getIndex( targetForm.elements[i].name );
			  list[index] = targetForm.elements[i].value;
			}
		}
	}
	return list;
}

//-------------------------------------------------------
// カッコ付の名前がついているアイテムを配列に取得する
// 例：syhnInf[].orderCodeの場合name引数にorderCodeを指定
//------------------------------------------------------
function getArrayCheck( targetForm, name ) {
	var num = 0;
	for( i = 0; i < targetForm.elements.length; i++ ) {
		if( targetForm.elements[i].name.indexOf( name ) >= 0 ) {
			num++;
		}
	}
	
	list = new Array(num);
	for( i = 0; i < list.length; i++ ) {
		list[i] = null;
	}
	for( i = 0; i < targetForm.elements.length; i++ ) {
		if( targetForm.elements[i].name.indexOf( name ) >= 0 ) {
			index = getIndex( targetForm.elements[i].name );
//			alert( targetForm.elements[i].name + "=" + targetForm.elements[i].value );
			list[index] = targetForm.elements[i].checked;
		}
	}
	return list;
}

//-------------------------------------------------------
// カッコ付の名前がついているアイテムを配列に取得する
// 例：syhnInf[].orderCodeの場合
// prefix引数にsyhnInf,name引数にorderCodeを指定
//------------------------------------------------------
function getArrayPrefix( targetForm, prefix, name ) {
	var num = 0;
	for( i = 0; i < targetForm.elements.length; i++ ) {
		var len1 = targetForm.elements[i].name.indexOf( prefix );
		var len2 = targetForm.elements[i].name.indexOf( name );
		if( len1 >= 0 && len2 >= 0 ) {
			if( ( targetForm.elements[i].name.length - len2 ) == name.length ) {
			  num++;
			}
		}
	}
	
	list = new Array(num);
	for( i = 0; i < list.length; i++ ) {
		list[i] = null;
	}
	for( i = 0; i < targetForm.elements.length; i++ ) {
		var len1 = targetForm.elements[i].name.indexOf( prefix );
		var len2 = targetForm.elements[i].name.indexOf( name );
		if( len1 >= 0 && len2 >= 0 ) {
			if( ( targetForm.elements[i].name.length - len2 ) == name.length ) {
			  index = getIndex( targetForm.elements[i].name );
			  list[index] = targetForm.elements[i].value;
			}
		}
	}
	return list;
}

//function getArray( targetForm, name, num ) {
//	list = new Array(num);
//	for( i = 0; i < list.length; i++ ) {
//		list[i] = null;
//	}
//	for( i = 0; i < targetForm.elements.length; i++ ) {
//		if( targetForm.elements[i].name.indexOf( name ) >= 0 ) {
//			index = getIndex( targetForm.elements[i].name );
//			alert( targetForm.elements[i].name + "=" + targetForm.elements[i].value );
//			list[index] = targetForm.elements[i].value;
//		}
//	}
//	return list;
//}

function getIndex( name ) {
	var beforeBracket = name.indexOf( "[" );
	var afterBracket = name.indexOf( "]" );
	
	var index = name.substring( beforeBracket+1, afterBracket );
	
	return index;
}

// アクションのURLからコンテキストパスを取り出す
function getContextPath( url ) {
  index = url.lastIndexOf("/");
  return( url.substring( 0, index + 1 ) );
}

// 英小文字から英大文字への変換
function upperCase( targetForm, name ) {
  for( i = 0; i < targetForm.elements.length; i++ ) {
    var len = targetForm.elements[i].name.indexOf( name );
    if( len >= 0 ) {
      if( ( targetForm.elements[i].name.length - len ) == name.length ) {
        targetForm.elements[i].value = targetForm.elements[i].value.toUpperCase();
      }
    }
  }
}

function setParamValue( targetForm1, targetForm2, name ) {
	var list = getArray( targetForm1, name );
    var count = 0;
	for( i = 0; i < targetForm2.length; i++ ) {
		var len = targetForm2.elements[i].name.indexOf( name );
		if( len >= 0 ) {
			if( ( targetForm2.elements[i].name.length - len ) == name.length ) {
			  targetForm2.elements[i].value = list[count];
			  count++;
			}
		}
	}
}
var isTrx      = 0 ;
var delayTime  = 5000 ;
function check()
{
  if (isTrx == 0)
  {
    isTrx = 1;
    setTimeout("resetTrx()", delayTime);
    return true;
  }
  else
  {
    return false;
  }
}
function checkFlag()
{
  if (isTrx == 0)
  {
    return true;
  }
  else
  {
    return false;
  }
}
function resetTrx()
{
  isTrx = 0;
}

var isTrx2      = 0 ;
var delayTime2  = 5000 ;
function check2()
{
  if (isTrx2 == 0)
  {
    isTrx2 = 1;
    setTimeout("resetTrx2()", delayTime2);
    return true;
  }
  else
  {
    return false;
  }
}
function checkFlag2()
{
  if (isTrx2 == 0)
  {
    return true;
  }
  else
  {
    return false;
  }
}
function resetTrx2()
{
  isTrx2 = 0;
}

var delayTimeOrder  = 60000 ;
function checkOrder() {
  if (isTrx == 0) {
    isTrx = 1;
    setTimeout("resetTrx()", delayTimeOrder);
    return true;
  }
  else {
    return false;
  }
}
function checkOrderFlag() {
  if (isTrx == 0) {
    return true;
  }
  else {
    return false;
  }
}
