/**********
范申最后	 2007-9-7
最后修改	 2008-3-23
**********/
/*
window.onUnload=function()
{
	CollectGarbage();
}
*/
//增加数组原型-删除(不太好，会导致，使用for(key in Array) 出现多余的项)
/*
Array.prototype.baoremove = function(dx)
{
     if(isNaN(dx)||dx>this.length){return false;}
     this.splice(dx,1);
}
*/

/**************
增加函数原型：获得当前函数名称
***************/
Function.prototype.getFunName=function()
{   
   var   s   =   Function.prototype.getFunName.caller.toString();   
   return   s.split(/[\r\n]+/)[0].replace(/function\s+(\w+).+/g,   '$1');   
}


function JS_r_e(e)
{
	var tmp_r=""
	var i=1;
	for(key in e)
	{
		tmp_r+="("+i+")"+key+":"+e[key]+"|"
		i++
	}

	return tmp_r.substr(0,tmp_r.length-1)
}

window.onerror=JS_ERRWORK;

function JS_ERRWORK(m,u,l)
{
	var v_default=
	{
		"message":{
					"depict":"当前页面出现未知的错误 (unknown error)",
					"beget":"1.当前页面显示异常\n2.您在当前页面的一些操作失败",
					"project":"1.请确认您的浏览器版本为：IE6以上 (please use IE6)\n2.否则请和管理员联系 (please call Admin)",
					"nextwork":"1.点“确定”：依然提示其他错误的发生\n2.点“取消”：不再提示任何其他错误，除非重新刷新本页面。这可能会造成您操作上的误区"
					}
	}
	var v_debug=
	{
		//"show":true,
		"message":{
					"depict":"1.描述："+m+"\n2.来源："+u+"\n3.行号："+l,
					"beget":null,
					"project":null,
					"nextwork":"1.点“确定”：依然提示其他错误的发生\n2.点“取消”：不再提示任何其他错误，除非重新刷新本页面。这可能会造成您操作上的误区"
					}
	}
	var v_type={
				"imgErr":{
							"depict":"1.准备显示的图片类型错误\n2.或者不符合路径规则",
							"beget":"显示，或上传不会成功",
							"project":"1.请重新选择文件\n2.如果准备显示的是网站文件，请和管理员联系",
							"nextwork":null
							},
				"xmlHttpErr1":{
							"depict":"数据通信返回错误",
							"beget":"发送，或接收的数据失败，或者不可信",
							"project":"1.请重复上次操作\n2.如果多次出现该情况，请和管理员联系",
							"nextwork":null
							},
				"xmlHttpErr2":{
							"depict":"数据通信失败",
							"beget":"发送，或接收的数据丢失",
							"project":"1.请重复上次操作\n2.如果多次出现该情况，请和管理员联系",
							"nextwork":null
							},
				"paraErr":{
							"depict":"参数错",
							"beget":"程序不能正常执行，页面不能正常显示",
							"project":"1.请刷新本页面\n2.如果多次出现该情况，请和管理员联系",
							"nextwork":null
							},
				"objErr":{
							"depict":"对象错",
							"beget":"程序不能正常执行，页面不能正常显示",
							"project":"1.请刷新本页面\n2.如果多次出现该情况，请和管理员联系",
							"nextwork":null
							},
				"objErr2":{
							"depict":"内部窗口对象错",
							"beget":"程序不能正常执行，页面不能正常显示",
							"project":"1.请刷新本页面\n2.如果多次出现该情况，请和管理员联系",
							"nextwork":null
							},
				"upload_plan":{
							"depict":"上传进度指示出现未知错误",
							"beget":"上传进度不能正常指示",
							"project":"1.请等待，将使用无进度指示的上传\n2.或者刷新页面后重新上传\n3.如果多次出现该情况，请和管理员联系",
							"nextwork":null
							}
			}

	var tmp_showMessage,showMessage
	if(v_debug.show==true)
	{
		tmp_showMessage=v_debug.message
	}
	else
	{
		var tmp_m=m.split("||");
		tmp_m=tmp_m[0]

		if(JS_checkInObj(2,[v_type,tmp_m])==true)
		{
			tmp_showMessage=v_type[tmp_m]
		}
		else
		{
			tmp_showMessage=v_default.message

			//不弹出未知错误
			window.onerror=null;return false;
		}
	}

	if(tmp_showMessage.depict!=null){showMessage="【警告】\n"+tmp_showMessage.depict;}

		showMessage=showMessage.replace(/\|\|/gi, "\n")
		showMessage=showMessage.replace(/\|/gi, "\n")

	if(tmp_showMessage.beget!=null){showMessage+="\n\n【可能导致】\n"+tmp_showMessage.beget;}
	if(tmp_showMessage.project!=null){showMessage+="\n\n【解决方案】\n"+tmp_showMessage.project;}
	if(tmp_showMessage.nextwork!=null)
	{
		showMessage+="\n\n【可选操作】\n"+tmp_showMessage.nextwork;
		if(confirm(showMessage)){return true;}else{window.onerror=null;return false;}
	}
	else
	{
		alert(showMessage);return true;
	}
}

/********
创建网页对象
创建的类型
创建的名称
创建的序号
创建的级别
相对级别名称
相对级别序号
*********/
function JS_createDocumentObj(type,name,id,level,levelName,levelId)
{
	if(level)
	{
		if(!levelId){levelId=0}
		levelObj=document.getElementsByName(levelName)[levelId]
			
		if(!levelObj)
		{
			alert(Function.getFunName()+"找不到级别对象")
			return false;
		}
	}

	if(!id){id=0;}
	if(name)
	{
		var tmp_name=name
	}
	else
	{
		var tmp_name="cObjName";
	}

	while (document.getElementsByName(tmp_name)[0])
	{
		tmp_name=tmp_name+"1";
	}
	
	var cObj = document.createElement(type);
	//cObj.name=tmp_name;
	//cObj.id=tmp_name;
	cObj.setAttribute("id",tmp_name);
    cObj.setAttribute("name",tmp_name);

	if(!level)
	{
		document.body.appendChild(cObj);
	}
	else
	{

		if(level=="f")//父
		{
			alert("尚未实现");return false;
		}
		else if(level=="z")//子
		{
			levelObj.appendChild(cObj);
		}
		else if(level=="zOther")//子
		{
			levelObj.parentNode.appendChild(cObj);
		}
		else if(level=="bf")//兄之前
		{
			levelObj.parentNode.insertBefore(cObj, levelObj)
		}
		else if(level=="bn")//兄之后
		{
			alert(Function.getFunName()+"尚未实现");return false;
			//levelObj.parentNode.
		}
	}

	return cObj
}
/***********
为必填项增加标记
**************/
function JS_add_bSign(value,color,ObjNameArray,ObjBArray)
{
	if(typeof(ObjNameArray)!="object")
	{
		alert(Function.getFunName()+"参数错误");return false;
	}
	for(key in ObjNameArray)
	{
		var tmp_obj=document.getElementsByName(ObjNameArray[key])[0]
		if(!tmp_obj)
		{
			alert(Function.getFunName()+"找不到对象："+ObjNameArray[key]);return false;
		}
		else 
		{
			if(typeof(ObjBArray)=="object")
			{
				if(ObjBArray[key]==1)
				{
					var tmp_r_Sign=JS_createDocumentObj("span","","","zOther",ObjNameArray[key])
					tmp_r_Sign.innerHTML="<font color='"+color+"'>&nbsp;"+value+"</font>"
				}
			}
			else
			{
					var tmp_r_Sign=JS_createDocumentObj("span","","","zOther",ObjNameArray[key])
					tmp_r_Sign.innerHTML="<font color='"+color+"'>&nbsp;"+value+"</font>"
			}
		}
	}
}

