/** 
 * @fileoverview 
 * \u6B64\u6587\u4EF6\u5B9A\u4E49\u4E86CTRSAction\u5BF9\u8C61\uFF0C\u5B8C\u6210WEB\u5E94\u7528\u5E38\u7528\u7684\u4EA4\u4E92\u65B9\u5F0F\uFF08\u4F8B\u5982\uFF1ALink/OpenWin/Dialog/XMLHTTP...\uFF09<BR>
 *  Copyright: 		www.trs.com.cn<BR>
 *  Company: 		TRS Info. Ltd.<BR>
 *  Author:			CH<BR>
 *  Created:		2004-11-24 08:38<BR>
 *  Vesion:			1.0<BR>
 *  Last EditTime:	2004-11-24/2004-11-24<BR>
 *	Update Logs:<BR>
 *		CH@2004-11-24 Created File<BR>
 *	Note:<BR>
 *		<BR>
 *	Depends:<BR>
 *		CTRSReqeustParam.js<BR>
 *		CTRSHashtable.js<BR>
 *<BR>
 *	Examples:<BR>
 *		@see CTRSAction_test.html<BR>
 * @author CH cao.hui@trs.com.cn
 * @version 1.o
 */

 /**
 * TRSAction\u6784\u9020\u51FD\u6570
 * @class CTRSAction\u7C7B
 * @constructor
 * @param {int} _sActionURL \u4EA4\u4E92\u7684\u5730\u5740
 * @return CTRSAction\u7684\u4E00\u4E2A\u5B9E\u4F8B
 */
function CTRSAction(_sActionURL){
//Define Properties
	try{
		/**
		 * @private
		 */
		this.oActionParam = new CTRSRequestParam();
	}catch(e){
		alert("Not include file CTRSRequestParam.js!");
		return;
	}	

	/**
	 * \u8BBE\u7F6E\u7ED9\u4EA4\u4E92\u9875\u9762\u4F20\u9012\u7684\u53C2\u6570
	 * @param {String} \u53C2\u6570\u540D\u79F0
	 * @param {String} \u53C2\u6570\u503C
	 */
	this.setParameter		= function(_sParameterName, _sValue){
		return this.oActionParam.setParameter(_sParameterName, _sValue);
	}

	//If Self Action
	if(CTRSAction_isSelfLocation(_sActionURL)){
		/**
		 * @private
		 */
		this.sActionURL = CTRSAction_getLocationURL();
		this.oActionParam.setAllParameters(TRSRequestParam);		
	}else{
		/**
		 * @private
		 */
		this.sActionURL = _sActionURL;
	}

//Define Methods
	this.getActionURL		= CTRSAction_getActionURL;
	this.validateActionURL	= CTRSAction_validateActionURL;
	this.doAction			= CTRSAction_doAction;
	this.doDialogAction		= CTRSAction_doDialogAction;
	this.doModelessDialogAction = CTRSAction_doModelessDialogAction;
	this.doOpenWinAction	= CTRSAction_doOpenWinAction;
	this.doOpenWinActionX	= CTRSAction_doOpenWinActionX;
	this.doXMLHttpAction	= CTRSAction_doXMLHttpAction;
	this.getRemoteData		= CTRSAction_doXMLHttpAction;
	this.inheritParameters	= CTRSAction_inheritParameters;
	this.doNoScrollDialogAction	= CTRSAction_doNoScrollDialogAction;
}


/**
 * \u53D1\u51FA\u4EA4\u4E92\u8BF7\u6C42
 * @requirs CTRSAction CTRSAcation\u7684\u5B9E\u4F8B
 */
function CTRSAction_doAction(){
	if(!this.validateActionURL()) return;

	try{
		if(RunningProcessBar){
			RunningProcessBar.start();
		}
	}catch(e){}

	window.location.href = this.getActionURL();
}	

