var currentForm ;
function frm_chkForm(p_form,p_prefix) {
	var codeMsg = ""
	var dtCheck = new dataCheck();
	var value = $(eval(p_form.authcode)).val();
   if(strUtil.prototype.isEmpty(value) || value.length !=4 || !strUtil.prototype.isInteger(value)) {
		codeMsg = $(eval(p_form.AuthCodeMsg)).val();
		alert(codeMsg);
		return false;
	}

	dtCheck.setField(eval("new Array("+p_form.FieldList.value+")"));
	dtCheck.setName(eval("new Array("+p_form.FieldName.value+")"));
	dtCheck.setNull(eval("new Array("+p_form.FieldNull.value+")"));
	dtCheck.setType(eval("new Array("+p_form.FieldType.value+")"));
	dtCheck.setMsg(eval("new Array("+p_form.FieldMsg.value+")"));

	return dtCheck.datavalid(p_form,p_prefix);
}
function frm_formPreview(p_form,p_prefix) {
	var par = p_form;
	var dispDiv ;
	var reviewTable ,reviewDiv;
	for(i=0;i<par.childNodes.length;i++) {
		if(par.childNodes[i].id=='formdisplay') {
			dispDiv = par.childNodes[i];
		}
		if(par.childNodes[i].id=='formpreview') {
			reviewDiv = par.childNodes[i];
		}
	}
	for(i=0;i<reviewDiv.childNodes.length;i++) {
		if(reviewDiv.childNodes[i].tagName=='TABLE') { 
			for(j=0;j<reviewDiv.childNodes[i].childNodes.length;j++) {
				if(reviewDiv.childNodes[i].childNodes[j].tagName=='TBODY') { 
					reviewTable = reviewDiv.childNodes[i].childNodes[j]; break; 
				}
			}
			break;
		}
	}
	frmElements = new Object();
	var elm ;
	var name;
	var val = "";
	var sepField = new Array();
	var sepField_max = new Array();
	var sepCounter=0;
	for(i=0;i<p_form.elements.length;i++){
		elm = p_form.elements[i];
		name = elm.name;
		if(name.indexOf("\[\]")>0) name = name.substr(0,name.indexOf("\[\]"));
		if(elm.type=='checkbox' || elm.type=='radio') {
			if(elm.checked) frmElements[name] = ((typeof(frmElements[name])=='undefined')?'':frmElements[name]+"\n")+elm.value;
		}
		else if(elm.type=='select-one') {
			if(elm.selectedIndex > -1 && elm.options[elm.selectedIndex].text)
				frmElements[name] = elm.options[elm.selectedIndex].text;
			else
				frmElements[name] = elm.value;
		}
		else { 
			frmElements[name] = elm.value;
		}
		if(name.indexOf("SepMax")>0) {
			sepField[sepCounter] = name.substr(10);
			sepField_max[sepCounter++] = elm.value;
/*
			var seq = name.substr(10);	
			var max = elm.value;
			var Symbol = eval('p_form.FrmSepSymbol_'+seq+'.value');
			for(j=1;j<max;j++) {
				val+=Symbol+eval('p_form.FrmSep_'+seq+'_'+j+'.value');
			}
			frmElements[name] = ((typeof(frmElements[name])=='undefined')?'':frmElements[name])+val;
			*/
		}
	}
	for(i=0;i<sepField.length;i++) {
		var val = "";	
		seq = sepField[i];
		max = sepField_max[i];
		var Symbol = eval('p_form.FrmSepSymbol_'+seq+'.value');
		for(j=1;j<max;j++) {
			val+=Symbol+eval('p_form.FrmSep_'+seq+'_'+j+'.value');
		}
		name = p_prefix+seq;
		frmElements[name] = ((typeof(frmElements[name])=='undefined')?'':frmElements[name])+val;
	}
	for(i=0;i<reviewTable.childNodes.length;i++) {
		var trNode = reviewTable.childNodes[i];
		if(trNode.tagName!='TR') continue;
		for(j=0;j<trNode.cells.length;j++) {
			var tdNode = trNode.cells[j];
			if(tdNode.id) {
				name = p_prefix+tdNode.id;
				if(typeof(frmElements[name])=="undefined") frmElements[name] = "";
				tdNode.innerHTML = "<strong>"+strUtil.prototype.directShowInput(frmElements[name])+"&nbsp;</strong>";
			}
		}
	}
	dispDiv.style.display="none";
	//reviewTable.parentNode.parentNode.style.display="block";
	reviewDiv.style.display="block";
}
function frm_uploaded(type,res,id,param) {
	var pam = param.split(',');
	var frm = eval("document."+pam[0]);
	if(type==1){
      frm.FileUploadName.value=res;
		eval(frm.name+"_editor").setUri(pam[1]);
		eval(frm.name+"_editor").sajaxSubmit('FormName='+frm.name,frm.name,'frm_callBack')
		//divOs.submitForm(obj.id,currentForm.oldAction,currentForm);
      return false;
   }
   //else if(type==2) alert(res+"<#Echo Word="SYS_COMMON_TypeError" />");
   //else if(type==3) alert(res+"<#Echo Word="SYS_COMMON_SizeError" />");
}
function frm_submitForm(p_form,p_url) {
	//var obj = p_form.parentNode;
	var upField = p_form.UploadField.value.split(",");
	var upobj;
	for(i=0;i<upField.length-1;i++) {
		upobj = eval('p_form.Frm_'+upField[i]);
		if(upobj.value) {
			$(p_form._ParamString).val(p_form.name+','+p_url);
			p_form.submit();
			return;
		}
	}
	//random_num = (Math.round((Math.random()*1000)+1))
	//obj.id="formdiv_"+random_num;
	eval(p_form.name+"_editor").setUri(p_url);
	eval(p_form.name+"_editor").sajaxSubmit('FormName='+p_form.name,p_form.name,'frm_callBack')
	//divOs.submitForm(obj.id,p_url,p_form);
}
function frm_callBack(z) {
	var dispTable ;
	var reviewTable ;
	var formmsg ;
	var formbackbtn ;
	var Res= sajaxIO.prototype.getMsg(z);
	var frm = eval("document."+Res.Other);
	for(i=0;i<frm.childNodes.length;i++) {
		if(frm.childNodes[i].id=='formdisplay') {
			dispTable = frm.childNodes[i];
		}
		else if(frm.childNodes[i].id=='formpreview') {
			reviewTable = frm.childNodes[i];
		}
		else if(frm.childNodes[i].id=='formmsg') {
			formmsg = frm.childNodes[i];
		}
		else if(frm.childNodes[i].id=='formbackbtn') {
			formbackbtn = frm.childNodes[i];
		}
	}
	if(Res.RetCode==1){
		formmsg.style.display="block";
		divOs.setInnerHTML(formmsg,Res.Content);
		dispTable.style.display="none";
		reviewTable.style.display="none";
		formbackbtn.style.display="block";
	}
	else{
		divOs.openAlertWindow(divOs.AlertFailed,Res.Content);
	}
	if(eval(frm.name+"_editor").silent == 0) divOs.closeWaitingWindow('sending');
}
function frm_backForm(p_form) {
	var par = p_form;
	var dispTable ;
	var reviewTable ;
	var formmsg ;
	var formbackbtn ;
	for(i=0;i<par.childNodes.length;i++) {
		if(par.childNodes[i].id=='formdisplay') {
			dispTable = par.childNodes[i];
		}
		else if(par.childNodes[i].id=='formpreview') {
			reviewTable = par.childNodes[i];
		}
		else if(par.childNodes[i].id=='formmsg') {
			formmsg = par.childNodes[i];
		}
		else if(par.childNodes[i].id=='formbackbtn') {
			formbackbtn = par.childNodes[i];
		}
	}
	dispTable.style.display="block";
	reviewTable.style.display="none";
	formmsg.style.display="none";
	formbackbtn.style.display="none";
}
function frm_cancelSubmit(p_form) {
	var par = p_form;
	var dispTable ;
	var reviewTable ;
	for(i=0;i<par.childNodes.length;i++) {
		if(par.childNodes[i].id=='formdisplay') {
			dispTable = par.childNodes[i];
		}
		if(par.childNodes[i].id=='formpreview') {
			reviewTable = par.childNodes[i];
		}
	}
	dispTable.style.display="block";
	reviewTable.style.display="none";
}

