//********************************
// 数値（整数）のチェック
// 引数		num					入力値
//				item_name		項目名
//戻り値	エラーメッセージ
//*********************************
function createMsgOfNumeric(num, item_name){
	var msg = "";
	if (!isNumeric(num)) {
		msg	=	item_name + "に数値以外が含まれています。\n";
	}
	return msg;
}

//********************************
// 数値（少数）のチェック
// 引数		num					入力値
//				item_name		項目名
//戻り値	エラーメッセージ
//*********************************
function createMsgOfDecimalNumeric(num, item_name){
	var msg = "";
	if (!isDecimalNumeric(num)) {
		msg	=	item_name + "に数値以外が含まれています。\n";
	}
	return msg;
}

//********************************
// 複数の数値のチェック
// 引数		num1,num2,num3					入力値
//				item_name		項目名
//戻り値	エラーメッセージ
//*********************************
function createMsgOfNumeric2(num1, num2, num3, item_name){
	var msg = "";
	if (!isNumeric(num1) || !isNumeric(num2) || !isNumeric(num3)) {
		msg	=	item_name + "に数値以外が含まれています。\n";
	}
	return msg;
}

//********************************
// メールアドレスのチェック
// 引数		str					入力値
//				item_name		項目名
//戻り値	エラーメッセージ
//*********************************
function createMsgOfMailAdress(str){
	var msg = "";
	if (!isMilAdress(str)) {
		msg	=	 "メールアドレスの形式が妥当ではありません。\n";
	}
	return msg;
}

//********************************
// 数値(整数)のチェック
// 引数		num					入力値
//戻り値	true,false
//*********************************
function isNumeric(num){
	if (num != "") {
		if (num.match(/[^0-9]/g)) {
			return false;
		}
	}
	return true;
}


//********************************
// 数値(小数点あり)のチェック
// 引数		num					入力値
//戻り値	true,false
//*********************************
function isDecimalNumeric(num){
	if (num != "") {
		if (num.match(/[^0-9|^.]/g)) {
			//パターンマッチ 0から9,"."以外はＮＧ
			return false;
		}
		//小数点の数を取得する
		var count = 0;
		for (var i = 0; i < num.length; i++) {
			if (num.charAt(i) == ".") {
				count++;
			}
		}
		//"."が２つ以上入力されている場合はＮＧ
		if (2 <= count)										return false;
		//先頭に小数点が入力された場合はＮＧ
		if (num.charAt(0) == ".")		return false;
		//小数の場合のチェック
			if (count == 1) {
				//小数点以下の桁数チェック
				var idx = num.lastIndexOf(".");
				var decimalPart = num.substring(idx);
				//小数点以下の桁数を取得する
				var length = decimalPart.length - 1;
				//小数点以下の入力がない場合はＮＧ
				if (length == 0)							return false;
			}
	}
	return true;
}


//********************************
// メールアドレスのチェック
// 引数		str					入力値
//戻り値	true,false
//*********************************
function isMilAdress(str){
	if (str.match("^[0-9A-Za-z._-]+@[0-9A-Za-z.-]+$")){
		return true;
	}
	return false;
}

//********************************
// 禁則文字のチェック
// 引数		str					入力値
//戻り値	含まれている場合trueを返す
//*********************************
function ProhibitedStrCheck(str){
	var chkChar;
	chkChar	=	unescape("%22%23%24%25%26%27%3A%3B%2C%3C%3E");        // 禁則文字設定
	for(i = 0 ; i < str.length ; i++){
		if(chkChar.indexOf(str.charAt(i)) >= 0){
			return true;
		}
	}
    return false;
}

//********************************
// 半角カナ文字のチェック
// 引数		str					入力値
//戻り値	含まれている場合trueを返す
//*********************************
function KanaCheck(str){
	var chkChar;
	chkChar = "ｱｲｳｴｵｶｷｸｹｺｻｼｽｾｿﾀﾁﾂﾃﾄﾅﾆﾇﾈﾉﾊﾋﾌﾍﾎﾏﾐﾑﾒﾓﾔﾕﾖﾗﾘﾙﾚﾛﾜｦﾝｧｨｩｪｫｬｭｮｯﾟﾞ";
	for(i = 0 ; i < str.length ; i++){
		if(chkChar.indexOf(str.charAt(i)) >= 0){
			return true;
		}
	}
    return false;
}

//********************************
// 金額表示（小数点以下切捨て、カンマ区切り）
// 引数		num					BigDecaimal
//*********************************
function convertPrice(num) {
	var s = num.toString(num);
	var p = s.indexOf(".");
	var r = "";
	if (p < 0) { // 小数点が見つからなかった時
		p = s.length;
	}
	//小数点切捨て
		var c = s.substring(p,s.length);
	for (var i = 0; i < p; i++) { // (10 ^ i) の位について
		var c = s.substring(p - 1 - i, p - 1 - i + 1);
		if (i > 0 && i % 3 == 0) {
			r = "," + r;
		}
		r = c + r; // 数字を一桁追加する。
	}
		return r;
}