/**
 * \u7ED3\u5408\u8BBE\u7F6E\u7684\u4EA4\u4E92\u53C2\u6570,\u83B7\u53D6\u4EA4\u4E92\u5730\u5740
 */
function CTRSAction_getActionURL(){
	var sURL		= this.sActionURL;
	var nStartPose  = sURL.indexOf("?");
	if(nStartPose >= 0)
		sURL += "&";
	else
		sURL += "?";

	return sURL + this.oActionParam.toURLParameters();
}

function CTRSAction_validateActionURL(){
	return (this.oActionParam.toURLParameters() != null);
}

function CTRSAction_isSelfLocation(_sURL){
	if(_sURL == null)return true;

	var sSelfURL		= window.location.href;
	var nStartPose		= sSelfURL.indexOf("?");
	if(nStartPose >= 0)
		sSelfURL = sSelfURL.substring(0, nStartPose);
	
	nStartPose		= sSelfURL.lastIndexOf("/");
	if(nStartPose >= 0)
		sSelfURL = sSelfURL.substring(nStartPose+1);
	
	return (sSelfURL == _sURL);
}


/**
 * \u83B7\u53D6\u5F53\u524D\u9875\u9762\u7684\u94FE\u63A5\u5730\u5740
 */
function CTRSAction_getLocationURL(){
	var sURL		= window.location.href;
	var nStartPose  = sURL.indexOf("?");
	if(nStartPose >= 0)
		sURL = sURL.substring(0, nStartPose);

	return sURL;
}

/**
 * \u53D1\u51FA\u5E26\u6709\u6EDA\u52A8\u6761\u5BF9\u8BDD\u6846\u4EA4\u4E92\u7684\u8BF7\u6C42
 * @param {int} _nWidth \u5BF9\u8BDD\u6846\u5BBD\u5EA6
 * @param {int} _nHeight \u5BF9\u8BDD\u6846\u9AD8\u5EA6
 * @param {object} _oArgs \u4F20\u5165\u5BF9\u8BDD\u6846\u7684\u53C2\u6570\uFF08\u53EF\u4EE5\u4E3Aint string array htmlelement\uFF1B\u5176\u5B83\u81EA\u5B9A\u4E49\u5BF9\u8C61\u4E0D\u884C\uFF09
 * @throws \u5982\u679C\u6D4F\u89C8\u5668\u8BBE\u7F6E\u4E86\u62E6\u622A\uFF0C\u4F1A\u5F39\u51FA\u89E3\u9664\u62E6\u622A\u63D0\u793A
 * @return {object} \u8FD4\u56DE\u503C
 */
function CTRSAction_doDialogAction(_nWidth, _nHeight, _oArgs, _nTop, _nLeft){
	//1.verify parameters
	if(!this.validateActionURL()) return;

	var nWidth	= _nWidth	|| 200;
	var nHeight = _nHeight	|| 200;

	var nLeft	= _nLeft || (window.screen.availWidth - nWidth)/2;
	var nTop	= _nTop || (window.screen.availHeight - nHeight)/2;

	//2.Construct parameters for dialog
	var sFeatures		= "dialogHeight: "+nHeight+"px; dialogWidth: "+nWidth+"px; "
						+ "dialogTop: "+nTop+"; dialogLeft: "+nLeft+"; "
						+ "center: Yes; scroll:Yes;help: No; resizable: No; status: No;";
	//3.display Dialog
	var sDialogUrl = TRSAction_ROOT_PATH + "/include/dialog_window.html";
	var sURL = this.getActionURL();
	var arArgs = new Array();
	arArgs[0] = sURL;
	arArgs[1] = window.location.href;
	arArgs[2] = _oArgs;
	try{
		var sResult = window.showModalDialog(sDialogUrl, arArgs, sFeatures);	
		return sResult;
	}catch(e){
		alert("\u60A8\u7684IE\u63D2\u4EF6\u5DF2\u7ECF\u5C06\u5BF9\u8BDD\u6846\u62E6\u622A\uFF01\n"
				+ "\u8BF7\u5C06\u62E6\u622A\u53BB\u6389-->\u70B9\u51FB\u9000\u51FA-->\u5173\u95EDIE\uFF0C\u7136\u540E\u91CD\u65B0\u6253\u5F00IE\u767B\u5F55\u5373\u53EF\uFF01\n"
				+ "\u7ED9\u60A8\u9020\u6210\u4E0D\u4FBF\uFF0CTRS\u81F4\u4EE5\u6B49\u610F\uFF01");
		return true;
	}
	
}

