﻿//***************************************************************
//作用：系统基础JS类
//作者：李冬明
//开发时间：28-06-27
//修改人：
//修改说明：
//修改时间：
//***************************************************************

//扩展String原型方法，除去字符串的空格
String.prototype.trim = function()
{
    return this.replace(/(^\s*)|(\s*$)/g, "");
}

Date.prototype.format=function()
{
    try
    {
        var NewDate=new Date(this);
        var Year=NewDate.getYear();
        var Month=NewDate.getMonth()+1;
        var DayS=NewDate.getDate();
        var ShowStr;
                    
        if(Month<10)
            Month="0" + Month;
                      
        if(DayS<10)
            DayS="0" + DayS;
                      
         ShowStr=Year + "-" + Month + "-" + DayS;
                    
         return ShowStr;
     }
     catch(e)
     {
         return "";
     }
}

//公共方法：简化document.getElementById
function $(obj)
{
   return document.getElementById(obj);
}

//改变status栏值
function ChangeStatus()
 {
     //输出默认状态栏值
     var strVal="欢迎使用宇宙网络开发的文兴电话营销管理系统，客服电话：13750828890，建议使用IE5.5以上浏览器，1024*768分辩率使用本系统。";
     if(nStatusI==strVal.length)
     {
         nStatusI=1;
     }
     window.status=strVal.substring(0,nStatusI);
     nStatusI=nStatusI+1;
 }
 
 //状态栏值控制变量与上面的函数搭配使用
 //var nStatusI=1;
 //setInterval("ChangeStatus()",200);
 
 ////////////////////////////////////////////////////////////////////////////////////////
//屏蔽鼠标右键
////////////////////////////////////////////////////////////////////////////////////////
/*
if (window.Event) 
  document.captureEvents(Event.MOUSEUP); 
 
function nocontextmenu() 
{
   event.cancelBubble = true
   event.returnValue = false;
   alert("感谢你使用本系统！！！");
   return false;
}
 
function norightclick(e) 
{
   if (window.Event) 
   {
      if (e.which == 2 || e.which == 3)
      {
          alert("感谢你使用本系统！！！");
          return false;
      }
   }
   else
   {
      if (event.button == 2 || event.button == 3)
      {
          event.cancelBubble = true
          event.returnValue = false;
          alert("感谢你使用本系统！！！");
          return false;
      }
   }
}
document.oncontextmenu = nocontextmenu;  // for IE5+
document.onmousedown = norightclick;  // for all others

*/

//************************************处理层自由移动***********************************
var Obj=''
document.onmouseup=MUp
document.onmousemove=MMove

function MDown(Object,w,h){
Obj=Object.id
document.all(Obj).setCapture()
pX=event.x-document.all(Obj).style.pixelLeft;
pY=event.y-document.all(Obj).style.pixelTop;
pW=w+2;
pH=h+2;
}

function MMove(){
if(Obj!='')
    {
        document.all(Obj).style.left=event.x-pX;
        document.all(Obj).style.top=event.y-pY;
        
        if(parseInt(document.all(Obj).style.left)<0)//设定左极限
            document.all(Obj).style.left=2;
            
        if(parseInt(document.all(Obj).style.top)<0)//设定右极限
            document.all(Obj).style.top=2;
        
        var bigRight,bigBottom;//极限右和极限下
        bigRight=eval(document.body.offsetWidth)-pW;
        bigBottom=eval(document.body.offsetHeight)-pH;
        
        if(parseInt(document.all(Obj).style.left)>bigRight)//设定右极限
            document.all(Obj).style.left=bigRight;
            
        if(parseInt(document.all(Obj).style.top)>bigBottom)//设定下极限
            document.all(Obj).style.top=bigBottom;
    }
}

function MUp(){
if(Obj!=''){
    document.all(Obj).releaseCapture();
    Obj='';
    }
}
//************************************处理层自由移动***********************************

