function cl_isEmail(str){
   var reg = new RegExp("^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z-]+\.)+[a-zA-Z]{2,3}$");
   if(str.search(reg)!=-1)
      return true;
   else
      return false;
}
function cl_isInteger(p_in) {
   var p_val = p_in.toString();
   for(var i=0;i<p_val.length; i++)  {
       var oneChar = p_val.charAt(i);
       if(i==0 && oneChar =="-")       continue;
       if(oneChar<"0" || oneChar>"9")  return false;
   }
   return true;
}
function op(p_form, p_op, p_nbr) {
    var frm = eval("document."+p_form);
    frm.Op.value=p_op;
    frm.Nbr.value=p_nbr;
    frm.submit();
    return false;
}
function showHelp() {
    var showHelp = document.getElementById("help");
    if( showHelp.style.display == "none" ){
        showHelp.style.display = "";
    }else{
        showHelp.style.display = "none";
    }
    return false;
}
function cl_ltrim(p_str,p_char)  {
    for(var i=0;i<p_str.length;)  {
        if(p_str.substr(i,1) != p_char)  break;
        p_str = p_str.substr(i+1);
    }
    return p_str
}
function cl_rtrim(p_str,p_char)  {
    for(var i=p_str.length-1;i>=0;i--)  {
        if(p_str.substr(i,1) != p_char)  break;
        p_str = p_str.substr(0,i);
    }
    return p_str
}
function cl_trim(p_str,p_char)  {
    p_str = cl_ltrim(p_str,p_char);
    p_str = cl_rtrim(p_str,p_char);
    return p_str;
}
function checkIP(ip)
{
    var re = /^((\d)|(([1-9])\d)|(1\d\d)|(2(([0-4]\d)|5([0-5]))))\.((\d)|(([1-9])\d)|(1\d\d)|(2(([0-4]\d)|5([0-5]))))\.((\d)|(([1-9])\d)|(1\d\d)|(2(([0-4]\d)|5([0-5]))))\.((\d)|(([1-9])\d)|(1\d\d)|(2(([0-4]\d)|5([0-5]))))$/;
    if(re.test(ip))
        return true;
    else
        return false;
}
function changeAll(p_obj,p_form,p_name) {
    if(p_obj.checked)
        chkAll(p_form,p_name);
    else
        clsAll(p_form,p_name);
}
function chkAll(p_form,p_name) {
    var frm = eval("document."+p_form);
    for(i=0;i<frm.elements.length;i++) {
        if(frm.elements[i].name==p_name) {
            frm.elements[i].checked = true;
        }
    }
}
function clsAll(p_form,p_name) {
    var frm = eval("document."+p_form);
    for(i=0;i<frm.elements.length;i++) {
        if(frm.elements[i].name==p_name) {
            frm.elements[i].checked = false;
        }
    }
}
function chkSel(p_form,p_name) {
    var frm = eval("document."+p_form);
    var chk = false;
    for(var i=0;i<frm.elements.length;i++)  {
        obj = frm.elements[i];
        if(obj.name==p_name) {
            if(obj.checked) {
                chk = true;
                break;
            }
        }
   }
   return chk;
}
function add(p_ip, p_ipmask, p_iplist) {
    var ipaddress = document.getElementById(p_ip);
    var ipmask = document.getElementById(p_ipmask);
    var iplist = document.getElementById(p_iplist);
    if(!checkIP(ipaddress.value)) {
        alert("IP地址格式错误!");
        return false;
    }
    if(!validateMask(ipmask.value)) {
        alert("子网掩码格式错误!");
        return false;
    }
    src = ipaddress.value+"/";
    if(iplist.value.match(src) == src) {
        alert("IP地址已存在!");
        return false;
    }
    iplist.value += ipaddress.value+"/"+ipmask.value+"\n";
}
function clearAll(p_id) {
    if(confirm("您确定要清空列表框吗？")) {
        var iplist = document.getElementById(p_id);
        iplist.value = "";
    }
    return false;
}
function clearAll2(p_id) {
    if(confirm("您确定要清空列表框吗？")) {
        var iplist = document.getElementById(p_id);
        iplist.value = "";
        ip_str = "";
    }
    return false;
}
function SetCookie(name,value)//两个参数，一个是cookie的名子，一个是值
{
    //var Days = 1; //此 cookie 将被保存 1 天
    //var exp  = new Date();    //new Date("December 31, 9998");
    //exp.setTime(exp.getTime() + Days*24*60*60*1000);
    document.cookie = name + "="+ escape (value) + ";path=/";
}