/**
 * \u53D1\u51FA\u5E26\u6709\u6EDA\u52A8\u6761\u975E\u6A21\u6001\u5BF9\u8BDD\u6846\u4EA4\u4E92\u7684\u8BF7\u6C42
 * @param {int} _nWidth \u5BF9\u8BDD\u6846\u5BBD\u5EA6
 * @param {int} _nHeight \u5BF9\u8BDD\u6846\u9AD8\u5EA6
 * @param {object} _oArgs \u4F20\u5165\u5BF9\u8BDD\u6846\u7684\u53C2\u6570\uFF08\u53EF\u4EE5\u4E3Aint string array htmlelement\uFF1B\u5176\u5B83\u81EA\u5B9A\u4E49\u5BF9\u8C61\u4E0D\u884C\uFF09
 * @throws \u5982\u679C\u6D4F\u89C8\u5668\u8BBE\u7F6E\u4E86\u62E6\u622A\uFF0C\u4F1A\u5F39\u51FA\u89E3\u9664\u62E6\u622A\u63D0\u793A
 * @return {object} \u8FD4\u56DE\u503C
 */
function CTRSAction_doModelessDialogAction(_nWidth, _nHeight, _oArgs, _nTop, _nLeft){
	//1.verify parameters
	if(!this.validateActionURL()) return;

	var nWidth	= _nWidth	|| 200;
	var nHeight = _nHeight	|| 200;

	var nLeft	= _nLeft || (window.screen.availWidth - nWidth)/2;
	var nTop	= _nTop || (window.screen.availHeight - nHeight)/2;

	//2.Construct parameters for dialog
	var sFeatures		= "dialogHeight: "+nHeight+"px; dialogWidth: "+nWidth+"px; "
						+ "dialogTop: "+nTop+"; dialogLeft: "+nLeft+"; "
						+ "center: Yes; scroll:Yes;help: No; resizable: No; status: No;";
	//3.display Dialog
	var sDialogUrl = TRSAction_ROOT_PATH + "/include/dialog_window.html";
	var sURL = this.getActionURL();
	var arArgs = new Array();
	arArgs[0] = sURL;
	arArgs[1] = window.location.href;
	arArgs[2] = _oArgs;
	try{
		var sResult = window.showModelessDialog(sDialogUrl, arArgs, sFeatures);	
		return sResult;
	}catch(e){
		alert("\u60A8\u7684IE\u63D2\u4EF6\u5DF2\u7ECF\u5C06\u5BF9\u8BDD\u6846\u62E6\u622A\uFF01\n"
				+ "\u8BF7\u5C06\u62E6\u622A\u53BB\u6389-->\u70B9\u51FB\u9000\u51FA-->\u5173\u95EDIE\uFF0C\u7136\u540E\u91CD\u65B0\u6253\u5F00IE\u767B\u5F55\u5373\u53EF\uFF01\n"
				+ "\u7ED9\u60A8\u9020\u6210\u4E0D\u4FBF\uFF0CTRS\u81F4\u4EE5\u6B49\u610F\uFF01");
		return true;
	}
	
}

/**@private*/
var m_oXMLHttpTemp = null;

var INTERVAL_CHECK_XMLHTTP_STATE = 1000;

