﻿// JScript 文件
function checkLength(str)   
{   
    var sLen=0;
    for(var i=0;i<str.length;i++)   
    {
        if(str.charAt(i)<='\255')     //单字节字符   
        {
            sLen++;
        }
        else                            //汉字或其他2字节字符
        {
            sLen=sLen+2;
        }
    }   
    return sLen;
}

function CreateAjax() {
    //alert(url);
    return window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
}
//去左空格;
function lTrim(s)
{
    return s.replace( /^\s*/, "");
}
//去右空格;
function rTrim(s)
{
    return s.replace( /\s*$/, "");
}
//去左右空格;
function Trim(s)
{
    return rTrim(lTrim(s));
}
//验证是不是数字
function isNumber(oNum) 
{ 
  if (!oNum)
    return false; 
  var strP=/^\d+(\.\d+)?$/; 
  if(!strP.test(oNum)) 
	return false; 
  try
  { 
      if(parseFloat(oNum)!=oNum) return false; 
  } 
  catch(ex) 
  { 
     return false; 
  } 
  return true; 
 }
//弹出确认对话框
function ConfirmBox(msg)
{
   if (confirm(msg) == true) {
        return true;
   } else {
        return false;
   }
}

// 检查是否为中文 
function isChn(str)
{
    var reg = /^[u4E00-u9FA5]+$/;
    if (!reg.test(str))
    {
        return false;
    }
    return true;
}

//检查email邮箱 
function isEmail(str)
{
    var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;
    return reg.test(str);
} 

function CheckSql(from) 
{
    
    //var reg = /^\?(.*)(select%20|insert%20|delete%20from%20|count\(|drop%20table|update%20truncate%20|asc\(|mid\(|char\(|xp_cmdshell|exec%20master|net%20localgroup%20administrators|\"|:|net%20user|\'|%20or%20)(.*)$/gi;
   // reg = /^[^(and|or|exec|insert|select|union|update|count|*|%)]*$/;    
    //reg = /select|update|delete|drop|exec|count|'|"|=|;|~|#|&|>|<|%/i;
    reg = /select|update|delete|drop|exec|count|'|"|=|;|~|#|&|>|<|%/i;

    //获取表单中元素个数
    var len = from.elements.length;    
    var i;
    var txt;
    for (i = 0; i < len; i++)
    { 
        if (from.elements[i].type == "text")
        {
            txt = from.elements[i].value;            
            if (reg.test(txt))
            {                
                alert("提交的内容有非法字符，请重新输入");
                from.elements[i].focus();
                return false;
            }
        }
        else if (from.elements[i].type == "textarea")
        {
            txt = from.elements[i].value;            
            if (reg.test(txt))     
            {
                alert("提交的内容有非法字符，请重新输入");
                from.elements[i].focus();
                return false;
            }
        }
    }
    
    return true;
}
//输入数字验证 onkeypress="javascript:KeyPress(this);"
//可以小数输入
function KeyPress(objTR)
{
    var txtval=objTR.value;  
    var key = event.keyCode;
    if((key < 48 || key > 57) && key != 46)
    {  
        event.keyCode = 0;
    }
    else
    {
        if(key == 46)
        {
            if(txtval.indexOf(".") != -1 || txtval.length == 0)
                event.keyCode = 0;
        }
    }
}
//onkeyup="this.value=this.value.replace(/[^\d.]/g,'')" onblur="this.value=this.value.replace(/[^\d.]/g,'')" onafterpaste="this.value=this.value.replace(/[^\d.]/g,'')"
//只能整数输入
function onlyNum() 
{
    if(!(event.keyCode == 46) && !(event.keyCode == 8) && !(event.keyCode == 37 )&& !(event.keyCode == 39)) 
        if(!((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105))) 
            event.returnValue=false; 
}
//Style="ime-mode: Disabled" onkeydown="onlyChar();"
function onlyChar()
{    
    if(!(event.keyCode == 9) && !(event.keyCode == 46) && !(event.keyCode == 8) && !(event.keyCode == 37 )&& !(event.keyCode == 39) && !(event.keyCode == 32) && !((event.shiftKey) &&(event.keyCode==49)) && !((event.shiftKey) &&(event.keyCode==48)) && !((event.shiftKey) &&(event.keyCode==50)) && !((event.shiftKey) &&(event.keyCode==51)) && !((event.shiftKey) &&(event.keyCode==52)) && !((event.shiftKey) &&(event.keyCode==53)) && !((event.shiftKey) &&(event.keyCode==54)) && !((event.shiftKey) &&(event.keyCode==55)) && !((event.shiftKey) &&(event.keyCode==56)) && !((event.shiftKey) &&(event.keyCode==57)) && !(event.keyCode > 106)) 
        if(!(event.keyCode >= 65 && event.keyCode <= 90)) 
            event.returnValue=false; 
}
function onlyChar1()
{
    if(!(event.keyCode == 46) && !(event.keyCode == 8) && !(event.keyCode == 37 )&& !(event.keyCode == 39)) 
        if(!(event.keyCode >= 65 && event.keyCode <= 90)) 
            event.returnValue=false; 
}
//折叠项目
function hide(id,btn,name)
{
    var search=document.getElementById(id);
    if(search.style.display=="none")
    {
        search.style.display="block";
        document.getElementById(btn).innerHTML="Hide"+name;
    }
    else
    {
        search.style.display="none";
        document.getElementById(btn).innerHTML="Show"+name;
    }
    //search.style.display=(aa.style.display=="none")?"block":"none";            
}
function winOpen(id)
{
    window.location.href="../Member/MemberDetail.aspx?iMemberId="+id;
    return false;
}
function winOpenView(id)
{
    window.location.href="../Member/MemberView.aspx?iMemberId="+id;
    return false;
}
function ShowVessel(src)
{
    window.open(src,'_blank','width=450,heigh=450,scrollbars=1');
}

