(function($) {
	$(document).ready(function() {
		$('#mainmenu ul li a').click(function (ev) {
			var href = $(this).attr('href');
	
			if (!$(this).closest('li').hasClass('disabled')) {
				$.gotoContentBlock(href.substr(1));
			}
		});
	});
	
	$.prevForm = function (a) {
		var prevContentBlock = $(a).closest('div.contentBlock').prev().attr('id');
		$.gotoContentBlock(prevContentBlock);
	}
	
	$.gotoContentBlock = function (idName) {
		$('div#mainmenu li.active').removeClass('active');
		
		if (idName == "finalize") {
			$('#finalize').load($('#finalize').attr('_contentBlockUrl'), function () {
				$.changeMainMenuitem('finalize', 'active');
				$("div#content").animate({ 
					left: -$('#finalize').attr('offsetLeft')
				}, 750);			
			});
		} else {
			if ($('#'+idName).length > 0) {
				$.changeMainMenuitem(idName, 'active');
				
				$("div#content").animate({ 
					left: -$('#'+idName).attr('offsetLeft')
				}, 750);
			}
		}
	}
	
	$.sendForm = function (type) {
		$('input[name=formPartType]').val(type);
		
		var form = 		$('form#wizardForm');
		var action = 	form.attr('action');
		var data = 		form.serialize();
		
		form.find('.error').removeClass('error');
		
		$.ajax({
			type: 		'POST',
			url: 		action,
			data: 		data,
			dataType: 	'json',
			success: function (data) {
				var errors = data.errors;
				var countErrors = 0;
				
				for (e in errors) {
					countErrors++;
				}
				
				if (countErrors>0) {
					$.changeMainMenuitem(data.formPartType, 'error');
					
					var errors = data.errors;
					for (e in errors) {
						var idName = data.formPartType+'_'+e;
						$("[id^='"+idName+"']").closest('tr').addClass('error');
						$("[id^='"+idName+"']").closest('div.field').addClass('error');
					}
				} else {
					$.changeMainMenuitem(data.formPartType, 'success');
					
					var nextContentBlock = $('#'+data.formPartType).next().attr('id');
					$.gotoContentBlock(nextContentBlock);
				}
			}
		});
	}
	
	$.changeMainMenuitem = function (idName, state) {
		if (idName == "confirmations1" || idName == "confirmations2" || idName == "confirmations3" || idName == "confirmations4") {
			idName = "confirmations";
		}
	
		if ($('#mainMenu_'+idName).length > 0) {
			var rootItem = $('#mainMenu_'+idName).closest('ul').parent();
			
			if ($(rootItem).attr('tagName') == 'LI') {
				$(rootItem).removeClass('disabled');
			}
	
			$('#mainMenu_'+idName).removeClass('disabled').removeClass('active').removeClass('success').removeClass('error').addClass(state);
		}
	}
})(jQuery);
