// JavaScript Document
$(function($) {
  function processForm() {
  	$('div#overlay').fadeTo(0,.4);
  	
  	var $loading = $('div#loading-image').html();
  			
  	$('div.loading').append('<h2 class="center">Please wait while we process your request</h2>' + $loading);
  								
  	$('div.loading-container, div#overlay').show();
  	$('html, body, .content').animate({scrollTop: 0} , 500);
  	
  	form.submit();
  }

  $('a.loading').click(function(event) {
    processForm();
    return true;			   
  });

  $('label.required').append('*');

  $('form#validate').validate( {
		onfocuseout:false,
		onkeyup:false,
		onclick:false,
		errorElement: 'li',
		onchange:false,
		errorLabelContainer: 'ul#errorContainer',
		errorPlacement: function(error,element) {
			error.appendTo(element.parent('li'));	
		},
		showErrors:function(errorMap,errorList) {
			var XHRFlag = false;
			var jErrorContainer = $('ul#errorContainer');

			jErrorContainer.hide().empty();
			
			$('input,select,textarea').removeClass('error');			
			
			if(this.numberOfInvalids() > 0) {
				for(var message in errorMap) {
				  $('ul#errorContainer').append('<li>&lArr; ' + errorMap[message] + '</li>');
					$('input[ name=' + message + '], select[ name=' + message + '], textarea[name=' + message + ']').addClass('error');
				}
			}
	
			if(jErrorContainer.find('li').size() > 0) {
				$('html,body').animate({scrollTop: 0},500);
				jErrorContainer.fadeIn(500);	
			}
		},
		messages:messages,
		rules:rules,
		submitHandler:function(form) {
		  processForm();			
		}			   
	});
});