/**@private*/
function CTRSAction_checkXMLHttpStatus(){
	if(m_oXMLHttpTemp == null || m_oXMLHttpTemp.readyState == 4){
		if(RunningProcessBar){
			RunningProcessBar.close();
		}
		if(m_oXMLHttpTemp.status != 200){
			switch(m_oXMLHttpTemp.status){
				case 401:
					//CTRSAction_alert("\u60A8\u767B\u5F55\u8D85\u65F6\uFF0C\u8BF7\u91CD\u65B0\u767B\u5F55\uFF01");
					window.top.location.href = "../include/not_login.htm";
					return null;
				default:
					CTRSAction_displyInfo(600, 600, m_oXMLHttpTemp.responseText);
					return null;
			}
		}
		m_oXMLHttpTemp = null;
		return;
	}

	setTimeout("CTRSAction_checkXMLHttpStatus();", INTERVAL_CHECK_XMLHTTP_STATE);
}

/**
 * \u53D1\u51FAXMLHttp\u8BF7\u6C42
 * @param {string} _sPostData \u4F20\u9001\u7684\u6570\u636E
 * @param {boolean} _bAsync \u662F\u5426\u4E3A\u975E\u540C\u6B65\u65B9\u5F0F
 * @param {boolean} _bStartingProcessBar \u975E\u540C\u6B65\u65B9\u5F0F\u7684\u65F6\u5019\u662F\u5426\u663E\u793A\u8FDB\u5EA6\u6761
 */
function CTRSAction_doXMLHttpAction(_sPostData, _bAsync, _bStartingProcessBar){
	//1.verify parameters
	if(!this.validateActionURL()) return;

	var bAsync = false;
	if(_bAsync)bAsync = true;

	var oXMLHttp = new ActiveXObject("Microsoft.XMLHTTP"); //\u5EFA\u7ACBXMLHTTP\u5BF9\u8C61
	
	if(_bStartingProcessBar){
		if(!RunningProcessBar){
			CTRSAction_alert("Pleas include [../js/CRunningProcessBar.js]");
			return;
		}
		RunningProcessBar.start();

		try{
			oXMLHttp.open("POST", this.getActionURL(), bAsync);		
			oXMLHttp.send(_sPostData);
		}catch(e){
			if(e == "[object Error]"){
				alert("\u7CFB\u7EDF\u5DF2\u7ECF\u5173\u95ED\uFF01\u8BF7\u9000\u51FA\uFF01");
				try{
					window.top.window.close();
				}catch(err){}
				return null;
			}
		}
		m_oXMLHttpTemp = oXMLHttp;
		setTimeout("CTRSAction_checkXMLHttpStatus();", INTERVAL_CHECK_XMLHTTP_STATE);
		return;
	}
	oXMLHttp.open("POST", this.getActionURL(), bAsync);
	
	try{
		oXMLHttp.send(_sPostData);
		if(oXMLHttp.status != 200){
			switch(oXMLHttp.status){
				case 401:
					//alert("\u60A8\u767B\u5F55\u8D85\u65F6\uFF0C\u8BF7\u91CD\u65B0\u767B\u5F55\uFF01");
					//CTRSAction_displyInfo(600, 600, oXMLHttp.responseText);
					window.top.location.href = "../include/not_login.htm";
					return null;
				default:
					CTRSAction_displyInfo(600, 600, oXMLHttp.responseText);
					return null;
			}
		}
	}catch(e){
		if(e == "[object Error]"){
			alert("\u7CFB\u7EDF\u5DF2\u7ECF\u5173\u95ED\uFF01\u8BF7\u9000\u51FA\uFF01");
			try{
				window.top.window.close();
			}catch(err){}
			return null;
		}
	}

	delete oXMLHttp;
	return oXMLHttp.responseText;	
}

/**
 * \u53D1\u51FA\u5F39\u51FA\u7A97\u53E3\u7684\u4EA4\u4E92\u8BF7\u6C42
 * @param {int} _nWidth \u5BF9\u8BDD\u6846\u5BBD\u5EA6
 * @param {int} _nHeight \u5BF9\u8BDD\u6846\u9AD8\u5EA6
 */
