﻿var Errors = new Array(
    "验证通过!",
    "身份证号码位数不对!",
    "身份证号码出生日期超出范围或含有非法字符!",
    "身份证号码校验错误!",
    "身份证地区非法!"
    );
    
function SetRole()
{
    PopupWindow("../ManagerPages/role.aspx","Management_Role",800,600);
}
function SetOrganization()
{
    PopupWindow("../ManagerPages/organization.aspx","Management_Organization",800,600);
}
function SetUser()
{
    PopupWindow("../ManagerPages/user.aspx","Management_User",800,600);
}
function SetEnterpriseUser()
{
    PopupWindow("../ManagerPages/enterprise_user.aspx","Management_EnterpriseUser",800,600);
}
function SetReport()
{
    PopupWindow("../ManagerPages/report.aspx","Management_Report",800,600);
}
function SetSystemConfig()
{
    PopupWindow("../ManagerPages/system_config.aspx","Management_SystemConfig",800,600);
}
function ViewOnlineUser()
{
    PopupWindow("../ManagerPages/online_user.aspx","Management_OnlineUser",800,600);
}
function ViewLockedTask()
{
    PopupWindow("../ManagerPages/locked_task.aspx","Management_LockedTask",800,600);
}
function SetUserInformation()
{
    PopupWindow("../PersonPages/user_information.aspx","User_UserInformation",800,600);
}
function SetUserConfig()
{
    PopupWindow("../PersonPages/user_config.aspx","User_UserConfig",320,230);
}
function ChangeUserPassword()
{
    PopupWindow("../PersonPages/change_password.aspx","User_ChangePassword",320,230);
}
function ChangeEnterprisePassword()
{
//    debugger;
    PopupWindow("../ManagerPages/change_password.aspx","Enterprise_ChangePassword",320,230);
}
//
// 页面可以用$("id")引用HTML对象。
//
var $ = document.all;
//
// 弹出新窗口。
// 例如：PopupWindow("../help.html","Help",400,300);
// 尽量不要在引用页面出现 BizLIBPopupWindowWindowNames,BizLIBPopupWindowNewWindows 两个变量
//
var BizLIBPopupWindowWindowNames = new Array();
var BizLIBPopupWindowNewWindows = new Array();
function PopupWindow(inUrl,inName,inWidth,inHeight) 
{
    var idx = -1;
    for(var i=0;i<BizLIBPopupWindowWindowNames.length;i++) 
    {
        if (BizLIBPopupWindowWindowNames[i] == inName) 
        {
            idx = i;
        }
    }
    if (idx != -1) 
    {
        if (BizLIBPopupWindowNewWindows[idx]!=null && !BizLIBPopupWindowNewWindows[idx].closed) 
        {
            BizLIBPopupWindowNewWindows[idx].focus();
        }
        else 
        {
            var iTop=(window.screen.height-inHeight)/2; 
            var iLeft=(window.screen.width-inWidth)/2; 
            BizLIBPopupWindowNewWindows[idx] = window.open(inUrl,inName,"Status=no,Scrollbars=no,Toolbar=no,Location=no,Direction=no,Resizeable=no,Width="+inWidth
                +" ,Height="+inHeight+",top="+iTop+",left="+iLeft); 
        }
    }
    else 
    {
        BizLIBPopupWindowWindowNames[BizLIBPopupWindowWindowNames.length] = inName;
        var iTop=(window.screen.height-inHeight)/2; 
        var iLeft=(window.screen.width-inWidth)/2; 
        BizLIBPopupWindowNewWindows[BizLIBPopupWindowNewWindows.length] = window.open(inUrl,inName,"Status=no,Scrollbars=no,Toolbar=no,Location=no,Direction=no,Resizeable=no,Width="+inWidth
            +" ,Height="+inHeight+",top="+iTop+",left="+iLeft); 
    }
}

