/**
	 ◆1:対象文字列が入力されているかチェックする◆
**/
function checkNull(strData){
	var vRet = false;

	if(strData.length == 0){
		vRet = false;
	}
	else{
		vRet = true;
	}
	
	return vRet;
}

/**
	◆2:ラジオボタン選択チェック◆
**/
function checkSelect(rbName){
	var vRet = false;
	
	for(i = 0; i < rbName.length; i++){
		if(rbName[i].checked){
			vRet = true;
		}
	}
	
	return vRet;
}

/**
  ◆3:サイズチェック(上限)◆
**/
function checkMaxSize(strData,len){
  var vRet = false;

  if(strData.length > len){		//最大桁数より大きければfalse
    vRet =  false;
  }
  else{												//それ以外ならtrue
    vRet = true;
  }

  return vRet;
}

/**
  ◆4:サイズチェック(下限)◆
**/
function checkMinSize(strData, len){
  var vRet = false;

  if(strData.length < len){		//最小桁数より小さければfalse
    vRet =  false;
  }
  else{												//それ以外ならtrue
    vRet = true;
  }

  return vRet;
}

/**
  ◆5:サイズチェック(一致)◆
**/
function checkSize(strData, len){
  var vRet = false;

  if(strData.length != len){	//指定桁数と一致しなければfalse
    vRet =  false;
  }
  else{												//一致すればtrue
    vRet = true;
  }

  return vRet;
}

/**
  ◆5:サイズチェック(一致) (NULL判定あり)◆
**/
function checkSize(strData, len, null_flg){
  var vRet = false;

  //NULLフラグ = 0 : NULLならチェックしない
  if((null_flg == 0) && (strData.length <= 0)) {
      return true;
  }

  //NULLフラグ = 0以外 : 6桁と言ったら6桁。0桁も許さない
  if(strData.length != len){	//指定桁数と一致しなければfalse
    vRet =  false;
  }
  else{												//一致すればtrue
    vRet = true;
  }

  return vRet;
}

/**
	◆6:文字列をバイト数に変換する◆
**/
function getBytesData(strData) {
   len = 0;
   strData = escape(strData);
   for (i = 0; i < strData.length; i++, len++) {
      if (strData.charAt(i) == "%") {
         if (strData.charAt(++i) == "u") {
            i += 3;
            len++;
         }
         i++;
      }
   }
   return len;
}


/**
	◆7:数字チェック（範囲）◆
**/
function isDigit(str){	
  for(var i = 0; i < str.length; i++) {	
    if ('0' <= str.charAt(i) && str.charAt(i) <= '9') {	
      continue;	
    }else{
      return false;
    }
  }
  return true;
}

/**
	◆10:メールアドレスチェック◆
	xx@x形式以外のときfalse
	--> x@x形式以外のときfalseで変更
**/
function checkEmail(strData){
	var vRet = false;
	var strTemp = "";
	if(strData.length == 0){
		vRet=true;
	}else{
		//2004.06.02 K.Kim(Phase1) >1から>0に変更
		if(strData.indexOf("@",0)>0){
			if(strData.lastIndexOf("@")>=strData.length-2){
				vRet=false;
			}else{
				vRet=true;
			}

      strTemp = strData.substring(strData.indexOf("@") + 1);
			//＠マークの後ろに"."があるかチェックする
      if(strTemp.indexOf('.') < 0){
				vRet=false;
      }
		}else{
			vRet=false;
		}
	}
	return vRet;
}

