﻿var Tjw = {
	vfrm : null,
	GetBrowser:function(){//检测浏览器类型
		var s = navigator.userAgent.toLowerCase();
		if( s.indexOf('opera') != -1 ) return 'opera';
		if( s.indexOf('gecko') != -1 ) return 'gecko';
		if( s.indexOf('msie') != -1 ) return 'msie';
		return 'unknown';
	},
	existSymbol:function(text)
	{
		var regChar = new RegExp("[~|`|!|@|#|\$|%|\^|&|\*|\(|\)|_|=|\+|\\\\|\||\{|\}|\[|:|\"|;|'|<|>|\,|/|\\.|\\?|\\]|\\-|\\x20]+");
		return regChar.test(text);
	},
	existUpperCase:function(text)
	{
		var regChar = new RegExp("[A-Z]+");
		return regChar.test(text);
	},
	existLowerCase:function(text)
	{
		var regChar = new RegExp("[a-z]+");
		return regChar.test(text);
	},
	existNumber:function(text)
	{
		var str = text.trim();
		var regChar = new RegExp("[0-9]+");
		return regChar.test(str);
	},
	existDecimal:function(text,dotNum,sign)
	{
		var regChar = new RegExp("[0-9]+[\.]?[0-9]*");
		return regChar.test(text);
	},
	isNumber:function(text,dotNum)
	{
		var str = text.trim();
		var regChar;
		if (dotNum == null || dotNum == ""|| dotNum == "0")
		{
			regChar = new RegExp("^[0-9]+$");
		}
		else if (dotNum == "*")
		{
			regChar = new RegExp("^[0-9]+([\\.][0-9]*)?$");
		}
		else
		{
			regChar = new RegExp("^[0-9]+([\\.][0-9]{0,"+ dotNum +"})?$");
		}
		return regChar.test(str);
	},
	isEMail:function(text)
	{
		var regChar = new RegExp("^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$");
		return regChar.test(text.trim());
	},
	isZipCode:function(text)
	{
		var regChar = new RegExp("^[0-9]{6}$");
		return regChar.test(text.trim());
	},
	isMobilePhone:function(text)
	{
		var regChar = new RegExp("^(13|15)\\d{9}$");
		var regChar1 = new RegExp("^(([0-9]{1,3}\-)?([0][1-9][0-9]{1,2}\-)?[0-9]{6,12}\-[0-9]{1,})|(([0-9]{1,3}\-)?([0][1-9][0-9]{1,2}\-)?[0-9]{6,12})$");
		return ( regChar.test(text.trim())|| regChar1.test(text.trim()));
	},
	isTelphone:function(text)
	{
		var regChar = new RegExp("^(([0-9]{1,3}\-)?([0][1-9][0-9]{1,2}\-)?[0-9]{6,12}\-[0-9]{1,})|(([0-9]{1,3}\-)?([0][1-9][0-9]{1,2}\-)?[0-9]{6,12})$");
		return regChar.test(text.trim());
	},
	isID : function (text)
	{
		var regChar = new RegExp("([0-9]{6}[0-9][0-9][0|1][0-9][0|1|2|3][0-9][0-9]{3})|([0-9]{6}[1|2][0|9][0-9][0-9][0|1][0-9][0|1|2|3][0-9][0-9]{4})|([0-9]{6}[1|2][0|9][0-9][0-9][0|1][0-9][0|1|2|3][0-9][0-9]{3}X)")
		var regCharT = new RegExp("^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$")
		 if(text.length==15)
		 {  
			 return  regCharT.test(text.trim());
		 }
		 else return regChar.test(text.trim());
	},
	checkNull:function(objName,msgName)
	{
		if (document.getElementById(objName).value.trim() == "")
		{
			alert(msgName + "不可为空！");
			return false;
		}
		return true;
	},
	checkNum:function(objName,msgName)
	{
		if (!Tjw.isNumber(document.getElementById(objName).value.trim()))
		{
			alert(msgName + "输入的必须为整数！");
			return false;
		}
		return true;
	},
	checkFloat:function(objName,msgName,dotNum)
	{
		if (!Tjw.isNumber(document.getElementById(objName).value.trim(),dotNum))
		{
			alert(msgName + "输入的格式不正确，必须为不超过"+ dotNum +"位的小数！");
			return false;
		}
		return true;
	},
	checkLen:function(objName,msgName,len)
	{
		if ( document.getElementById(objName).value.length > parseInt(len)  )
		{
			alert(msgName + "过长，请不要超出" + len + "个字符！");
			return false;
		}
		return true;
	},
	checkEMail:function(objName,msgName)
	{
		if ( ! Tjw.isEMail(document.getElementById(objName).value)  )
		{
			alert(msgName + "格式错误，请重新输入！");
			return false;
		}
		return true;
	},
	checkTelphone : function (objName,msgName)
	{
	    if ( ! Tjw.isTelphone(document.getElementById(objName).value) )
	    {
			alert(msgName + "格式错误，请重新输入！");
			return false;
	    }
	    return true;
	},
	checkZipCode : function (objName,msgName)
	{
	    if ( ! Tjw.isZipCode(document.getElementById(objName).value) )
	    {
			alert(msgName + "格式错误，请重新输入！");
			return false;
	    }
	    return true;
	},
	checkID : function (objName,msgName)
	{
	    if ( ! Tjw.isID(document.getElementById(objName).value) )
	    {
			alert(msgName + "格式错误，请重新输入！");
			return false;
	    }
	    return true;
	},
	diffDate:function( startDate,endDate )
	{
		var sDate = startDate.toString().replace("-",",");
		var eDate = endDate.toString().replace("-",",");
		var c = new Date(sDate) - new Date(eDate);
		
		if(c > 0)
		{
			return false;
		}
		return true;
	},
	checkDate:function(objName,msgName,len)// 仅支持形如2005-11-11的格式
	{
			ptext = document.getElementById(objName).value.trim();
			if (ptext !="") 
			{
				var reg = new RegExp("^((((1[6-9]|[2-9]\\d)\\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\\d|3[01]))|(((1[6-9]|[2-9]\\d)\\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\\d|30))|(((1[6-9]|[2-9]\\d)\\d{2})-0?2-(0?[1-9]|1\\d|2[0-8]))|(((1[6-9]|[2-9]\\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$")
				if (!reg.test(ptext))
				{
					alert(msgName+"输入格式不正确，请重新输入！");
					document.getElementById(objName).value = "";
					return false;
				}
			}
			return true;
	},
	attachEvent:function(obj,objEventName,objfunction)//加载控件事件
	{
		var thisobj;
		//try
		//{
			thisobj=eval(obj);
		//}
		//catch()
		//{
		//	return;
		//}
		switch(Tjw.GetBrowser()){
			case 'gecko':
				thisobj.addEventListener(objEventName,objfunction,true);				
				break;
			default:
				thisobj.attachEvent('on'+objEventName,objfunction);				
		}
	},
	attachEventOnWindowBeforeunload:function(f){//加载Window onbeforeunload事件
		switch(Tjw.GetBrowser()){
			case 'gecko':
				window.addEventListener('beforeunload',f,true);
				break;
			default:
				window.attachEvent('onbeforeunload',f);
		}
	},
	WindowOnBeforeUnLoad:function(){//创建透明IFRAME
		var frm = document.createElement('iframe');
		document.body.appendChild(frm);
		document.body.scroll = 'no';
		frm.style.position = "absolute";
		frm.style.top = '-50px';
		frm.style.left = '-50px';
		frm.style.width = document.body.offsetWidth + 100;
		frm.style.height = document.body.offsetHeight + 100;
		frm.style.background = "#FFFFFF";
		frm.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(style=3,opacity=50,finishOpacity=50);';
		frm.style.opacity = '0.5';	
	},
	WinList:{},//窗体列表
	OpenWin:function(url,name,w,h){//打开一个居中的窗口
		if( Tjw.WinList[name] && !Tjw.WinList[name].closed ){
			Tjw.WinList[name].focus();
			return;
		}
		var sw = screen.availwidth;
		var sh = screen.height;
		var l = w<sw?(sw-w)/2:0;
		var t = h<sh?(sh-h)/2:0;
		var features = ' width=' + w
					 + ',height=' + h
					 + ',left=' + l
					 + ',top=' + t;
		var winHandle = window.open(url,name,features);
		winHandle.focus();
		Tjw.WinList[name] = winHandle;
	},
	fResizeImg1:function(w,h,obj)
    {   
        var img = $id(obj);        
        var MaxWidth = w;//设置图片宽度界限 
        var MaxHeight = h;//设置图片高度界限 
        var HeightWidth = img.offsetHeight / img.offsetWidth;//设置高宽比 
        var WidthHeight = img.offsetWidth / img.offsetHeight;//设置宽高比   
        
        if(img.width<=0||img.height<=0)
        {
            img.width = parseInt(MaxWidth); 
            img.height = parseInt(MaxHeight);
        }
        if(img.offsetWidth > parseInt(MaxWidth))
        { 
            img.width = parseInt(MaxWidth); 
            img.height = MaxWidth * HeightWidth; 
        }  
        if(img.offsetHeight > parseInt(MaxHeight))
        { 
            img.height = parseInt(MaxHeight); 
            img.width = MaxHeight * WidthHeight; 
        }            
    },
    //每个参数都是数组，而且数组的各元素为：0-宽，1-高，2-img标签id
    addImgEvent:function()
    {                     
        var outerArgs=arguments;
        function innerFun()
        {
            for(var i=0;i<outerArgs.length;i++)  
            {  
                Tjw.fResizeImg1(outerArgs[i][0],outerArgs[i][1],outerArgs[i][2]);  
            }
        } 
        Tjw.attachEvent("window","load",innerFun);     
    }    
};	