function CTRSAction_doOpenWinActionX(_sName, _bReplaced, _nWidth, _nHeight){
	if(!this.validateActionURL()) return;

	var nWidth	= _nWidth || (window.screen.availWidth  - 20);
	var nHeight = _nHeight || (window.screen.availHeight - 40);
	var nLeft	=(window.screen.availWidth - nWidth-10)/2;
	var nTop	= (window.screen.availHeight - nHeight-20)/2;
	var sName	= _sName || "";

	var oWin = window.open(this.getActionURL(), sName, "top="+nTop+",left="+nLeft+",fullscreen =true,menubar =no,toolbar =no,width="+nWidth+",height="+nHeight+",scrollbars=yes,location =no,titlebar=no", _bReplaced);
	if(oWin == null){
		alert("\u60A8\u7684IE\u63D2\u4EF6\u5DF2\u7ECF\u5C06\u7A97\u53E3\u62E6\u622A\uFF01\n"
				+ "\u8BF7\u5C06\u62E6\u622A\u53BB\u6389-->\u70B9\u51FB\u9000\u51FA-->\u5173\u95EDIE\uFF0C\u7136\u540E\u91CD\u65B0\u6253\u5F00IE\u767B\u5F55\u5373\u53EF\uFF01\n"
				+ "\u7ED9\u60A8\u9020\u6210\u4E0D\u4FBF\uFF0CTRS\u81F4\u4EE5\u6B49\u610F\uFF01");
		window.close();
	}else{
		oWin.opener =  window;
		oWin.focus();
	}
	//window.showModalDialog('../include/open_win.jsp', args,'dialogWidth:1px;dialogHeight:1px;dialogTop:1;dialogLeft:1;');
}

function CTRSAction_doOpenWinAction(_nWidth, _nHeight){
	this.doOpenWinActionX("", false, _nWidth, _nHeight);
}

/**
 * \u53D1\u51FA\u4E0D\u5E26\u6EDA\u52A8\u6761\u5BF9\u8BDD\u6846\u4EA4\u4E92\u7684\u8BF7\u6C42
 * @param {int} _nWidth \u5BF9\u8BDD\u6846\u5BBD\u5EA6
 * @param {int} _nHeight \u5BF9\u8BDD\u6846\u9AD8\u5EA6
 * @param {object} _oArgs \u4F20\u5165\u5BF9\u8BDD\u6846\u7684\u53C2\u6570\uFF08\u53EF\u4EE5\u4E3Aint string array htmlelement\uFF1B\u5176\u5B83\u81EA\u5B9A\u4E49\u5BF9\u8C61\u4E0D\u884C\uFF09
 * @throws \u5982\u679C\u6D4F\u89C8\u5668\u8BBE\u7F6E\u4E86\u62E6\u622A\uFF0C\u4F1A\u5F39\u51FA\u89E3\u9664\u62E6\u622A\u63D0\u793A
 * @return {object} \u8FD4\u56DE\u503C
 */