function PopupWindowWithScollbars(inUrl,inName,inWidth,inHeight)
{
    var idx = -1;
    for(var i=0;i<BizLIBPopupWindowWindowNames.length;i++) 
    {
        if (BizLIBPopupWindowWindowNames[i] == inName) 
        {
            idx = i;
        }
    }
    if (idx != -1) 
    {
        if (BizLIBPopupWindowNewWindows[idx]!=null && !BizLIBPopupWindowNewWindows[idx].closed) 
        {
            BizLIBPopupWindowNewWindows[idx].focus();
        }
        else 
        {
            var iTop=(window.screen.height-inHeight)/2; 
            var iLeft=(window.screen.width-inWidth)/2; 
            BizLIBPopupWindowNewWindows[idx] = window.open(inUrl,inName,"Status=no,Scrollbars=yes,Toolbar=no,Location=no,Direction=no,Resizeable=no,Width="+inWidth
                +" ,Height="+inHeight+",top="+iTop+",left="+iLeft); 
        }
    }
    else 
    {
        BizLIBPopupWindowWindowNames[BizLIBPopupWindowWindowNames.length] = inName;
        var iTop=(window.screen.height-inHeight)/2; 
        var iLeft=(window.screen.width-inWidth)/2; 
        BizLIBPopupWindowNewWindows[BizLIBPopupWindowNewWindows.length] = window.open(inUrl,inName,"Status=no,Scrollbars=yes,Toolbar=no,Location=no,Direction=no,Resizeable=no,Width="+inWidth
            +" ,Height="+inHeight+",top="+iTop+",left="+iLeft); 
    }  
}

//
//检查是否是数字类型
//成功返回True
//str 要检查的原串，
//length 长度限制 如8位
//isfloat是否检查小数 True检查
function CheckNum(str,l,isfloat)
{   
    //debugger;
    if(str == "" || str == null)
    {
        return false;
    }
    if(str.length > l)
    {
        return false;
    }
    var temp="0123456789";
    var pos = 0;
    var k = 0; 
    for(var i=0; i< str.length;i++)
    {
        pos = temp.indexOf(str.charAt(i));
        if(pos == -1)
        {
            if(isfloat == true)
            {
                if(str.charAt(i)=='.')
                {
                    if(k >= 1)
                    {
                        //出现两次小数点
                        return false;
                    }
                    k=k+1;                  
                    continue;
                }
            }
            return false;
        }
        pos = 0;
    }
    return true;
} 
/**
*校验字符串是否为日期型
*返回值：
*如果为空，定义校验通过，           返回false
*如果字串为日期型，校验通过，       返回true
*如果日期不合法，                   返回false    参考提示信息：输入域的时间不合法！（yyyy-MM-dd）
*/
function CheckIsValidDate(str)
{
    //如果为空，则通过校验
    if(str == "" || str==null)
    {
        return false;
    }
    var pattern = /^((\\d{4})|(\\d{2}))-(\\d{1,2})-(\\d{1,2})$/g;
    if(pattern.test(str))
    {
        return false;
    }
    var arrDate = str.split("-");
    if(parseInt(arrDate[0],10) < 100)
    {
        arrDate[0] = 2000 + parseInt(arrDate[0],10) + "";
    }
    
    var date =  new Date(arrDate[0],(parseInt(arrDate[1],10) -1)+"",arrDate[2]);
    if(date.getFullYear() == arrDate[0]
       && date.getMonth() == (parseInt(arrDate[1],10) -1)+""
       && date.getDate() == arrDate[2])
    {
        return true;
    }
    else
    {
        return false;
    }
}

//弹出模态窗体
//function jsshowModalDialog(x,w,h, haveScroll){
//	var winLeft = (screen.width - w) / 2;
//	var winUp = (screen.height - h) / 2;
//	if (! window.focus)
//		return true;
//		
//	if( haveScroll == "" )
//		haveScroll = "no";
//    	 //w = screen.width;
//	//h = screen.height;
//	window.showModalDialog(x,"","dialogWidth=" + w + "px;dialogHeight=" + h + "px;resizable:yes;status:no;scroll:no;");
//}


