// 注意！将来削除予定
// PostBack時にエラーメッセージダイアログを表示する仕組み
// AspUtlのTagErrMsgBoxと共に使用する
function errMsgBox(formname) {
	if (document.forms[formname].txtErrMsgBox.value.length > 0) {
		window.alert("入力欄の後ろに★が付いている項目にエラーがあります。");
	}
}

// PostBack時にエラーメッセージダイアログを表示する仕組み
// AspUtlのTagMsgBoxと共に使用する
function messageBox(f) {
	if (f.txtErrMsgBox.value.length > 0) {
		window.alert(f.txtErrMsgBox.value);
	}
}

// CustomValidator日付妥当性チェック
// 日付書式
//   年4桁、または2桁どちらでもOK
//   月、日はゼロがあってもなくてもOK
//   日付の区切り文字は -./ のいずれか、区切り文字がない場合は6桁か8桁
function IsDate(source, arguments) {
  function GetFullYear(year) {
      return (year + 2000);
  }

	var val = arguments.Value;
	if (val.indexOf('-') == -1 && val.indexOf('.') == -1 && val.indexOf('/') == -1) {
		if (val.length == 8)
			val = val.substring(0, 4) + '/' + val.substring(4, 6) + '/' + val.substring(6, 8);
		else if (val.length == 6)
			val = val.substring(0, 2) + '/' + val.substring(2, 4) + '/' + val.substring(4, 6);
	}

  var yearFirstExp = new RegExp("^\\s*((\\d{4})|(\\d{2}))([-./])(\\d{1,2})\\4(\\d{1,2})\\s*$");
  m = val.match(yearFirstExp);
  var day, month, year;
  if (m != null) {
      day = m[6];
      month = m[5];
      year = (m[2].length == 4) ? m[2] : GetFullYear(parseInt(m[3], 10));
  }
  month -= 1;
  var date = new Date(year, month, day);
	arguments.IsValid=(typeof(date) == "object" && year == date.getFullYear() && month == date.getMonth() && day == date.getDate());
	return arguments.IsValid;
}
//	20050804 EMIX HIROSAWA
//	IsDate()のカスタマイズ版
//	月日だけでも日付としてみなして処理を行う。
//	(実際は月日にシステム年を付加して判断を行う)
function IsDateMMDD(source, arguments) {
  function GetFullYear(year) {
      return (year + 2000);
  }

	var val = arguments.Value;
	if( val.length == 4 ){
		if( val != "0229" ){
			//	仮処置としてシステム年を付加
			var date1 = new Date();
			val = date1.getFullYear() + val;
		}else{
			//	仮処置として閏年(2000)を付加
			val = '2000' + val;
		}
	}
	if (val.indexOf('-') == -1 && val.indexOf('.') == -1 && val.indexOf('/') == -1) {
		if (val.length == 8)
			val = val.substring(0, 4) + '/' + val.substring(4, 6) + '/' + val.substring(6, 8);
		else if (val.length == 6)
			val = val.substring(0, 2) + '/' + val.substring(2, 4) + '/' + val.substring(4, 6);
	}

  var yearFirstExp = new RegExp("^\\s*((\\d{4})|(\\d{2}))([-./])(\\d{1,2})\\4(\\d{1,2})\\s*$");
  m = val.match(yearFirstExp);
  var day, month, year;
  if (m != null) {
      day = m[6];
      month = m[5];
      year = (m[2].length == 4) ? m[2] : GetFullYear(parseInt(m[3], 10));
  }
  month -= 1;
  var date = new Date(year, month, day);
	arguments.IsValid=(typeof(date) == "object" && year == date.getFullYear() && month == date.getMonth() && day == date.getDate());
	return arguments.IsValid;
}

function isNaN2( value ){
	var		x = "" + value;
	var		s = x.split(",");
	var		v = "";
	for( var i = 0; i < s.length; i++ ){
		switch( s[i] ){
			case ",":
				break;
			default:
				v += s[i];
				break;
		}
	}
	return	isNaN( v );
}

//2005.3.18 Hiugreen-S
// CustomValidator 日時妥当性チェック
// yyyy/mm/dd hh:mi:ss
function IsDateTime(source, arguments) {
	arguments.IsValid = false;
	var val = arguments.Value;
	re = new RegExp("^\\s*"); val = val.replace(re, "");	// 左右をトリム
	re = new RegExp("\\s*$"); val = val.replace(re, "");
	a1 = val.split(" ");
	arguments.Value = a1[0];
	IsDate(source, arguments);	// 日付を調べる
	if (!arguments.IsValid) return arguments.IsValid;
	if (a1.length <= 1) {		// 日付だけならこれで終わり
		arguments.IsValid = true;
		return arguments.IsValid;
	}
	arguments.IsValid = false;
	a2 = a1[1].split(":");
	if (a2.length <= 1) return arguments.IsValid;	// HHだけならエラー
	if (a2.length > 3) return arguments.IsValid;	// msより下はない
	re = new RegExp("\\d+");
	max = new Array(24, 59, 59, 999);
	for (var i = 0; i < a2.length; i++) {	// HH,MI,SS,msの順に調べる
		if (!a2[i].match(re)) return arguments.IsValid;
		num = parseInt(a2[i]);
		if (num < 0) return arguments.IsValid;		// 負値はエラー
		if (num > max[i]) return arguments.IsValid;
	}
	arguments.IsValid = true;
	return arguments.IsValid;
}
//2005.3.18 Hiugreen-E