function CTRSAction_doNoScrollDialogAction(_nWidth, _nHeight, _oArgs){
	//1.verify parameters
	if(!this.validateActionURL()) return;

	var nWidth	= _nWidth	|| 200;
	var nHeight = _nHeight	|| 200;

	var nLeft	= (window.screen.availWidth - nWidth)/2;
	var nTop	= (window.screen.availHeight - nHeight)/2;


	//2.Construct parameters for dialog
	var sFeatures		= "dialogHeight: "+nHeight+"px; dialogWidth: "+nWidth+"px; "
						+ "dialogTop: "+nTop+"; dialogLeft: "+nLeft+"; "
						+ "center: Yes; scroll:No;help: No; resizable: No; status: No;";
	//3.display Dialog
	var sDialogUrl = TRSAction_ROOT_PATH + "/include/dialog_window.html";
	var sURL = this.getActionURL();
	var arArgs = new Array();
	arArgs[0] = sURL;
	arArgs[1] = window.location.href;
	arArgs[2] = _oArgs;
	try{
		var sResult = window.showModalDialog(sDialogUrl, arArgs, sFeatures);	
		return sResult;
	}catch(e){
		alert("\u60A8\u7684IE\u63D2\u4EF6\u5DF2\u7ECF\u5C06\u5BF9\u8BDD\u6846\u62E6\u622A\uFF01\n"
				+ "\u8BF7\u5C06\u62E6\u622A\u53BB\u6389-->\u70B9\u51FB\u9000\u51FA-->\u5173\u95EDIE\uFF0C\u7136\u540E\u91CD\u65B0\u6253\u5F00IE\u767B\u5F55\u5373\u53EF\uFF01\n"
				+ "\u7ED9\u60A8\u9020\u6210\u4E0D\u4FBF\uFF0CTRS\u81F4\u4EE5\u6B49\u610F\uFF01");
		return true;
	}
	
}


/**@private*/
function CTRSAction_inheritParameters(){
	this.oActionParam.setAllParameters(TRSRequestParam);
}

//Self Action 1----refreshMe
/**
 * \u5237\u65B0\u5F53\u524D\u7684\u9875\u9762
 */
function CTRSAction_refreshMe(){
	var oTRSAction = new CTRSAction();
	oTRSAction.doAction();
}

//Self Action 2----gotoPage
/**
 * \u5728\u5217\u8868\u9875\u9762\u4E2D\u5B9A\u4F4D\u5230\u6307\u5B9A\u5206\u9875
 * @param {int} _nPageIndex \u9875\u9762\u5E8F\u53F7\uFF0C\u4ECE1\u5F00\u59CB
 */
function CTRSAction_gotoPage(_nPageIndex){
	var oTRSAction = new CTRSAction();
	oTRSAction.setParameter("PageIndex", _nPageIndex);
	oTRSAction.doAction();	
}


//Self Action 3----doSearch
/**
 * \u6309\u7167Form\u4E2D\u7684\u6570\u636E\u5BF9\u5F53\u524D\u9875\u9762\u8FDB\u884C\u68C0\u7D22\uFF0C\u4E00\u822C\u5E94\u7528\u5728\u5217\u8868\u9875\u9762
 * @param {Form} _oForm \u68C0\u7D22\u6570\u636E\u7684Form\u5BF9\u8C61
 */
function CTRSAction_doSearch(_oForm){
	var oForm = _oForm;
	if(_oForm == null)
		oForm = document.frmSearch;	

	var oTRSAction = new CTRSAction();

	var arEls = oForm.elements;//get All data from the form
	for(var i = 0;i<arEls.length;i++){			
		var sType = arEls[i].type;
		if(sType != null ){
			sType = sType.toUpperCase();
			if(sType == "BUTTON" || sType == "SUBMIT" || sType=="IMG" || sType=="RESET"){
				continue;
			}
		}

		var sValue = arEls[i].value;
		/*if(sValue.length && sValue.length > 200){
			CTRSAction_displyReports(300, 200,  "\u5BF9\u4E0D\u8D77\uFF0C\u60A8\u8F93\u5165\u7684\u68C0\u7D22\u5185\u5BB9\u8FC7\u957F\uFF0C\u8D85\u51FA\u6700\u5927\u957F\u5EA6[200]\uFF0C\u8BF7\u91CD\u65B0\u8F93\u5165\uFF01");
			return;
		}
		*/

		oTRSAction.setParameter(arEls[i].name, sValue);
	}	
	//oTRSAction.setParameter("SearchKey", oForm.SearchKey.value);
	//oTRSAction.setParameter("SearchValue", oForm.SearchValue.value);
	oTRSAction.setParameter("PageIndex", 1);
	
	oTRSAction.doAction();
}

