
/***********************************            鑫特网 版权所有                     ****************************************/

/***********************************            公用对象 --> 方法: 函数             ****************************************/


//创建对象
//创建对象的方法:	函数名称(参数1,参数2,参数3,...)
//对象应用: 
//无返回值:			对象名称.函数名称(参数1,参数2,参数3,...)
//有返回值:			var 变量名称 = 对象名称.函数名称(参数1,参数2,参数3,...)

//var 对象=new Object();
//对象.方法=function(参数1,参数2.参数3,....) {
	
	
//}



/****************************************************************************************************///创建对象应用处理对象及方法
var MyObj=new Object();
MyObj.$getObj=function(objectId) {
/****************************************************************///获取对象ID名称
	if(document.getElementById && document.getElementById(objectId)) 
	{
	// W3C DOM
		return document.getElementById(objectId);
	} else if (document.all && document.all(objectId)) {
	// MSIE 4 DOM
		return document.all(objectId);
	} else if (document.layers && document.layers[objectId]) {
	// NN 4 DOM.. note: this won't find nested layers
		return document.layers[objectId];
	} else {
		return false;
	}
}	

MyObj.createAjax=function() 
{
/****************************************************************/// Ajax -- 创建XMLHTTP实例
	var xmlHttp = false;
	if (window.XMLHttpRequest)
	{
		xmlHttp = new XMLHttpRequest();
	}else if (window.ActiveXObject){
		try {
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		}catch (e1) {
			try {
				xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
			}catch (e2) {
				xmlHttp = false;
			}
		}
	}else{
		xmlHttp = false;
	}
	return xmlHttp;
}

MyObj.shop_show=function (url,id)
{
/****************************************************************///
	var xmlHttp=MyObj.createAjax();
	var show=MyObj.$getObj(id);
	if (!xmlHttp) {
		document.write("未能识别的浏览器或XMLHttpRequest组件未安装!");
	}else{
		xmlHttp.open("GET", url , true);
		xmlHttp.onreadystatechange = function (){
			if (xmlHttp.readyState == 1) {
				show.innerHTML="<div><img  align=center src='/modal/0/images/loading.gif' alt='无法连接? 点击这里' style='CURSOR: hand;' onclick=javascript:MyObj.shop_show('"+url+"','"+id+"');>正在连接服务器...</div>";
			}else if (xmlHttp.readyState == 2 || xmlHttp.readyState == 3) {
				show.innerHTML="<div><img  align=center src='/modal/0/images/loading_s.gif' alt='无法读取? 点击这里' style='CURSOR: hand;' onclick=javascript:MyObj.shop_show('"+url+"','"+id+"');>正在读取数据...</div>";
			}else if (xmlHttp.readyState == 4) {
				if (xmlHttp.status == 200) {
					if (xmlHttp.responseText)
					{
						show.innerHTML=xmlHttp.responseText;
					}else{
						show.innerHTML="";
						//show.innerHTML="<div><img  align=center src='/modal/0/images/trash.gif' alt='重新读取' style='CURSOR: hand;' onclick=javascript:MyObj.shop_show('"+url+"','"+id+"');>数据读取失败</div>";
					}
				}else if (xmlHttp.status== 404 ) {
					show.innerHTML="HTTP 错误 404 - 文件或目录未找到。";
				}
			}
		};
		xmlHttp.send(null); 
	}
}
/****************************************************************/

