/**************************************************************************************************
 *  File Defination 
 *  - Form validator
 -------------------------------------------------------------------  
 *  Run on PHP versions 4 and 5
 -------------------------------------------------------------------
 *  Apprain : Content Management Framework <http://www.apprain.com/>
 *  Download link: http://www.apprain.com/download
 *  Docs link: http://www.apprain.com/docs
 -------------------------------------------------------------------
 *  License text http://www.opensource.org/licenses/mit-license.php 
 *  About MIT license <http://en.wikipedia.org/wiki/MIT_License/>
*************************************************************************************************/

var fields;
var fields_pro;
var debug = false;
var valide = false;

var apprain_f_v ={
	error_background	: '#FF5555',
	default_background	: '#FFFFFF',
	error				: false,
	from_name			: '#auto_chk_submit_',
	/* Check validition */
	check_validation	: function(e){

							apprain_f_v.error = false;
							fields.each(function(item, index)
							{
								var obj = $(item);
								switch( fields_pro[index] )
								{
									case "NULL":	 (obj.value == '') ? apprain_f_v.style_error(obj) : apprain_f_v.style_default(obj);
													 break;
									case "DEFAULT":
													 (obj.value == obj.defaultValue ) ? apprain_f_v.style_error(obj) : apprain_f_v.style_default(obj);
													 break;	

									case "EMAIL":	(!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(obj.value)))? apprain_f_v.style_error(obj) : apprain_f_v.style_default(obj);
													break;
									case "MATCH":	var tmp_arr = item.split('|');							
													var obj1 = $(tmp_arr[0]);
													var obj2 = $(tmp_arr[1]);
													if( 
														( obj1.value == '') ||
														( obj2.value == '') ||
														( obj1.value != obj2.value )
													)
													{	
														apprain_f_v.style_error(obj1);
														apprain_f_v.style_error(obj2);
													}
													else
													{
														apprain_f_v.style_default(obj1);
														apprain_f_v.style_default(obj2);	

													}
													break;
								} 

								return false;
							});

							if( auto_submit == 'true'&& apprain_f_v.error == false )
							{
								new Event(e).start();
							}
							else
							{
								alert("Please fill up all mandatory fields (Marked with asterisks) correctly");
								new Event(e).stop();
							}
	},
	/* Error styling here */
	style_error			: function (obj){
							obj.setStyle('background-color',apprain_f_v.error_background);
							apprain_f_v.error = true;
	},
	style_default		: function (obj){
							obj.setStyle('background-color',apprain_f_v.default_background);
	},
	init: function(e){
		
		/* Set styles */
		try
		{
			apprain_f_v.default_background = default_background;
			apprain_f_v.from_name = from_name;
			apprain_f_v.error_background = error_background;	
		}
		catch (err)
		{
			if( debug) 
			{
				alert(err);
			}
		}

		/* Bind the event on submit */		
		$$(apprain_f_v.from_name).addEvent('submit', apprain_f_v.check_validation);
	}
}
window.addEvent('domready', apprain_f_v.init);