function validateEmpty(fld) {
    var error = "";
    if (fld.value.length == 0 || fld.value == '') {
        fld.style.background = 'Pink'; 
        error = "必須項目が入力されていません。\n"
    } else {
        fld.style.background = 'White';
    }
    return error;  
}
function validateSelectbox(fld) {
    var error = "";
	
    if (fld.value=="0") {
        fld.style.background = 'Pink';
        error = "下記よりお選び下さい.\n"
    } else {
        fld.style.background = 'White';
    }
    return error;  
}
function validateRadio(fld) {
	var error = "";
    var cnt = -1;
    for (var i=fld.length-1; i > -1; i--) {
        if (fld[i].checked) {cnt = i; i = -1;}
    }
    if (cnt == -1) error = "下記よりお選び下さい.\n";
    return error;
}               
	  
function validateDigits(fld){
	fld.style.background = 'White'; 
	var error = "";
	var min = 0;
	var max = 11;
	var numberFormat = /^\d+$/;
	if (fld.value.length >=min && fld.value.length <= max)
	{
		if (numberFormat.test(fld.value))
		{} else{
			fld.style.background = 'Pink';
			
			error += "数字を入力してください。\n";
		}
	} else {
		fld.style.background = 'Pink';
		
		error += "数字の桁数が多いです。\n";
	}
	return error;
}
function validateDigitsIf(fld){
	fld.style.background = 'White'; 
	var error = "";
	var min = 0;
	var max = 11;
	var numberFormat = /^\d+$/;
	
	if (fld.value.length >0){
		if(fld.value.length <= max) {
		if (numberFormat.test(fld.value))
		{} else{
			fld.style.background = 'Pink'; 
			error = "数字を入力してください。.\n";	}
		} else {
		fld.style.background = 'Pink'; 
		error = "数字の桁数が多いです。.\n"; }
	}
	return error;
}

function validateFloat(fld, minvalue, maxvalue)
	{
		fld.style.background = 'White'; 
		var error = "";
		var numberFormat = /^\d+(\.\d+)?$/;
		var ValueInNumber = Number(fld.value)
		// Set the optional parameter if needed
   		if ( minvalue === undefined ) 
			{
      			minvalue = 0;
   			}
  		if ( maxvalue === undefined ) 
			{
      			maxvalue = 10000000000;
   			}
			
		if (fld.value.length >0)
			{
				if (numberFormat.test(fld.value) && ValueInNumber>=minvalue  && ValueInNumber<=maxvalue)
					{} 
				else
					{
						fld.style.background = 'Pink';
						error += "小数を正しく入力してください。\n";
					}
			}
		else
			{
				fld.style.background = 'Pink';
				error += "小数を正しく入力してください。\n";
			}

		return error;
	}

function validateFloatIf(fld, minvalue, maxvalue)
	{
		fld.style.background = 'White'; 
		var error = "";
		var numberFormat = /^\d+(\.\d+)?$/;
		var ValueInNumber = Number(fld.value)
		// Set the optional parameter if needed
   		if ( minvalue === undefined ){
      			minvalue = 0;
   		}
  		if ( maxvalue === undefined ){ 
      			maxvalue = 10000000000;
   		}
			
		if (fld.value.length >0){
				if (numberFormat.test(fld.value) && ValueInNumber>=minvalue  && ValueInNumber<=maxvalue)
					{
				}else{
						fld.style.background = 'Pink'; 
						error += "小数を正しく入力してください。\n";	
				}
		}
					
		return error;
	}
function validateFileExtension(fld) 
	{
		fld.style.background = 'White'; 
		var error = "";
		
		if(!/(\.bmp|\.gif|\.jpg|\.jpeg)$/i.test(fld.value)) 
			{
				//alert("Invalid image file type");
				fld.style.background = 'Pink'; 
				error += "このイメージファイルのタイプは無効です。\n";
				//fld.form.reset();
				//fld.focus();
			}
		
		return error;
	}
	
function validateUsername(fld) {
    var error = "";
	var min = 5;
	var max = 12;
    var illegalChars = /\W/; // allow letters, numbers, and underscores
    if (fld.value == "")
	{
        fld.style.background = 'Pink'; 
        error = "ユーザー名を入力してください。\n";
    } 
	else 
		if ((fld.value.length < min) || (fld.value.length > max)) 
		{
			fld.style.background = 'Pink';
			error = "ユーザー名の文字数が正しくありません。\n";
	    } 
		else 
		if (illegalChars.test(fld.value)) 
		{
			fld.style.background = 'Pink';
			error = "ユーザー名に不適当な文字が入っています。\n";
		} 
		else
		{
        	fld.style.background = 'White';
	    }
    return error;
}
function validatePassword(fld) {
	var min = 5;
	var max = 12;
    var error = "";
    var illegalChars = /[\W_]/; // allow only letters and numbers 
 
    if (fld.value == "") {
        fld.style.background = 'Pink';
        error = "パスワードを入力してください。\n";
    } else if ((fld.value.length < min) || (fld.value.length > max)) {
        error = "パスワードの文字数が正しくありません。\n";
        fld.style.background = 'Pink';
    } else if (illegalChars.test(fld.value)) {
        error = "パスワードに不適当な文字が入っています。\n";
        fld.style.background = 'Pink';
    } else if (!((fld.value.search(/(a-z)+/)) && (fld.value.search(/(0-9)+/)))) {
        error = "パスワードを文字と数字を混ぜて入力してください。\n";
        fld.style.background = 'Pink';
    } else {
        fld.style.background = 'White';
    }
   return error;
}  
function trim(s)
{
  return s.replace(/^\s+|\s+$/, '');
}
function validateEmail(fld) {
    var error="";
    var tfld = trim(fld.value);                        // value of field with whitespace trimmed off
    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;
   	fld.style.background = 'White';
   
    if (!(fld.value=="")) 
	{
        if (!emailFilter.test(tfld))
		{              //test email for illegal characters
        	fld.style.background = 'Pink';
	        error = "正しいメールアドレスを入力してください。\n";
    	} 
		else 
			if (fld.value.match(illegalChars)) 
			{
		        fld.style.background = 'Pink';
		        error = "メールアドレスの不適当な文字が入っています。\n";
			}
    } else 
		{
			fld.style.background = 'Pink';
			error = 'メールアドレスが入力されていません。\n';
		}
    return error;
}
function validateEmailIf(fld) {
    var error="";
    var tfld = trim(fld.value);                        // value of field with whitespace trimmed off
    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;
   
    if (fld.value == "") {
    } else if (!emailFilter.test(tfld)) {              //test email for illegal characters
        fld.style.background = 'Pink';
        error = "正しいメールアドレスを入力してください。\n";
    } else if (fld.value.match(illegalChars)) {
        fld.style.background = 'Pink';
        error = "メールアドレスの不適当な文字が入っています。\n";
    } else {
        fld.style.background = 'White';
    }
    return error;
}
function validatePhone(fld) {
    var error = "";
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');    

   if (fld.value == "") {
        error = "電話番号が入力されていません。\n";
        fld.style.background = 'Pink';
    } else if (isNaN(parseInt(stripped))) {
        error = "電話番号に不適当な文字が入っています。\n";
        fld.style.background = 'Pink';
    } else if (!(stripped.length == 3)) {
        error = "電話番号が間違えています。市外局番を入力してください。\n";
		fld.style.background = 'Pink';
    }
    return error;
}