MyObj.shop_save=function (url,id,data)
{
/****************************************************************///
	var xmlHttp=MyObj.createAjax();
	var show=MyObj.$getObj(id);
	if (!xmlHttp) {
		document.write("未能识别的浏览器或XMLHttpRequest组件未安装!");
	}else{
		xmlHttp.open("post", url , true);
		xmlHttp.onreadystatechange = function (){
			if (xmlHttp.readyState == 1) {
				show.innerHTML="<div><img  align=center src='/modal/0/images/loading.gif' alt='无法连接? 点击这里' style='CURSOR: hand;' onclick=javascript:MyObj.shop_show('"+url+"','"+id+"');>正在连接服务器...</div>";
			}else if (xmlHttp.readyState == 2 || xmlHttp.readyState == 3) {
				show.innerHTML="<div><img  align=center src='/modal/0/images/loading_s.gif' alt='无法读取? 点击这里' style='CURSOR: hand;' onclick=javascript:MyObj.shop_show('"+url+"','"+id+"');>正在读取数据...</div>";
			}else if (xmlHttp.readyState == 4) {
				if (xmlHttp.status == 200) {
					if (xmlHttp.responseText)
					{
						show.innerHTML=xmlHttp.responseText;
					}else{
						show.innerHTML="";
						//show.innerHTML="<div><img  align=center src='/modal/0/images/trash.gif' alt='重新读取' style='CURSOR: hand;' onclick=javascript:MyObj.shop_show('"+url+"','"+id+"');>数据读取失败</div>";
					}
				}else if (xmlHttp.status== 404 ) {
					show.innerHTML="HTTP 错误 404 - 文件或目录未找到。";
				}
			}
		};
		xmlHttp.send(data); 
	}
}
/****************************************************************/

/****************************************************************************************************///创建字符串处理对象及方法
var StrObj=new Object();

//var str="AcDb";
//str.toUpperCase(); //转成大写
//str.toLowerCase(); //转成小写



StrObj.checkspace=function(checkstr) 
{
/****************************************************************///检查字符串是否为空
  var str = '';
  for(i = 0; i < checkstr.length; i++) {
    str = str + ' ';
  }
  return (str == checkstr);
}


StrObj.countSize=function (obj,num)
{
/****************************************************************///计算字数(汉字占2字节)
	len=obj.value.replace(/[^\x00-\xff]/g,'**').length;
	if(len<num) return;	
	alert('您输入的内容超过了长度限制（'+num+'字节）');
	return;
}


StrObj.chk_length=function (id1,id2,num)
{
/****************************************************************///文本框字节数判断,并限制输入字节个数
	MyObj.$getObj(id1).value=StrObj.getNumLength(MyObj.$getObj(id1).value,250,0)
	var action="";
	var len=MyObj.$getObj(id1).value.replace(/[^\x00-\xff]/g,'**').length;
	if(len>num){
	}else if(len<2){
		action=action+"　　　　<span style='color: #FF4D00;'>＊＊</span>请不少于<span style='color: #FF4D00;'> ２ </span>个字节";
	}
	MyObj.$getObj(id2).innerHTML="可输入 <span style='color: #FF4D00;'>"+num+"</span> 个字节&nbsp;已写入 <span style='color: #FF4D00;'>"+len+"</span> 字节"+action;
}

StrObj.jsleft=function (lefts,leftn) 
{
/****************************************************************///取左字符串
     var sl=lefts; 
     sl = sl.substring(0,leftn); 
     return sl; 
}
StrObj.jsright=function (rights,rightn) 
{
/****************************************************************///取右字符串
     var sr=rights; 
     sr = sr.substring(sr.length-rightn,sr.length); 
     return sr; 
}
StrObj.getNumLength=function (str,num,type)   
{
/****************************************************************///得到固定字符位置的函数
	/*   
	=======================================================================================   
	本程序段的功能：    
	str:  要截取的字符串    --> 字符类型数据
	num:  要截取的字节数    --> 数值类型数据
	type: 可选用的截取方法  --> 数值类型数据
	=======================================================================================   
	*/   
	var i,k;   
	switch (type)
	{
	case 0:
		//本类型可能在中英文字符串截取中，如果最后一个是中文可能会少一个字节
		i=1;
		for(k=0;k<str.length;k++,i++){
			if(str.charCodeAt(k)>255)i++;
			if(i>num)break;
		};
		if(k==str.length){
		return str.substr(0,k);
		}else{
		return str.substr(0,k-3)+"...";
		}
		break;
	case 1:
		//本类型可能在中英文字符串截取中，如果最后一个是中文可能会多一个字节
		k=0;   
		i=0;   
		while(i<num&&i<str.replace(/[^\x00-\xff]/g,"xx").length){
			if(str.charCodeAt(k)>255)i++;   
			i++;   
			k++;   
		}   
		if(k==str.length){
		return str.substr(0,k);
		}else{
		return str.substr(0,k-3)+"...";
		}
		break;
	}
}
/****************************************************************/

