// validation
validator = Class.create();

validator.prototype = {
	initialize : function ()
	{

	},

	empty : function (el,error)
	{
		if(this._testEmpty($F(el)))
		{
			this._setError(el,error);
			return false;
		}
		else
		{
			this._removeError(el);
			return true;
		}

	},

	email : function (el,error)
	{
		if(this._testEmpty($F(el)) || !/\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/.test($F(el)))
		{
			this._setError(el,error);
			return false;
		}
		else
		{
			this._removeError(el);
			return true;
		}
	},
	
	emailOptional : function (el,error)
	{
		if(!this._testEmpty($F(el)))
		{
			if(!/\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/.test($F(el)))
			{
				this._setError(el,error);
				return false;
			}
			else
			{
				this._removeError(el);
				return true;
			}
		}
		else
		{
			return true;
		}
	},
	
	radioChecked : function (r,error)
	{
		
		for(i=0;i<r.length;i++)
		{
			if($(r[i]).checked==true)
				return true;
		}
		
		this._setError(r[0],error);
		return false;
	},

	mobile : function (el,error)
	{
		var mob = $F(el).replace(/[\s\-]+/g, '');
		if(!/^\d+$/.test(mob) || mob.substr(0,2) != '06' || mob.length != '10')
		{
			this._setError(el,error);
			return false;
		}
		else
		{
			this._removeError(el);
			return true;
		}
	},

	_testEmpty : function (v)
	{
		return  ((v == null) || (v.length == 0) || (v == ''));
	},

	_setError : function (el,error)
	{
		if(!$(el+'Error__'))
			new Insertion.Before(el,'<p class="error" id="'+el+'Error__">'+error+'</p>');
	},

	_removeError : function (el)
	{
		if($(el+'Error__'))
			Element.remove(el+'Error__');
	}
}