/*去空格  */
String.prototype.trim = function()
{
    return this.replace(/(^\s*)|\s*$/g,"");
}

/*按字节计算字符串长度，注：一个汉字两个字节，一个英文一个字节*/
String.prototype.BitLength=function(){return this.replace(/[^\x00-\xff]/g,"**").length;}


/*根据ID获取对象 */
function $id(objId)
{
	return 	document.getElementById(objId);
}

//判读URL是否为符合视频URL格式
function IsURL(str_url){
       var strRegex = "^((https|http|ftp|rtsp|mms)?://)" 
   + "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" //ftp的user@ 
        + "(([0-9]{1,3}\.){3}[0-9]{1,3}" // IP形式的URL- 199.194.52.184 
        + "|" // 允许IP和DOMAIN（域名）
        + "([0-9a-z_!~*'()-]+\.)*" // 域名- www. 
        + "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\." // 二级域名 
        + "[a-z]{2,6})" // first level domain- .com or .museum 
        //+ "(:[0-9]{1,4})?" // 端口- :80 
        //+ "((/?)|" // a slash isn't required if there is no file name 
        //+ "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)"
        +"((/).+\.(swf)|\.(flv))$"; 
        var re=new RegExp(strRegex); 
     
        if (re.test(str_url.toLowerCase())){
            return (true); 
        }else{ 
            return (false); 
        }
}