/****************************************************************************************************///创建数值处理对象及方法
var NumObj=new Object();
NumObj.chknum=function (Str) 
{ 
/****************************************************************///检查是否是数字
	var Letters = "1234567890"; 
	var i; 
	var c; 
	for( i = 0; i < Str.length; i ++ ) 
	{ 
		c = Str.charAt( i ); 
		if (Letters.indexOf( c ) ==-1) 
		{ 
			return true; 
		} 
	} 
	return false; 
} 

/****************************************************************/

/****************************************************************************************************///创建日期时间处理对象及方法
var DateObj=new Object();
DateObj.date_type=function (dateObj,type)
{
/****************************************************************///将日期按一定格式输出,dateObj为now()的值,type为输出类型
	var datetime,years,months,days,hours,minutes,seconds;
	years=dateObj.getYear();
	months=dateObj.getMonth();
	days=dateObj.getDate();
	hours=dateObj.getHours();
	minutes=dateObj.getMinutes();
	seconds=dateObj.getSeconds();
	switch (type){
	case 0:
		//返回值如: 20080802020109
		if(months<10){months="0"+months};
		if(days<10){days="0"+days};
		if(hours<10){hours="0"+hours};
		if(minutes<10){minutes="0"+minutes};
		if(seconds<10){seconds="0"+seconds};
		datetime=""+years+months+days+hours+minutes+seconds;
		return datetime;
		break;
	case 1:
		//返回值如: 2008-8-2 2:1:9
		datetime=years+"-"+months+"-"+days+" "+hours+":"+minutes+":"+seconds;
		return datetime;
		break;
	case 2:
		//返回值如: 2008-08-02 02:01:09
		if(months<10){months="0"+months};
		if(days<10){days="0"+days};
		if(hours<10){hours="0"+hours};
		if(minutes<10){minutes="0"+minutes};
		if(seconds<10){seconds="0"+seconds};
		datetime=years+"-"+months+"-"+days+" "+hours+":"+minutes+":"+seconds;
		return datetime;
		break;
	case 3:
		//返回值如: 2008-8-2
		datetime=years+"-"+months+"-"+days;
		return datetime;
		break;
	case 4:
		//返回值如: 2008-08-02
		if(months<10){months="0"+months};
		if(days<10){days="0"+days};
		datetime=years+"-"+months+"-"+days;
		return datetime;
		break;
	
	}
}

/****************************************************************/

/****************************************************************************************************///创建层定义处理对象及方法
var DivObj=new Object();
//弹出层开始
//鼠标移动时弹出的一个指定宽度和高度的层(用于输出的层)
document.write("<DIV id='my_div' style='display:none;'></DIV>");
DivObj.my_div_close=function ()
{
/****************************************************************///鼠标移动时弹出的一个指定宽度和高度的层(关闭)
	MyObj.$getObj('my_div').style.display="none"; //将要弹出的层 
}
DivObj.my_div_open=function (msg,bak,w,h)
{
/****************************************************************///鼠标移动时弹出的一个指定宽度和高度的层(打开)
	var X,Y		//定义鼠标目前在X轴和Y轴上的位置
	var my_div = MyObj.$getObj('my_div'); //将要弹出的层 
	my_div.style.display="block"; //初始状态是不可见的，设置可为可见 
	//window.event代表事件状态，如事件发生的元素，键盘状态，鼠标位置和鼠标按钮状. 
	//clientX是鼠标指针位置相对于窗口客户区域的 x 坐标，其中客户区域不包括窗口自身的控件和滚动条。
	if(w>h){
		//距上边
		if(event.clientY>h+10){
		Y=event.clientY-10-h;
		}else{
		Y=event.clientY+10;
		}
		//距左边
		if(event.clientX<w/2){
		X=0;
		}else{
		X=event.clientX-w/2;
		}
	}else{
		//距左边
		if(event.clientX>w+10){
		X=event.clientX-10-w;
		}else{
		X=event.clientX+10;
		}
		//距上边
		if(event.clientY<h/2){
		Y=0;
		}else{
		Y=event.clientY-h/2;
		}
	} 
	my_div.style.left=X;
	my_div.style.top=Y;
	my_div.style.position="absolute"; //必须指定这个属性，否则弹出的层无法跟着鼠标动
	var  content="<TABLE WIDTH="+w+" Height="+h+" BORDER=0 CELLPADDING=1 CELLSPACING=1 BGCOLOR="+bak+"><tr><TD bgcolor=#FFFFFF align=center>"+msg+"</TD></tr></TABLE>";
	my_div.innerHTML=content;
	my_div.style.display="";
//弹出层结束
}

