

FormControl = function()
{	
	return{
		checker: {
			numeric:            /^\d+$/,
			alphabetic:         /^[a-z]+$/i,
			alphabetic_lower:   /^[a-z]+$/,
			alphabetic_upper:   /^[A-Z]+$/,
			alphanumeric:       /^[a-zA-Z\d]+$/,
			notnull:          	/.+/,
			standard:           /^\w+$/i,
			phone:              /[^+-\/0-9]/,
			email:              /^[a-z\d]+(?:[\-\.\_][a-z\d]+)*[a-z\d]+@[\w\d]+(?:[-\.][a-z\d][a-z\d\-]*[a-z\d])*[a-z\d]+\.([a-z]{2,4})$/i
		},
		
		init: function()
		{
			if( $('.basicForm') ) {
				$('.basicForm').not(".nocheck").submit(function()
				{				
					return true;
					//return FormControl.check(this);
				});
			}
		},
		
		check: function(form)
		{
			$(form).find('.error').removeClass("error");

			FormControl.validate(form);
	
			if ($(form).find('.error').size())
			{
				$(form).find('p.message').addClass("error");
				return false;
			}
			else
			{
				return true;
			}
		},
				
		validate: function(form)
		{
			$(form).find("input[validate][type!=radio]").each(function(i)
			{
				var checkers = $(this).attr('validate').split(' ');
					
				for ( var i = 0; i< checkers.length; i++ )
				{
					var regex = new RegExp(FormControl.checker[checkers[i]]);
					(!regex.test($(this).val())) ? FormControl.addErrorClass(this) : false;
				}
			});
			
			$(form).find('select[validate]').each(function(i)
			{
				var checkers = $(this).attr('validate').split(' ');
					
				for ( var i = 0; i< checkers.length; i++ )
				{
					var regex = new RegExp(FormControl.checker[checkers[i]]);
					(!regex.test($(this).val())) ? FormControl.addErrorClass(this) : false;
				}
			});
			
			$(form).find("input[validate][type=radio]").each(function(i)
			{
				var checkers = $(this).attr('validate').split(' ');
					
				for ( var i = 0; i< checkers.length; i++ )
				{
					if (checkers[i] == 'notnull')
					{
						(!$('input[type=radio][name~=' + $(this).attr('name').replace('[]', '') + ']').is(":checked")) ? FormControl.addErrorClass($(this).parent()) : false;
					}
				}
			});
		},
		
		addErrorClass: function(element)
		{
			$(element).addClass("error");
		}
	}
}();

			/* $('#' +  $("#" + image).attr('code')).each(function(i) */
MainHelper = function(image)
{	

	return{		
		reloadCaptcha: function(image)
		{
			var codeCaptcha = this.randomString();
			
			/*
			 *
			$('#' +  $("#" + image).attr('code')).each(function(i)
			{
				$(this).val(codeCaptcha);
			});

			$('#' + image).attr('src', '/images/captcha/captcha.php?codeCaptcha=' + codeCaptcha);
			 */

			document.getElementById(
				document.getElementById('registerCaptcha').attributes['code'].value).value = codeCaptcha;

			document.getElementById(image).attributes['src'].value =
				'/images/captcha/captcha.php?codeCaptcha=' + codeCaptcha;

		},

		randomString: function()
		{
			var chars = "0123456789abcdef";
			var string_length = 32;
			var randomstring = '';
			for (var i=0; i<string_length; i++) {
				var rnum = Math.floor(Math.random() * chars.length);
				randomstring += chars.substring(rnum,rnum+1);
			}
			return randomstring;
		}
	}
}();

$(document).ready(function()
{	
	FormControl.init();
	
});


