// =========================================================
// 描述：基于AJAX弹出菜单脚本
// 路径：$Archive: $
// 版本：$Version: $ $Date: $
// =========================================================

// ---------------------------------------------------------
// 常量
// ---------------------------------------------------------

// Web应用程上下文环境
var CONTEXT_PATH = "/huajiao";
//var CONTEXT_PATH = "";

// Struts配置中的Action路径
var ACTION_PATH = "/popDiv.do";

// ---------------------------------------------------------
// 参数：
// 		sqlId		DAO中对应的SQL语句定义ID
// 		sqlParam	SQL参数表（可选）
//		defaultVal	默认选中值（可选）
// 返回：无
// ---------------------------------------------------------
function ajaxSent(sqlId, sqlParam, defaultVal) {

	init_popDiv();
	// 建立XML HTTP请求对象
	var httpRequest = createXMLHttpRequest("");
	// URL
	var url = CONTEXT_PATH + ACTION_PATH;
	// HTTP参数
	var httpParam = getHttpParam(sqlId, sqlParam, defaultVal);
	// 打开连接
	httpRequest.open("POST", url, true);
	// 请求类型
	httpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	// 请求长度
	httpRequest.setRequestHeader("Content-length", httpParam.length);
	// 只接受text/xml类型
	httpRequest.setRequestHeader("Accept", "text/xml");
//	// 请求将在响应完成后连接关闭
//	httpRequest.setRequestHeader("Connection", "close");
	// 发送
	httpRequest.send(httpParam);
}

// ---------------------------------------------------------
// 初始化方法
// ---------------------------------------------------------
function init_popDiv() {
	CONTEXT_PATH = "/huajiao";
	ACTION_PATH = "/popDiv.do";
}

// ---------------------------------------------------------
// 返回指定的HTTP参数列表
//
// 参数：
// 		sqlId		DAO中对应的SQL语句定义ID
// 		sqlParam	SQL参数表（可选）
//		defaultVal	默认选中值（可选）
// 返回：
//		HTTP参数列表
// ---------------------------------------------------------
function getHttpParam(sqlId, sqlParam, defaultVal) {
	var httpParam = "processCategory=" + encodeURI(sqlId);
	if (sqlParam != null ) {
		httpParam += "&code_id";
		httpParam += "=" + encodeURI(sqlParam);
	}
	httpParam += "&defaultValue=";
	httpParam += !defaultVal ? "" : encodeURI(defaultVal);
	httpParam += "&sid=" + new Date().getTime();
	return httpParam;
}

// ---------------------------------------------------------
// 发送请求前的回调方法。
//
// 参数:
// 		httpRequest		XML HTTP请求对象
// 		param			在回调方法中要用到的参数对象（下层控件数组）
// 返回: 无
// ---------------------------------------------------------
function readyStateNotSent(httpRequest, param) {

}

// ---------------------------------------------------------
// 请求响应过程中的回调方法。
//
// 参数:
// 		httpRequest		XML HTTP请求对象
// 		param			在回调方法中要用到的参数对象（下层控件数组）
// 返回: 无
// ---------------------------------------------------------
function readyStateInProcess(httpRequest, param) {

}

// ---------------------------------------------------------
// 请求响应过程中的回调方法。
//
// 参数:
// 		httpRequest		XML HTTP请求对象
// 		param			在回调方法中要用到的参数对象（下层控件数组）
// 返回: 无
// ---------------------------------------------------------
function preProcessReadyStateChanged(httpRequest, param) {

}

// ---------------------------------------------------------
// 请求响应过程中的回调方法。
//
// 参数:
// 		httpRequest		XML HTTP请求对象
// 		param			在回调方法中要用到的参数对象（下层控件数组）
// 返回: 无
// ---------------------------------------------------------
function readyStateSent(httpRequest, param) {

}