DivObj.showsubmenu=function (sid,bg)
{
/****************************************************************///点击隐藏或显示一个层,并改变背景图片
	whichEl = eval("submenu" + sid);
	if (bg=="all")
	{
		eval("submenu" + sid + ".style.display=\"\";");
		MyObj.$getObj("img"+sid).src = "../images/plus_1.gif";
	}else{
		if (whichEl.style.display == "none")
		{
			if(bg==1){MyObj.$getObj("img"+sid).src = "../images/plus_1.gif";}
			eval("submenu" + sid + ".style.display=\"\";");
		}else{
			if(bg==1){MyObj.$getObj("img"+sid).src = "../images/plus.gif";}
			eval("submenu" + sid + ".style.display=\"none\";");
		}
	}
}

change_visible=function (strHTML,left,top,width,height)
{
/****************************************************************///输出一个绝对定位层
	//strHTML为层的内容,left左边距,top上边距,width宽度,height高度
	var eSrc=(document.all)?window.event.srcElement:arguments[1];
	var shield = document.createElement("DIV1");
	shield.id = "shield";
	shield.style.position = "absolute";
	shield.style.left = "0px";
	shield.style.top = "0px";
	shield.style.width = "100%";
	shield.style.height = ((document.documentElement.clientHeight>document.documentElement.scrollHeight)?document.documentElement.clientHeight:document.documentElement.scrollHeight)+"px";
	shield.style.background = "#333";
	shield.style.textAlign = "center";
	shield.style.zIndex = "10000";
	shield.style.filter = "alpha(opacity=0)";
	shield.style.opacity = 0;
	
	var alertFram = document.createElement("DIV1");
	alertFram.id="alertFram";
	alertFram.style.position = "absolute";
	if(isNaN(left)){	alertFram.style.left = "100px";}else{;alertFram.style.left = left+"px";}
	if(isNaN(top)){	alertFram.style.top = "100px";}else{alertFram.style.top = top+"px";}
	alertFram.style.marginLeft = "-10px" ;
	alertFram.style.marginTop = "-10px";
	if(isNaN(width)){	alertFram.style.width = "490px";}else{alertFram.style.width = width+"px";}
	if(isNaN(height)){	alertFram.style.height = "380px";}else{alertFram.style.height = height+"px";}
	alertFram.style.zIndex = "10001";
	alertFram.innerHTML = strHTML;
	document.body.appendChild(alertFram);
	document.body.appendChild(shield);
	this.setOpacity = function(obj,opacity){
		if(opacity>=1)opacity=opacity/100;
		try{ obj.style.opacity=opacity; }catch(e){}
		try{ 
			if(obj.filters.length>0&&obj.filters("alpha")){
			obj.filters("alpha").opacity=opacity*100;
			}else{
				obj.style.filter="alpha(opacity=\""+(opacity*100)+"\")";
			}
		}catch(e){}
	}
	
	var c = 0;
	this.doAlpha = function(){
		if (++c > 20){clearInterval(ad);return 0;}
		setOpacity(shield,c);
	}
	var ad = setInterval("doAlpha()",1);
	
	this.DOclose = function(){
		//alertFram.style.display = "none";
		//shield.style.display = "none";
		document.body.removeChild(alertFram);
		document.body.removeChild(shield);
		eSrc.focus();
		document.body.onselectstart = function(){return true;}
		document.body.oncontextmenu = function(){return true;}
	}
	eSrc.blur();
	document.body.onselectstart = function(){return false;}
	document.body.oncontextmenu = function(){return false;}
}
/****************************************************************/