//改变模态窗口大小
/*
window.dialogHeight = window.dialogHeight+"20px";
window.dialogWidth = "350px"; 
var Height_tem=parseFloat(window.dialogHeight.replace("px", ""))+25;
window.dialogHeight = Height_tem+"px";
,'help:0;center:1;resizable:1;status:0;scroll:auto' edge: ( sunken | raised ) 
*/
function JS_changeDialogHW(w,h)
{
	if(typeof(window.external)=='object')
	{
		var ww,hh
		ww=w;
	
		var winEdition=window.navigator.userAgent;//判断操作系统
		//Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
		var rgExps=/Windows NT(.*)\)/;
		var returns=winEdition.match(rgExps);
		if(returns!=null)
		{
			hh=(parseFloat(returns[1]) <=5)?(h):(parseFloat(h)+30);
		}
		else
		{
			hh=h;
		}

		if(w){window.dialogWidth	= ww+"px";}else{window.dialogWidth	= '800px'}
		if(h){window.dialogHeight	= hh+"px";}else{window.dialogHeight	= '600px'}
	}
}
//this.options[this.selectedIndex].text
/*
//获得控件的绝对位置(2)  高度
//t:(w/h:宽度/高度)
function JS_getEh(e,t)
{ 
	var obj=document.getElementsByName(e)[0];

	oRect   =   obj.getBoundingClientRect();
	//  oRect.left
	if(t=="w"){return oRect.left;}
	if(t=="h"){return oRect.top;}
}
*/
/*************
多选的全选
type(1/2/3:全选/全不选/反选)
*****************/
function JS_selectall(CheckName,type)
{
	var obj=document.getElementsByName(CheckName);
		for(i=0;i<obj.length;i++)
		{
			switch (type)
			{
				case 1:
					obj[i].checked=true;
				break;
				case 2:
					obj[i].checked=false;
				break;
				case 3:
					if(obj[i].checked==true){obj[i].checked=false;}else{obj[i].checked=true;}
				break;
			}
		}
}
/*************
select的全选
type(1/2/3:全选/全不选/反选)
*****************/
function JS_select_all(obj,type)
{
		for(i=0;i<obj.options.length;i++)
		{
			switch (type)
			{
				case 1:
					obj.options[i].selected=true;
				break;
				case 2:
					obj.options[i].selected=false;
				break;
				case 3:
					if(obj.options[i].selected==true)
						{obj.options[i].selected=false;}
					else{obj.options[i].selected=true;}
				break;
			}
		}
}

/*****************
是否有选择
**********************/
function JS_getCheckbox(CheckName)
{
	var objs=document.getElementsByName(CheckName);
	for(var i=0;i<objs.length;i++)
	{
		if(objs[i].checked==true){return true;}
	}
	return false;
}


/****************************
获得radio被选中值
*****************************/
function JS_getRadio(CheckName)
{
	var objs=document.getElementsByName(CheckName);
	for(var i=0;i<objs.length;i++)
	{
		if(objs[i].checked==true)
		{
			var returns=new Array(objs[i].value,i);
			return returns;
		}
	}
	return false;
}
	
/****************************
获得select被选中值
type:空/1：值/文字
*****************************/
function JS_getSelect(CheckName,type)
{
	var objs=document.getElementsByName(CheckName)[0];
	if(!type)
	{
		if(objs.value!=undefined){return objs.value;}
		else{return false;}
	}
	else if(type==1)
	{
		return objs.options[objs.selectedIndex].text
	}
	/*
	for(var i=0;i<objs.length;i++)
	{
		if(objs[i].selected==true)
		{
			return objs[i].value;
		}
	}
	return false;
	*/
}

/**********************
获得nnerHTML值
***************************/
function JS_getInnerHTML(CheckName,nums)
{
	var objs=document.getElementsByName(CheckName);
	if(objs.length!=0 && typeof(nums)=="number")
	{return objs[nums].innerHTML}
	else
	{return false;}
}

/***************************
确定,关闭窗口（给模态框窗口用）

vars01:要选择的（字窗口）元素名称，为数组
vars02:元素类型（inputs(textarea)/selects/radios/innerHTMLs/），为数组
vars03:要返回的（父窗口）元素名称，为数组
vars04:元素类型（input(textarea)/select/radio/innerHTML/），为数组
***********************************/

function JS_oks(vars01,vars02,vars03,vars04)
{
	var vars01_value;
	var key;
	var orders;

for(key in vars01)
{
	switch (vars02[key])
	{
		case "inputs":
		vars01_value=document.getElementsByName(vars01[key])[0].value;
		break;

		case "selects":
			vars01_value=JS_getSelect(vars01[key]);
			if(vars01_value==false){alert("没有选项被选择");return false;}
		break;

		case "radios":
			var vars01_value_tem=JS_getRadio(vars01[key]);
			if(vars01_value_tem==false){alert("没有选项被选择");return false;}
			var vars01_value=vars01_value_tem[0];
			orders=vars01_value_tem[1];//为序号 交给其他元素使用
		break;

		case "innerHTMLs":
//！！！！！！！！！！！！！！！此处获得 innerHTML元素序号 的方法有待改进！！！！！！！！！！！！！//！！！！！！！！！！！
			vars01_value=JS_getInnerHTML(vars01[key],orders);
			if(vars01_value==false){alert("没有选项被选择");return false;}
		break;

		default:
		alert("JS_oks方法错误的参数1");
		return false;
		break;
	}


	var objs=window.dialogArguments.document.getElementsByName(vars03[key])[0];
	switch (vars04[key])
	{
		case "inputs":
			objs.value=vars01_value;
		break;

		case "selects":
		alert("尚未实现3");
		return false;
		break;

		case "radios":
		alert("尚未实现4");
		return false;
		break;

		case "innerHTMLs":
		alert("尚未实现5");
		return false;
		break;

		default:
		alert("JS_oks方法错误的参数2");
		return false;
		break;
	}
}

			window.close();
}

