//-----------------------------------------------------------------------------
// ラジオボタンで選択されているindexを取得する
// どれもチェックされていない場合は nothing を返す
function inpGetIndexRadio(object){
  radiocnt = object.length;
  for (i=0; i< radiocnt; i++){
    if(object[i].checked == true){
      return i;
      break;
    }
  }
  return 'nothing' ;
}

//-----------------------------------------------------------------------------
// ラジオボタンの選択されたVALUE 値を返す
function inpGetRadioVal(object){
  index = inpGetIndexRadio(object);
  if (index == 'nothing'){
    ret = 'nothing';
  }else {
    ret = object[index].value;
  }

  return ret;
}

//-----------------------------------------------------------------------------
// select ボックスで選択された <OPTION>で囲われた値を返す
function inpGetSelectText(object){
   select = object.selectedIndex;
   return object.options[select].text;
}

//-----------------------------------------------------------------------------
// select ボックスで選択された VALUE値を返す
function inpGetSelectValue(object){
   select = object.selectedIndex;
   return object.options[select].value;
}

//-----------------------------------------------------------------------------
// 半角空白除去処理
// 戻り値:
//      String    結果文字列
function inpTrim(
  strArg      // String  対象文字列
){

  oldstr = new String(strArg);
  len = oldstr.length;

  // 長さ 0 の文字列
  if( len == 0 ){
    return '';
  }

  // 半角空白1つ (対応できなかった。許して)
  if( oldstr == ' ' ){
    return '';
  }

  // 空白以外の先頭の位置を探す
  ifindl = len - 1;
  for( i = 0; i < len; i++){
    x1 = oldstr.substring( i, i+1 );
    if( x1 != ' ' ){
      ifindl = i;
      break;
    }
  }

  // 空白以外の最後の位置を探す
  ifindr = 0;
  for( i = len - 1; i >= 0; i--){
    x1 = oldstr.substring( i, i+1 );
    if( x1 != ' ' ){
      ifindr = i;
      break;
    }
  }

  // 全て空白
  if( ifindr < ifindl ){
    return '';
  }

  return oldstr.substring(ifindl, ifindr + 1);
}

//-----------------------------------------------------------------------------
// 禁則文字入力チェック処理
// 戻り値:
//   true   禁則文字あり
//   false  禁則文字なし
function inpIsNgString(
  varStr  // String  対象文字列
){
////////////////////////////////////////

  if( varStr.length > 0 ){
    if( varStr.search(/[\'\"\\]/) >= 0 ){
      return true;
    }
    return false;
  }
  return false;
}

//-----------------------------------------------------------------------------
// 必須入力チェック処理
// 戻り値:
//   true   入力あり
//   false  入力なし
function inpIsHissu(
  varStr  // String  対象文字列
){
////////////////////////////////////////

  if( varStr.length > 0 ){
    if( varStr.search(/^[ ]*$/) >= 0 ){
      return false;
    }
    return true;
  }
  return false;
}

//-----------------------------------------------------------------------------
// 自然数入力チェック処理
// 戻り値:
//   true   自然数フォーマット
//   false  自然数フォーマットと違う
function inpIsNumber(
  varStr  // String  対象文字列
){
////////////////////////////////////////

  if( varStr.length > 0 ){
    if( varStr.search(/^[ ]+$/) >= 0 ){
      return true;
    }
    if( varStr.search(/^[ ]*[0-9]+[ ]*$/) >= 0 ){
      return true;
    }
    return false;
  }
  return true;
}

//-----------------------------------------------------------------------------
// 正の実数入力チェック処理
// 戻り値:
//   true   正の実数フォーマット
//   false  正の実数フォーマットと違う
function inpIsPosiRealNumber(
  varStr  // String  対象文字列
){
////////////////////////////////////////

  if( varStr.length > 0 ){
    if( varStr.search(/^[ ]+$/) >= 0 ){
      return true;
    }
    if( varStr.search(/^[ ]*[0-9\.]+[ ]*$/) >= 0 ){
      if (isNaN(varStr))	return false;
      return true;
    }
    return false;
  }
  return true;
}

//-----------------------------------------------------------------------------
// 電話番号入力チェック処理
// 戻り値:
//   true   電話番号フォーマット
//   false  電話番号フォーマットと違う
function inpIsTel(
  varStr  // String  対象文字列
){
////////////////////////////////////////

  if( varStr.length > 0 ){
    if( varStr.search(/^[ ]+$/) >= 0 ){
      return true;
    }
    if( varStr.search(/^[ ]*[0-9\-()]+[ ]*$/) >= 0 ){
      return true;
    }
    return false;
  }
  return true;
}

//-----------------------------------------------------------------------------
// 郵便番号入力チェック処理
// 戻り値:
//   true   郵便番号フォーマット
//   false  郵便番号フォーマットと違う
function inpIsZip(
  varStr  // String  対象文字列
){
////////////////////////////////////////

  if( varStr.length > 0 ){
    if( varStr.search(/^[ ]+$/) >= 0 ){
      return true;
    }
    if( varStr.search(/^[ ]*[0-9]{3}-[0-9]{4}[ ]*$/) >= 0 ){
      return true;
    }
    return false;
  }
  return true;
}

//-----------------------------------------------------------------------------
// メールアドレス入力チェック処理
// 戻り値:
//   true   メールアドレスフォーマット
//   false  メールアドレスフォーマットと違う
function inpIsMail(
  varStr  // String  対象文字列
){
////////////////////////////////////////

  // 禁則文字チェック
  if( inpIsFoulString(varStr) ) return false;

  if( varStr.length > 0 ){
    if( varStr.search(/^[ ]+$/) >= 0 ){
      return true;
    }
    if( varStr.search(/^[ ]*[^@]+@[^@^.]+\.[^@]+[ ]*$/) >= 0 ){
      return true;
    }
    return false;
  }
  return true;
}

//-----------------------------------------------------------------------------
// 半角カナ入力チェック処理
// 戻り値:
//   true   半角カナを含む
//   false  半角カナを含まない
function inpIsHanakaku(
	motoText		// String 対象文字列
)
{
	txt = 'ｱｲｳｴｵｶｷｸｹｺｻｼｽｾｿﾀﾁﾂﾃﾄﾅﾆﾇﾈﾉﾊﾋﾌﾍﾎﾏﾐﾑﾒﾓﾔﾕﾖﾗﾘﾙﾚﾛﾜｦﾝｧｨｩｪｫｬｭｮ､｡｢｣ﾞﾟ';
	for (i=0; i<motoText.length; i++)
	{
		if (txt.indexOf(motoText.charAt(i),0) >= 0) {
			return true;
		}
	}
	return false;
}


//-----------------------------------------------------------------------------
// 禁則チェック処理
// 戻り値:
//   true   禁則文字あり
//   false  禁則文字なし
function inpIsFoulString(
	targetstr		// String 対象文字列
)
{
	ret	= inpIsNgString( targetstr );
	if( ret == true ){
		return true;
	}

	ret	= inpIsHanakaku( targetstr );
	if( ret == true ){
		return true;
	}

	return false;
}


//-----------------------------------------------------------------------------
// 検索禁則文字入力チェック処理
// 戻り値:
//   true   禁則文字あり
//   false  禁則文字なし
function inpIsNgSearchString(
  targetstr  // String  対象文字列
){
////////////////////////////////////////

	ret	= inpIsFoulString( targetstr );
	if( ret == true ){
		return true;
	}

  if( targetstr.length > 0 ){
    if( targetstr.search(/[\%\_]/) >= 0 ){
      return true;
    }
  }

  return false;
}

