﻿<!-- Global Function begin -->
	// 左右去除空格函数
	String.prototype.trim = function(){
		return this.replace( /(^\s*)|(\s*$)/g, "" );
	}
	
	// 判断输入是否是有效的短日期格式 - "YYYY-MM-DD"
	String.prototype.isValidDate = function(){
		var result = this.match( /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/ );
		if( result == null ) return false;
		var d = new Date( result[1], result[3]-1, result[4] );
		return ( d.getFullYear() == result[1] && d.getMonth()+1 == result[3] && d.getDate() == result[4] );
	}
	
	// 判断输入是否是有效的短日期格式 - "YYYY-MM-DD"(日和月必须为2位数)
	String.prototype.isValidDateEx = function(){
		var result = this.match( /^(\d{1,4})(-|\/)(\d{2,2})\2(\d{2,2})$/ );
		if( result == null ) return false;
		var d = new Date( result[1], result[3]-1, result[4] );
		return ( d.getFullYear() == result[1] && d.getMonth()+1 == result[3] && d.getDate() == result[4] );
	}
	
	// 判断输入是否是有效的时间格式 - "HH:MM:SS"
	String.prototype.isValidTime= function(){
		var resule = this.match( /^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/ );
		if ( result == null ) return false;
		if ( result[1] > 24 || result[3] > 60 || result[4] > 60 ) return false;
		return true;
	}
	
	// 判断是否有效的长日期格式 - "YYYY-MM-DD HH:MM:SS"
	String.prototype.isValidDatetime = function(){
		var result = this.match( /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/ );
		if( result == null ) return false;
		var d= new Date( result[1], result[3]-1, result[4], result[5], result[6], result[7] );
		return ( d.getFullYear() == result[1] && ( d.getMonth()+1 ) == result[3] && d.getDate() == result[4] && d.getHours() == result[5] && d.getMinutes() == result[6] && d.getSeconds() == result[7] );
	}
	
	// 判断是否有效的整数
	String.prototype.isValidIntNumber = function(){
		if ( isNaN( parseInt( this ) ) || parseInt( this ).toString() != this ) return false;
		else return true;
	}
	
	// 判断是否有效的浮点数
	String.prototype.isValidFloatNumber = function(){
		if ( isNaN( parseFloat( this ) ) || parseFloat( this ).toString() != this ) return false;
		else return true;
	}

	// 判断是否有效的 EMAIL 格式 - a@b.com
	String.prototype.isEmail = function() {
		var reg = /^\w+((-\w+)|(\.\w+)|(\+\w+)|(\.\+\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
		return reg.test( this );
	}
	
	// 判断是否合法的HTTP地址 - Http://www.msbnet.net
	String.prototype.isHttp = function() {
		if ( ( this.substring(0,7).toUpperCase() != "HTTP://" ) || ( this.length < 10 ) ) return false;
		else return true;
	}
	
	// 格式化中文的目录名，使用 IE 和 FF 均可以显示
	String.prototype.toChinesePath = function(){
		return encodeChinesePath( this );
	}
	
	// 替换换行符为 HTML 的换行标签
	String.prototype.encodeHtmlEnter = function(){
		return this.replace( /\n/g, "<br>" );
	}
	
	// 返回一个指定名称的对象
	function $Obj( s ){
		return document.getElementById( s );
	}
	// 返回一个指定名称的对象
	function $$ ( s ){
		return document.getElementById( s );
	}
	
	// 格式化中文的目录名，使用 IE 和 FF 均可以显示
	function encodeChinesePath( v ){
		return escape( v ).replace( /%5C/g, "/" );
	}
	
	// 判断输入的键值是否数字键
	function isNumber(){
		keyCode = SearchEvent().keyCode;
		if ( ( keyCode >= 48 && keyCode <= 57 ) || keyCode == 8 || keyCode == 189 ) return true;
		else return false;
	}
	
	// 设置图片大小到指定高宽
	function setSize( obj, maxW, maxH ){
		var scale = Math.min( maxW/obj.width, maxH/obj.height );
		obj.width *= scale;
	}
	
	// 截取指定长度的字符串
	function cutString( str, len ){
		if ( str.length > len ) return str.substring( 0, len ) + "…";
		else					 return str;
	}
	
	// 设置一个 Element 的值
	function setElementValue( objName, val ){
		$obj( objName ).value = val;
	}
	
	// 转换布尔值为数字
	function TransBoolTxtToInt( BoolTxt ){
		if ( BoolTxt.toLowerCase() == "true" )	return 1;
		else									return 0;
	}
	
	// 获取一个图片的 Html 代码
	function getImgHTML( name, src, maxW, maxH ){
		return "<img id=\""+ name +"\" src=\""+ src +"\" width=\""+ maxW +"\" border=\"0\" onload=\"setSize( this, "+ maxW +", "+ maxH +" )\" onclick=\"window.open( this.src )\" />";
	}
	
	// 使用 XPATH 获取一个XML节点的文本
	function xml_getNodeText( doc, xpath ){
		try{
			var retval = "";
			var value = doc.selectSingleNode( xpath );
			if (value) retval = value.firstChild.data;
			return retval;
		}catch( e ){
			return "";	
		}
	}
	// 光标定位
	function movePointerToStart(ele_id){
        var o=$Obj(ele_id);   
        try{   
            o.setSelectionRange(0 ,0);   
            } catch (e) {   
                try{   
                    var o = o.createTextRange();   
                    o.moveStart("character",0);   
                    o.collapse(true);   
                } catch (e) { 
                }   
         }   
    } 
	// 获取 Cookies
	function get_cookie(parameter) {
		var reg,allCookie,allCookie2,iLen,iStart,iEnd;
		allCookie = document.cookie;
		reg = new RegExp(parameter);
		if(allCookie.search(reg) == -1){
			return "";
		}else{
			iLen = parameter.length;
			iStart = allCookie.search(reg) + iLen +1;
			allCookie2 = allCookie.substr(iStart);
			iEnd = iStart + allCookie2.search(/;/i);		
			if((iStart - 1) == iEnd){
				return allCookie.substr(iStart);
			}else{
				return allCookie.substr(iStart,iEnd - iStart);
			}
		}
	}
	
	// 显示或隐藏指定名字的对象	
	function disdiv( divid ){	
	
		$Obj( divid ).style.display = ( $Obj( divid ).style.display == "none" ) ? "" : "none";
		if ( get_cookie( "COD_AD_SHOW" ) == "" ){
			 document.cookie = "COD_AD_SHOW=yes;expires=Fri,   31   Dec   2008   23:59:59   GMT";
		}
	}

	// 打开新窗口
	var newWin = "";
	function openWindow( url, width, height, name ){
		var str = "height=" + height + ",innerHeight=" + height +",width=" + width + ",innerWidth=" + width + ",scrollbars=yes";
		if ( window.screen ){
			var ah = screen.availHeight - 30;
			var aw = screen.availWidth - 10;
			var xc = (aw - width) / 2;
			var yc = (ah - height) / 2;
			str += ",left=" + xc + ",screenX=" + xc;
			str += ",top=" + yc + ",screenY=" + yc;
		}
		if ( newWin == "" ) newWin = window.open( url, name, str );
		if ( typeof( newWin ) != "undefined" ){
			try{
				if ( newWin.closed ) 					newWin = "";
				if ( typeof( newWin ) == "object" ){ 	newWin.focus(); newWin.location = url;	}
				else{									newWin = window.open( url, name, str ); newWin.focus();	}
			}catch( e ){
				newWin = "";
				alert( "弹出的窗口似乎被拦截了。\n\n为了可以正常使用网站功能，请按拦截工具的提示暂时允许弹出窗口。\n\n- Business.com" ); 
			}
		}
	}
    //Get Radio's value
    function GetRadiovalue(obj)
    {
        for (var i=0;i<obj.length;i++ )
        { 
            if( obj[i].checked==true )
            {
                return obj[i].value;
            }
        }
    }
    //在光标定位位置插入数据,textObj为textarea,textfeildvalue为插入数据
    function setCaret(textObj)
    {   
        if(textObj.createTextRange)
        {   
            textObj.caretPos = document.selection.createRange().duplicate();   
        }
    }
    function insertAtCaret(textObj,textFeildValue)
    {
        textObj = document.getElementById(textObj);
        textObj.focus();
        if(document.all)
        {     
            if(textObj.createTextRange && textObj.caretPos)
            {
                var caretPos = textObj.caretPos;
                caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ?textFeildValue + ' ' : textFeildValue;
            }
            else
            {
                textObj.value = textFeildValue;
            }
        }
        else
        {
            if(textObj.setSelectionRange)
            {
                var rangeStart = textObj.selectionStart;
                var rangeEnd = textObj.selectionEnd;
                var tempStr1 = textObj.value.substring(0,rangeStart);
                var tempStr2 = textObj.value.substring(rangeEnd);
                textObj.value = tempStr1 + textFeildValue + tempStr2;
            }
            else
            {
                alert("This   version   of   Mozilla   based   browser   does   not   support   setSelectionRange");
            }
        }
        textObj.focus();
    }
	<!-- Global Function end -->
	<!--全选或者全不选-->
    function Check_All(objSelect,This)
    {
        if(objSelect==null)
          return ;
        //如果只有一个checkbox对象
        if(objSelect.length==null)
           objSelect.checked=This.checked;
        for (i=0;i<objSelect.length;i++)
        {
          if(objSelect[i].checked!=This.checked)
          {
	          objSelect[i].checked=This.checked;
          }
        }
    }
    //检测是否有checkbox被选中
    function CheckSelect(objcheckbox)
    {
       if(objcheckbox==null)
          return false;
       //只有一个checkbox时
       if(objcheckbox.length==null)
       {
          return objcheckbox.checked;
       }
       else
       {
          var count=objcheckbox.length;
          var i;
          for(i=0;i<count;i++)
          {
             if(objcheckbox[i].checked)
             {
                break;
             }
             else
             {
                continue;
             }
          }
          if(i==count)
            return false;//一个都没有选中
          else
            return true;//至少选中了一个
       }
    }
    function CheckConfirm(objCheckbox)
    {  
       if(objCheckbox==null)
       {  
          alert("您还没有相关记录");
          return false;
       }   
       //检测是·否有checkbox被选中
       if(!CheckSelect((objCheckbox)))
       {
           alert("请至少选择一个记录");
           return false;
       }
       //确认
       if(!confirm('确定执行本操作吗？'))
         return false;
    }
    
    //checked Radio
    function checkedRadio(obj,val)
    {
        for(var i = 0;i<obj.length; i++)
        {
            if(obj[i].value == val)
            {
                obj[i].checked = true;
                break;
            }
        }
    } 
    
	// 判断是否是电话号码
	String.prototype.isPhone= function(){	
        var reg = /^((86|086|\(86\)|\(086\))-?){0,1}(\d{3,4}-?\d{6,8}|\d{3,4}-?\d{6,8}-?\d{1,4}|\d{6,8}-?\d{1,4})$/;
		return reg.test(this);
	}
	
	// 判断是否是手机号码
	String.prototype.isMobile= function(){
		var reg = /^(((13[0-9]{1})|159|158|156|155|157|154|153|150|152|151)+\d{8})$/;
		return reg.test(this);
	}
	
	// 判断是否是邮政编码
	String.prototype.isUnicode= function(){
		var reg = /^[0-9]{6}$/;
		return reg.test(this);
	}
    
    //init info(初始化验证信息)
    function setValidateState( type, srcObj, errObj, errMsg )
    {
        $Obj( srcObj ).isError = ( type == 0 ) ? false : true;
        $Obj( errObj ).style.display = "";
        $Obj( errObj ).innerHTML = "<< " + errMsg;
        $Obj(errObj).style.color = (type==0)?"#ff6c0d":"Red";
    }
    function isError( obj )
    {
        if( obj.value.trim().length == 0 )
            return ( obj.isError == undefined || obj.isError );
        else 
            return obj.isError;
    }
