﻿    // JScript 文件
    //弹出窗口
    function openWindow(url,w,h)
    {
	    var childWindow;
	    var width = screen.width;
	    var height = screen.height;
	    var left = (width-w)/2;
	    var top = (height-h)/2;
	    childWindow = window.open(""+url+"","child","width="+w+",scrollbars=yes,status=no,height="+h+",left="+left+",top="+top+",menubar=no");
	    
	    //childWindow.moveTo((width-w)/2,(height-h)/2)
    }
    
    //使用onload=DrawImage(this,长,宽);
    function DrawImage(ImgD,w,h){
	    var image=new Image();
	    image.src=ImgD.src;
	    if(image.width>0 && image.height>0){
		    flag=true;
		    if(image.width/image.height>= w/h){
			    if(image.width>w){
				    ImgD.width=w;
				    ImgD.height=(image.height*w)/image.width;
			    }else{
				    ImgD.width=image.width;
				    ImgD.height=image.height;
			    }
	    }else{
			    if(image.height>h){
				    ImgD.height=h;
				    ImgD.width=(image.width*h)/image.height;
			    }else{
				    ImgD.width=image.width;
				    ImgD.height=image.height;
			    }
			    //ImgD.alt=image.width+"×"+image.height;
		    }
	    }
    }
    
    //根据对象名称获取单选项的值
    function getRadioValue(itemName){
        var val = null;
        var itemArr = document.getElementsByName(itemName);
        if(itemArr){
            for(i=0;i<itemArr.length;i++){
                if(itemArr[i].checked==true){
                    val = itemArr[i].value; 
                }
            }
        }
        return val;
    }
    
    /*
     intr:清空单选的选择项值
     param itemName:复选框名称
    */
    function clearRadioValue(itemName){
        var itemArr = document.getElementsByName(itemName);
        if(itemArr){
            for(i=0;i<itemArr.length;i++){
                if(itemArr[i].checked==true){
                    itemArr[i].checked=false;
                }
            }
        }
        return val;
    }
    
    //根据对象名称设置单选项的值
    function setRadioValue(itemName,val){
       var itemArr = document.getElementsByName(itemName);
       if(itemArr){
           for(i=0;i<itemArr.length;i++){
                if(parseInt(itemArr[i].value)==val){
                    itemArr[i].checked=true;
                }
            } 
       } 
    }
    
    //根据对象名称获取复选框的选择项的值
    function getCheckBoxValue(itemName){
        var val = '';
        var itemArr = document.getElementsByName(itemName);
        if(itemArr){
            for(i=0;i<itemArr.length;i++){
                if(itemArr[i].checked==true){
                    if(val!=''){
                        val += ','+itemArr[i].value; 
                    }else{
                        val += itemArr[i].value; 
                    }
                }
            }
        }
        return val;
    }
    
    /*
     intr:清空复选框的选择项值
     param itemName:复选框名称
    */
    function clearCheckBoxValue(itemName){
        var itemArr = document.getElementsByName(itemName);
        if(itemArr){
            for(i=0;i<itemArr.length;i++){
                if(itemArr[i].checked==true){
                    itemArr[i].checked=false;
                }
            }
        }
    }
    
    /*设置对象获得焦点和失去焦点的Css样式
     objectStr:用于筛选对象的字符串，例如："input,textarea"
     blurCss:失去焦点的css，例如：input_blur_001'
     focusCss:得到焦点的css，例如：input_focus_001'
    */
    function setObjectBlurFocusCss(objectStr,blurCss,focusCss){
        $(objectStr).blur(
            function(){
                $(this).addClass(blurCss).removeClass(focusCss);
            }
        ).focus(
            function(){
                $(this).addClass(focusCss);
            }
        );
    }
    
    /**
     * 检查用户名
     * @return
     */
    function chkUsername(str) {
	    var username = str;
	    if(username=="") {
		    return 0;
	    }
	    else if( /^\d.*$/.test( username ) ){
		    //用户名不能以数字开头
		    return -1;
	    }
	    else if(fLen( username )<6 || fLen( username )>18 ){
		    //合法长度为6-18个字符
		    return -2;
	    }
	    else if(! /^\w+$/.test( username ) ){
		    //用户名只能包含_,英文字母，数字
		    return -3;
	    }
	    else if(! /^([a-z]|[A-Z])[0-9a-zA-Z_]+$/.test( username ) ){
		    //用户名只能英文字母开头
		    return -4;
	    }
	    else if(!(/[0-9a-zA-Z]+$/.test( username ))){
		    //用户名只能英文字母或数字结尾
		    return -5;
	    }
	    return 1;
    }
    
    //计算字符数，一个中文2个字符
    function getStringLen(Obj){
      var nCNLenth = 0;
      var nLenth = Obj.length;
      for (var i=0; i<nLenth; i++){
        if(Obj.charCodeAt(i)>255){
          nCNLenth += 2; 
        }else{
          nCNLenth++;
        }
      }
      return nCNLenth;
    }
    
    //
    function checkNumber( num ,max){
        if( /^[0-9]+$/.test( num ) && num <=max && num > 0)
		    return true;
	    else return false;
    }
    
    //
    function chkYear(){
	    year = $.trim($("#year").val());
	    if (year=="") return 0;
	    if (!checkNumber(year,new Date().getFullYear()) || parseInt(year) < 1901) return -1;
	    return 1;
    }
    
    //
    function chkMonth(){
	    month = $.trim($("#month").val());
	    if(month=="") return 0;
	    if (!checkNumber(month,12)) return -1;
	    return 1;
    }
    
    //
    function chkDay(){
	    day = $.trim($("#day").val());
	    if (day=="") return 0;
	    m = $.trim($("#month").val());
	    maxday=31;
	    if(m!=null || m!=""){
		    switch(parseInt(m)){
		    case 1:
			    maxday=31
			    break
		    case 2:
			    if(isLeapYear($.trim($("#year").val())))
			    maxday=29
			    else maxday=28
			    break
		    case 3:
			    maxday=31
			    break
		    case 4:
			    maxday=30
			    break
		    case 5:
			    maxday=31
			    break
		    case 6:
			    maxday=30
			    break
		    case 7:
			    maxday=31
			    break
		    case 8:
			    maxday=31
			    break
		    case 9:
			    maxday=30
			    break
		    case 10:
			    maxday=31
			    break
		    case 11:
			    maxday=30
			    break
		    case 12:
			    maxday=31
			    break
		    default:
			    maxday=31;
		    }
	    }
	    if (!checkNumber(day,maxday)) return -1;
	    return 1;
    }
    
    //
    function chkMobile(){
	    mobile=$.trim($("#mobile").val());
	    if(mobile=="") return 0;
	    if(/^13\d{9}$/.test( mobile ) | /^15\d{9}$/.test( mobile ) | /^18\d{9}$/.test( mobile ))
		    return 1;
	    return -1;
    }
    
    //常用正则表达式
    var regexObject = {
        Email : /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/,
        Phone : /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,11}(\-\d{1,6})?$/,
        Mobile : /^(852\d{8})|(((\(\d{2,3}\))|(\d{3}\-))?((13\d{9})|(15\d{9})|(18\d{9})))$/,
        Url : /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/,
        Currency : /^\d+(\.\d+)?$/,
        Number : /^\d+$/,
        Zip : /^[0-9]\d{5}$/,
        QQ : /^[1-9]\d{4,9}$/,
        Integer : /^[-\+]?\d+$/,
        Double : /^[-\+]?\d+(\.\d+)?$/,
        English : /^[A-Za-z]+$/,
        Chinese : /^[\u0391-\uFFE5]+$/,
        Username : /^[a-z]\w{3,}$/i,
        UnSafe : /^(([A-Z]*|[a-z]*|\d*|[-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)|.{0,5})$|\s/,
        UserName:/^[A-Za-z0-9_]+$/
    };

    //使用Inframe实现无刷新上传,注意表单Form不要用runat="server"服务器属性
    function upFileUseInframe(formId, actionUrl) {
        var isIE = (document.all) ? true : false;
        var oForm = document.getElementById(formId);
        var frameName = "uploadFrame_" + Math.floor(Math.random() * 1000);
        //ie不能修改iframe的name
        var oFrame = isIE ? document.createElement("<iframe name=\"" + frameName + "\">") : document.createElement("iframe");
        //为ff设置name
        oFrame.name = frameName;
        oFrame.style.display = "none";
        //在ie文档未加载完用appendChild会报错
        document.body.insertBefore(oFrame, document.body.childNodes[0]);

        //设置form属性，关键是target要指向iframe
        oForm.target = frameName;
        oForm.method = "post";
        //注意ie的form没有enctype属性，要用encoding
        oForm.encoding = "multipart/form-data";
        oForm.action = actionUrl;
        oForm.submit();

    }