/*  name : datavalid2 
           check datainput is valid or not
    Note : need array 
	 						m_data_type 
	 						m_screen_name	
		      			m_null
							m_screen_field
							f_length 
    require :  cl_dates.js
               cl_vartype.js
               cl_trim.js
   add by MJY 20070108
*/
  
function getObj(p_form,p_name) {
	var obj = eval("document."+p_form+"."+p_name);
	if(!obj) return false;
	return obj;
}
function datavalid2(p_form)  {			//MJY 20070108 add argument p_form
	var msg = "";
	var focusobj ;
	var flag = 1;
	var f_types = eval('m_data_type'+p_form);
	var f_fields = eval('m_screen_field'+p_form);
	var f_names = eval('m_screen_name'+p_form);
	var f_nulls = eval('m_null'+p_form);
	var f_length = eval('f_length'+p_form);
	for(var i=0;i<f_length;i++)  {
		if(f_types[i]=="l") {
			if(f_nulls[i]=='1')  continue;
			obj = getObj(p_form,f_fields[i]);  
			if(!obj) continue;
			var l_len = obj.length;
			var chk = false
			for(j=0;j<l_len;j++) {
				obj = getObj(p_form,f_fields[i]+"["+j+"]");  
				if(obj.checked) { chk = true;  break; }
			}
			if(chk) continue;
			msg = msg + f_names[i]+ errMsg[1]+"\n";
			if(flag) {
				focusobj = obj;
				flag = 0;
			}
			continue;
		}
		//MJY530 20061226 add checkbox isNull judgement
		if(f_types[i] == 'x') {
			if(f_nulls[i]=='1')   continue;
			var chk2 = 0;
			var l_len = eval('document.'+p_form+'.elements.length');
			for(var j=0;j<l_len;j++){
				var obj = eval('document.'+p_form+'.elements['+j+']');
				var f_name = f_fields[i]+'[]';
				if(obj.name == f_name){
					cb_obj = obj;
					if(cb_obj.checked){
						chk2 = 1;
						break;
					}
				}
			}
			if(chk2) continue;
			msg = msg + f_names[i]+ errMsg[1]+"\n";
			if(flag) {
				focusobj = cb_obj;
				flag = 0;
			}
			continue;
		} 
		//End MJY
		obj = getObj(p_form,f_fields[i]);
		if(!obj) continue;
		if(!f_nulls[i] && cl_trim(obj.value," ") == "") {
			msg =msg +  f_names[i]+ errMsg[1]+"\n";
			if(flag) { focusobj = obj;  flag = 0; }
		}
		switch(f_types[i]){
			case "d":     // date
				if(obj.value != "" && !isDates(obj.value)) {
					msg +=  f_names[i]+ errMsg[3] +" \n";
					if(flag) { focusobj = obj;  flag = 0; }
				}
				break;
			case "i":
				if(obj.value != "" && !cl_isInteger(obj.value)) {
					msg +=  f_names[i]+ errMsg[2]+" \n";
					if(flag) { focusobj = obj;  flag = 0; }
				}
				break;
			case "n":	
				if(obj.value != "" && isNaN(obj.value)) {
					msg += f_names[i]+ errMsg[4]+" \n";
					if(flag) { focusobj = obj;  flag = 0; }
				}
				break;
			case "f":
				if(obj.value != "" && isNaN(obj.value)) {
					msg += f_names[i]+ errMsg[4] +" \n";
					if(flag) { focusobj = obj;  flag = 0; }
				}
				break;
			case "l":
				if(obj.value != "" && !cl_isInteger(obj.value))  {
					msg += f_names[i]+ errMsg[2]+" \n";
					if(flag) { focusobj = obj;  flag = 0; }
				}
				break;
			case "e":		//e-mail MJY 20070122 add
				if(obj.value != "" && !cl_isEmail(obj.value))  {
					msg += f_names[i]+ errMsg[5]+" \n";
					if(flag) { focusobj = obj;  flag = 0; }
				}
				break;
		}
	}
	if(!cl_isEmpty(msg))  {
		msg = errMsg[0] + " :\n" + msg ;
		alert(msg);
		focusobj.focus();
		return false;
	}
	return true;
}