/**
* 函数名： validateMask
*   函数功能： 验证子网掩码的合法性
*   函数作者： 236F(fuwei236#gmail.com)
* 传入参数： MaskStr:点分十进制的子网掩码(如：255.255.255.192)
*   主调函数： 
* 调用函数： _checkIput_fomartIP(ip) 
* 返回值：   true:   MaskStr为合法子网掩码
*      false: MaskStr为非法子网掩码
**/

function validateMask(MaskStr)
{
/* 有效性校验 */
var IPPattern = /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/
if(!IPPattern.test(MaskStr))return false;

/* 检查域值 */
var IPArray = MaskStr.split(".");
var ip1 = parseInt(IPArray[0]);
var ip2 = parseInt(IPArray[1]);
var ip3 = parseInt(IPArray[2]);
var ip4 = parseInt(IPArray[3]);
if ( ip1<0 || ip1>255 /* 每个域值范围0-255 */
   || ip2<0 || ip2>255
   || ip3<0 || ip3>255
   || ip4<0 || ip4>255 )
{
   return false;
}

/* 检查二进制值是否合法 */
//拼接二进制字符串
var ip_binary = _checkIput_fomartIP(ip1) + _checkIput_fomartIP(ip2) + _checkIput_fomartIP(ip3) + _checkIput_fomartIP(ip4);

if(-1 != ip_binary.indexOf("01"))return false;
return true;
}


/**
* 函数名： _checkIput_fomartIP
*   函数功能： 返回传入参数对应的8位二进制值
*   函数作者： 236F(fuwei236#gmail.com)
* 传入参数： ip:点分十进制的值(0~255),int类型的值，
*   主调函数： validateMask
* 调用函数： 无
* 返回值:   ip对应的二进制值(如：传入255，返回11111111;传入1,返回00000001)
**/
function _checkIput_fomartIP(ip)
{
return (ip+256).toString(2).substring(1); //格式化输出(补零)
}
function delCheck() {
    if(!chkSel('maintain','Chk[]')){
        alert("请选择要删除的选项!");
        return false;
    }
    if(confirm('您确定删除吗？')) op('maintain','deleteAll','');
    return false;
}
function getOs()
{
    var OsObject = ""; 
   if(navigator.userAgent.indexOf("MSIE")>0) { 
        return "MSIE"; 
   } 
   if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){ 
        return "Firefox"; 
   } 
  if(isSafari=navigator.userAgent.indexOf("Safari")>0) { 
        return "Safari"; 
   } 
   if(isCamino=navigator.userAgent.indexOf("Camino")>0){ 
        return "Camino"; 
   } 
   if(isMozilla=navigator.userAgent.indexOf("Gecko")>0){ 
        return "Gecko"; 
   } 
} 

//utility function called by getCookie()
function getCookieVal(offset)
{
    var endstr = document.cookie.indexOf(";", offset);
    if(endstr == -1)
    {
        endstr = document.cookie.length;
    }
    return unescape(document.cookie.substring(offset, endstr));
}
// primary function to retrieve cookie by name
function getCookie(name)
{
    var arg = name + "=";
    var alen = arg.length;
    var clen = document.cookie.length;
    var i = 0;
    while(i < clen)
    {
        var j = i + alen;
	if (document.cookie.substring(i, j) == arg)
	{
	    return getCookieVal(j);
	}
	i = document.cookie.indexOf(" ", i) + 1;
	if(i == 0) break;
    }
    return;
}

