/****************
Program: check.js
Created: 2007/04/19
Author:  GIS/Vincent
入力内容などをチェックするjavascriptです
****************/
// 空白チェック
function checkNull(obj,msg){
	if(obj==''){
		alert(msg+'をご記入下さい。');
		return false;
	}
	return true;
}

function checkPicNull(obj,msg){
	if(obj==''){
		alert(msg+'の参照は必須です');
		return false;
	}
	return true;
}
// 長さチェック
function checkByteLength(obj,length,msg){
	if(getByteCount(obj)>length){
		alert(msg+'の長さは超えています');
		return false;
	}
	return true;
}

// 長さチェック2
function checkByteLength2(obj,length,msg){
	if(getByteCount(obj)<length){
		alert(msg+'の長さは8～12までの半角英数にしてください。');
		return false;
	}
	return true;
}

// 数字列のチェック
function checkNumber(num){
	for(var i=0;i<num.length;i++){
		if(isNaN(parseInt(num.charAt(i),10))) return 0;
	}
	if(parseInt(num,10)<=0) return 0;
	return num.length;
}
// 数字チェック
function checkIsNumber(obj,msg){
	var retval=true;
	if (obj!=0 && checkNumber(obj)==0)
		retval=false;
	if(retval==false) alert(msg+'欄に正しい数字をご記入下さい。');
	return retval;
}
// 一致チェック
function checkIsSame(obj1,obj2,msg){
	var retval=true;
	if(obj1!=obj2)
		retval=false;
	if(retval==false) alert(msg+'が一致しません');
	return retval;
}
// 郵便番号チェック
function checkZipCode(obj,msg){
	var retval=true;
	var value =obj;
	if (value=='') retval=true;
	else {
		if (checkIsZenkaku(value)) retval=false;
	}
	if(retval==false) alert(msg+'の形式が間違っています');
	return retval;
}
// メールアドレスチェック
function checkEMail(obj,msg){
	var retval=true;
	var value =obj;
	if (value=='') retval=true;
	else {
		var del=value.indexOf('@');
		retval = (del>0 && (value.length-del)>1 && value.substring(del+1).indexOf('@')==-1);
	}
	if(retval==false)  alert(msg+'の形式が間違っています');
	return retval;
}
// 電話番号チェック
function checkTel(obj,msg){
	var retval=true;
	var value =obj;
	if (value=='') retval=true;
	else {
		if (checkIsZenkaku(value)) retval=false;
	}
	if(retval==false) alert(msg+'の形式が間違っています');
	return retval;
}
function checkIsZenkaku(value) {
  for (var i = 0; i < value.length; ++i) {
	var c = value.charCodeAt(i);
	//  半角カタカナは不許可
	if (c < 256 || (c >= 0xff61 && c <= 0xff9f)) {
		return false;
	}
}
	return true;
}
//文字列のバイト数を取得する
function getByteCount(value) {
	var count = 0;
	for ( var i = 0; i < value.length; ++i ) {
		var sub = value.substring(i, i + 1);
		//全角の場合２バイト追加。
		if( checkIsZenkaku(sub) ){
			count += 2;
		} else {
			count += 1;
		}
	}
return count;
}

// 0チェック
function check0(obj,msg){
	if(obj=='0'){
		alert(msg+'0以外の数字をご記入ください');
		return false;
	}
	return true;
}

// 選択チェック
function checkSelect(obj,msg){
	if(obj==''){
		alert(msg+'を選択してください。');
		return false;
	}
	return true;
}