//Self Action 4----doOrderBy
/**
 * \u6309\u7167\u6307\u5B9A\u7684\u65B9\u5F0F\u5BF9\u9875\u9762\u8FDB\u884C\u6392\u5E8F\uFF0C\u5E94\u7528\u5728\u5217\u8868\u9875\u9762\u4E2D
 * @param {String} _sOrderField \u6392\u5E8F\u5B57\u6BB5
 * @param {String} _sOrderType \u6392\u5E8F\u65B9\u5F0F(DESC|ASC)
 */
function CTRSAction_doOrderBy(_sOrderField, _sOrderType){
	var oTRSAction = new CTRSAction();
	
	oTRSAction.setParameter("OrderField", _sOrderField);
	oTRSAction.setParameter("OrderType", _sOrderType);
	
	oTRSAction.setParameter("PageIndex", 1);
	
	oTRSAction.doAction();
}

/**
 * \u6839\u636E\u6307\u5B9A\u7684HTML\u4EE3\u7801\u663E\u793A\u4FE1\u606F\u63D0\u793A\u9875\u9762
 * @param {int} _nWidth \u5BF9\u8BDD\u6846\u5BBD\u5EA6
 * @param {int} _nHeight \u5BF9\u8BDD\u6846\u9AD8\u5EA6
 * @param {String} _sInforHTML \u4FE1\u606F\u63D0\u793A\u9875\u9762\u7684\u5185\u5BB9
 */
function CTRSAction_displyInfo(_nWidth, _nHeight, _sInforHTML){
	var sURL = TRSAction_ROOT_PATH + "/include/info.html";
	var oTRSAction = new CTRSAction(sURL);	
	var oArgs = new Object();
	oArgs.InfoHTML = _sInforHTML;
	oTRSAction.doDialogAction(_nWidth, _nHeight, oArgs);
}

/**
 * \u6839\u636E\u6307\u5B9A\u7684HTML\u4EE3\u7801\u663E\u793A\u8B66\u544A\u4FE1\u606F\u63D0\u793A\u9875\u9762
 * @param {int} _nWidth \u5BF9\u8BDD\u6846\u5BBD\u5EA6
 * @param {int} _nHeight \u5BF9\u8BDD\u6846\u9AD8\u5EA6
 * @param {String} _sInforHTML \u4FE1\u606F\u63D0\u793A\u9875\u9762\u7684\u5185\u5BB9
 */
function CTRSAction_displyReports(_nWidth, _nHeight, _sInforHTML, _bInfo){
	var sURL = TRSAction_ROOT_PATH + "include/reports.html";
	var oTRSAction = new CTRSAction(sURL);	
	var oArgs = new Object();
	oArgs.InfoHTML = _sInforHTML;
	oArgs.IsInfo = _bInfo;
	oTRSAction.doNoScrollDialogAction(_nWidth, _nHeight, oArgs);
}

/**
 * \u6839\u636E\u6307\u5B9A\u7684HTML\u4EE3\u7801\u663E\u793A\u8B66\u544A\u4FE1\u606F\u63D0\u793A\u9875\u9762 confirm
 * @param {int} _nWidth \u5BF9\u8BDD\u6846\u5BBD\u5EA6
 * @param {int} _nHeight \u5BF9\u8BDD\u6846\u9AD8\u5EA6
 * @param {String} _sInforHTML \u4FE1\u606F\u63D0\u793A\u9875\u9762\u7684\u5185\u5BB9
 */
function CTRSAction_confirmReports(_nWidth, _nHeight, _sInforHTML, _bInfo){
	var sURL = TRSAction_ROOT_PATH + "include/reports_confirm.html";
	var oTRSAction = new CTRSAction(sURL);	
	var oArgs = new Object();
	oArgs.InfoHTML = _sInforHTML;
	oArgs.IsInfo = _bInfo;
	var result = oTRSAction.doNoScrollDialogAction(_nWidth, _nHeight, oArgs);
	return result;
}

