var Global_mod = {
	init: function()
	{
		
		$('input.button').button();
		
		$('.ajaxBuilder').live('submit', function(){
			var elForm = this;
			var form = $(this);
			var str = form.serialize();
			var action =form.attr('action');
			action = typeof action == 'undefined'? '' : action;

			$.post(action, str, function(d){
				var ok = false;
				if(typeof elForm.onAjaxLoad == 'function'){
					ok = elForm.onAjaxLoad(d);
				}
				if(ok) return; 
				Global_mod.builder(d);
			}, 'json');
			return false;
		});
		
		$(document).ajaxStart(function(){
			var preloadOverlay = $('<div id="preloadOverlay" class="ui-widget-overlay"></div>').hide().appendTo('body');
			var preloadIndicator = $('<div id="preloadIndicator"></div>').hide().appendTo('body');
			preloadOverlay.fadeIn();
			preloadIndicator.fadeIn();
		});
		$(document).ajaxStop(function(){
			$('#preloadIndicator, #preloadOverlay').fadeOut().remove();
		});
	},
	builder: function(data){
		switch(data.type)
		{
			case 'redirect':
				document.location.href = data.href;
			break;
			case 'alert':
				$(Global_mod.gui(data.text, data.title)).dialog({
					modal: true,
					width: 600,
					buttons: {
						Ok: function() {
							$( this ).dialog( "close" ).remove();
						}
					}
				});
			break;
			default:
				alert(date.type);
			break;
		}
	},
	gui: function(text, title){
		return $('<div title="'+title+'">'+ text +'</div>');
	}
}
loaderMod.reistry(Global_mod);
