// JScript 文件
    
var $ = function() { return document.getElementById(arguments[0]); }
var Class = {
  create: function() {
    return function() {
      this.initialize.apply(this, arguments);
    }
  }
}
// XML 加载类 ======================================================================================
XML=Class.create();
XML.prototype = {
	initialize : function() {
		this.xmlhttp = this.getTransport(); 
	},
	Load  : function(FileName) {
		this.xmlhttp.open("GET",FileName,true);
		this.xmlhttp.onreadystatechange = this.Loaded.bind(this);
		this.xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		this.xmlhttp.setRequestHeader("Accept-Charset","utf-8");
		this.xmlhttp.send(null);
	},
	Loaded	 : function() {
		if (this.xmlhttp.readyState == 4){ this.onLoad(); }
		else
		{
			
		}
	},
	//载入完后调用的
	onLoad  : function() {

	},
	getTransport: function() {
		return Try.these(
			function() {return new XMLHttpRequest()},
			function() {return new ActiveXObject('Msxml2.XMLHTTP')},
			function() {return new ActiveXObject('Microsoft.XMLHTTP')}
		) || false;
	}
}
/*
var XMLList = new XML();
XMLList.onLoad=设置加载好以后的方法
XMLList.Load(URL);
XMLList.xmlhttp.responseXML; //输出XML
*/
var ValidateForm=Class.create();
ValidateForm.prototype={
	initialize : function() {
	},
    inputs:new Array(),
    NotNullMsg:"必填不能为空",
    CanNotNull:function (obj){
        inputs.push(obj);
    },
    ValidateSubmit:function (e){
        for (input in inputs)
        {
            if(input.value==""){
	            ShowErrMsg(input,NotNullMsg);
	            input.value=obj.value.substr(0,obj.value.length-1);
	            input.value=obj.value.substr(0,length);
	            input.style.backgroundColor ="#FF0000";
	            input.focus()
                window.alert(NotNullMsg);
		        return false;
            }
            CleanErrMsg(input);
            input.style.backgroundColor ="";
 		        return true;
        }
    }
}