//Author:Daviv
//Blog:http://blog.163.com/jxdawei
//Date:2006-10-28
//Email:jxdawei@gmail.com
//<input type="button" value="点击这里" onclick="sAlert('测试效果<br>还可以直接书写HTML代码 <br>&copy; 2006');" />
function sAlert(str){
/****************************************************************///弹出一个 Alert　样的窗口
	var msgw,msgh,bordercolor;
	msgw=400;//提示窗口的宽度
	msgh=100;//提示窗口的高度
	bordercolor="#336699";//提示窗口的边框颜色
	titlecolor="#99CCFF";//提示窗口的标题颜色
	
	var sWidth,sHeight;
	sWidth=document.body.offsetWidth;
	sHeight=document.body.offsetHeight;
	

	var bgObj=document.createElement("div");
	bgObj.setAttribute('id','bgDiv');
	bgObj.style.position="absolute";
	bgObj.style.top="0";
	bgObj.style.background="#777";
	bgObj.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=3,opacity=25,finishOpacity=75";
	bgObj.style.opacity="0.6";
	bgObj.style.left="0";
	bgObj.style.width=sWidth + "px";
	bgObj.style.height=sHeight + "px";
	document.body.appendChild(bgObj);
	var msgObj=document.createElement("div")
	msgObj.setAttribute("id","msgDiv");
	msgObj.setAttribute("align","center");
	msgObj.style.position="absolute";
	msgObj.style.background="white";
	msgObj.style.font="12px/1.6em Verdana, Geneva, Arial, Helvetica, sans-serif";
	msgObj.style.border="1px solid " + bordercolor;
	msgObj.style.width=msgw + "px";
	msgObj.style.height=msgh + "px";
	msgObj.style.top=(document.documentElement.scrollTop + (sHeight-msgh)/2) + "px";
	msgObj.style.left=(sWidth-msgw)/2 + "px";
	var title=document.createElement("h4");
	title.setAttribute("id","msgTitle");
	title.setAttribute("align","right");
	title.style.margin="0";
	title.style.padding="3px";
	title.style.background=bordercolor;
	title.style.filter="progid:DXImageTransform.Microsoft.Alpha(startX=20, startY=20, finishX=100, finishY=100,style=1,opacity=75,finishOpacity=100);";
	title.style.opacity="0.75";
	title.style.border="1px solid " + bordercolor;
	title.style.height="18px";
	title.style.font="12px Verdana, Geneva, Arial, Helvetica, sans-serif";
	title.style.color="white";
	title.style.cursor="pointer";
	title.innerHTML="关闭";
	title.onclick=function(){
		document.body.removeChild(bgObj);
		document.getElementById("msgDiv").removeChild(title);
		document.body.removeChild(msgObj);
	}
	document.body.appendChild(msgObj);
	document.getElementById("msgDiv").appendChild(title);
	var txt=document.createElement("p");
	txt.style.margin="1em 0"
	txt.setAttribute("id","msgTxt");
	txt.innerHTML=str;
	document.getElementById("msgDiv").appendChild(txt);
}


/****************************************************************************************************///创建表单处理对象及方法
var FormObj=new Object();
FormObj.IsDigit=function()
{
/****************************************************************///键盘只能输入数字
	return ((event.keyCode >= 48) && (event.keyCode <= 57));
	//onKeyPress="event.returnValue=FormObj.IsDigit();"
}
FormObj.regInput=function (obj,reg,inputStr)
{
/****************************************************************///用于控制文本框数据类型的输入
	var docSel	= document.selection.createRange()
	if (docSel.parentElement().tagName != "INPUT")	return false
	oSel = docSel.duplicate()
	oSel.text = ""
	var srcRange	= obj.createTextRange()
	oSel.setEndPoint("StartToStart", srcRange)
	var str = oSel.text + inputStr + srcRange.text.substr(oSel.text.length)
	return reg.test(str)
	//示例:
	//<input type="text"  size="8" maxlength="8" onKeyPress="return FormObj.regInput(this,/^[0-9]*$/,String.fromCharCode(event.keyCode))" onpaste="return FormObj.regInput(this,/^[0-9]*$/,window.clipboardData.getData('Text'))" ondrop="return FormObj.regInput(this,/^[0-9]*$/,event.dataTransfer.getData('Text'))">
}