//检查radio组是否有被选择
function CheckRadio(radioName) {
	var radioObj = document.getElementsByName(radioName);
	for (var i = 0; i < radioObj.length; i++) {
		if (radioObj[i].checked) {
			return true;
		}
	}
	return false;
}
//日期列表的命名中一定要含有year,month,day(先装载Calendar.js)
function ResetHtml(formId) {
    var formObj = document.getElementById(formId);
    var eleObj = formObj.elements;
	var date = new Date();
    for(var i = 0; i < eleObj.length; i++) {
		if (eleObj[i].type == 'text') {
			//清空文本框内容
			eleObj[i].value = '';
		} else if (eleObj.type == 'textarea') {
			//清空文本域
			eleObj[i].value = '';
		} else if (eleObj[i].type == 'select-one') {
		    eleObj[i].options[0].selected = true; 
			//如果下拉列表为年月日，则把当前日期设置为默认
//			if (eleObj[i].name.toLowerCase().indexOf('year') != -1) {
//				//设置年的默认值
//				var year = date.getYear();
//				for(var k = 0; k < eleObj[i].options.length; k++) {
//					if (eleObj[i].options[k].value == year) {
//						eleObj[i].options[k].selected = true;
//						break;
//					}
//				}
//			} else if (eleObj[i].name.toLowerCase().indexOf('month') != -1) {
//				//设置月的默认值
//				var month = date.getMonth() + 1;
//				for(var k = 0; k < eleObj[i].options.length; k++) {
//					if (eleObj[i].options[k].value == month) {
//						eleObj[i].options[k].selected = true;
//						break;
//					}
//				}
//			} else if (eleObj[i].name.toLowerCase().indexOf('day') != -1) {
//				//设定当前的日期为默认值
//				var day = date.getDay() + 1;
//				//先清除原来的元素
//				var optionsObj = eleObj[i].options;
//				for(var k = optionsObj.length - 1; k >= 0; k--) {
//					optionsObj[k] = null;
//				}
//				//调用Calendar.js中的BindDays方法添加元素
//				BindDays(date.getYear() + '', (date.getMonth() + 1) + '', eleObj[i].id);
//			} else {
//				//下拉列表的第一个为默认选择
//				eleObj[i].options[0].selected = true;
//			}
		} else if (eleObj[i].type == 'radio') {
			//单选按钮最后一个选中
			var radioObj = eval('formObj.' + eleObj[i].name)
			radioObj[radioObj.length - 1].checked = true;
		}
    }
    return false;
}
function IsValidDate(psYear, psMonth, psDay)
{
    if(psYear==null || psMonth==null || psDay==null)
    {
        return false;
    }

    var sYear  = new String(psYear);
    var sMonth = new String(psMonth);
    var sDay   = new String(psDay);

    if(IsValidYear(sYear)==false)
    {
        return false;
    }

    if(IsValidMonth(sMonth)==false)
    {
        return false;
    }

    if(IsValidDay(sDay)==false)
    {
        return false;
    }

    var nYear  = parseInt(sYear,  10);
    var nMonth = parseInt(sMonth, 10);
    var nDay   = parseInt(sDay,   10);

    if(sYear=="" &&  sMonth=="" && sDay=="")
    {
        return true;
    }

    if(sYear=="" || sMonth=="" || sDay=="")
    {
        return false;
    }
    
    if(nMonth < 1 || 12 < nMonth)
    {
        return false;
    }
    if(nDay < 1 || 31 < nDay)
    {
        return false;
    }

    if(nMonth == 2)
    {
        if((nYear % 400 == 0) || (nYear % 4 == 0) && (nYear % 100 != 0))
        {
            if((nDay < 1) || (nDay > 29))
            {
                return false;
            }
        }
        else 
        {
            if((nDay < 1) || (nDay > 28))
            {
                return false;
            }
        }
    }
    else if((nMonth == 1)  || 
            (nMonth == 3)  || 
            (nMonth == 5)  || 
            (nMonth == 7)  || 
            (nMonth == 8)  || 
            (nMonth == 10) || 
            (nMonth == 12))
    {
        if((nDay < 1) || (31 < nDay))
        {
            return false;
        }
    }
    else 
    {
        if((nDay < 1) || (30 < nDay))
        {
            return false;
        }
    }

    return true;
}
function IsValidYear(psYear)
{
    var sYear = new String(psYear);


    if(psYear==null)
    {
        return false;
    }


    if(isNaN(psYear)==true)
    {
        return false;
    }

    if(sYear == "")
    {
        return true;
    }

    if(sYear.match(/[^0-9]/g)!=null)
    {
        return false;
    }

    var nYear = parseInt(sYear, 10);

    if((nYear < 0) || (9999 < nYear))
    {
        return false;
    }

    return true;
}