function SystemWebJs()
{
    //产生随机数
    //num：最大数
    this.atrand=function(num)
    {
        return Math.floor(Math.random()*num)+1;
    }
    
    /***********************************针对Cookie的一些操作/star**************************************/
    //读Cookie
    //name：名称
    this.ReadCookie=function(name)
    {
        var value=document.cookie;
        var ayVal=value.split("=");
        ayVal=ayVal[1].trim();
        return ayVal;
    }
    
    //写Cookie
    //name：名称
    //value：值
    this.WriteCookie=function(name,value)
    {
        document.cookie=name + "=" + value;
    }
    
    //清除Cookie
    this.ClearCookie=function()
    {
        document.cookie= " ";
    }
    
    /***********************************针对Cookie的一些操作/end**************************************/
    //格式化小数
    //strStr：值
    //nAfterDot：小数位数
    this.FormatNumber=function(srcStr,nAfterDot)
    {
        var srcStr,nAfterDot;
        var resultStr,nTen;
        srcStr = ""+srcStr+"";
        strLen = srcStr.length;
        dotPos = srcStr.indexOf(".",0);
        if (dotPos == -1){
            resultStr = srcStr+".";
            for (i=0;i<nAfterDot;i++){
　　            resultStr = resultStr+"0";
            }
            return resultStr;
        }
        else{
            if ((strLen - dotPos - 1) >= nAfterDot){
　　            nAfter = dotPos + nAfterDot + 1;
　　            nTen =1;
　　            for(j=0;j<nAfterDot;j++){
　　　　            nTen = nTen*10;
　　            }
　　            resultStr = Math.round(parseFloat(srcStr)*nTen)/nTen;
　　            return resultStr;
            }
            else{
　　            resultStr = srcStr;
　　            for (i=0;i<(nAfterDot - strLen + dotPos + 1);i++){
　　　　            resultStr = resultStr+"0";
　　            }
　　            return resultStr;
            }
        }
    }
    
    //判断字符串长度是否在规定范围内
    //str：字符串
    //minlen：最小长度
    //maxlen：最大长度
    //返回值：true在范围内，false不在
    this.checkByteLength=function(str,minlen,maxlen)
    {
        if (str == null) return false;
	    var l = str.length;
	    var blen = 0;
	    for(i=0; i<l; i++) {
		    if ((str.charCodeAt(i) & 0xff00) != 0) {
			    blen ++;
		    }
		    blen ++;
	    }
	    if (blen > maxlen || blen < minlen) {
		    return false;
	    }
	    return true;
    }
    
    //显示日期时间星期
    //objID：显示用的控件ID
    this.ShowTime=function(objID)
    {
        var NewDate=new Date();
        var Year=NewDate.getYear();
        var Month=NewDate.getMonth()+1;
        var DayS=NewDate.getDate();
        var Hour=NewDate.getHours();
        var Minute=NewDate.getMinutes();
        var Second=NewDate.getSeconds();
        var Xday;
        var ShowStr;
                    
        if(navigator.userAgent.indexOf("MSIE")==-1)
           Year=1900+Year;
                       
        switch(NewDate.getDay())
         {
           case 0:Xday="星期日";
               break;
           case 1:Xday="星期一";
               break;
           case 2:Xday="星期二";
               break;
           case 3:Xday="星期三";
               break;
           case 4:Xday="星期四";
               break;
           case 5:Xday="星期五";
               break;
           case 6:Xday="星期六";
               break;
        }
                    
        if(Month<10)
            Month="0" + Month;
                      
        if(DayS<10)
            DayS="0" + DayS;
                    
        if(Hour<10)
            Hour="0" + Hour;
                    
        if(Minute<10)
            Minute="0" + Minute;
                      
        if(Second<10)
            Second="0" + Second;
                      
         ShowStr=Year + "年" + Month + "月" + DayS + "日";
         ShowStr +="  " + Xday + "  ";
         ShowStr +=Hour + ":" + Minute + ":" + Second;
                    
         $(objID).innerHTML ="当前时间：" + ShowStr;
    }
    
    //获取url参数值
    //param：参数名称
    this.getParameter=function(param)
    {
         var query = window.location.search;
         var iLen = param.length;
         var iStart = query.indexOf(param);
         if (iStart == -1)
          return "";
         iStart += iLen + 1;
         var iEnd = query.indexOf("&", iStart);
         if (iEnd == -1)
          return query.substring(iStart);

         return query.substring(iStart, iEnd);
    }
    
    /*
　　IsFloat(string,string,int or string):(测试字符串,+ or - or empty,empty or 0)
　　功能：判断是否为浮点数、正浮点数、负浮点数、正浮点数+0、负浮点数+0
    */
    this.IsFloat=function(objStr,sign,zero)
    {
        var reg;    
        var bolzero;    
        if(objStr.trim()=="")
        {
            return false;
        }
        else
        {
            objStr=objStr.toString();
        }    
        if((sign==null)||(sign.trim()==""))
        {
            sign="+-";
        }
        if((zero==null)||(zero.trim()==""))
        {
            bolzero=false;
        }
        else
        {
            zero=zero.toString();
            if(zero=="0")
            {
                bolzero=true;
            }
            else
            {
                alert("检查是否包含0参数，只可为(空、0)");
            }
        }
        switch(sign)
        {
            case "+-":
                //浮点数
                reg=/^((-?|\+?)\d+)(\.\d+)?$/;
                break;
            case "+": 
                if(!bolzero)           
                {
                    //正浮点数
                    reg=/^\+?(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
                }
                else
                {
                    //正浮点数+0
                    reg=/^\+?\d+(\.\d+)?$/;
                }
                break;
            case "-":
                if(!bolzero)
                {
                    //负浮点数
                    reg=/^-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
                }
                else
                {
                    //负浮点数+0
                    reg=/^((-\d+(\.\d+)?)|(0+(\.0+)?))$/;
                }            
                break;
            default:
                alert("检查符号参数，只可为(空、+、-)");
                return false;
                break;
        }

        

        var r=objStr.match(reg);
        if(r==null)
        {
            return false;
        }
        else
        {
            return true;
        }
    }
    
    /*
　　IsInt(string,string,int or string):(测试字符串,+ or - or empty,empty or 0)
　　功能：判断是否为整数、正整数、负整数、正整数+0、负整数+0
    */
    this.IsInt=function(objStr,sign,zero)
    {
        var reg;    
        var bolzero;    
        if(objStr.trim()=="")
        {
            return false;
        }
        else
        {
            objStr=objStr.toString();
        }    
        if((sign==null)||(sign.trim()==""))
        {
            sign="+-";
        }
        if((zero==null)||(zero.trim()==""))
        {
            bolzero=false;
        }
        else
        {
            zero=zero.toString();
            if(zero=="0")
            {
                bolzero=true;
            }
            else
            {
                alert("检查是否包含0参数，只可为(空、0)");
            }
        }
        switch(sign)
        {
            case "+-":
                //整数
                reg=/(^-?|^\+?)\d+$/;            
                break;
            case "+": 
                if(!bolzero)           
                {
                    //正整数
                    reg=/^\+?[0-9]*[1-9][0-9]*$/;
                }
                else
                {
                    //正整数+0
                    //reg=/^\+?\d+$/;
                    reg=/^\+?[0-9]*[0-9][0-9]*$/;
                }
                break;
            case "-":
                if(!bolzero)
                {
                    //负整数
                    reg=/^-[0-9]*[1-9][0-9]*$/;
                }
                else
                {
                    //负整数+0
                    //reg=/^-\d+$/;
                    reg=/^-[0-9]*[0-9][0-9]*$/;
                }            
                break;
            default:
                alert("检查符号参数，只可为(空、+、-)");
                return false;
                break;
        }
        var r=objStr.match(reg);
        if(r==null)
        {
            return false;
        }
        else
        {        
            return true;     
        }
    }


} 

//实例化JS系统调用类
var SystemWeb=new SystemWebJs();