FormObj.radio_checked=function (obj)
{
/****************************************************************///单选框选中个数判断
	var i,obj; 
	obj=document.getElementsByName(obj); 
	for(i=0;i<obj.length;i++){ 
		if(obj[i].checked)break; 
	}; 
	if(i>=obj.length){ 
		return 0;
		//没有选择任何对象，返回０
	}else{ 
		return i+1;
		//返回选择的是第几个
		//应用取得第几个数据值时用: document.getElementsByName(obj)[radio_checked(obj)-1].value
	} 
} 

FormObj.checkbox_checked=function (obj)
{
/****************************************************************///复选框选中个数判断
	var Count,i,obj; 
	obj=document.getElementsByName(obj); 
    if (obj){   
		Count=0;   
		if (obj.length){   
			for (i=0;i<obj.length;i++)   
			{   
			if (obj[i].checked)   
			++Count;   
			}   
		}else{   
			if (obj.checked)   
			++Count;   
		}   
	} 
	return Count;
} 

/****************************************************************/
FormObj.DOSelect=function (obj,type)
{
/****************************************************************///复选框: 全选\全清\反选
	var i,obj=document.getElementsByName(obj); 
	for (i=0;i<obj.elements.length;i++)
	{
		var e=	obj.elements[i];
		switch(type){
			case 1:{e.checked=1;break;}
			case 2:{e.checked=0;break;}
			case 3:{e.checked=!e.checked;}
		}
	}
}
/****************************************************************/

/****************************************************************************************************///创建背景处理对象及方法


var BgObj=new Object();
BgObj.mOvr=function (src,clrOver)
{
/****************************************************************///改变背景颜色
     if(!src.contains(event.fromElement))
     {
	 	src.style.cursor='hand';
     	src.bgColor = clrOver;
     }
	 //示例:  onMouseOver="mOvr(this,'#a1bbe8');"
}
BgObj.mOut=function (src,clrIn)
{
/****************************************************************///改变背景颜色
     if(!src.contains(event.toElement))
     {
		 src.style.cursor='default';
    	 src.bgColor=clrIn; 
	 }
	 //示例: onMouseOut="mOut(this,'#E8F1FF');"
}
BgObj.mClk=function (src)
{ 
/****************************************************************///执行单元格中的链接
     if(event.srcElement.tagName=='TD')
     {
		 src.children.tags('A')[0].click();
	 }
}


/****************************************************************/

/****************************************************************************************************///创建窗口处理对象及方法
var WinObj=new Object();
WinObj.winMAX=function () 
{
/****************************************************************///窗口最大化
	if (top.frames.length!=0) top.location=self.document.location;
	self.moveTo(0,0);
	self.resizeTo(screen.availWidth,screen.availHeight);
}

/****************************************************************/
WinObj.winOpen=function (url,winname) 
{
/****************************************************************///打开新的窗口
	var	winvar=window.open(url,winname,"location=no,toolbar=no,driectories,no,menubar=no,scrollbars=no,resizable=no,status=no,width=200,height=200,left=100,top=100");
}

/****************************************************************************************************///创建URL处理对象及方法
var URLObj=new Object();
URLObj.url_var=function (varname) 
{
/****************************************************************///URL地址?后参数的数据截取
	var s=document.URL;
	var p=s.indexOf("?");
	if (p>0){
		s=s.substr(p,s.length-p);
		p1=s.indexOf(varname);
		p2=s.indexOf("&",p1+varname.length);
		if (p1>0){
			if (p2>0){
				return s.substr(p1+varname.length,p2-p1-varname.length);	
			}else{
				return s.substr(p1+varname.length,s.length-p1);	
			}
			
		}else{
			return false;	
		}
	}else{
		return false;	
	}
}

/****************************************************************/


/****************************************************************************************************/


