﻿<!--
//全局管理对象
if(!$CSEM)var $CSEM={};
$CSEM.Format='js'
//以下内容如果不是非常熟悉请不要随意改动
//文件路径
$CSEM.Root=(function(){
	var Scripts=document.getElementsByTagName('script');
	return Scripts[Scripts.length-1].src.replace(/boot.js/gi,'');
})();
$CSEM.FileURL=$CSEM.Root+$CSEM.Format+'/';
//风格配置
$CSEM.SkinURL=$CSEM.Root+'Skins/';
$CSEM.Skins='blue'
//检测浏览器类型
$CSEM.Browser=(function(){
	if(window.navigator.userAgent.toLowerCase().indexOf('msie')>-1)return 'msie';
	if(window.navigator.userAgent.toLowerCase().indexOf('firefox')>-1)return 'firefox';
	if(window.navigator.userAgent.toLowerCase().indexOf('opera')>-1)return 'opera';
	return 'other';
})();

//运行代码
$CSEM.runCode=function(a){
	if(typeof arguments[0]!='string')return false;
	if($CSEM.Browser=='msie')
		window.execScript(arguments[0]);
	else
		window.eval(arguments[0]);
	return true;
};
//取得event
$CSEM.Event=function(e){
	var event=e||window.event;
	if(!event)
	{
		var src=$CSEM.Event.caller;
		event=src.arguments[0];
		while(src)
		{
			event=src.arguments[0];
			if (event && window.Event == event.constructor)break;
			src = src.caller;
		}
	}
	return event;
};
//AJAX类==================================================================================================
$AJAX=function(){
	var _Me=this;
	/*
	arguments[0]:进度显示对象
	arguments[1]:结果处理函数
	arguments[2]:获取数据方式
	arguments[3]:获取数据地址
	arguments[4]:是否异步操作
	arguments[5]:传输数据内容
	*/
	//初始化设置
	this.Progress=arguments[0]||document.createElement('div');
	this.onComplete=(typeof arguments[1]=='function')?arguments[1]:function(){$CSEM.runCode(arguments[0]);};
	this.Method=(arguments[2]||'GET').toUpperCase()
	this.URL=arguments[3]||$CSEM.FileURL+'Version.'+$CSEM.Format;
	this.Synchronous=arguments[4]||false;
	this.Data=arguments[5];
	//建立XMLHttpRequest对象
	var XmlHttpObject=(function(){
		var ReturnObj=null;
		try{
			ReturnObj=new XMLHttpRequest();
			if(ReturnObj.overrideMimeType)ReturnObj.overrideMimeType='text/xml';
		}catch(e){
			var Driver=['Msxml2.XMLHTTP.5.0','Msxml2.XMLHTTP.4.0','Msxml2.XMLHTTP','Microsoft.XMLHTTP'];
			for(var i in Driver)
				try{
					ReturnObj=new ActiveXObject(Driver[i]);	break;
				}catch(e){continue;}
		}
		return ReturnObj;
	})();
	//停止发送数据
	this.abort=function(){XmlHttpObject.abort();};
	//[发送/获取]数据方法
	this.send=function(){
		/*
		arguments[0]:获取数据方式
		arguments[1]:获取数据地址
		arguments[2]:是否异步操作
		arguments[3]:传输数据内容
		arguments[4]:结果处理函数
		arguments[5]:进度显示对象
		*/
		var _Method=(arguments[0]||_Me.Method).toUpperCase();
		var _URL=arguments[1]||_Me.URL;
		var _Synchronous=arguments[2]||_Me.Synchronous;
		var _Data=arguments[3]||_Me.Data;
		var _onComplete=(typeof arguments[4]=='function')?arguments[4]:_Me.onComplete;
		var _Progress=arguments[5]||_Me.Progress;
		if(!_Progress.firstChild)_Progress.appendChild(document.createTextNode('等待处理..'));
		//初始化发送数据
		var Interactive='';
		switch(typeof _Data)
		{
			case 'string':
				//字符串数据
				if(_Data.indexOf('=')!=-1)
				{
					Interactive=_Data;
					break;
				}
				//表单处理
				var FormObject=document.forms[_Data];
				if(!FormObject)return false;
				if(FormObject.action!='')_URL=FormObject.action;
				if(FormObject.method!='')_Method=FormObject.method.toUpperCase();
				for(var i=0;i<FormObject.length;i++)
				{
					if(FormObject[i].name)
					{
						if(Interactive!='')Interactive+='&';
						Interactive+=FormObject[i].name+'='+FormObject[i].value;
					}
				}
				break;
			case 'object':
				//数组或对象处理
				if(!_Data)return false;
				for(var i in _Data)
				{
					if(Interactive!='')Interactive+='&';
					Interactive+=i+'='+_Data[i];
				}
				
		}
		//GET数据模式串联
		if(_Method=='GET'&&Interactive!='')
		{
				if(_URL.indexOf('?')!=-1)
					_URL=_URL+'&'+Interactive;
				else
					_URL=_URL+'?'+Interactive;
				Interactive=null;
		}
		//设定并发送数据
		try{
			XmlHttpObject.open(_Method,_URL,_Synchronous);
			if(_Method=='GET'){
				XmlHttpObject.setRequestHeader('Content-Type','text/html;charset=utf-8');
				XmlHttpObject.setRequestHeader('if-modified-since','0');
			}else{
				XmlHttpObject.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
			}
			XmlHttpObject.send(Interactive);
		}catch(e){}
		//处理数据 arguments[0]:文本 arguments[1]:XML arguments[0]:状态
		if(!_Synchronous){
			if (XmlHttpObject.status==0 || XmlHttpObject.status==200)
				_onComplete(XmlHttpObject.responseText,XmlHttpObject.responseXML,XmlHttpObject.statusText);
		}else{
			XmlHttpObject.onreadystatechange=function()
			{
				switch(XmlHttpObject.readyState)
				{
					case 0:
						_Progress.innerHTML='<img src=\"/Images/loading_16x16.gif\" align=\"absmiddle\" />正初始化...';
						break;
					case 1:
						_Progress.innerHTML='<img src=\"/Images/loading_16x16.gif\" align=\"absmiddle\" />递交信息...';
						break;
					case 2:
						_Progress.innerHTML='<img src=\"/Images/loading_16x16.gif\" align=\"absmiddle\" />正在处理...';
						break;
					case 3:
						_Progress.innerHTML='<img src=\"/Images/loading_16x16.gif\" align=\"absmiddle\" />返回结果...';
						break;
					case 4:
						_Progress.innerHTML='<img src=\"/Images/loading_16x16.gif\" align=\"absmiddle\" />交互完成...';
						if(XmlHttpObject.status==200)
						{
							_onComplete(XmlHttpObject.responseText,XmlHttpObject.responseXML,XmlHttpObject.statusText);
						}else{
							_Progress.firstChild.nodeValue='数据异常:'+XmlHttpObject.status;
							XmlHttpObject.abort();
						}
					}
				}
			}
		return true;
	}
}
//扩展管理
$CSEM.Extends={};
$CSEM.extend=function(){
	if(!arguments[0]||typeof arguments[0]!='string')return false;
	var Url=(arguments[1]||$CSEM.FileURL+'Extends/')+arguments[0]+'.'+$CSEM.Format;
	if($CSEM.extend.caller!=$CSEM.include)
	{
		if($CSEM.Extends[arguments[0]])return true
		$CSEM.Extends[arguments[0]]=Url
	}
	return (new $AJAX()).send('GET',Url,false)
}
//组件管理
$CSEM.Components={};
$CSEM.include=function(){
	//排除异常
	if(!arguments[0]||typeof arguments[0]!='string')return false;
	if(!$CSEM.Components[arguments[0]]||(arguments[1]||false))
	{
		var _SrcList=arguments[0].split('.');
		var _FileName=_SrcList.pop();_FileName=_FileName!='*'?'_'+_FileName:'_Package';
		if(!$CSEM.Components[arguments[0]])
		{
			//目录串联======================================================================
			var _Temp=window;
			for(var i=0;i<_SrcList.length;i++)
			{
				if(_Temp[_SrcList[i]])
				{
					_Temp=_Temp[_SrcList[i]];
					continue;
				}
				_Temp[_SrcList[i]]={};
				_Temp=_Temp[_SrcList[i]];
			}
			$CSEM.Components[arguments[0]]=(arguments[2]||$CSEM.FileURL+_SrcList.join('/')+'/');
		}
		$CSEM.extend(_FileName,$CSEM.Components[arguments[0]]); 
	}
	return true;
}
//-->