//  param1   The object that you want to check
//  param2   0 means the object you input must not is null;
//           else means the length of object' value must equal to what you input  
//  param3   0
//  param4   The Error message you want alarm your costomer

function isAlpha(param1, param2, param3, param4){
    delSpace(param1);
    if(param3 == 0) {
        param1.value = AlphaChange(param1.value);
    }
	if(!Check_Alpha(param1.value, param2, param3)) {
		alert(param4);
		param1.focus();
        param1.select();
		return false;
	}
	return true;
}

function Check_Alpha( param1, param2, param3 ){

	p1 = param1;
	p1_len = p1.length;
	p2 = param2;
	
	//param3が0の時、入力値は半角英字(空白含む)のをチェック
	if(param3 == 0) {
        for(_i=0; _i<p1_len; _i++) {
			Chr=p1.charAt(_i);
			if((Chr<"a" || Chr>"z") && (Chr<"A" || Chr>"Z") && (Chr!=" ")) {
				return false;
			}
		}
    }
    
	//param3が0以外の時、入力値は全角英字(空白含む)のをチェック
	if((param3 != 0)) {
        for(_i=0; _i<p1_len; _i++) {
			Chr=p1.charAt(_i);
			if((Chr<"ａ" || Chr>"ｚ") && (Chr<"Ａ" || Chr>"Ｚ") && (Chr!="　")) {
				return false;
			}
		}
    }
    
	if(p2 == 0) { // 入力必須
		if(p1_len == 0) {
			return false;
		}
	} else { // 入力桁数チェック
		if(p1_len != p2) {
			return false;
		}
	}
	return true;
}

//文字変換処理
function AlphaChange(partten){
	var orgStr = "ａｂｃｄｅｆｇｈｉｊｋｌｍｎｏｐｑｒｓｔｕｖｗｘｙｚＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺ　";
	var chgStr = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ";
	
	var localStr  = partten;
	var nLength = partten.length;
	
	for(var i=0 ; i<nLength ; i++){
	    var chr = partten.charAt(i);
	    var idx = orgStr.indexOf(chr);

	    if(idx >= 0){
	        localStr = localStr.replace(chr,chgStr.charAt(idx));
	    }
	}
	return localStr;
}
//スペースを削除
function delSpace(param1){
    if (param1.value.length > 0){
	    while (true){
            if (param1.value.substring(0,1) == " "){
                param1.value = param1.value.substring(1);
            } else if (param1.value.substring(0,1) == "　"){
                param1.value = param1.value.substring(1);
            }else{
                break;
            }
        }
    }
}

