var RegPartner = function(){
	
	var self = null;
	var form = null;
	var submitBtn = null;
	
	var notValidClass = 'borderLine';
	
	return {
		
		init: function(){
			self = this;
			form = $('form[name="regpartner"]');
			submitBtn = $('#submitRequest', form);			
			
			submitBtn.bind('click', function(){
				RegPartner.sendData();
			});
		},
		
		clearForm: function(){
			var fields = $('input', form);
			$.each(fields, function(){
				if ($(this).attr('name') != 'resource_id' && $(this).attr('name') != 'event'){
					$(this).val('');
				}
			});
		},
		
		clearErrors: function(){
			$('div.' + notValidClass).removeClass(notValidClass);
		},
		
		showLoader: function(flag){
			if (flag){
				$('div.formShadow').removeClass('hidden');
			} else {
				$('div.formShadow').addClass('hidden');
			}
		},
		
		validateForm: function(){
			var isValid = true;
			
			var fields = $('input', form);
			$.each(fields, function(){
				if ( ($(this).attr('required') == '1' && $.trim($(this).val()) == '') ||
					 ($(this).attr('name') == 'email' && !checkEmail($(this).val())) ){					
					var parents = $(this).parents();
					$(parents[1]).addClass(notValidClass);
					isValid = false;
				}
			});
			return isValid;
		},
		
		postDataCallback: function(){
			setTimeout(function(){
				self.clearForm();
				self.showLoader(false);
			}, 1000);
		},
		
		sendData: function(){
			this.clearErrors();
			if (!this.validateForm()){
				return false;
			}
			this.showLoader(true);
			$.post('/', form.serialize(), this.postDataCallback);
		}
	}
}();

$(document).ready(function(){
	RegPartner.init();
});
