/******************************************************************************
  全局通用函数；与页面无关；函数名不宜以Check开头
*******************************************************************************/


//*************************************************字符串检测、处理函数*************************************************************************

//检查字符串长度；一个中文字符算2个长度
function GetLength(Str){
	var I;
	var Length = 0;
	for(I=0; I<Str.length; I++){
		if ((Str.charCodeAt(I)>=0) && (Str.charCodeAt(I)<=255)){
			Length++;
		}else{
			Length = Length + 2;
		}
	}
	return Length;
}

//检测是否是电子邮件
function IsEmail(Str){
	if( Str.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9\.\-]+\.[A-Za-z]{2,3}$/) == -1){
		return false;	 
	}else{
		return true;
	}
}

//检查是否为空；如果只有空格，也认为是空
function IsEmpty(Str){
	if(Trim(Str) == ''){
		return true;
	}else{
		return false;
	}
}

//检查身份证号码
function IsId(Str){
	if( Str.search(/^\d{15}$|^\d{18}$|^\d{17}x$/) == -1 ){
		return false;	 
	}else{
		return true;
	}	
}

//检查是否为IP地址
function IsIp(Str){
//	必需要拆开来验证
	var Reg = /^\d{1,3}(\.\d{1,3}){3}$/ ;
//	test 它指出在被查找的字符串中是否存在模式
	if(Reg.test(Str)){
		var Ip = Str.split('.');
//		开头不能是 0
		if(parseInt(Ip[0]) == 0){
			return false;
		}else{
			for(Key in Ip){
				if(parseInt(Ip[Key]) > 255){
					return false;
				}
			}
			return true;
		}
	}else{
		return false;
	}
}

//检测是否为数字，小数和负数也不行
function IsNumber(Str){
//	\D 表示匹配一个非数字字符；如果不存在非数字字符，则说明全部是数字
	if(Str.match(/\D/) == null){
		return true;
	}else{
		return false;
	}
}

//检查是否为整数
function IsInt(Str){
	var Reg = /^-{0,1}\d+$/ ;
	if(Reg.test(Str)){
		return true;
	}else{
		return false;
	}	
}


//检测是否为浮点数
function IsFloat(Str){
	var Reg = /^-{0,1}\d+\.\d+$/ ;
//	test 它指出在被查找的字符串中是否存在模式
	if(Reg.test(Str)){
		return true;
	}else if(IsInt(Str)){
		return true;
	}else{
		return false;
	}
}


//检查是否为电话号码
function IsPhone(Str){
	if( (Str.search(/^\d{7,8}$/) == -1) && (Str.search(/^\d{3,4}-\d{7,8}$/) == -1) ){
		return false;	 
	}else{
		return true;
	}	
}

//检查是否为手机号
function IsMobile(Str){
//	以13开头                                以15开头
	if( (Str.search(/^13\d{9}$/) == -1) && (Str.search(/^15\d{9}$/) == -1) ){
		return false;	 
	}else{
		return true;
	}	
}

//检查是否是日期
function IsDate(Str){
//	2007-6-8  2007-06-08； 07-6-8 07-06-08； 
	if( (Str.search(/^\d{4}-\d{1,2}-\d{1,2}$/) == -1) && (Str.search(/^\d{2}-\d{1,2}-\d{1,2}$/) == -1) ){
		return false;	 
	}else{
		return true;
	}	
}

//检查是否为注册名称；字母、数字、“_”；只能以字母开头
function IsUserName(Str){
	if(Str.search(/^[A-Za-z]+[A-Za-z0-9_]+$/) == -1 ){
		return false;
	}else{
		return true;
	}	
}


//检查邮编；邮编是6位数字
function IsZip(Str){
	if(Str.search(/^\d{6}$/) == -1 ){
		return false;
	}else{
		return true;
	}
}

//过滤字符串首尾的空白
function Trim(Str) {
	return Str.replace(/^\s*(.*?)[\s\n]*$/g, '$1');
}

//*************************************************数组函数*************************************************************************
//是否在数组中
function InArray(Needle, Haystack) {
	if(typeof Needle == 'string') {
		for(var I in Haystack) {
			if(Haystack[I] == Needle) {
				return true;
			}
		}
	}
	return false;
}

//从数组TargetArray中删除Value
function ArrayRemove(Value, TargetArray){
	for(var I=0; I< TargetArray.length; I++){
		if(TargetArray[I] == Value){
//			将数组最后一个移动到要删除的元素处，然后使数组长度减一
			TargetArray[I] = TargetArray[TargetArray.length-1];
			TargetArray.length -= 1;
		}
	}
	return TargetArray;
}

//*************************************************DOM对象函数*************************************************************************
//通过ID获取对象
function $(Id) {
	return document.getElementById(Id);
}

//显示滚动条
function Announcement(DivId, Direction) {
	var DivId = DivId ? DivId : '__AnnouncementDiv';
	var Direction = Direction ? Direction : 'left';
//	marquee的属性
//	方向		direction=#		#=left, right ,up ,down
//	方式		bihavior=#		#=scroll 绕圈, slide 走一次, alternate 来回走
//	循环		loop=#			#=次数；若未指定则循环不止
//	速度		scrollamount=#
//	延时		scrolldelay=#
	$(DivId).innerHTML = '<marquee style="filter:progid:DXImageTransform.Microsoft.Alpha(startX=0, startY=0, finishX=10, finishY=100, style=1, opacity=0, finishOpacity=100); margin: 0px 8px" direction="' + Direction + '" scrollamount="2" scrolldelay="1" onMouseOver="this.stop();" onMouseOut="this.start();">' +
		$(DivId).innerHTML + '</marquee>';
	$(DivId).style.display = 'block';
}