function frm_checkFormPriv(p_fname,p_seq) {
	var privType;
	var privSetting;
	var privClass 	 = $(eval("document."+p_fname+".FormPrivClass")).val();	
	var jsFunc = 'frm_clickAfterLogin(\''+p_fname+'\')';
	if($.trim(privClass)!=""){
		var classList 	 = privClass.split("@@@");
		privType = classList[0];
		if(privType>0){
			if(typeof(divOs.Cookie.getCookie('cm_name'))=='undefined'){
				loginFirst(window.event,'cm_cust','/bin',classList[3],jsFunc);
				return false;
			}
			var cmClass = divOs.Cookie.getCookie("cm_class");
			if(privType==2){
				privSetting = classList[1];
				if($.trim(cmClass)=="" || privSetting.indexOf(','+cmClass+',') == -1){
					alert(classList[2]);
					return false;
				}
			}
		}
	}
	var privGroup 	 = $(eval("document."+p_fname+".FormPrivGroup")).val();	
	if($.trim(privGroup)!=""){
		var groupList 	 = privGroup.split("@@@");
		privType = groupList[0];
		if(privType>0){
			if(typeof(divOs.Cookie.getCookie('cm_name'))=='undefined'){
				loginFirst(window.event,'cm_cust','/bin',groupList[3],jsFunc);
				return false;
			}
			var cmGroup = divOs.Cookie.getCookie("cm_group");
			if(privType==2){
				privSetting = groupList[1];
				if($.trim(cmGroup)=="" || privSetting.indexOf(','+cmGroup+',') == -1){
					alert(groupList[2]);
					return false;
				}
			}
		}
	}
	return true;
}
function frm_initCascade(p_fname,p_topseq) {
	if(trim(p_topseq) == "") return;
	var topList = p_topseq.split(",");
	for(var i=0;i<topList.length;i++) {
		frm_dealCascade(p_fname,topList[i]);
	}
}
function frm_dealCascade(p_fname,p_seq) {
	var optionstr;
	var obj_sub;
	var sub_seq;
	var sub_val;
	var top_sel;
   sub_seq     = $(eval("document."+p_fname+".form_sub_"+parseInt(p_seq))).val();
	top_sel   	= $(eval("document."+p_fname+".Frm_"+p_seq)).val();
	top_sel     = strUtil.prototype.htmlspecialchars(top_sel);

   while(parseInt(sub_seq)) {
		optionstr="";
      sub_val    = $(eval("document."+p_fname+".form_value_"+sub_seq)).val();
      obj_sub = eval("document."+p_fname+".Frm_"+sub_seq);
      $(obj_sub).empty();

      if(sub_val) {
         val_arr  = sub_val.split("@*@*@*");
         for(var j=0;j<val_arr.length;j++) {
            l_arr    = val_arr[j].split("~@~@~@");
            if(l_arr.length<3) continue;
				if(top_sel != strUtil.prototype.htmlspecialchars(l_arr[3]) && $.trim(l_arr[0])!="") continue;
            if(parseInt(l_arr[2]))
					optionstr += '<option value="'+strUtil.prototype.htmlspecialchars(l_arr[0])+'" selected>'+strUtil.prototype.htmlspecialchars(l_arr[1])+'</option>';
				else
					optionstr += '<option value="'+strUtil.prototype.htmlspecialchars(l_arr[0])+'">'+strUtil.prototype.htmlspecialchars(l_arr[1])+'</option>';
         }
			if($.trim(optionstr)!="")
      		$(optionstr).appendTo(obj_sub);
      }
		sub_seq = $(eval("document."+p_fname+".form_sub_"+parseInt(sub_seq))).val();
		top_sel   = $(obj_sub).val();
   }
}
function frd_getMemInfo(p_form,p_seq,p_url) {
	if(typeof(divOs.Cookie.getCookie('cm_name'))=='undefined') return;
	var cm_fields = new Array();
	var val,i;
	var value 	= $(eval("document."+p_form+".Frm_ConMemField_"+p_seq)).val();
	if($.trim(value)=="") return;
	var val_arr = value.split("@*@*@*");
	for(i=0;i<val_arr.length-1;i++) {
		val = val_arr[i].split("~@~@~@");
		if(val[1] == "file" || val[1] == "septext") continue;
		if($.trim(val[2])!="")
			cm_fields.push($.trim(val[2]));	
	}
	if(cm_fields.length==0) return;
	var param 	= "formName="+p_form+"&conmemfield=";
	param += cm_fields.join(",");
	eval(p_form+"_editor").setUri(p_url);
   eval(p_form+"_editor").sajaxSubmit(param,'','frm_conmemfield_callBack')
}
function frm_conmemfield_callBack(z) {
	var Res = sajaxIO.prototype.getMsg(z);
	if($.trim(Res.Other) == "" || $.trim(Res.RetCode) == "") {
		return;
	}
	var formName   = Res.RetCode;
	if(eval(formName+"_editor").silent == 0) divOs.closeWaitingWindow('sending');
	var mem_name 	= new Array();
	var mem_type 	= new Array();
	var mem_field	= new Array();
	var fr_arr  	= formName.split("_");
   var fr_nbr  	= fr_arr[fr_arr.length-1];
	var value   	= $(eval("document."+formName+".Frm_ConMemField_"+fr_nbr)).val();
	var val_arr 	= value.split("@*@*@*");
	var val	= new Array();
	var i,j,ii,jj,m;
	for(i=0;i<val_arr.length-1;i++) {
      val = val_arr[i].split("~@~@~@");
		if(val[1] == "file" || val[1] == "septext") continue;
		mem_name[i]  = val[0];
		mem_type[i]  = val[1];
		mem_field[i] = val[2];
   }

	var parser = new DOMImplementation();
	var domDoc = parser.loadXML(Res.Other);
	var docRoot = domDoc.getDocumentElement();
	var tag1 = docRoot.getElementsByTagName("MemData").item(0);
	var childNodes = tag1.getChildNodes();
	var Nodes = new hashUtil();
	var item_childs;
	var key,value,key_val,valList;
	for(i=0,j=childNodes.getLength();i<j;i++) {
		item_childs = childNodes.item(i).getChildNodes();
		for(ii=0,jj=item_childs.getLength();ii<jj;ii++) {
			if(item_childs.item(ii).getNodeName() == "key")
				key = item_childs.item(ii).getFirstChild().getNodeValue();
			else if(item_childs.item(ii).getNodeName() == "value"){
				if(item_childs.item(ii).getFirstChild())
					value = item_childs.item(ii).getFirstChild().getNodeValue();
				else
					value = "";
			}
		}
		Nodes.push(key,value);
	}
	for(i=0,j=mem_field.length;i<j;i++) {
		key_val	= Nodes.get(mem_field[i]);
		if(key_val==null) continue;
		if(mem_type[i] == "text" || mem_type[i] == "textarea") {
			$(eval("document."+formName+"."+mem_name[i])).val(key_val);
		}	
		else if(mem_type[i] == "radio") {
			$("form[@name="+formName+"]").find("input[@name='"+mem_name[i]+"']").each(function() {
				if($.trim($(this).attr("value"))==$.trim(key_val)){
					$(this).attr("checked","checked");
				}
				else $(this).attr("checked","");
			});
		}
		else if(mem_type[i] == "checkbox") {
			valList = key_val.split("\n");
			valList = "@@@"+valList.join("@@@")+"@@@";
			$("form[@name="+formName+"]").find("input[@name='"+mem_name[i]+"[]']").each(function() {
				if(valList.indexOf("@@@"+$.trim($(this).attr("value")+"@@@"))!=-1)
					$(this).attr("checked","checked");
				else
					$(this).attr("checked","");
			});
		}
		else if(mem_type[i] == "option") {
//			$(eval("document."+formName+"."+mem_name[i])).val(key_val);
			$(eval("document."+formName+"."+mem_name[i])).children().each(function() {
				if(key_val == $(this).val()) {
					$(this).parent().val($(this).val());
				}
			});
		}
		else if(mem_type[i] == "cascade") {
			$(eval("document."+formName+"."+mem_name[i])).children().each(function() {
				if(key_val == $(this).val()) {
					$(this).parent().val($(this).val());
					$(eval("document."+formName+"."+mem_name[i])).trigger("change");
				}
			});
		}
	}
}
function frm_clickAfterLogin(p_fname) {
	divOs.closeAllPopWindow();
	//$(eval("document."+p_fname+"._Submit")).trigger("click");
}
