/**
 *The "PostForm" action.
 *@param the ctrl xml information.
 */
function eventProcessor_PostForm(argXML) {	
	var submitParam = "";
	var servURL = queryByNodeName(argXML,"serv").childNodes[0].nodeValue;
	var reqMethod = queryByNodeName(argXML,"httpMethod").childNodes[0].nodeValue;
	var async = queryByNodeName(argXML,"async").childNodes[0].nodeValue;
	var promoteFlag = queryByNodeName(argXML,"promoteFlag").childNodes[0].nodeValue;
	var nextActionID = argXML.getAttribute("nextAction");

	var para = queryByNodeName(argXML,"param");	
	var async = queryByNodeName(argXML,"async");
	var childs = para.childNodes.length;	
	for(var i=0;para.childNodes[i];i++) {	
		var theForm = para.childNodes[i];		
		submitParam = eventManagerComposeParam(theForm.getAttribute("id"),"");			
	}
	postXMLHttp(submitParam,servURL,reqMethod,async,promoteFlag,nextActionID);	
}

/**
 *The "PostElement" action.
 *@param the ctrl xml information.
 */
function eventProcessor_PostEle(argXML,servURL) {
	var submitParam = "";	
	var reqMethod = queryByNodeName(argXML,"httpMethod").childNodes[0].nodeValue;
	var async = queryByNodeName(argXML,"async").childNodes[0].nodeValue;
	var promoteFlag = queryByNodeName(argXML,"promoteFlag").childNodes[0].nodeValue;
	var nextActionID = argXML.getAttribute("nextAction");

	var para = queryByNodeName(argXML,"param");

	
	for(var i=0;i<para.childNodes.length;i++) {	
		var paramObj = para.childNodes.item(i);
		var paramName = paramObj.getAttribute("id");
		
		try {
			var paramValue = eval(paramName).value;		
			if (paramValue) {
				submitParam += paramName + "=" + eval(paramName+".value")+"&";		
			}
		} catch (e) {
			alert(e.description);
			return false;
		}
	}
	
	postXMLHttp(submitParam,servURL,reqMethod,async,promoteFlag,nextActionID);	
}


/**
 *The "GotoURL" action.
 *@param the ctrl xml informaction.
 *
 */
function eventProcessor_GotoURL(argXML) {
	var pageURL = queryByNodeName(argXML,"url").text;
	var paraXml = queryByNodeName(argXML,"param");
	var para = "";
	try {
		for (var i=0;i<paraXml.childNodes.length;i++) {		
			var item = paraXml.childNodes.item(i);
			var itemName = item.getAttribute("name")
			var itemID = item.getAttribute("id")			
			if(!itemID) {			
				alert("Cann't find" + itemID);
				return;
			} else {
				para += itemName + "" + eval(itemID).value;
			}
		}
	}catch(err){}
	if (para!="")	pageURL = pageURL + "?" + para.substr(0,para.length-1);
	
	self.location.replace(pageURL);
	window.event.returnValue = false;
}
/**
 *将返回的数据设置到innerHTML中
 */
function setInnerHTML(el, htmlCode) {
    var ua = navigator.userAgent.toLowerCase();
    if (ua.indexOf('msie') >= 0 && ua.indexOf('opera') < 0) {
        htmlCode = '<div style="display:none">for IE</div>' + htmlCode;
        htmlCode = htmlCode.replace(/<script([^>]*)>/gi,
                                    '<script$1 defer>');
        el.innerHTML = htmlCode;
        el.removeChild(el.firstChild);
    } else {
        var el_next = el.nextSibling;
        var el_parent = el.parentNode;
        el_parent.removeChild(el);
        el.innerHTML = htmlCode;
        if (el_next) {
            el_parent.insertBefore(el, el_next)
        } else {
            el_parent.appendChild(el);
        }
    }
}
/**
 *The "UpdateDiv" action.
 *@param the ctrl xml informaction.
 *
 */
function eventProcessor_UpdateDiv(argXML) {
	var target = queryByNodeName(argXML,"target").childNodes[0].nodeValue;
	if (gResultData=="") {	
		alert("The gResultData's value is null");
		return;
	} else {		
		try{
			var divObj = document.getElementById(target);
			setInnerHTML(divObj,gResultData);
			//var divObj = document.getElementById(target);
			//divObj.innerHTML = gResultData;
			//alert(gResultData);
		} catch(err) {
			//alert("Cann't update the DIV>>>"+err.description);
		}			
	}
	return;
}


/**
 *The "ReplaceSelf" action.
 *@param the ctrl xml information.
 *
 **/
function eventProcessor_ReplaceSelf(argXML) {
	if (document.readyState == "complete") {
		try {
			document.clear();			
			document.write(gResultData);
			document.close();
		} catch (err) {
			alert(err.description);
		}
	}
	//window.event.returnValue = false;
}

/**
 *The "ActionCollect" action
 *@param the ctrl xml information
 **/
function eventProcessor_ActionCollect(argXML) {
	var ret = true;
	var para = queryByNodeName(argXML,"param");
	var actStr = para.childNodes[0].nodeValue;
	var actArr = actStr.split(",");
	for (var i=0;i<actArr.length;i++) {	
		var act = actArr[i];
		ret = gEventManager(act);
		if(!ret)
			break;
	}
	return ret;
}

/**
 *The "DoFunc" action
 *@param the ctrl xml information.
 */
function eventProcessor_DoFunc(argXML) {
	var ret = false;
	var fun_code = queryByNodeName(argXML,"funName").childNodes[0].nodeValue;
	var funCodeArr = fun_code.split(",");
	var funParams = "";
	
	var param = queryByNodeName(argXML,"param");
	var paramNums = param.childNodes.length;
	
	if (paramNums != 0) {
		funParams = param.childNodes[0].nodeValue;		
	}
	
	for(var i=0;i<funCodeArr.length;i++) {
		var codeItem = funCodeArr[i];
		if(codeItem!=null){
			if (funParams != "") {				
				var paramArr = funParams.split(",");
				var args = "";
				
				for (var n=0;n<paramArr.length;n++) {
					
					var argItem = document.getElementById(paramArr[n]).value;					
					args+="'"+argItem+"',";															
				}
				
				if (args.charAt(args.length-1) == ",") {
					args = args.substring(0,args.length-1);
				}
								
				try {					
					ret = eval(codeItem+"("+args+")");
				} catch (err) {
					//alert(err.description);
				}
			} else {				
				try {					
					ret = eval(codeItem+"()");
				} catch (err) {
					//alert(err.description);
				}
			}

								
			
			
		}
	}
	return ret;
}