// JScript 文件
/*
    (1)电话号码由数字、"("、")"和"-"构成
　　(2)电话号码为3到8位
　　(3)如果电话号码中包含有区号，那么区号为三位或四位
　　(4)区号用"("、")"或"-"和其他部分隔开
　　(5)移动电话号码为11或12位，如果为12位,那么第一位为0
　　(6)11位移动电话号码的第一位和第二位为"13"或者"159"
　　(7)12位移动电话号码的第二位和第三位为"13"或者"159"
    */ 
    
    function IsEmail(str, allowNull)
    {
         var slen = getLength(str);      
         if(slen == 0) return allowNull;
         var myRegExp = /[a-z0-9](([a-z0-9]|[_\-\.][a-z0-9])*)@([a-z0-9]([a-z0-9]|[_\-][a-z0-9])*)((\.[a-z0-9]([a-z0-9]|[_\-][a-z0-9])*)*)/gi;
         return myRegExp.test(str);
    }
    
    function IsPostCode(str)
    {
        var reg = /(^[0-9]{6}$)/
        return reg.test(str);   
    }
    
    function IsPhone(str)
    {        
        var str = str;
        //if(str.substring(0, 1) != '0') return false;
        //var reg=/(^[0-9]{3,4}\-[0-9]{7,8}$)|(^[0-9]{7,8}$)|(^\([0-9]{3,4}\)[0-9]{7,8}$)|(^0{0,1}13[0-9]{9}$)|(^0{0,1}15[0-9]{9}$)/
        var reg=/(^[0-9]{3,4}\-[0-9]{7,8}$)|(^\([0-9]{3,4}\)[0-9]{7,8}$)/
        //var reg = /(^[0-9]{11,12}$)/
        return reg.test(str);        
    }   
    
    //判断是否为手机号码
    function IsMobile(str, allowNull)
    {      
      var slen = getLength(str);      
      if(slen == 0) return allowNull;
      if(slen != 11) return false;
      if(!IsDigit(str, allowNull)) return false;
      if((str.substring(0, 2) != '13') && (str.substring(0, 2) != '15'))  return false;     
      return true;
    }   
    
    function checkIsValidDate(str)
    {
        return true
    }
    
    //加入了汉字的长度判断    
    function getLength(str)
    {
        var templen = str.length;
        if(navigator.appName == 'Netscape') return templen;
        for(var i=0; i<str.length; i++)
        {
            var rstr = escape(str.substring(i, i+1)); 
            if (rstr.substring(0,2)=="%u")
            { 
                templen++;
            } 
        }
        return templen;
    }
    
    //判断字符串是否为合法非负整数
    function IsDigit(str,allowNull)
    {
        slen=str.length;
        if(slen==0) return allowNull;
        for (i=0; i<slen; i++)
        {
            cc = str.charAt(i);
            if (cc <"0" || cc >"9")
            {
                return false;
            }
        }
        return true;
    }

//身份证验证
function checkIdcard(idcard)
{
    //不作身份证验证;
    return 0;
    
    var area={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"};
    var idcard,Y,JYM;
    var S,M;
    var idcard_array = new Array();
    idcard_array = idcard.split("");
    //地区检验
    if(area[parseInt(idcard.substr(0,2))] == null) 
    {
        return 4;
    }
    //身份号码位数及格式检验
    switch(idcard.length)
    {
        case 15:
            if ( (parseInt(idcard.substr(6,2))+1900) % 4 == 0 || ((parseInt(idcard.substr(6,2))+1900) % 100 == 0 && (parseInt(idcard.substr(6,2))+1900) % 4 == 0 ))
            {
                ereg=/^[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-2][0-9]))[0-9]{3}$/;//测试出生日期的合法性
            } 
            else 
            {
                ereg=/^[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(ereg.test(idcard)) 
            {
                return 0;
            }
            else 
            {
                return 2;
            }
            break;
    case 18:
        //18位身份号码检测
        //出生日期的合法性检查 
        //闰年月日:((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-2][0-9]))
        //平年月日:((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]))
        if ( parseInt(idcard.substr(6,4)) % 4 == 0 || (parseInt(idcard.substr(6,4)) % 100 == 0 && parseInt(idcard.substr(6,4))%4 == 0 ))
        {
            ereg=/^[1-9][0-9]{5}19[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-2][0-9]))[0-9]{3}[0-9Xx]$/;//闰年出生日期的合法性正则表达式
        } 
        else 
        {
            ereg=/^[1-9][0-9]{5}19[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}[0-9Xx]$/;//平年出生日期的合法性正则表达式
        }
        if(ereg.test(idcard))
        {
            //测试出生日期的合法性
            //计算校验位
            S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7
            + (parseInt(idcard_array[1]) + parseInt(idcard_array[11])) * 9
            + (parseInt(idcard_array[2]) + parseInt(idcard_array[12])) * 10
            + (parseInt(idcard_array[3]) + parseInt(idcard_array[13])) * 5
            + (parseInt(idcard_array[4]) + parseInt(idcard_array[14])) * 8
            + (parseInt(idcard_array[5]) + parseInt(idcard_array[15])) * 4
            + (parseInt(idcard_array[6]) + parseInt(idcard_array[16])) * 2
            + parseInt(idcard_array[7]) * 1 
            + parseInt(idcard_array[8]) * 6
            + parseInt(idcard_array[9]) * 3 ;
            Y = S % 11;
            M = "F";
            JYM = "10X98765432";
            M = JYM.substr(Y,1);//判断校验位
            if(M == idcard_array[17]) 
            {
                return 0; //检测ID的校验位
            }
            else
            { 
                return 3;
            }
        }
        else 
        {
            return 2;
        }
        break;
    default:
        return 1;
        break;
    }
}
