﻿//some common Methods
function ge(id){
	return document.getElementById(id);
}

//function of addEventHandle
function addEventHandle(el,eEventList,eHandle){
	var eEvents = eEventList.split(",");
	if (document.attachEvent) {
		for (var i=0;i<eEvents.length;i++){
			el.attachEvent(eEvents[i],eHandle);
		}
	} else if (document.addEventListener) {
		for (var i=0;i<eEvents.length;i++){
			el.addEventListener(eEvents[i].replace("on",""),eHandle,true);
		}
	}
}

//class of Validate
function Validate(str,el){
	if (!str || str == "") { return false; }
	if (!el || el == "") { return false; }
	var expression = null;
	switch(el){
		case "UserID":
			expression = /^[a-zA-Z0-9]([\.]?[\-]?[_]?[a-zA-Z0-9]){2,19}$/;
			break;
		case "Passwd":
			expression = /^[a-zA-Z0-9]([\.]?[\-]?[_]?[a-zA-Z0-9]){5,19}$/;
			break;
		case "Email":
			expression = /^[a-zA-Z0-9]([\.]?[\-]?[_]?[a-zA-Z0-9])*@\w+([\.-]?\w+)*(\.\w{2,4})+$/;
			break;
		case "QQ":
			expression = /^[1-9]\d{4,10}$/;
			break;
		case "Tel":
			expression = /^\d{7,12}$/;
			break;
		case "Mobile":
			expression = /^(09)\d{8}$/;
			break;
		case "Date":
			expression = /^(?:([0-9]{4}-(?:(?:0?[1,3-9]|1[0-2])-(?:29|30)|((?:0?[13578]|1[02])-31)))|([0-9]{4}-(?:0?[1-9]|1[0-2])-(?:0?[1-9]|1\d|2[0-8]))|(((?:(\d\d(?:0[48]|[2468][048]|[13579][26]))|(?:0[48]00|[2468][048]00|[13579][26]00))-0?2-29)))$/;
			break;
		case "IDCard":
			expression = /^[1-9]\d{14}$|^[1-9]\d{17}$/;
			break;
		case "vCode":
			expression = /^\d{4}$/;
			break;
		case "Int":
			expression = /^(-)?\d+$/;
			break;
		case "Numeric":
			expression = /^(-)?\d+(\.\d+)?$/;
			break;
		case "Domain":
			expression = /^[a-zA-z0-9]+(\.)[a-zA-z0-9]+(\.)[a-zA-z0-9]+$|^[a-zA-z0-9]+(\.)[a-zA-z0-9]+(\.)[a-zA-z0-9]+(\.)[a-zA-z0-9]+$|^(localhost)$/;
			break;
		case "IPv4":
			expression = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;
			break;
		case "NickName":
			expression = /^[\u4e00-\u9fa5\w\.\-]+$/;
		    break;
		case "Filter":
			expression = /^(admin)/;
		    break;
		default:
			return false;			
	}
	return expression.test(str);
}

//class of Browser
function Browser(){
	this.Browser = window.navigator;
	this.Name = this.GetName();
}
Browser.prototype.GetName=function(){
	if (this.Browser.appName.indexOf("Microsoft") != -1){
		return "ie";
	} else {
		return "ns";
	}
}

//some method
function openwin(file,name,para){
    window.open(file,name,para);
    return (false);
}

function CheckAll(form){
    for (var i = 0;i < form.elements.length;i++){
	    var e = form.elements[i];
	    if (e.name != "chkall"){
    	    e.checked = form.chkall.checked;
    	}
	}
}

function Confirm(form,msg){
    var result = false;
    for (var i = 0;i < form.elements.length;i++){
	    var e = form.elements[i];
	    if (e.name == "ID" && e.checked){
	        result = true;
	        break;
	    }
	}
	if(!result){
	    alert("請选择至少一條資料！");
	}else{
	    result = confirm(msg);
	}
	return result;
}

function shakewin(n){
    self.focus();
    window.moveTo(3,3);
    window.resizeTo(screen.availWidth-6,screen.availHeight-6);
    if (self.moveBy){
        for (i = 10; i > 0; i--){
            for (j = n; j > 0; j--){
                self.moveBy(0,i);
                self.moveBy(i,0);
                self.moveBy(0,-i);
                self.moveBy(-i,0);
            }
        }
    }
    window.moveTo(0,0);
    window.resizeTo(screen.availWidth,screen.availHeight);
}

function JumpTo(){
    var PageNO = ge("PageNO").value;
    if(!Validate(PageNO, "Int")){
        alert("页码必须为整数！");
        ge("PageNO").focus();
        ge("PageNO").select();
        return (false);
    }
    
    obj = ge("UrlParams");
    if (obj != null){
        var target = obj.value + PageNO;
        self.location = target;
    } else {
        alert("URL参数取值失败！");
    }
    
    return (false);
}