// ------------------ wizBank Login object ------------------- 
// Convention:
//   public functions : use "wbLogin prefix 
//   private functions: use "_wbLogin" prefix
// ------------------------------------------------------------ 
function wbLogin(){
	this.submitFrm = _wbLoginSubmitFrm
	this.changePage = _wbLoginChangePage
	this.selectCurrLang = _wbLoginSelectCurrLang
	this.init = _wbLoginInit
}

// -----------------Private Functons ------------------ 
function _wbLoginSubmitFrm(frm, lang){
	// populate hidden form data
	var url_success = getUrlParam('url_success');
	if(url_success == ""){
		url_success = gen_get_cookie('url_login_success');
	}

	// Check if the user need to change pwd immediately
	frm.url_change_pwd.value = wb_utils_invoke_servlet('cmd','get_usr','stylesheet','usr_pwd_must_upd.xsl', 'url_success', url_success)

	frm.stylesheet.value = 'home.xsl';

	frm.action = wb_utils_servlet_url;

	gen_del_cookie('url_login_success')

	if(frm.url_failure.value.length == 0) {
        	frm.url_failure.value = wb_utils_invoke_servlet('cmd', 'start', 'stylesheet', 'login_fail.xsl');
	}
	frm.cmd.value = 'auth';

	if(frm.label_lan.value == ''){
		frm.label_lan.value = 'ISO-8859-1';
	}
	if(_wbLoginValidateFields(frm, lang)){
		wb_utils_set_cookie('login_lan', frm.label_lan.value);
		wb_utils_set_cookie('usr_id', frm.usr_id.value);
		var temp_date = new Date(2099, 12, 31)
		gen_set_cookie('site', frm.site_id.value, temp_date);

		if(frm.site_id.options != null){
			frm.style.value = eval('frm.site_style' + frm.site_id.options[frm.site_id.selectedIndex].value + '.value');
		}else{
			frm.style.value = eval('frm.site_style' + frm.site_id.value + '.value');
		}
		frm.submit();
	} else {
		var obj = document.getElementById("Submit");
		if (obj != null) {
			obj.href = "javascript:usr_id_v();MyLogin.submitFrm(document.frmLogin,'gb')";
		}
	}
}

function _wbLoginChangePage(){
	// Prevents inside other frame.
	if(self.parent.frames.length != 0){
		self.parent.location = document.location;
	}
}

function _wbLoginValidateFields(frm, lang){
	var lab_login_id = frm.lab_login_id ? frm.lab_login_id.value : 'Login ID(sys)';

	var lab_passwd = frm.lab_passwd ? frm.lab_passwd.value : 'Password(sys)';

	if(!wbUtilsValidateUserId(frm.usr_id, lab_login_id, false)){
		return false;
	}

	if(!wbUtilsValidateUserPassword(frm.usr_pwd, lab_passwd)){
		return false;
	}

	if(frm.site_id.options != null){
		if(!wb_utils_validate_site_id(frm.site_id.options[frm.site_id.selectedIndex], lang)){
			alert('Please select an organization');
			return false;
		}
	}

	if(frm.label_lan.value == ''){
		alert('please select a language');
		return false
	}

	if(frm.cc_usr_id) {
		frm.usr_id.value = frm.cc_usr_id.value;
	}
	
	var p_num = /(\d){4}/; //Æ¥ÅäÊý×Ö
	if (frm.usr_captcha && (frm.usr_captcha.value.length != 4 || !frm.usr_captcha.value.match(p_num))) {
		alert(wb_msg_verification);
		frm.usr_captcha.focus();
		return;
	}
	return true;
}

function _wbLoginSelectCurrLang(frm, select_lang){
	frm.label_lan.value = select_lang;
}

function _wbLoginInit(frm, site_count, encoding){
	var i = 0;

	frm.label_lan.value = wb_utils_get_cookie('login_lan');
	var site = gen_get_cookie('site');

	if(frm.curr_lang_selection != null){
		if(encoding == 'ISO-8859-1'){
			frm.curr_lang_selection.checked = true;
			frm.label_lan.value = encoding;
		}else{
			if(frm.label_lan.value == encoding){
				frm.curr_lang_selection[0].checked = true;
			}else if(frm.label_lan.value == 'ISO-8859-1'){
				frm.curr_lang_selection[1].checked = true;
			}else{
				frm.curr_lang_selection[0].checked = true;
				frm.label_lan.value = encoding;
			}
		}
	}
	if(site_count != 1){
		for (i = 0; i < frm.site_id.length; i++){
			if(frm.site_id.options[i].value == site){
				frm.site_id.options[i].selected = true;
			}
		}
	}
}