/***********************
简单的form提交

url
form名
提交到哪一页
************************/
function JS_brisubmit(var01,var02,var03)
{
	var FormName=var02;
	if(var03=="self"){}
	else if(!var03){eval(FormName).target="_self";}
	else{eval(FormName).target=var03;}
	eval(FormName).method="POST";
	eval(FormName).action=var01;
	eval(FormName).submit();
}



//验证字符串长度
function ByteString (strVal) 
{ 
nLen = 0; 

for (i = 0; i < strVal.length; i ++) 
{ 
if (strVal.charCodeAt (i) > 255) 
nLen += 2; 
else 
nLen ++; 
}; 
return (nLen); 
} 
//截取字符串
function JS_substr(str, len) 
{     
	if(!str || !len) 
	{ 
		return ''; 
	}      
	var a = 0;      
	var i = 0;      
	var temp = '';      
	for (i=0;i<str.length;i++)     
	{         
		if (str.charCodeAt(i)>255)          
		{   
			a+=2;
		}         
		else         
		{   
			a++;
		}         
		if(a > len) 
		{ 
			return temp; 
		}          
		temp += str.charAt(i);     
	}
		return str; 
}  

/*********
验证准备上传的文件后缀
返回什么
要验证的值
要验证的类型
验证什么方式的文件：本地/网络/只是文件名（传给JS_get_urlall）
*********/
function JS_vUpflie(order,value,type,other)
{
	var default_fileSu=["jpg","gif","mp3","txt","doc","chm","rar","zip"]
	if(!other){other=1}

		var tmp_vSu;
		if(type && typeof(type)=="object")
		{
			tmp_vSu=type
		}
		else
		{
			tmp_vSu=default_fileSu
		}
		var tmp_file_f=JS_get_urlall(other,value)
		var tmp_file_fname_array=tmp_file_f["fa"].split('.')

		if(tmp_file_fname_array.length>2)
		{
			return ["文件名中只能包括1个点号(.)"];
		}
		else if(JS_checkInObj(1,[tmp_vSu,tmp_file_f["fs"]])==null)
		{
			return ["1.不支持该文件格式。可支持的是："+tmp_vSu.join(",")+"\n2.或者不符合要求的路径规则"];
		}
		else
		{
			if(order=="fp")
			{
				return [null,tmp_file_f["fp"]];//返回前文件名
			}
			else
			{
				return [null];
			}
		}
}

