var isNN = (navigator.appName.indexOf("Netscape")!=-1); 

function next_Form(input,len, e) { 
	var keyCode = (isNN) ? e.which : e.keyCode; 
	var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46]; 
	if(input.value.length >= len && !containsElement(filter,keyCode)) { 
		input.value = input.value.slice(0, len); 
		input.form[(getIndex(input)+1) % input.form.length].focus(); 
	}
} 

function containsElement(arr, ele) { 
	var found = false, index = 0; 
	
	while(!found && index < arr.length) {
		if(arr[index] == ele) 
			found = true; 
		else 
			index++; 
	}
	return found; 
} 

function getIndex(input) { 
	var index = -1, i = 0, found = false; 
	while (i < input.form.length && index == -1) {
		if (input.form[i] == input)
			index = i; 
		else i++; 
			return index; 
	} 
	return true; 
} 

function rtrim(txt){
	txt = txt.replace( /\s+$/, "");
	return txt;
}

function ltrim(txt){
	txt = txt.replace( /^\s+/, "");
	return txt;
}

function trim(txt){
	txt = rtrim(txt);
	txt = ltrim(txt);
	return txt;
}

function isNull(opt,msg){
	
	if( trim(opt.value) == ""){
		alert( msg + "を入力してください");
		opt.focus();
		return false;
	}
	return true;
}


function isNumber(opt,msg,max,min){

	if (isNaN(opt.value)){
		alert( msg + "は数値を入力してください");
		opt.focus();
		return false;
	}

	max = parseInt(max);
	min = parseInt(min);

	if(opt.value>max-0 ){
		alert( msg + " は" + max + " 以下の数値を入力してください");
		opt.focus();
		return false;
	}

	if(opt.value<min-0 ){
		alert( msg + " は " + min + " 以上の数値を入力してください");
		opt.focus();
		return false;
	}

	return true;
}

function isStr(opt,msg){

	var str = "'%&?/<>";

	if( opt.value.match( "[" + str +  "]") ){
		alert( msg + "には以下の文字は入力できません\r" + str );
		opt.focus(); 
		return false;
	}
	return true;
}

