﻿// Mitch Leung @ Ion Global dot com
// 20060303
// investment calculator form validation
function validate(){ 
	var strError='';
	var errObj=null;
	var docforms = document.getElementsByTagName("form");
	if (docforms){
		var f = docforms[0];
	}else{
		return false;
	}
	var f = docforms[0];
	var tc = document.getElementById("t1");
	if (tc && tc.style.display!="block" && tc.style.display!="inline"){
		return true;
	}
	for (var i=0;i<f.elements.length;i++){
		var e = f.elements[i];
		if (e.getAttribute('valid_id')){
			if (isDigit(e.getAttribute('valid_id'))){
				var retVal = eval((eval('valid_js'+e.getAttribute('valid_id'))));
				var obj = document.getElementById('lbl_valid' + e.getAttribute('valid_id'))
				if (!obj) obj = document.getElementById('lbl_valid' + (parseInt(e.getAttribute('valid_id'))-1))
				if (!retVal){
					if (obj) obj.className = 'mandatoryHighlight'
					if (errObj == null) errObj = e;
					strError += "error";
				} else {
					if (obj) obj.className = 'mandatoryNormal'
				}
			}
		}
	}
	errMsgObj = document.getElementById('errMsg');
	if (strError==''){ if (errMsgObj) { errMsgObj.innerHTML = '' } return true;}
	else {
		var errMsg = "";
		var strUrl = window.location.href + '';
		if (strUrl.indexOf("/en/")!=-1){
			errMsg = "The field(s) shown in red below require correction.";
		}else if (strUrl.indexOf("/sc/")!=-1){
			errMsg = "下列红色显示的各栏需要更正。";
		}else if (strUrl.indexOf("/tc/")!=-1){
			errMsg = "下列紅色顯示的各欄需要更正。";
		}else{
			errMsg = "赤く表示された項目をご記入ください";
		}
		if (errMsgObj) { errMsgObj.innerHTML = errMsg; }
		errObj.focus();
		//alert(errMsg);
		return false;
	}
	return false;
}
var valid_js1='isBlank(e.value)&&isDigit(e.value)';
var valid_js2='1';
function updateReqInput(f){
	var els = f.getElementsByTagName("input");
	var key = "lbl_valid";
	for (i=0; i<els.length; i++){
		var pos = els[i].className.indexOf(key);
		//if (pos!=-1){
		if (els[i].type=="radio"){
			var num = 1;
			if (els[i].value=="radTypeAmount"){
				num = 2;
			}
			//var num = els[i].className.substr(pos+key.length, els[i].className.length);
			var str = "";
			if (els[i].checked){
				if (num=='1'){
					str = ("valid_js"+num+"='isBlank(e.value)&&isDigit(e.value)'");
				}else{
					str = ("valid_js"+num+"='isBlank(e.value)&&isNum(e.value)'");
				}
			}else{
				str = ("valid_js"+num+"='1'");
			}
			eval(str);
		}
	}
}
function initValidate(){
	var docforms = document.getElementsByTagName("form");
	if (docforms){
		var f = docforms[0];
		f.onsubmit = function(){ return validate(); };
		var els = f.getElementsByTagName("input");
		for (i=0; i<els.length; i++){
			//if (els[i].className.indexOf("lbl_valid")!=-1){
			if (els[i].type=="radio"){
				if (els[i].onchange){
					els[i].onchange = function(){ updateReqInput(this.form); };
				}else{
					els[i].onclick = function(){ updateReqInput(this.form); };
				}
			}
		}
	}
	if (typeof(followupValidate)=="function"){
		followupValidate();
	}
}
var followupValidate;
if(typeof(window.onload)=="function"){
	followupValidate = window.onload;
}
window.onload = initValidate;

