function FormSubmit(Action,Target,Args){
 	if(Args==null) return;
  	var form=document.createElement("form");
  	var i;
    
  	// AddHiddenObject(form,"FORMFILE",FormFile);
  	if(Args instanceof Array){
    	for(i=0;i<Args.length;i++){
    		AddHiddenObject(form,Args[i].Name,Args[i].Value);
    	}
  	}else{
    	AddHiddenObject(form,Args.Name,Args.Value);
  	}
  	
  	form.target=Target;
  	form.action=Action;
  	form.method="post";
  	document.body.appendChild(form);
  	form.submit();
  	document.body.removeChild(form);
  	form=null;
}

function _d(){
  this.Args=arguments;
}

function _f(name,value){
  	this.Name=name;
  	this.Value=value;
}

function _gf(name,value){
  	return new _f(name,value);
}

function test(){
  	var n=new Array();
  	n[0]=_gf("FieldName",oTreeNode.XMLData.Args[0]);
  	n[1]=_gf("FieldValue",oTreeNode.XMLData.Args[1]);
  	FormSubmit("log/test.htm","_blank",n);
  	FormSubmit("log/test.htm","_blank",_gf("名称","值"));
}

//给表单添加隐藏变量
function AddHiddenObject(form,n,v){
   	var o=document.createElement("input");
	o.setAttribute("type","hidden");
	o.setAttribute("name",n);
	o.setAttribute("value",v);
	o.setAttribute("id",n);
	form.appendChild(o);
}

//将字符串分割，填充到表单中
function AddPmt(form,arg){
   	if (arg == "") return;
   	var paraList = arg.split("!");
   	for(var i=0;i<paraList.length;i++){
        var paraName  = paraList[i].substring(0,paraList[i].indexOf("="));
        var paraValue = paraList[i].substring(paraList[i].indexOf("=")+1);
        AddHiddenObject(form,paraName,paraValue);
    }
}


/*
 * 将表单的内容，以“&”分割，组合成url可串值
 * Statement:                 组合填充值
 * @param:    form            查询页面的form名称
 * return                     返回组合后的url
 * @author ShiGy
 */
function GetSubmitData(form){
    var oElements = form.elements;
    var strURL = "";
    for(var i = 0; i < oElements.length; i++){
    	strURL += oElements[i].name + "=" + oElements[i].value + "&";
    }
    if (strURL != "") {
    	strURL = strURL.substring(0, strURL.length-1);
    }
    return strURL;
}


/**
 * 以下为BeMMS1.0修改完善版本实现
 * 
 * @author YangJin'gang
 */

/**
 * 将表单的内容，填写了值或选中的值以“&”分割，组合成url可串值
 * 
 * @param form          查询页面的form名称
 * return strURL        string
 */
function packForm(form){
    var oElements = form.elements;
    var strURL = "";
    for(var i = 0; i < oElements.length; i++){
        var o = oElements[i];
        if (o.del) continue; // 如果为控件设置了del属性，则标记为不提交的控件
        if(o.type == 'button' 
           || o.type == 'submit' 
           || o.type == 'reset') continue; // 如果是按钮类型，则不提交

        if (o.type == 'text' || o.type == 'hidden' || o.type == 'textarea') {
            if (o.value.replace(/(^\s*)|(\s*$)/g, '') == '') continue;
            // 如果用户输入的是'，则必须将其转换为\'，到Java程序中再做处理
            strURL += o.name + "=" + (o.value == '\'' ? '\\\'' : o.value) + "&";
        } else if (o.type == 'checkbox' && o.checked) {
            strURL += o.name + "=" + o.value + "&";
        } else if (o.type == 'radio' && o.checked) {
            strURL += o.name + "=" + o.value + "&";
        } else if (o.type == 'select-one' && o.selectedIndex != 0) {
            strURL += o.name + "=" + o.value + "&";
        } else if (o.type == 'select-multiple') {
            for (var j = 0; j < o.options.length; j++) {
                if (o.options[j].selected) {
                    strURL += o.name + "=" + o.options[j].value + "&";
                }
            }
        }
    }
    if (strURL != "") {
        strURL = strURL.substring(0, strURL.length-1);
    }

    return strURL;
}

/**
 * 根据制定URL订制查询界面及其样式
 * 
 * @param urls             string        展现查询界面的请求地址字符序列
 * @param obj              object        需要传到查询界面的JS对象实例
 * @param str_state        string        查询界面展开属性
 * @return void
 */
function goQueryNow(urls, obj, str_state){
	var strRva = window.showModalDialog(urls, obj, str_state);
    if (strRva == undefined) return false;
    if (strRva == "") {
    	parent._page_queryStr = "";
    } else {
	    parent._page_queryStr = strRva;
    }
	parent.returnList(1);
}

/**
 * 重置请求action_form
 */
function resetLi(strLi){
	var ppaf = parent._page_action_form;
    if (ppaf) {
    	var symbleValue = subStrValue(ppaf, '_li');
        parent._page_action_form = ppaf.replace("_li=" + symbleValue, "_li=" + strLi);
    }
}

/**
 * 根据给定字符序列和符号，从中获取符号对应的值
 * 
 * @param str           string        给定字符序列
 * @param symble        string        符号
 * @return string
 */
function subStrValue(str, symble){
    var _sysmblePos = str.indexOf(symble);
    
    if (_sysmblePos == -1) return "";

    var _symbleEqCut = str.substring(_sysmblePos); // _fnum=1020201&_li=2

    var _eqPos = _symbleEqCut.indexOf('=');
    var _symbleCut = _symbleEqCut.substring(_eqPos + 1); // 1020201&_li=2

    var _andPos = _symbleCut.indexOf('&');
    return _symbleCut.substring(0, _andPos); // 1020201
}

/**
 * 公共查询验证特殊字符
 * 
 * @param form          object        表单对象
 * @return boolean
 */
function checkForm(form){
    var oElements = form.elements;
    for(var i = 0; i < oElements.length; i++) {
    	var o = oElements[i];
    	if('INPUT' == o.tagName && 'hidden' != o.type && true != o.readOnly ) {
    		if(!checkSpecialChar(o)) return false;
    	}
    }
    return true;
}