function IsValidMonth(psMonth)
{
    var sMonth = new String(psMonth);

    if(psMonth==null)
    {
        return false;
    }

    if(isNaN(psMonth)==true)
    {
        return false;
    }

    if(sMonth == "")
    {
        return true;
    }

    if(sMonth.match(/[^0-9]/g)!=null)
    {
        return false;
    }

    var nMonth = parseInt(sMonth,10);

    if((nMonth < 0) || (12 < nMonth))
    {
        return false;
    }

    return true;
}


function IsValidDay(psDay)
{
    var sDay  = new String(psDay);

    if(psDay==null)
    {
        return false;
    }

    if(isNaN(psDay)==true)
    {
        return false;
    }

    if(sDay == "")
    {
        return true;
    }

    if(sDay.match(/[^0-9]/g)!=null)
    {
        return false;
    }

    var nDay = parseInt(psDay, 10);

    if((nDay < 0) || (31 < nDay))
    {
        return false;
    }

    return true;
}

//千位分隔符
function fnFocus(thisTxt)
{
    var strTemp,re;
    strTemp=thisTxt.value.replace(/,|\.0*$|(\..+?)0+$/g,'$1');
    thisTxt.value=strTemp;
}

String.prototype.tofix=function()
{
    return Number(this.replace(/,/g,""));
}
//参数1：Input对象
//参数2：是否有分隔符
//参数3：小数位数
//参数4：是否四舍五入
function formatnumber(fnumber,fdivide,fpoint,fround){
    var fnum = fnumber + '';
    var revalue="";
    if(fnum==null){
        for(var i=0;i<fpoint;i++)revalue+="0";
        return "0."+revalue;
    }
    fnum = fnum.replace(/^\s*|\s*$/g,'');
    if(fnum==""){
        for(var i=0;i<fpoint;i++)revalue+="0";
        return "0."+revalue;
    }
    fnum=fnum.replace(/,/g,"");
    if(fround){
        var temp = "0.";
        for(var i=0;i<fpoint;i++)temp+="0";
        temp += "5";
        fnum = Number(fnum) + Number(temp);
        fnum += '';
    }
    var arrayf=fnum.split(".");
    if(fdivide){
        if(arrayf[0].length>3){
            while(arrayf[0].length>3){
                revalue=","+arrayf[0].substring(arrayf[0].length-3,arrayf[0].length)+revalue;
                arrayf[0]=arrayf[0].substring(0,arrayf[0].length-3);
            }
        }
    }
    revalue=arrayf[0]+revalue;
    if(arrayf.length==2&&fpoint!=0){
        arrayf[1]=arrayf[1].substring(0,(arrayf[1].length<=fpoint)?arrayf[1].length:fpoint);
        if(arrayf[1].length<fpoint)
            for(var i=0;i<fpoint-arrayf[1].length;i++)arrayf[1]+="0";
        revalue+="."+arrayf[1];
    }else if(arrayf.length==1&&fpoint!=0){
        revalue+=".";
        for(var i=0;i<fpoint;i++)revalue+="0";
    }
    return revalue;
}