/**
	◆10-2:メールアドレスチェック◆
	メールアドレスに使用できない文字が含まれるときfalse
**/
function checkEmail2(strData){
	var vRet= false;
	vRet=(strData.match(/[0-9a-zA-Z@!#$%&.\'*+/=?^_`{|}~-]+/g) == strData);

	return vRet;
}

/**
	◆11:日付チェック◆
	存在しない日付のときfalse
**/
function checkDate(strYear,strMonth,strDay){
	var vRet = true;
	var intYear = Number(strYear);
	var intMonth = Number(strMonth)-1;
	var intDay = Number(strDay);
	var dates = new Date(intYear,intMonth,intDay);
	if(dates.getYear() < 1900) {
		if(intYear != dates.getYear() + 1900)
		{vRet = false;}
	}else{
		if (intYear != dates.getYear())
		{vRet = false;}
	}
	if(intMonth != dates.getMonth())
	{vRet = false;}
	if(intDay != dates.getDate())
	{vRet = false;}

	return vRet;
}

/**
	◆12:半角英数字◆
	半角英数字0〜9、a〜z、A〜Z以外の文字が存在した場合false
**/
function checkHalfSizeAlphaNumeric(strData){
	var vRet = false;
	vRet=(strData.match(/[0-9a-zA-Z]+/g) == strData);

	return vRet;
}

/**
	◆12-2:半角英数字◆
	半角英数字0〜9、a〜z、A〜Zが存在した場合false
**/
function checkNoHalfSizeAlphaNumeric(strData){
	var vRet = false;
	vRet=(strData.match(/[0-9a-zA-Z]/) == null);

	return vRet;
}

/**
	◆13:禁止文字チェック◆
	<>'"&%の文字が存在したらfalse
**/
function checkNoEntryString(strData)
{
	var vRet = false;
	vRet=(strData.match(/[<>'"&%;():\\]/) == null);

	return vRet;
}

/**
	◆13-3:禁止文字チェック◆
	<>'"&%の文字が存在したらfalse
**/
function checkNoEntryString3(strData)
{
	var vRet = false;
	vRet=(strData.match(/[<>'"&%?;():\\]/) == null);

	return vRet;
}

/**
	◆14:全角カナチェック(英数字記号含む)◆
	全角カナ（指定した文字）以外の文字が存在したらfalse
**/
function checkZenkakuKatakana(strData){
	var KANA = "　ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶー０１２３４５６７８９ＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺ-？（）。、．＃！＄％＠・／";
	var g;
	var i, j;	
	for(i =0 ; i<strData.length ; i++) {
		g=0;
		for (j = 0; j < KANA.length; j++) {	
			if(strData.charAt(i)==KANA.charAt(j)){	// 全角カナであるとき
				g=1;
			}
		}	
		if(g==0){
			return false;
		}
	}
	return true;
}

/**
	◆15:半角カナチェック◆
	半角カナ（指定した文字）が存在したらfalse
**/
function checkHankakuKatakana(strData){
	var KANA="ｱｧｲｨｳｩｴｪｵｫｶｶﾞｷｷﾞｸｸﾞｹｹﾞｺｺﾞｻｻﾞｼｼﾞｽｽﾞｾｾﾞｿｿﾞﾀﾀﾞﾁﾁﾞﾂﾂﾞｯﾃﾃﾞﾄﾄﾞﾅﾆﾇﾈﾉﾊﾋﾞﾋﾋﾞﾌﾌﾞﾍﾍﾞﾎﾎﾞﾏﾐﾑﾒﾓﾔｬﾕｭﾖｮﾗﾘﾙﾚﾛﾜｦﾝｳﾞ";
	var i, j;	
	for(i =0 ; i<strData.length ; i++) {
		for (j = 0; j < KANA.length; j++) {	
			if(strData.charAt(i)==KANA.charAt(j)){	// 半角カタカナであるとき
				return false;
			}
		}
	}
	return true;
}

/**
	◆16:全角カナチェック◆
	全角カナ以外の文字が存在したらfalse
**/
function checkAllKatakana(strData){
	var KANA = "　ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶー";
	var g;
	var i, j;	
	for(i =0 ; i<strData.length ; i++) {
		g=0;
		for (j = 0; j < KANA.length; j++) {	
			if(strData.charAt(i)==KANA.charAt(j)){	// 全角カナであるとき
				g=1;
			}
		}	
		if(g==0){
			return false;
		}
	}
	return true;
}

function trimmed(value) {
    value = value.replace(/^　+/, "");
    value = value.replace(/　+$/g, "");
    value = value.replace(/^\s+/, "");   // remove leading white spaces
    return  value.replace(/\s+$/g, "");  // remove trailing while spaces
}                                                  

/**
	◆17:カナチェック(英数字記号含む・全角半角の区別はなし)◆
	カナ（指定した文字）以外の文字が存在したらfalse
**/
function checkKatakana(strData){
	var KANA = "　 ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶー０１２３４５６７８９ＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺａｂｃｄｅｆｇｈｉｊｋｌｍｎｏｐｑｒｓｔｕｖｗｘｙｚ−？（）。、．＃！＄％＠・／ｱｲｳｴｵｧｨｩｪｫｶｷｸｹｺｻｼｽｾｿﾀﾁﾂｯﾃﾄﾅﾆﾇﾈﾉﾊﾋﾌﾍﾎﾏﾐﾑﾒﾓﾔﾕﾖｬｭｮﾗﾘﾙﾚﾛﾜｦﾝﾞﾟ0123456789ABCDEFGHIJKLMNOPQRSTYVWXYZabcdefghijklmnopqrstyvwxyz-?().,#!$%@/ｰ";
	var g;
	var i, j;	
	for(i =0 ; i<strData.length ; i++) {
		g=0;
		for (j = 0; j < KANA.length; j++) {	
			if(strData.charAt(i)==KANA.charAt(j)){	// 全角カナであるとき
				g=1;
			}
		}	
		if(g==0){
			return false;
		}
	}
	return true;
}

/**
	◆18:カナチェック(全角半角の区別はなし)◆
	カナ以外の文字が存在したらfalse
**/
function checkAllBigSmallKatakana(strData){
	var KANA = "　 ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶー−ｱｲｳｴｵｧｨｩｪｫｶｷｸｹｺｻｼｽｾｿﾀﾁﾂｯﾃﾄﾅﾆﾇﾈﾉﾊﾋﾌﾍﾎﾏﾐﾑﾒﾓﾔﾕﾖｬｭｮﾗﾘﾙﾚﾛﾜｦﾝﾞﾟｰ-";
	var g;
	var i, j;	
	for(i =0 ; i<strData.length ; i++) {
		g=0;
		for (j = 0; j < KANA.length; j++) {	
			if(strData.charAt(i)==KANA.charAt(j)){	// 全角カナであるとき
				g=1;
			}
		}	
		if(g==0){
			return false;
		}
	}
	return true;
}

/**
	◆18:数値ハイフンチェック(全角半角の区別はなし)◆
	数値とハイフン以外の文字が存在したらfalse
**/
function checkAllNumber(strData){
	var KANA = "1234567890１２３４５６７８９０--ーｰ";
	var g;
	var i, j;	
	for(i =0 ; i<strData.length ; i++) {
		g=0;
		for (j = 0; j < KANA.length; j++) {	
			if(strData.charAt(i)==KANA.charAt(j)){	// 数値・ハイフン以外のとき
				g=1;
			}
		}	
		if(g==0){
			return false;
		}
	}
	return true;
}

/**
	◆19:禁止文字列チェック◆
	 禁止文字列使用の場合はfalse
**/
	function checkTaboo(strData){
		/* 禁止文字列定義 */
		var vTaboo = "\\;\"\')%<>";
		var vRet = true;
		
		for(i = 0; i < vTaboo.length; i++){
			if(strData.indexOf(vTaboo.charAt(i)) >= 0){
				vRet = false;
				break;
			}
		}
		
		return vRet;
	}

/**
	◆20:携帯電話チェック◆
	 携帯電話番号が入力されたと思われたらfalse
	 頭の3文字を取得して"090""080""070"があるか調べる
**/
	function checkMobTelNoHead(strData){
		var strMobNo = "";

		if(strData != null && strData.length > 2 ){
			strMobNo = strData.substring(0,3);
			//if(isDigit(strMobNo)){
			if(checkNumberNotFullHalf(strMobNo)){
				strMobNo = chgZenHanNum(strMobNo,2);
				if(strMobNo == "090" || strMobNo == "080" || strMobNo == "070" || strMobNo == "０９０" || strMobNo == "０８０" || strMobNo == "０７０"){
					return false;
				}else{
					return true;
				}
			}else{
				return true;
			}
		}else{
			return true;
		}
	}

/**
	◆21:数値チェック(全角半角の区別はなし)◆
	数値とハイフン以外の文字が存在したらfalse
**/
function checkNumberNotFullHalf(strData){
	var NUM = "1234567890１２３４５６７８９０";
	var g;
	var i, j;	
	for(i =0 ; i<strData.length ; i++) {
		g=0;
		for (j = 0; j < NUM.length; j++) {	
			if(strData.charAt(i)==NUM.charAt(j)){	// 数値以外のとき
				g=1;
			}
		}	
		if(g==0){
			return false;
		}
	}
	return true;
}

/**
	◆22:数値を全角→半角、半角→全角にする◆
	type 1:半角→全角 other:全角→半角
**/
function chgZenHanNum(motoText,type){
	han = "0123456789";
	zen = "０１２３４５６７８９";
	str = "";

	if(type == 1){
		for (i=0; i<motoText.length; i++){
			c = motoText.charAt(i);
			n = han.indexOf(c,0);
			if (n >= 0) c = zen.charAt(n);
			str += c;
		}
		return str;
	}else{
		for (i=0; i<motoText.length; i++){
			c = motoText.charAt(i);
			n = zen.indexOf(c,0);
			if (n >= 0) c = han.charAt(n);
			str += c;
		}
		return str;
	}
}
/* 2004/02/27 k.ando add start */
/**
	◆22:値を全角→半角にする◆
**/
function chgZenToHanNum(motoText){
	var str = chgZenHanNum(motoText, 0);
	return str;
}
/* 2004/02/27 k.ando add end */

/* 2004/03/16 Akizuki add start */
/**
	■24:小文字英数→大文字英数にする
**/
function chgMinToBigEi(motoText, type) {
	syou = "abcdefghijklmnopqrstuvwxyz";
	dai = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	str = "";
	//小文字英数→大文字英数
	if(type == 1){
		for (i=0; i<motoText.length; i++){
			c = motoText.charAt(i);
			n = syou.indexOf(c,0);
			if (n >= 0) c = dai.charAt(n);
			str += c;
		}
		return str;
	}else{
		for (i=0; i<motoText.length; i++){
			c = motoText.charAt(i);
			n = dai.indexOf(c,0);
			if (n >= 0) c = syou.charAt(n);
			str += c;
		}
		return str;
	}
}

/**
	◆25:ドメイン名禁止文字チェック◆
	"@"以降、許可以外の文字が存在したらfalse
**/
function checkDomainNoEntryString(strData)
{
	var vRet = false;
	strData=strData.substring(strData.lastIndexOf("@")+1,strData.length);

	vRet=(strData.match(/[^ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\.-]/) == null);

	return vRet;
}