/**
 * \u6839\u636E\u6307\u5B9A\u7684HTML\u4EE3\u7801\u663E\u793A\u8B66\u544A\u4FE1\u606F\u63D0\u793A\u9875\u9762 confirm
 * @param {int} _nWidth \u5BF9\u8BDD\u6846\u5BBD\u5EA6
 * @param {int} _nHeight \u5BF9\u8BDD\u6846\u9AD8\u5EA6
 * @param {String} _sInforHTML \u4FE1\u606F\u63D0\u793A\u9875\u9762\u7684\u5185\u5BB9
 */
function CTRSAction_ifReports(_nWidth, _nHeight, _sInforHTML, _bInfo){
	var sURL = TRSAction_ROOT_PATH + "include/reports_if.html";
	var oTRSAction = new CTRSAction(sURL);	
	var oArgs = new Object();
	oArgs.InfoHTML = _sInforHTML;
	oArgs.IsInfo = _bInfo;
	var result = oTRSAction.doNoScrollDialogAction(_nWidth, _nHeight, oArgs);
	return result;
}

function CTRSAction_convertErrorInfo(_sErrorInfo){
	var MAX_LENGTH = 17;

	var nCarrigeCount	= 2;
	var nMaxLength		= MAX_LENGTH;
	var nNextPos		= _sErrorInfo.indexOf("\n");
	var nPrePos			= 0;
	while(nNextPos>=0){
		if((nNextPos-nPrePos)>nMaxLength){
			nMaxLength = (nNextPos-nPrePos);
		}
		nPrePos		= nNextPos;
		nNextPos	= _sErrorInfo.indexOf("\n", nNextPos+1);
		nCarrigeCount++;
	}	
	if((_sErrorInfo.length-nPrePos) > nMaxLength){
		nMaxLength = _sErrorInfo.length;
	}
	

	var nWidth = 300;
	if(nMaxLength>MAX_LENGTH){
		nWidth += (nMaxLength-MAX_LENGTH)*3;
	}
	var nHeight = 200;
	nHeight += 20*nCarrigeCount;

	var oInfo = new Object();
	oInfo.CarrigeCount	= nCarrigeCount;
	oInfo.MaxLength		= nMaxLength;
	oInfo.Width			= nWidth;
	oInfo.Height		= nHeight;
	oInfo.InfoHTML		= _sErrorInfo.replace(/\n/g, "<BR>");

	return oInfo;
}

function CTRSAction_alert(_sInforHTML, _bInfo){
	var oInfo = CTRSAction_convertErrorInfo(_sInforHTML);
	CTRSAction_displyReports(oInfo.Width, oInfo.Height, oInfo.InfoHTML, _bInfo);
}

function CTRSAction_confirm(_sInforHTML){
	var oInfo = CTRSAction_convertErrorInfo(_sInforHTML);
	var result = CTRSAction_confirmReports(oInfo.Width, oInfo.Height, oInfo.InfoHTML);
	return result;
}

function CTRSAction_if(_sInforHTML){
	var oInfo = CTRSAction_convertErrorInfo(_sInforHTML);
	var result = CTRSAction_ifReports(oInfo.Width, oInfo.Height, oInfo.InfoHTML);
	return result;
}


function CTRSAction_setRootPath(_sRootPath){
	this.TRSAction_ROOT_PATH = _sRootPath;
}


function CTRSAction_validateURL(_sURL,_sContent){
	var oXMLHttp = new ActiveXObject("Microsoft.XMLHTTP"); //\u5EFA\u7ACBXMLHTTP\u5BF9\u8C61	
	var sContent=_sContent||"";
	var bResult = false;
	try{
		
		oXMLHttp.open("get", _sURL, false);
		oXMLHttp.send();
		bResult = (oXMLHttp.status != 404);
		
		if(sContent!=""){
			bResult = bResult&&(oXMLHttp.responseText == sContent );
		}
	}catch(e){		
		//alert(e);
	}
	
	delete oXMLHttp;
	return bResult;	
}


var TRSAction_ROOT_PATH = "../";