/**************************************************************************************************
 *  File Defination 
 *  - Form validator
 -------------------------------------------------------------------  
 *  Run in PHP versions 4 and upper versions
 -------------------------------------------------------------------
 *  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				: true,
	from_name			: '#auto_chk_submit_',
	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;
								} 
							});
							if(  apprain_f_v.error == false )
							{  
								if( typeof(apprain_a_s) != "undefined" )
								{
									apprain_a_s.init();
									apprain_a_s.ajax_submit();
									
								}
								if( auto_submit != 'true' )new Event(e).stop();
							}
							else
							{
								alert("Please fill up all mandatory fields (Marked with asterisks) correctly");
								new Event(e).stop();
							}
						},
	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){
							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);
								}
							}
							$$(apprain_f_v.from_name).addEvent('submit', apprain_f_v.check_validation);
						}
}
window.addEvent('domready', apprain_f_v.init);