// ロールオーバー
function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function changeImages() {
	if (document.images && (preloadFlag == true)) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
		}
	}
}

var preloadFlag = false;
function preloadImages() {
	if (document.images) {
		gnv_01_on = newImage("/pages/library/image/gnv_01_on.gif");
		gnv_02_on = newImage("/pages/library/image/gnv_02_on.gif");
		gnv_03_on = newImage("/pages/library/image/gnv_03_on.gif");
		gnv_04_on = newImage("/pages/library/image/gnv_04_on.gif");
		gnv_05_on = newImage("/pages/library/image/gnv_05_on.gif");
		gnv_06_on = newImage("/pages/library/image/gnv_06_on.gif");
		preloadFlag = true;
	}
}

//ポップアップ
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}


//ログイン処理
function login_kireilife(){
	if( validatePortalLoginActionForm(document.portalLoginActionForm) == false ){
		return false;
	}
	document.portalLoginActionForm.action = "https://www.kireilife.net/apps/portal/PortalLoginKireilife.do";
	document.portalLoginActionForm.submit();
	return false;
}

//ログイン処理
function login_subusr(){
	if( validatePortalLoginActionForm(document.subuserLoginActionForm) == false ){
		return false;
	}
	document.subuserLoginActionForm.action = "https://www.kireilife.net/apps/subusr/PortalLogin.do";
	document.subuserLoginActionForm.submit();
	return false;
}

var bCancel = false;
function validatePortalLoginActionForm(form){
	if (bCancel)
    	return true;
    else
		return validateMaxLengthCom(form) && validateRequiredCom(form) && validateMaskCom(form) && validateMinLengthCom(form); 
}

function maxlengthArray () { 
     this.aa = new Array("login_id", "ログインＩＤ は 20 文字以内で入力してください", new Function ("varName", "this.maxlength='20'; this.mask=/^[0-9A-Za-z\\-_]+$/; this.minlength='8';  return this[varName];"));
     this.ab = new Array("password", "パスワード は 20 文字以内で入力してください", new Function ("varName", "this.maxlength='20'; this.mask=/^[0-9A-Za-z\\-_]+$/; this.minlength='8';  return this[varName];"));
} 

function requiredArray () { 
     this.aa = new Array("login_id", "ログインＩＤ を入力してください", new Function ("varName", "this.maxlength='20'; this.mask=/^[0-9A-Za-z\\-_]+$/; this.minlength='8';  return this[varName];"));
     this.ab = new Array("password", "パスワード を入力してください", new Function ("varName", "this.maxlength='20'; this.mask=/^[0-9A-Za-z\\-_]+$/; this.minlength='8';  return this[varName];"));
} 

function maskArray () { 
     this.aa = new Array("login_id", "ログインＩＤ は 8 文字以上 20 文字以内の 半角英数字、ハイフン(-)、アンダーバー(_) で入力してください", new Function ("varName", "this.maxlength='20'; this.mask=/^[0-9A-Za-z\\-_]+$/; this.minlength='8';  return this[varName];"));
     this.ab = new Array("password", "パスワード は 8 文字以上 20 文字以内の 半角英数字、ハイフン(-)、アンダーバー(_) で入力してください", new Function ("varName", "this.maxlength='20'; this.mask=/^[0-9A-Za-z\\-_]+$/; this.minlength='8';  return this[varName];"));
} 

function minlengthArray () { 
     this.aa = new Array("login_id", "ログインＩＤ は 8 文字以上入力してください", new Function ("varName", "this.maxlength='20'; this.mask=/^[0-9A-Za-z\\-_]+$/; this.minlength='8';  return this[varName];"));
     this.ab = new Array("password", "パスワード は 8 文字以上入力してください", new Function ("varName", "this.maxlength='20'; this.mask=/^[0-9A-Za-z\\-_]+$/; this.minlength='8';  return this[varName];"));
} 


function validateMinLengthCom(form) {
	var isValid = true;
	var focusField = null;
	var i = 0;
	var fields = new Array();
	oMinLength = new minlengthArray();
	for (x in oMinLength) {
		var field = form[oMinLength[x][0]];
                    
		if (field.type == 'text' ||
			field.type == 'password' ||
			field.type == 'textarea') {
                        
			var iMin = parseInt(oMinLength[x][2]("minlength"));
			if ((trim(field.value).length > 0) && (field.value.length < iMin)) {
				if (i == 0) {
					focusField = field;
				}
				 fields[i++] = oMinLength[x][1];
				isValid = false;
			}
		}
	}
	if (fields.length > 0) {
		focusField.focus();
		alert(fields.join('\n'));
	}
	return isValid;
}

function validateMaxLengthCom(form) {
	var isValid = true;
	var focusField = null;
	var i = 0;
	var fields = new Array();
	oMaxLength = new maxlengthArray();
	for (x in oMaxLength) {
		var field = form[oMaxLength[x][0]];

		if (field.type == 'text' ||
			field.type == 'password' ||
			field.type == 'textarea') {

			var iMax = parseInt(oMaxLength[x][2]("maxlength"));
			if (field.value.length > iMax) {
				if (i == 0) {
					focusField = field;
				}
				fields[i++] = oMaxLength[x][1];
				isValid = false;
			}
		}
	}
	if (fields.length > 0) {
		focusField.focus();
		alert(fields.join('\n'));
	}
	return isValid;
}

function validateRequiredCom(form) {
	var isValid = true;
	var focusField = null;
	var i = 0;
	var fields = new Array();
	oRequired = new requiredArray();
	for (x in oRequired) {
		var field = form[oRequired[x][0]];

		if (field.type == 'text' ||
			field.type == 'textarea' ||
			field.type == 'file' ||
			field.type == 'select-one' ||
			field.type == 'radio' ||
			field.type == 'password') {

			var value = '';
			if (field.type == "select-one") {
				var si = field.selectedIndex;
				if (si >= 0) {
					value = field.options[si].value;
				}
			} else {
				value = field.value;
			}

            if (trim(value).length == 0) {

                if (i == 0) {
                	focusField = field;
	            }
	            fields[i++] = oRequired[x][1];
	            isValid = false;
            }
        }
	}
	if (fields.length > 0) {
		focusField.focus();
		alert(fields.join('\n'));
	}
	return isValid;
}
            
// Trim whitespace from left and right sides of s.
function trim(s) {
	return s.replace( /^\s*/, "" ).replace( /\s*$/, "" );
}

function validateMaskCom(form) {
	var isValid = true;
	var focusField = null;
	var i = 0;
	var fields = new Array();
	oMasked = new maskArray();
	for (x in oMasked) {
		var field = form[oMasked[x][0]];
                    
		if ((field.type == 'text' || 
			field.type == 'password' ||
			field.type == 'select' ||
			field.type == 'textarea') && 
			(field.value.length > 0)) {
                        
			if (!matchPattern(field.value, oMasked[x][2]("mask"))) {
				if (i == 0) {
					focusField = field;
				}
				fields[i++] = oMasked[x][1];
				isValid = false;
			}
		}
	}
                
	if (fields.length > 0) {
		focusField.focus();
		alert(fields.join('\n'));
	}
	return isValid;
}

function matchPattern(value, mask) {
	return mask.exec(value);
}