//全选
function CheckAll(TheForm, Prefix, CheckAll){
//	全选框的名称
	var CheckAll = CheckAll ? CheckAll : 'ChkAll';
	for(var I = 0; I < TheForm.elements.length; I++) {
		var E = TheForm.elements[I];
		if(E.name != CheckAll && (!Prefix || (Prefix && E.name.match(Prefix))) ) {
//			将全选框的 选中与否的情况 应用到所有的INPUT框中去
			E.checked = TheForm.elements[CheckAll].checked;
		}
	}	
}

//取出CHECKBOX的当前值
function FetchCheckbox(CheckboxName){
	return $(CheckboxName) && $(CheckboxName).checked == true ? 1 : 0;
}

//取出CHECKBOX的当前值
function FetchRadio(RadioName){
	var RadioValue = '';
	var RadioLength = document.getElementsByName(RadioName).length ;
	for(var I=0; I < RadioLength; I++){
		if(document.getElementsByName(RadioName)[I].checked == true){
			RadioValue = document.getElementsByName(RadioName)[I].value;
		}
	}
	return RadioValue;
}

//隐藏层
function Hidden(Id){
	$(Id).style.display = 'none';
}

//显示层
function Show(Id){
	$(Id).style.display = 'block';
}

//字体放缩至规定大小
function ZoomFont(Id, Size){
	$(Id).style.fontSize = Size + 'px';
}

//字体放大
function ZoomFontAdd(Id){
	Size = $(Id).style.fontSize;
	if(!Size){
		$(Id).style.fontSize = '14px';
	}else{
		Size = parseInt(Size, 10) + 2 ;
		$(Id).style.fontSize = Size + 'px';
	}
}

//字体缩小
function ZoomFontSub(Id){
	Size = $(Id).style.fontSize;
	if(!Size){
		$(Id).style.fontSize = '12px';
	}else{
		Size = parseInt(Size, 10) - 2 ;
		$(Id).style.fontSize = Size + 'px';
	}	
}

//图片放缩
function ZoomImage(Obj) {
	if(event.ctrlKey) {
		var Zoom = parseInt(Obj.style.zoom, 10) || 100;
		Zoom -= event.wheelDelta / 12;
		if(Zoom > 0) {
			Obj.style.zoom = Zoom + '%';
		}
		return false;
	} else {
		return true;
	}
}


//*************************************************特殊函数*************************************************************************
//获取COOKIE
function GetCookie(CookieName) {
//	CookieName = CookieName + '=';
	var CookieStart = document.cookie.indexOf(CookieName);
	var CookieEnd = document.cookie.indexOf(";", CookieStart);
	return CookieStart == -1 ? '' : unescape(document.cookie.substring(CookieStart + CookieName.length + 1, (CookieEnd > CookieStart ? CookieEnd : document.cookie.length)));
}

//设置COOKIE
function SetCookie(CookieName, CookieValue, CookieSecond, CookiePath, CookieDomain, CookieSecure) {
	CookieSecond = CookieSecond ? CookieSecond : 2592000;
	expires = new Date();
	expires.setTime(expires.getTime() + CookieSecond);
	document.cookie =  escape(CookieName) + "=" + escape(CookieValue)
		+ (expires ? '; expires=' + expires.toGMTString() : '')
		+ (CookiePath ? '; path=' + CookiePath : '/')
		+ (CookieDomain ? '; domain=' + CookieDomain : '')
		+ (CookieSecure ? '; secure' : '');
}

//获取客户端IP；测试不成功，依赖IE
function GetLocalIp(){    
	var Obj = null;
	var Ip = '';
	try{    
		Obj = new ActiveXObject("rcbdyctl.Setting");    
		Ip = Obj.GetIPAddress;       
		if(Ip.length == 0){    
			return '0.0.0.0';    
		}    
		Obj = null;    
	}catch(e){    
		return Ip;    
	}    
	return Ip;    
}    
  
//程序停止一段时间
function Sleep(Time) {
	var DialogScript = "window.setTimeout(" + " function () { window.close(); }, " + Time + ");"; 
	try{
		var Result = window.showModalDialog("javascript:document.writeln(" +" '<script>" + DialogScript + "<" + "/script>')"); 
	}catch(e){
		
	}
}



//*************************************************子框架、页面宽、高*************************************************************************
//获取页面的相对左顶点，前提是页面居中
function GetPageLeft(PageWidth){
	PageWidth = PageWidth ? PageWidth : 800;
//	大于页面宽度
	if(document.body.scrollWidth > PageWidth){
		return (document.body.scrollWidth - PageWidth)/2;
	}else{
		return 0;
	}	
}

//调节子框架的宽度和高度；使之适应父页面
function IframeReSize(){
	if (self.location!=top.location){
	     parent.document.all(self.name).height = document.body.scrollHeight + IframeHeight ;
	     parent.document.all(self.name).width  = document.body.scrollWidth + IframeWidth ;
	}
}

//*************************************************其他函数*************************************************************************

//添加到收藏夹
function AddFavorite(Title, Url){
	window.external.addFavorite(Url, Title);
}

//设为首页
function HomePage(Obj, Url){
	Obj.style.behavior="url(#default#homepage)";
	Obj.setHomePage(Url);
}

//关闭窗口
function WindowClose(){
	window.opener = null;
	window.close();
}

//打印页面
function WindowPrint(){
	window.print();
}
