﻿//通用功能
var corefunc = {
    isIE:function(){
        if(window.ActiveXObject){
            return true;
        }else{
            return false;
        }
    },
    $:function(objid){return document.getElementById(objid);},
    $$:function(objname){return document.getElementsByName(objname);},
    $$$:function(objtag){return document.getElementsByTagName(objtag);},
    moveCenter:function(obj){
        var dw = document.documentElement.clientWidth||document.body.clientWidth;
        var dh = document.documentElement.clientHeight||document.body.clientHeight;
        var ow = obj.clientWidth;
        var oh = obj.clientHeight;
        var st = document.documentElement.scrollTop||document.body.scrollTop;
        var sl = document.documentElement.scrollLeft||document.body.scrollLeft;
        obj.style.left = (sl+(dw-ow)/2)+"px";
        obj.style.top = (st+(dh-oh)/2)+"px";
    },
    trim:function(val){
		var reg = new RegExp("(^[\\s　]*)|([\\s　]*$)","gim");
        val = val.toString();
        return val.replace(reg,"");
    },
    byteLength:function(val){
        val = val.toString();
        var len = val.length,code,clen=0;
        for(var i=0;i<len;i++){
            code = val.charCodeAt(i);
            clen += (code>=0&&code<=255) ? 1 : 2;
        }
        return clen;
    },
    leftByte:function(val,aimlen){
        val = val.toString();
        if(corefunc.byteLength(val)<aimlen)
        {
            return val;
        }
        var code,i,j=0;
        for(i=0;i<val.length;i++){
            code = val.charCodeAt(i);
            j += (code>=0&&code<=255) ? 1 : 2;
            if(j>=aimlen)break;
        }
        return val.substr(0,i);
    },
    deleteSpace:function(val){
		var reg = new RegExp("[\\s　]*","gi");
        return val.replace(reg, "");
    },
    isIdSeries:function(val){
        var reg = new RegExp("^\\d+(\\,\\d+)*$","gi");
        return reg.test(val);
    },
    isDateString:function(val){
        var reg = new RegExp("^\\d{4}\\-\\d{1,2}\\-\\d{1,2}$","gi");
        return reg.test(val);
    },
    isYearMonthString:function(val){
        var reg = new RegExp("^\\d{4}\\-\\d{1,2}$","gi");
        return reg.test(val);
    },
    isMobile:function(val){
        var reg = new RegExp("^1[358]\\d{9}$","gi");
        return reg.test(val);
    },
    isPhoneNumber:function(val){
        var reg = new RegExp("^((\\+)?\\d+\\-)?(\\(\\d+\\)|\\d+\\-)?\\d+(\\-\\d+)?$","gi");
        return reg.test(val);
    },
    isEmail:function(val){
        var reg = new RegExp("^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$","gi");
        return reg.test(val);
    },
    isIdCardNumber:function(val){
        val = val.toString();
        if(val.length != 18) return false;
        var reg = new RegExp("^\\d{17}[\\dx]{1}$","gi");
        if(!reg.test(val)) return false;
	    var wi = [0,7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];
	    var amt = 0;
	    var chkNo = ["1","0","X","9","8","7","6","5","4","3","2"];
	    for(var i=1;i<18;i++){
		    amt += (parseInt(val.substr(i-1,1))*wi[i]);
	    }
	    return (chkNo[amt % 11] == val.substr(val.length-1,1).toUpperCase());
    },
    isPostcode:function(val){
        var reg = new RegExp("^\\d{5,6}$","gi");
        return reg.test(val);
    },
    isQQ:function(val){
        var reg = new RegExp("^\\d{5,10}$","gi");
        return reg.test(val)||corefunc.isEmail(val);
    },
    isNumber:function(val){
		var reg = new RegExp("^(-)?\\d+(\\.\\d*)?$","");
        return reg.test(val);
    },
	isCurrency:function(val){
		if(corefunc.isNumber(val)==false)return false;
		var reg = new RegExp("^(-)?\\d+(\\.\\d{0,2})?$","");
		return reg.test(val);
	},
    isInteger:function(val){
        var reg = new RegExp("^(-)?\\d+$","");
        return reg.test(val);
    },
    isPositiveNumber:function(val,hasZero){
        if(arguments.length<2) hasZero=true;
        if(corefunc.isNumber(val)==false){
            return false;
        }
        if(hasZero){
            return parseFloat(val)>=0;
        }else{
            return parseFloat(val)>0;
        }
    },
    isPositiveInteger:function(val,hasZero){
        if(arguments.length<2) hasZero=true;
        if(corefunc.isInteger(val)==false){
            return false;
        }
        if(hasZero){
            return parseInt(val)>=0;
        }else{
            return parseInt(val)>0;
        }
    },
    deleteHtmlTag:function(val){
		var reg = new RegExp("\\<[^\\<]+\\>","gim");
        val = val.toString().replace(reg,"");
        reg = new RegExp("\\&[a-z]+\\;","gim");
        val = val.toString().replace(reg,"");
        return val;
    },
    isLeapYear:function(year){
	    if ((year%4)==0)
	    {
		    if ((year%100==0) && (year%400)!=0) return false;
		    else return true;
	    }
	    else return false;
    },
    getXMLHttpObject:function(){
        if(window.XMLHttpRequest) return new XMLHttpRequest();
		try{
			return new ActiveXObject('MSXML2.XMLHTTP');
		}
		catch(e){
			try{
				return new ActiveXObject('Microsoft.XMLHTTP');
			}
			catch(e){
				return null;
			}
		}
    }
};
//全局遮罩层
var globalMaskDiv = {
    maskdiv:null,
    zIndex:1000,
    show:function(){
        if(globalMaskDiv.maskdiv==null){
            globalMaskDiv.maskdiv = document.createElement("DIV");
            globalMaskDiv.maskdiv.style.zIndex = globalMaskDiv.zIndex;
            globalMaskDiv.maskdiv.style.position = "absolute";
            globalMaskDiv.maskdiv.style.left = "0px";
            globalMaskDiv.maskdiv.style.top = "0px";
            globalMaskDiv.maskdiv.style.backgroundColor="#FFFFFF";
            if(corefunc.isIE()){
                globalMaskDiv.maskdiv.style.filter = "alpha(opacity:50)";
                document.body.appendChild(globalMaskDiv.maskdiv);
            }else{
                globalMaskDiv.maskdiv.style.opacity=0.5;
                document.documentElement.appendChild(globalMaskDiv.maskdiv);
            }
        }
        if(corefunc.isIE()){
            globalMaskDiv.maskdiv.style.width = document.body.scrollWidth + "px";
            globalMaskDiv.maskdiv.style.height = document.body.scrollHeight + "px";
        }else{
            globalMaskDiv.maskdiv.style.width = document.documentElement.scrollWidth + "px";
            globalMaskDiv.maskdiv.style.height = document.documentElement.scrollHeight + "px";
        }
        globalMaskDiv.maskdiv.style.display = "";
    },
    hide:function(){
        globalMaskDiv.maskdiv.style.display="none";
    }
}