/************************
验证提交字符串

******************************/
function JS_vz_putin(e,n,l,b,t,o,ot)
{
	var i;
	var string_lenth;

	ot=(!ot)?([]):(ot)

	for(i=0;i<e.length;i++)
	{
		var objs=(typeof(e[i])=="object")?(e[i]):(document.getElementsByName(e[i])[0]);
		
		//防止对象不存在
		if(objs!=undefined)
		{
			string_lenth=ByteString(objs.value);
			string_value=objs.value;
			if(string_lenth >l[i] && l[i]!="")
			{
				objs.focus();
				alert("当前【 "+n[i]+" 】约 "+string_lenth+" 个字符(相当于 "+string_lenth/2+" 个中文字)，超过 "+l[i]+" 个字符限制");
				return false;
			}
			
			//alert(e[i]+"|"+string_lenth+"|"+b[i])
			if( b[i]==1 && string_lenth ==0)
			{
				objs.focus();
				alert("【 "+n[i]+" 】为必填");
				return false;
			}
	
			if(t && t[i] && string_lenth)
			{
				switch(t[i])
				{
					case("logname"):
						var type="^[a-z][a-z0-9]{0,19}$";//20位以内的英文小写或者数字，字母开头
					break;

					case("lognamenum"):
						var type="^[a-z][a-z0-9]{3,19}$";//20位以内的英文小写或者数字，字母开头，最少4位
					break;

					case("nints")://自然数+0
						var type="^[0-9]*$";
					break;

					case("decs")://正浮点数
						var type="^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$";
					break;

					case("https")://https
						var type=/^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`[\]\':+!]*([^<>\"])*$/;
					break;

					case("upfile"):
					break;

					case("mails")://匹配email地址 
						var type=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
					break;

					case("pass")://匹配pass
						//var type="^[a-z0-9]{0,9}$";//8位以内的英文小写或者数字
						var type="[\w\W]*?";
					break;

					case("jdint")://匹配正负整数或小数，所有数字
						var type=/^(-|\+)?\d+(\.\d+)?$/;
					break;
/**/
					default:
						objs.focus();
						alert("JS_vz_putin数据类型方法参数："+t[i]+" 不存在");
						return false;
					break;
				}

				if(t[i]=="upfile")
				{
					if(string_value)
					{
						var ot_tmp=(ot[i])?(ot[i]):("");
						var tmp_r_vsu=JS_vUpflie("",string_value,o[i],ot_tmp)
						if(tmp_r_vsu[0]!=null)
						{
							alert(tmp_r_vsu[0]);
							objs.focus();
							return false;
						}
					}
				}
				else
				{
					var re = new RegExp(type);
					if(string_value.match(re)==null)
					{
						objs.focus();
						alert("【 "+n[i]+" 】不符合填写规则");
						return false;
					}
				}
			}
		}
		else
		{
			alert("JS_vz_putin方法参数："+e[i]+" 不存在");
			return false;
		}
	}
}

/**************
文字跟随
来源
目标
类型（inputs(textarea)/）
跟随选项（如果跟随选项选中，跟随）
*****************/
function JS_valuefollow(origins,aims,types,followname)
{
	var objs_01=document.getElementsByName(origins)[0];
	var objs_02=document.getElementsByName(aims)[0];
	var objs_03=document.getElementsByName(followname)[0];

	switch (types)
	{
		case ("inputs"):
			if(objs_03.checked==true){objs_02.value=objs_01.value;}
		break;
		default:alert("该类型尚未实现");
		break;
	}
}
/*************
获得序号
****************/
function JS_get_orders(objs)
{	
	var el = event.srcElement;
	var iTem;

	if(objs.length!=undefined)
	{		
		for(i=0;i<objs.length;i++) 
		{
			
			if(el == objs[i])
			{
				iTem=i;
				break;
			}
		}
		return iTem;
	}
	else
	{
		return falses;
	}
}
/*********************************************
显示隐藏
click2:再次点击是否隐藏：空/1：隐藏/不隐藏
***********************************************/
function JS_show_hidden(orders,datas,others,othersid,click2)
{
	if(orders==1)//1对1的
	{
		var objs_f=document.getElementsByName(datas["from"]);
		var objs_t=document.getElementsByName(datas["to"]);

		var returns=JS_get_orders(objs_f);
		
		if(returns===false)
		{
			alert("找不到对象："+objs_f.name);
			return false;
		}
		else
		{	
			if(others=="show" && /^\d+$/.test(othersid)==true)
			{
				for(i=0;i<objs_t.length;i++) 
				{
					if(i == othersid)
					{
						objs_t[i].style.display="";
					}
					else
					{
						objs_t[i].style.display="none";
					}
				}
			}
			else if(others=="hidden" &&  /^\d+$/.test(othersid)==true)
			{
				for(i=0;i<objs_t.length;i++) 
				{
					if(i == othersid)
					{
						objs_t[i].style.display="none";
					}
					else
					{
						objs_t[i].style.display="";
					}
				}
			}
			else
			{
				for(i=0;i<objs_t.length;i++) 
				{
					if(i == returns)
					{
						if(click2==1)
						{
							if(objs_t[i].style.display=="none"){objs_t[i].style.display="";}
						}
						else
						{
							if(objs_t[i].style.display==""){objs_t[i].style.display="none";}
							else{objs_t[i].style.display="";}
						}
					}
					else
					{
						objs_t[i].style.display="none";
					}
				}
			}
		}

	}
	else
	{
		alert("尚未实现");
	}
}
/******************
图片菜单
必须是同名图片
changeId :哪个序号图片需要改变
*******************/
function JS_img_menu(type,imgName,changeId)
{
	if(type==1)
	{
		var imgObj=document.getElementsByName(imgName);

		for(i=0;i<imgObj.length;i++)
		{
			imgObj[i].onmousemove=function(){this.src=this.img_to}
			imgObj[i].onmouseout=function(){this.src=this.img_from}
			imgObj[i].attachEvent("onclick",function(){on_click()})
		}

		if(changeId)
		{
			imgObj[changeId].src=imgObj[changeId].img_to
			imgObj[changeId].onmousemove=function(){this.src=this.img_to}
			imgObj[changeId].onmouseout=function(){this.src=this.img_to}
		}
	}

	var on_click=function(imgOrder)
	{
		var imgObj2=document.getElementsByName(imgName);
		var returns=JS_get_orders(imgObj2);
		if(returns===false)
		{
			alert("找不到对象："+imgName);
			return false;
		}
		for(i=0;i<imgObj2.length;i++)
		{
			if(i==returns)
			{
				imgObj[i].onmousemove=function(){this.src=this.img_to}
				imgObj[i].onmouseout=function(){this.src=this.img_to}
			}
			else
			{
				imgObj[i].src=imgObj[i].img_from
				imgObj[i].onmousemove=function(){this.src=this.img_to}
				imgObj[i].onmouseout=function(){this.src=this.img_from}
			}
		}
	}
}
/*********
显示本地预览
*********/
function JS_showImg(values,toObj,w,h)
{
	try {
	toObj.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = values;
	if(w){toObj.style.width =w+"px";}
	if(h){toObj.style.height =h+"px";}
	//toObj.style.width = toObj.offsetWidth/1;
	//toObj.style.height = toObj.offsetHeight/1; 
	if(w || h){toObj.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").sizingMethod = 'scale';}
	
	}
	catch(e) {
		if(e.message.indexOf("filters has no properties")==-1){throw(new Error("imgErr||"+JS_r_e(e)))}
		else{throw(e)}
	}
}		
/*
			alert("An exception occured in the script.Error name: " + e.name + ".Error message: " + e.message);
			*/
			//throw(e)
			//throw(new Error(-1, "图片类型错误3"));
				/*
 arglen=arguments.length;
 var errorMsg="参数个数："+arglen+"个";
 for(var i=0;i<arglen;i++){
  errorMsg+="\n参数"+(i+1)+"："+arguments[i];
 }
 alert(errorMsg)
*/
	//

/*********
调整框架
*************/
function JS_iframeResize(targObj,h,w) 
{
 var targWin = targObj.parent.document.all[targObj.name]; 
 if(targWin != null) 
 { 
	var HeightValue = targObj.document.body.scrollHeight
	var WidthValue = targObj.document.body.scrollWidth
	if(h && HeightValue < h){HeightValue = h} targWin.style.pixelHeight = HeightValue;
	if(w && WidthValue < w){WidthValue = w} targWin.style.pixelWidth = WidthValue;
 } 
} 
/******************************
查找对象中是否有某个值或键
	//orders:1/2:验证值/验证key
	//datas[0]:obj
	//datas[1]:要查询的值
********************************/
function JS_checkInObj(orders,datas)
{
	for(key in datas[0])
	{
		if(orders==1)
		{
			if (datas[0][key] == datas[1]) {return key;}     
		}
		else if(orders==2)
		{
			if (key == datas[1]) {return true;}
		}
	}
	return null;
}
/*********
分解文件路径
*********/
function JS_get_urlall(types,values)
{
	var returns={
		"d":"",//目录
		"fa":"",//全文件名
		"fs":"",//后缀
		"fp":""//前文件名
				};
	var alls=new Array();

	if(!values)
	{
		return returns;
	}

	if(types==1)//本地文件
	{
		var matchs=/\\([^\\]+)$/
	}
	else if(types==2)//url
	{
		var matchs=/\/([^\/]+)$/
	}

	if(types==1 || types==2)
	{
		alls=values.match(matchs);
		if(alls==null)
		{
			return returns;
		}
		else
		{
			for(key in alls)
			{
				//alert(key+"||"+alls[key]);
				returns["d"]=values.substr(0,alls["index"])//目录
				returns["fa"]=alls[1]//全文件名
			}
		}
	}
	else if(types==3)//只是文件名称
	{
		alls[1]=returns["fa"]=values;
	}
	//alert(alls[1]);
	//文件后缀
	var tmp_f=alls[1].match(/\.([^\.]+)$/);
	if(tmp_f==null)
	{
		return returns;
	}
	else
	{
		returns["fs"]=tmp_f[1].toLowerCase()
		//前文件名
		returns["fp"]=returns["fa"].substr(0,tmp_f["index"])
	}

	return returns;
}

/*************
动态生成select的option
参数：select名称/键名/键值
**************/
function JS_giveoption(var01,var02,var03)
{
	obj=document.getElementsByName(var01)[0];
	obj.options[obj.length]=new Option(var02,var03);
}

/************************************
多级关联
vf：从哪里来（数组中位置，0/1：键名/键值）
vt：到哪里去（数组中位置，2/3：键名/键值）
v_array：数组
***************************************/
function JS_get_level_select(vf,vt,v_array)
{
	var objSelect_01 = document.getElementsByName(vf)[0];
	var objSelect_02 = document.getElementsByName(vt)[0];

	var SelectedValue=objSelect_01.value;
	if(SelectedValue)//如果选项1有被选中元素,从v_array选出1的子元素
	{
		objSelect_02.options.length = 0;

		objSelect_02.options[objSelect_02.length]=new Option("请选择","");
		for (key in v_array)
		{
			if(v_array[key][0]==SelectedValue)
			{
				objSelect_02.options[objSelect_02.length]=new Option(v_array[key][2],v_array[key][3]);
			}

		}
	}
	else//如果选项1没有被选元素，把选项2元素清空(把选项2元素重列)
	{
		objSelect_02.options.length = 0;
	}
		
}
/***********
设置弹出图片层
***********/
function JS_setImgDiv(obj,ww)
{
	var obj_length=obj.getElementsByTagName("img").length
	var imgMaxWidth=(!ww)?(400):(ww)

	obj.style.cssText="table-layout: fixed;WORD-BREAK: break-all; WORD-WRAP: break-word"

	if(obj_length>0)
	{
		var page_showImgDivId='page_showImgDivId';
		while(document.getElementById(page_showImgDivId))
		{
			page_showImgDivId=page_showImgDivId+"1";
		}
		document.write('<div onMouseOver=JS_MM_dragLayer(this.id,"",0,0,0,0,true,false,-1,-1,-1,-1,false,false,0,"",false,"") style=" cursor:move; display:none;position:absolute;" id="'+page_showImgDivId+'"></div>');
	}
	else
	{
		return ;
	}

	for(var i=0;i<obj_length;i++){
		var o=obj.getElementsByTagName("img")[i];

		if (o.width>imgMaxWidth){
			if (o.style.width){
				o.style.width="";
			}
			o.width=imgMaxWidth;
			}
			o.removeAttribute("height");
			o.style.display="block";
			o.vspace=5;
			o.resized=1;

			if(o.onclick==null && o.parentElement.tagName!="A")
			{ 
				o.style.cursor="help";
				o.onclick=function(){JS_showImgDiv(page_showImgDivId,(this.src_more)?(this.src_more):(this.src));}
			}
	}
}
/*********
显示图片层
*********/
function JS_showImgDiv(DivId,url)
{
	var obj=document.getElementById(DivId)
	var event_obj=window.event;
	var w=650

	obj.innerHTML='<img src="'+url+'">';
	if(obj.style.display!=""){obj.style.display=""}

	JS_setImgAll(obj,w,true)

	var tmp_w =obj.offsetWidth;
	var tmp_h = obj.offsetHeight

	var tmp_r_wh=JS_getFollowPlace(tmp_w,tmp_h);

	obj.style.top=tmp_r_wh[1]
	obj.style.left=tmp_r_wh[0];
}
/***********
获得跟随位置
**************/
function JS_getFollowPlace(w,h)
{
 var iX,iY
 if (window.event.x + w > document.body.offsetWidth - 10)
	{
		iX = window.event.x - w - 5 ;
	}
 else
	{iX = window.event.x + 5;}
 if (iX <0)  
	{iX=0;}

 iY = window.event.y;
 if (window.event.y + h > document.body.offsetHeight - 10 )
	{
		iY = document.body.scrollTop + document.body.offsetHeight - h - 5 ;
	}
 else
	{iY = document.body.scrollTop +window.event.y + 5; }
 if (iY <0)
	{
		iY=0;
	}
	return [iX,iY];
}
/**********
调节图片
**************/
function JS_setImgAll(obj,width,imgDiv)
{
	var imgMaxWidth=(!width)?(400):(width)
	for(var i=0;i<obj.getElementsByTagName("img").length;i++){
		var o=obj.getElementsByTagName("img")[i];
		if (o.width>imgMaxWidth){
			if (o.style.width){
				o.style.width="";
			}
			o.width=imgMaxWidth;
			}
			o.removeAttribute("height");
			o.setAttribute("alt","1.鼠标拖动\n2.滚轮缩放\n3.离开,或双击关闭");
			//o.style.cursor="hand";
			//o.style.display="block";
			//o.vspace=5;
			//o.resized=1;
			o.onmousewheel=JS_zoomImg;
			o.onmouseout=function(){if(o.contains(event.fromElement)){obj.style.display='none'}}
			//o.onmousedown=function(){if(event.button==2){obj.style.display='none';return false}}
			//if(o.onclick==null)
			//{
				//if(imgDiv==true)
				//{
					o.ondblclick=function(){obj.style.display='none'}
				//}
				//else
				//{
				//	o.onclick=JS_setImgClick;
				//}
			//}
	}
}
function JS_setImgClick()
{
	if (this.parentElement){
		if (this.parentElement.tagName!="A"){
			window.open(this.src);
		}
	}else{
		window.open(this.src);
	}
}

function JS_zoomImg()
{
		var zoom=parseInt(this.style.zoom, 10)||100;
		zoom+=event.wheelDelta/12;
		if (zoom>0) this.style.zoom=zoom+'%';
		return false;
}

/*************
移动层
***************/
function JS_MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=JS_MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function JS_MM_dragLayer(objName,x,hL,hT,hW,hH,toFront,dropBack,cU,cD,cL,cR,targL,targT,tol,dropJS,et,dragJS) { //v4.01
  //Copyright 1998 Macromedia, Inc. All rights reserved.
  var i,j,aLayer,retVal,curDrag=null,curLeft,curTop,IE=document.all,NS4=document.layers;
  var NS6=(!IE&&document.getElementById), NS=(NS4||NS6); if (!IE && !NS) return false;
  retVal = true; if(IE && event) event.returnValue = true;
  if (JS_MM_dragLayer.arguments.length > 1) {
    curDrag = JS_MM_findObj(objName); if (!curDrag) return false;
    if (!document.allLayers) { document.allLayers = new Array();
      with (document) if (NS4) { for (i=0; i<layers.length; i++) allLayers[i]=layers[i];
        for (i=0; i<allLayers.length; i++) if (allLayers[i].document && allLayers[i].document.layers)
          with (allLayers[i].document) for (j=0; j<layers.length; j++) allLayers[allLayers.length]=layers[j];
      } else {
        if (NS6) { var spns = getElementsByTagName("span"); var all = getElementsByTagName("div"); 
          for (i=0;i<spns.length;i++) if (spns[i].style&&spns[i].style.position) allLayers[allLayers.length]=spns[i];}
        for (i=0;i<all.length;i++) if (all[i].style&&all[i].style.position) allLayers[allLayers.length]=all[i]; 
    } }
    curDrag.MM_dragOk=true; curDrag.MM_targL=targL; curDrag.MM_targT=targT;
    curDrag.MM_tol=Math.pow(tol,2); curDrag.MM_hLeft=hL; curDrag.MM_hTop=hT;
    curDrag.MM_hWidth=hW; curDrag.MM_hHeight=hH; curDrag.MM_toFront=toFront;
    curDrag.MM_dropBack=dropBack; curDrag.MM_dropJS=dropJS;
    curDrag.MM_everyTime=et; curDrag.MM_dragJS=dragJS;
    curDrag.MM_oldZ = (NS4)?curDrag.zIndex:curDrag.style.zIndex;
    curLeft= (NS4)?curDrag.left:(NS6)?parseInt(curDrag.style.left):curDrag.style.pixelLeft; 
    if (String(curLeft)=="NaN") curLeft=0; curDrag.MM_startL = curLeft;
    curTop = (NS4)?curDrag.top:(NS6)?parseInt(curDrag.style.top):curDrag.style.pixelTop; 
    if (String(curTop)=="NaN") curTop=0; curDrag.MM_startT = curTop;
    curDrag.MM_bL=(cL<0)?null:curLeft-cL; curDrag.MM_bT=(cU<0)?null:curTop-cU;
    curDrag.MM_bR=(cR<0)?null:curLeft+cR; curDrag.MM_bB=(cD<0)?null:curTop+cD;
    curDrag.MM_LEFTRIGHT=0; curDrag.MM_UPDOWN=0; curDrag.MM_SNAPPED=false; //use in your JS!
    document.onmousedown = JS_MM_dragLayer; document.onmouseup = JS_MM_dragLayer;
    if (NS) document.captureEvents(Event.MOUSEDOWN|Event.MOUSEUP);
  } else {
    var theEvent = ((NS)?objName.type:event.type);
    if (theEvent == 'mousedown') {
      var mouseX = (NS)?objName.pageX : event.clientX + document.body.scrollLeft;
      var mouseY = (NS)?objName.pageY : event.clientY + document.body.scrollTop;
      var maxDragZ=null; document.MM_maxZ = 0;
      for (i=0; i<document.allLayers.length; i++) { aLayer = document.allLayers[i];
        var aLayerZ = (NS4)?aLayer.zIndex:parseInt(aLayer.style.zIndex);
        if (aLayerZ > document.MM_maxZ) document.MM_maxZ = aLayerZ;
        var isVisible = (((NS4)?aLayer.visibility:aLayer.style.visibility).indexOf('hid') == -1);
        if (aLayer.MM_dragOk != null && isVisible) with (aLayer) {
          var parentL=0; var parentT=0;
          if (NS6) { parentLayer = aLayer.parentNode;
            while (parentLayer != null && parentLayer.style.position) {             
              parentL += parseInt(parentLayer.offsetLeft); parentT += parseInt(parentLayer.offsetTop);
              parentLayer = parentLayer.parentNode;
          } } else if (IE) { parentLayer = aLayer.parentElement;       
            while (parentLayer != null && parentLayer.style.position) {
              parentL += parentLayer.offsetLeft; parentT += parentLayer.offsetTop;
              parentLayer = parentLayer.parentElement; } }
          var tmpX=mouseX-(((NS4)?pageX:((NS6)?parseInt(style.left):style.pixelLeft)+parentL)+MM_hLeft);
          var tmpY=mouseY-(((NS4)?pageY:((NS6)?parseInt(style.top):style.pixelTop) +parentT)+MM_hTop);
          if (String(tmpX)=="NaN") tmpX=0; if (String(tmpY)=="NaN") tmpY=0;
          var tmpW = MM_hWidth;  if (tmpW <= 0) tmpW += ((NS4)?clip.width :offsetWidth);
          var tmpH = MM_hHeight; if (tmpH <= 0) tmpH += ((NS4)?clip.height:offsetHeight);
          if ((0 <= tmpX && tmpX < tmpW && 0 <= tmpY && tmpY < tmpH) && (maxDragZ == null
              || maxDragZ <= aLayerZ)) { curDrag = aLayer; maxDragZ = aLayerZ; } } }
      if (curDrag) {
        document.onmousemove = JS_MM_dragLayer; if (NS4) document.captureEvents(Event.MOUSEMOVE);
        curLeft = (NS4)?curDrag.left:(NS6)?parseInt(curDrag.style.left):curDrag.style.pixelLeft;
        curTop = (NS4)?curDrag.top:(NS6)?parseInt(curDrag.style.top):curDrag.style.pixelTop;
        if (String(curLeft)=="NaN") curLeft=0; if (String(curTop)=="NaN") curTop=0;
        MM_oldX = mouseX - curLeft; MM_oldY = mouseY - curTop;
        document.MM_curDrag = curDrag;  curDrag.MM_SNAPPED=false;
        if(curDrag.MM_toFront) {
          eval('curDrag.'+((NS4)?'':'style.')+'zIndex=document.MM_maxZ+1');
          if (!curDrag.MM_dropBack) document.MM_maxZ++; }
        retVal = false; if(!NS4&&!NS6) event.returnValue = false;
    } } else if (theEvent == 'mousemove') {
      if (document.MM_curDrag) with (document.MM_curDrag) {
        var mouseX = (NS)?objName.pageX : event.clientX + document.body.scrollLeft;
        var mouseY = (NS)?objName.pageY : event.clientY + document.body.scrollTop;
        newLeft = mouseX-MM_oldX; newTop  = mouseY-MM_oldY;
        if (MM_bL!=null) newLeft = Math.max(newLeft,MM_bL);
        if (MM_bR!=null) newLeft = Math.min(newLeft,MM_bR);
        if (MM_bT!=null) newTop  = Math.max(newTop ,MM_bT);
        if (MM_bB!=null) newTop  = Math.min(newTop ,MM_bB);
        MM_LEFTRIGHT = newLeft-MM_startL; MM_UPDOWN = newTop-MM_startT;
        if (NS4) {left = newLeft; top = newTop;}
        else if (NS6){style.left = newLeft; style.top = newTop;}
        else {style.pixelLeft = newLeft; style.pixelTop = newTop;}
        if (MM_dragJS) eval(MM_dragJS);
        retVal = false; if(!NS) event.returnValue = false;
    } } else if (theEvent == 'mouseup') {
      document.onmousemove = null;
      if (NS) document.releaseEvents(Event.MOUSEMOVE);
      if (NS) document.captureEvents(Event.MOUSEDOWN); //for mac NS
      if (document.MM_curDrag) with (document.MM_curDrag) {
        if (typeof MM_targL =='number' && typeof MM_targT == 'number' &&
            (Math.pow(MM_targL-((NS4)?left:(NS6)?parseInt(style.left):style.pixelLeft),2)+
             Math.pow(MM_targT-((NS4)?top:(NS6)?parseInt(style.top):style.pixelTop),2))<=MM_tol) {
          if (NS4) {left = MM_targL; top = MM_targT;}
          else if (NS6) {style.left = MM_targL; style.top = MM_targT;}
          else {style.pixelLeft = MM_targL; style.pixelTop = MM_targT;}
          MM_SNAPPED = true; MM_LEFTRIGHT = MM_startL-MM_targL; MM_UPDOWN = MM_startT-MM_targT; }
        if (MM_everyTime || MM_SNAPPED) eval(MM_dropJS);
        if(MM_dropBack) {if (NS4) zIndex = MM_oldZ; else style.zIndex = MM_oldZ;}
        retVal = false; if(!NS) event.returnValue = false; }
      document.MM_curDrag = null;
    }
    if (NS) document.routeEvent(objName);
  } return retVal;
}
/********
xml通信
*********/
function JS_xmlHttp(url,value,backObj,backType,sendType,readyType)
{
	readyType=(readyType==2)?(false):(true);
	sendType=(!sendType)?('GET'):(sendType);

    var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP")
	if(backObj){xmlHttp.onreadystatechange = function(){JS_xmlGetReady(xmlHttp,backObj,backType)}}
	xmlHttp.open(sendType,url+"?"+value,readyType);
	xmlHttp.send(value);
	if(!backObj){return xmlHttp.responseText}

    //xmlHttp.Open("POST",url,false);
	//xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	//xmlHttp.Send("Send_Self="+URLEncoding(eWebEditor1.getHTML())+"&UseId="+"&UseLogName="+URLEncoding('')+"&sessionid="+URLEncoding(''));
}

function JS_xmlGetReady(httpObj,backObj,backType)
{
	if(httpObj.readyState==4)
	{
		if(httpObj.status==200)
		{
			var tmp_r=httpObj.responseText;//Responsebody
			var tmp_r2=tmp_r.split("|");
			
			if(tmp_r2[0]!=1)
			{
				throw(new Error("xmlHttpErr1||"+tmp_r))
			}
			else
			{
				if(backObj)
				{
					if(backType=='innerHTML')
					{
						backObj.innerHTML=tmp_r2[1];
					}
				}
				else
				{
					//alert('找不到xmlHttp返回对象');
					//return tmp_r2[1]
				}
			}
		}
		else
		{
			throw(new Error('xmlHttpErr2||status:'+httpObj.status+',statusText:'+httpObj.statusText))
		}
	}
}
/**********
横向伸缩菜单
*******/
function JS_menu_repeat(type,obj)
{
	var a1,a2;
	if(type==2)
	{
		if(obj[(obj.length-1)].style.display==""){return;}

		for(i=0;i<obj.length;i++)
		{
			if(obj[i].style.display=="")
			{
				obj[i].style.display='none';break;
			}
		}
		for(i=(obj.length-1);i>0;i--)
		{
			if(obj[i].style.display=="")
			{
				obj[a2].style.display='';break;
			}
			a2=i;
		}
	}
	else
	{
		if(obj[0].style.display==""){return;}

		for(i=(obj.length-1);i>0;i--)
		{
			if(obj[i].style.display=="")
			{
				obj[i].style.display='none';break;
			}
		}
		for(i=0;i<obj.length;i++)
		{
			if(obj[i].style.display=="")
			{
				obj[a1].style.display='';break;
			}
			a1=i;
		}
	}
}
/***********
表格间隔色
***********/
function JS_tb_space_color(obj,color1,color2,type)
{
	if(!type)
	{
		var j=0;
		for(i=0;i<obj.rows.length;i++)
		{
			if(i!=0 && obj.rows[i].style.display!="none")
			{
				obj.rows[i].className=(!(j%2))?(color1):(color2);
				
				j++;
			}
		}
	}
	else if(type=='td')
	{
		for(i=0;i<obj.length;i++)
		{
			obj[i].className=(!(i%2))?(color1):(color2);
		}
	}
}
/******
移动select
*******/
function JS_move_select(objFrom,objTo,type)
{ 
	var add_i=new Array();

	if(objFrom.value)
	{
		for(var i=0;i<objFrom.options.length;i++)
		{
			if(objFrom.options[i].selected==true)
			{
				objTo.options[objTo.length]=new Option(objFrom.options[i].text,objFrom.options[i].value);
			}
		}
		
		for(i=objFrom.options.length-1;i>=0;i--)
		{
			if(objFrom.options[i].selected==true)
			{
				objFrom.options[i] = null;				
			}
		}

		if(!type)
		{
			objFrom.size=(objFrom.length>0)?(objFrom.length):(1)
			objTo.size=(objTo.length>0)?(objTo.length):(1)
		}
	}
}
/***********
暂停
*************/
function Pause(obj,iMinSecond){
 if (window.eventList==null) window.eventList=new Array();
 var ind=-1;
 for (var i=0;i<window.eventList.length;i++){
  if (window.eventList[i]==null) {
   window.eventList[i]=obj;
   ind=i;
   break;
  }
 }
 
 if (ind==-1){
  ind=window.eventList.length;
  window.eventList[ind]=obj;
 }
 setTimeout("GoOn(" + ind + ")",1000);
}
function GoOn(ind){
 var obj=window.eventList[ind];
 window.eventList[ind]=null;
 if (obj.NextStep) obj.NextStep();
 else obj();
}
/*********
查找符合条件的父节点
*********/
function JS_findPNode(obj,types,values)
{
	var returns=false
	if(obj.parentNode)
	{ 
		if(obj.parentNode.attributes && typeof(obj.parentNode.attributes[types])=='object' && obj.parentNode.attributes[types].nodeValue==values)
		{
			returns=obj.parentNode
		}
		else
		{
			returns=JS_findPNode(obj.parentNode,types,values)
		}
	}
	else
	{
		returns=false;
	}

	return returns
}
/******************************
查找符合条件的子节点
*******************************/
function JS_find_childNode(obj,types,values)
{
	var tmp_obj
	var returns=null
	
	if(obj.hasChildNodes())
	{
		for(var i=0;i<obj.childNodes.length;i++)
		{
			tmp_obj=obj.childNodes[i]
			if(tmp_obj.attributes && typeof(tmp_obj.attributes[types])=='object' && tmp_obj.attributes[types].nodeValue==values)
			{
				returns=tmp_obj;
				break;
			}
		}
		
		if(returns==null)
		{
			for(var i=0;i<obj.childNodes.length;i++)
			{
				tmp_obj=obj.childNodes[i]
				returns=JS_find_childNode(tmp_obj,types,values)
				if(returns!=null)
				{
					break;
				}
			}
		}
	}
	else
	{
		returns=null;
	}

	return returns;
}

/**************
打开窗口
str=[{'open':'在哪个对象打开','type':1/2(正常打开/变化),'url':url,'title':title,'other':1/2/3:(有权限/无权/未实现)},]
COOK_IE:1/2/3:传统/软件/模态
***************/
function JS_NEWWIN(str)
{
	if(!str){return ;}
	var type=(Cookie.getCookie("cook_newWin"))?(Cookie.getCookie("cook_newWin")):(2)//打开方式

	for(var i=0;i<str.length;i++)
	{
		if(str[i].other==1)//正常连接
		{
			if(str[i].type==1)//传统模式
			{
				if(str[i].url){eval(str[i].open).location.href=str[i].url}//如果没有url，没有认为是空菜单
			}
			else if(str[i].type==2)//变化
			{
				if(type==1)	//传统模式
				{
					if(str[i].url){eval(str[i].open).location.href=str[i].url}
				}
				else if(type==2)//新窗口方式
				{
					if(str[i].url){eval(str[i].open).CLASS_win.prototype.open_win(str[i].url,str[i].title,str[i].icon)}
				}
				else if(type==3)//模态窗口方式
				{
					//if(str[i].url){window.showModalDialog(str[i].url,window,'help:0;center:1;resizable:1;status:0;scroll:1')}
					if(str[i].url){window.showModelessDialog(str[i].url,window,'help:0;center:1;resizable:1;status:0;scroll:1')}
				}
			}
		}
		else if(str[i].other==2)
		{
			alert("没有权限");//return false;
		}
		else if(str[i].other==3)
		{
			alert("尚未实现");//return false;
		}
	}
}
/*********
多选播放
**********/
function JS_much_play(check_name,url,tar_name)
{
	if(JS_getCheckbox(check_name)!=true)
	{
		alert('没有选项被选择');
		return false;
	}
	var obj=document.getElementsByName(check_name),len=document.getElementsByName(check_name).length,id='';
	for(var i=0;i<len;i++)
	{
		if(obj[i].checked==true){id+=','+obj[i].value}
	}
	window.open(url+id,tar_name);
}

function JS_NEWWIN_mousedown()
{
	var type=(Cookie.getCookie("JS_newWin"))?(Cookie.getCookie("JS_newWin")):(2)
	var new_win_document='top.m_bFrame'


	if(type==1){}
	else if(type==2)//div窗口
	{
		if(event.button==1)
		{
			if(1)
			{
				self.event.cancelBubble = true;
				var xxx=''
				obj=event.srcElement
				//alert(event.button)
				for(key in obj)
				{
					xxx+=key+'|'+obj[key]+'\n'
				}
				//eval('top.leftFrame').document.all.kkk.value=xxx
				//alert(obj.onclick)
			}
			else
			{
				event.cancelBubble = true;
				event.srcElement.onclick="return false"
				return false;
			}
		}
		else if(event.button==2 || event.button==4)
		{
			//event.cancelBubble = true;
			//event.srcElement.oncontextmenu=function(){return false}
		}
	}
}
//free_down_time
function JS_free_down_time(time_array,drop)
{
	if(drop <=0 && typeof(time_array)=='object')
	{
		mydate=new Date(); 
		//myweekday=mydate.getDay(); 
		//mymonth=mydate.getMonth()+1; 
		//myday= mydate.getDate(); 
		//myyear= mydate.getYear(); 
		var hour=mydate.getHours();
		var minutes=mydate.getMinutes();
		//var second=mydate.getSeconds(); 
		
		hour=hour.toString();
		minutes=minutes.toString();

		hour=(hour.length==2)?(hour):('0'+hour)
		minutes=(minutes.length==2)?(minutes):('0'+minutes)

		var tmp_down_free_time=hour+':'+minutes;

		var tmp_down_free_v=false;
		for(key in time_array)
		{
			if(tmp_down_free_time>= key && tmp_down_free_time<= time_array[key])
			{
				tmp_down_free_v=true;
				break;
			}
		}

		return tmp_down_free_v

	}
	else
	{
		return true;
	}
}
//upload_plan
//public_upload_timeing
function JS_get_uploadSize(showUrl,upload_key,color_obj,color_obj2,color_obj3)
{
	if(!showUrl || !upload_key || !color_obj || !color_obj2 || !color_obj3)
	{
		throw(new Error("paraErr||"))
		return false;
	}
	try {
	var upload_return=JS_xmlHttp(showUrl,'upload_key='+upload_key,'','',"",2);
	var tmp=upload_return.split("|");
	tmp[0]=parseFloat(tmp[0]);
	tmp[1]=parseFloat(tmp[1]);
	tmp[2]=parseFloat(tmp[2]);

	tmp_0=Math.round(tmp[0]/1000000*100)/100.00
	tmp_1=Math.round(tmp[1]/1000000*100)/100.00

	color_obj.style.width= parseInt((tmp[1]/tmp[0])*100)+"%"
/*
	color_obj2.innerHTML= tmp_1+ ' M/'+tmp_0 +' M         ('+ tmp[2] +' K/秒)'
*/
color_obj2.innerHTML='总共：'+ tmp_0+ 'M 已上传：'+tmp_1 +'M<br>已用时间：'+tmp[3]+' 估计剩余时间：'+tmp[4]+'<br>上传速度：'+ tmp[2] +'K/秒'


	if(tmp[0]==tmp[1])
	{
		clearInterval(public_upload_timeing);
		color_obj3.style.display='none';
		setTimeout(function(){window.location.reload(true)}, 2000);
	}
	}
	catch(e) {color_obj3.style.display='none';throw(new Error("upload_plan||"+JS_r_e(e)))}
}

function JS_timeFormat(orders,datas)
{
	if(orders=="is")//需要分钟和秒
	{
		var scale=1
		var iTmp=Math.round(datas/60*(scale));
		var sTmp=Math.round(datas/1*(scale)) % 60
		iTmp=iTmp.toString()
		sTmp=sTmp.toString()
		iTmp= (iTmp.length==2) ? iTmp : "0"+iTmp;
		sTmp= (sTmp.length==2) ? sTmp : "0"+sTmp;
		return [iTmp,sTmp]
	}
}

function JS_divMoveToRD(obj){
	obj.style.top =parseInt(document.body.clientHeight)- parseInt(obj.offsetHeight)+ parseInt(document.body.scrollTop)+'px'
	obj.style.left= parseInt(document.body.clientWidth)- parseInt(obj.offsetWidth)+ parseInt(document.body.scrollLeft)+'px'
}