/**
 *	
 */
fragmentLoader = function()
{
	
	return {
		load: function(params, el, url, noLoader)
			{
				if (!noLoader)
					fragmentLoader.beforeLoad(el);
				
				$.ajax(
					{
						type: 'POST',
						url: url,
						data: params,
						el: el,
						cache: false,
						dataType: 'json',
						success: function(response, textStatus)
							{
								response.success ? fragmentLoader.handleSuccess(response, el) : fragmentLoader.handleError(response.messages);
							},
						error: function()
							{
								$.MessageBox.alert(
									{
										title: 'Error',
										msg: 'Er is een onbekende fout opgetreden. Probeer het later nogmaals A.U.B.'
									}
								);
								
								//alert('Er is een onbekende fout opgetreden. Probeer het later nogmaals A.U.B.');
								return false;
							}
					}
				);
			}
	}
}();

$.extend(fragmentLoader, 
	{
		beforeLoad: function(el)
			{
				for (name in el)
				{
					fragmentLoader.setContent(el[name], loader.small());
				}
			},
		
		handleSuccess: function(response, el)
			{
				var items = response.items;
				
				for (name in el)
				{
					fragmentLoader.setContent(el[name], items[name]);
				}
				
				$(fragmentLoader).trigger('loaded', [response, el] );
			},
		
		handleError: function(msg)
			{
				$.MessageBox.alert(
					{
						title: 'Error',
						msg: msg
					}
				);
				//alert('De volgende fout is opgetreden: ' + msg);
			},
		
		setContent: function(el, html)
			{
			    el.html(html);
								
				/*
				if (name == 'breadcrumb') Ext.get(el.attr('id')).fadeIn(
					{
						endOpacity: 1, //can be any value between 0 and 1 (e.g. .5)
						easing: 'easeOut',
						duration: .2
					}
				);
				*/
				
			}
	}
);