var Validator = {
	version : 1.0,
	author : 'franklin',
	/** 定义正则表达式 */
	Require : /.+/,
	Email : /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/,
	Mobile : /^(13[0-9][0-9]{8})$|^(153|159)\d{8}$/,
	Phone : /^((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}$/,
    NumberAndLetter:/^[A-Za-z0-9]+$/,
    RightQQBooNum:/^\d{10,12}-\d{3,6}$/,
    RightMoney:/^[1-9](\d{1,2})?(\.\d{1,2})?$/,
    Number : /^\d+$/,
    RightPhone:/^\d+-?\d+$/,
    enAndcn : /^[A-Za-z0-9\u0391-\uFFE5\s]*$/,
	English : /^[A-Za-z]+$/,
	Chinese : /^[\u0391-\uFFE5]+$/,
    isNumberAndLetter:function(value)
    {
    	
    	return this.NumberAndLetter.test(value);
    	
    },

	
	length : function(value, min, max) {
		if (value == null && value.strip().length < 1)
			return false;

		var minTest = min ? value.length >= min : true;
		var maxTest = max ? value.length <= max : true;

		return minTest && maxTest;
	},
	isEmpty : function(value) {
		return value == null ? true : value.length == 0;
	},
	isEmail : function(value) {
		return this.Email.test(value);
	},
	isMobile : function(value) {
		return this.Mobile.test(value);
	},
	isPhone : function(value) {
		return this.Phone.test(value);
	},
	isPhoneOrMobile : function(value) {
		return (this.Phone.test(value) || this.Mobile.test(value));
	},
	
	isRightAcctNum:function(value)
	{
	    return this.RightQQBooNum.test(value);	
	},
	isRightMoney:function(value)
	{
	    return this.RightMoney.test(value);	
	},
	isNumber : function(value) {
		return this.Number.test(value);
	},
	isCurrency:function(value)
	{
	    return this.Currency.test(value);	
	},
	isRightPhone : function(value) {
		return this.RightPhone.test(value);
	},
	isCnAndEn : function(value) {
		return this.enAndcn.test(value);
	}
}

/*var AuthCode = Class.create();

AuthCode.prototype = {
	initialize : function(config) {

		// 验证码获取的地址
		this.authcodeURL = config.authcodeURL;
		this.id = config.id;

		// 验证码被点中时的回调方法
		this.authcodeClick = config.authcodeClick || function() {
		};

		// 是否要自动创建验证码节点
		if (config.autoCreate) {
			this._render();

		}

	},

	// /////渲染ui
	_render : function() {

		if (!this.created) {

			// 创建ui
			var mainDiv = document.createElement("div");
			var img = document.createElement('img');
			var span = document.createElement('span');
			var br = document.createElement("br");

			span.innerHTML = "看不清楚?换一个";

			mainDiv.className = "authcode_div";
			img.className = "authcode_img";
			span.className = "authcode_span";

			mainDiv.id = "__authcode_div_" + this.id
			img.id = "__authcode_img_" + this.id;
			span.id = "__authcode_span_" + this.id;

			//img.alt = "正在获取中，请稍候...";

			mainDiv.appendChild(img);
			mainDiv.appendChild(br);
			mainDiv.appendChild(span);
			document.body.appendChild(mainDiv);

			// 先隐藏掉面板
			$(mainDiv).absolutize();
			$(mainDiv).hide();

			// ////附加事件////
			var out = this;
			$(img).observe('click', this.authcodeClick);
			$(span).observe('click', function() {
				img.src = out.authcodeURL + "?date=" + new Date().getTime();
			});

			// 点击界面上的其它地方，就隐藏掉该验证码框
			$(document.body).observe('click', function(event) {

				var ele = Event.element(event);
				if ($(ele).id && $(ele).id.indexOf("__authcode_") != -1) {
					return;
				}

				if ($(ele).id && out.curDom && $(ele).id == out.curDom) {
					return;
				}
                $("__authcode_img_" + out.id).src = "images/blank.gif";
		  	    //$("__authcode_img_" + out.id).hide();
				$("__authcode_div_" + out.id).hide();
				
				
				out.showed = false;// 设置显示状态

			});

			this.created = true;
			
           //在authcode隐藏的时候，切换掉图片
			//img.src = this.authcodeURL + "?date=" + new Date().getTime();


		}

	},

	// 将验证码面板绑定到特定的dom节点上
	bind : function(dom) {

		this.curDom = dom;

		if (!this.created) {
			this._render();

		}

		// 附加事件
		var out = this;
		
		
		
		$(dom).observe('focus', function(event) {

			// 已经处于显示状态，则再此获得焦点的话，则不做显示操作
			if (!out.showed) {
				var ele = Event.element(event);

				var pos = $(ele).cumulativeOffset();

				// 显示出来并移动到要关联的dom的旁边去
				var div = $("__authcode_div_" + out.id);

				div.style.top = (pos.top + $(dom).getHeight()) + "px";
				div.style.left = (pos.left + $(dom).getWidth()) + "px";

				div.show();
				out.showed = true;

				// 更改验证码图片
				$("__authcode_img_" + out.id).show();
				$("__authcode_img_" + out.id).src = out.authcodeURL + "?date="
						+ new Date().getTime();
			}

		});

	},
	setAuthcodeURL : function(url) {
		this.authcodeURL = url;

	}

}
*/

String.prototype.trim = function() {
	return this.replace(/(^\s*)|(\s*$)/g, "");
};

//图片预加载处理
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function redirect(url)
{
	self.location.href = url;
}