//例 Validate.TestValue("555","QQ")
//var Validate=Class.create();
//Validate.prototype={
var Validate={
    Require : /.+/,
	Email : /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/,
	Phone : /^((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}$/,
	Mobile : /^((\(\d{3}\))|(\d{3}\-))?13\d{9}$/,
	Url : /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/,
	IdCard : /^\d{15}(\d{2}[A-Za-z0-9])?$/,
	Currency : /^\d+(\.\d+)?$/,
	Number : /^\d+$/,
	Zip : /^[1-9]\d{5}$/,
	QQ : /^[1-9]\d{4,10}$/,
	Integer : /^[-\+]?\d+$/,
	Double : /^[-\+]?\d+(\.\d+)?$/,
	English : /^[A-Za-z]+$/,
	Chinese :  /^[\u0391-\uFFE5]+$/,
	UnSafe : /^(([A-Z]*|[a-z]*|\d*|[-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)|.{0,5})$|\s/,
	TestValue:function(value,DataType){
	    if(value=="")return true;
	    if(this[DataType].test(value)){
		    return true;
	    }else{
		    return false;
	    }
	}
}
//比较大小
function Max(V1,V2){
    Number(V1)>Number(V2)?true:false;
}
function Min(V1,V2){
    Number(V1)<Number(V2)?true:false;
}

function IsKeyNum(){
    if(event.keyCode==0) return true;
    if((event.keyCode>=48 && event.keyCode<=57) || (event.keyCode>=96 && event.keyCode<=105)){
		return true;
	}
	return false;
}
function IsDel(){
    if((event.keyCode == 8) || (event.keyCode == 46) || (event.keyCode == 9))
        return true;
    else
        return false;
}

//显示错误
function ShowErrMsg(obj,msg)//onblur
{
	try{
	    var span=$(obj.id+"__ErrorMegPanel")
	    if(span==null){
		    var span = document.createElement("SPAN");
		    span.id = obj.id+"__ErrorMegPanel";
		    span.style.color = "red";
		    obj.parentNode.insertBefore(span,obj.parentNode.lastChild);
		}
        span.style.color = "red";
		span.innerText = msg;
	}catch(e){alert(e.description);}
}
//清除错误消息
function CleanErrMsg(obj)//onblur
{
	try{
	    var span=$(obj.id+"__ErrorMegPanel")
	    if(span!=null){
		    span.style.color = "";
		    span.innerText = "";
		}
	}catch(e){alert(e.description);}
}
function SetErrTextBoxStyle(obj,msg)//onblur
{
    
}
//只能是数字
function onlyNum(obj,Max,length,msg) //onKeyDown="return limitInput(this,5,'消息');"
{
    try{
        if(!Validate.TestValue(obj.value,"Integer")){
            throw "只能输入数字";
	    }
        if(obj.value.length>length)
        {
            throw "超过字符限制";
    	}
        if(Number(obj.value)>Max && Max!=0)
        {
            throw "超过最大限制";
    	}
    }catch(err){
        if(IsDel()) return true;
	    ShowErrMsg(obj,err);
	    obj.value=obj.value.substr(0,obj.value.length-1);
	    obj.value=obj.value.substr(0,length);
	    obj.style.backgroundColor ="#FF0000";
	    window.event.keyCode = null;
	    if(msg!=undefined){
		    window.alert(msg);
	    }else{
            window.alert(err);
	    }
	    obj.focus()
		return false;
    }
    CleanErrMsg(obj);
    obj.style.backgroundColor ="";
    return true;
}
//只能是数字
function Section(obj,Min,Max,length,msg) //onKeyDown="return limitInput(this,5,'消息');"
{
    try{
        if(!Validate.TestValue(obj.value,"Integer")){
            throw "只能输入数字";
	    }
        if(obj.value.length>length)
        {
            throw "超过字符限制";
    	}
        if(Number(obj.value)>Max && Max!=0)
        {
            throw "超过最大限制";
    	}
        if(Number(obj.value)<Min && Max!=0)
        {
            throw "小于限制";
    	}
    }catch(err){
        if(IsDel()) return true;
	    ShowErrMsg(obj,err);
	    obj.value=obj.value.substr(0,obj.value.length-1);
	    obj.value=obj.value.substr(0,length);
	    obj.style.backgroundColor ="#FF0000";
	    window.event.keyCode = null;
	    if(msg!=undefined){
		    window.alert(msg);
	    }else{
            window.alert(err);
	    }
	    obj.focus()
		return false;
    }
    CleanErrMsg(obj);
    obj.style.backgroundColor ="";
    return true;
}
function limitLength(obj,length,msg) //onKeyDown="return limitInput(this,5,'消息');"
{
    try{
        if(obj.value.length>length)
        {
            throw msg;
    	}
    }catch(err){
        if(IsDel()) return true;
	    ShowErrMsg(obj,err);
        obj.value=obj.value.substr(0,obj.value.length-1);
	    obj.value=obj.value.substr(0,length);
	    obj.style.backgroundColor ="#FF0000";
	    window.event.keyCode = null;
        window.alert(err);
	    obj.focus()
		return false;
    }
    CleanErrMsg(obj);
    obj.style.backgroundColor ="";
    return true;
}

function RegValidate(obj,DataType,msg) //onKeyDown="return limitInput(this,5,'消息');"
{
    try{
        if(!Validate.TestValue(obj.value,DataType)){

            throw msg;
    	}
    }catch(err){
        if(IsDel()) return true;
	    ShowErrMsg(obj,err);
        obj.value=obj.value.substr(0,obj.value.length-1);
	    obj.value=obj.value.substr(0,length);
	    obj.style.backgroundColor ="#FF0000";
	    window.event.keyCode = null;
        window.alert(err);
	    obj.focus()
		return false;
    }
    CleanErrMsg(obj);
    obj.style.backgroundColor ="";
    return true;
}
//验证表单长度
function limitInput(obj,length,msg) //onKeyDown="return limitInput(this,5,'消息');"
{
    try{
        if(obj.value.length>length)
        {
            throw msg;
    	}
    }catch(err){
        if(IsDel()) return true;
	    ShowErrMsg(obj,err);
        obj.value=obj.value.substr(0,obj.value.length-1);
	    obj.value=obj.value.substr(0,length);
	    obj.style.backgroundColor ="#FF0000";
	    window.event.keyCode = null;
        window.alert(err);
	    obj.focus()
		return false;
    }
    CleanErrMsg(obj);
    obj.style.backgroundColor ="";
    return true;
}
/*
function limitInput(obj,length,msg) //onKeyDown="return limitInput(this,5,'消息');"
{
	if(obj.value.length>length)//判断长度
	{
	    if((event.keyCode == 8) || (event.keyCode == 9) || (event.keyCode == 46)){
            window.event.keyCode=0;
		    return true;
	    }
	    if(msg!=undefined){
		    window.alert(msg);
	    }
	    obj.value=obj.value.substring(0,length);
	    obj.style.backgroundColor ="#FF0000";
	    obj.focus()
	    return false;
	}
    obj.style.backgroundColor ="";
}

*/
//正则表达式 regular expression
function regLimitInput(obj,expr,msg)//onblur
{
	var re = new RegExp(expr,"img");
	var arr = re.exec(obj.value);
	if(re.exec(obj.value)){
		obj.style.backgroundColor ="#FFFFFF";
		return true;
	}
	if(msg!=undefined){
		window.alert(msg);
	}
	obj.focus()
	obj.style.backgroundColor ="#FF0000";
	return false;
}