if(window.console==undefined){window.console={log:function(){}};}

// 2011-08-09 initial mat
// 2011-10-05 modified
// 2011-10-11 siblings
contentLoader = function(url, params, data) {
	var ajaxContent = $('#ajax-content');
	ajaxContent.html('<p><img src="/img/ajax-loader.gif" width="16" height="11" /></p>');
	ajaxContent.load(url + '?' + params, data, 
		function(data, textStatus, XMLHttpRequest) {
			if (textStatus === 'success') {
				/*
				 * mark internal and external links inside ajax div
				 */
				$("#ajax-content a").each(function(){
					var anchor = $(this);
					var href = anchor.attr('href');
					
					// don't mark linked images
					if(anchor.children("img").length != 0)
						return;
					
					// explicit ignore some elements
					if(anchor.hasClass("ignore"))
						return;
					
					if(href.substr(0, 1) == '?' ||
					   href.match(/http(s)?:\/\/(www\.)?flaeming-skate(-ng)?\.(de|test)+/))
		   			{
						anchor.addClass("intern");
					} else if (href.substr(0, 11) != 'javascript:') {
						anchor.addClass("extern").attr("target","_blank");
					}
				});

				/*
				 * append click event on internal links
				 */
			    //$('#ajax').delegate("a", "click", function() {
			    $('#ajax a').click(function() {
			    	var dest = $(this).attr('href');
			    	
			    	// check if external link
			    	if (dest.substr(0, 1) !== '?' &&
							! dest.match(/http(s)?:\/\/(www\.)?flaeming-skate\.de\/ajax\//)) {
						return true;
					}										    				
			    	var params = dest.split('?')[1];
					removeSiblings();
					contentLoader(url, params);
			    	return false;
			    });
			    
			    /*
				 * append submit event on forms
				 */
			    //$('#ajax').delegate("form", "submit", function() {
			    $('#ajax form').submit(function() {
			    	var params = $(this).attr('action').split('?')[1];
			    	var values = {};
					$.each($(this).serializeArray(), function(i, field) {
					    values[field.name] = field.value;
					});					
					removeSiblings();
					contentLoader(url, params, values);
			    	return false;
		    	});
			}
			
			/*
			 * display message on error
			 */
		    if (textStatus == "error") {
				$('#loadError').show();
			}
		}
	);
	
	/*
	 * remove siblings (except noscript, #loadError and .contenfooter)
	 */
	removeSiblings = function() {
		var siblings = $("#ajax").siblings();
		siblings.each(function() {
			var elm = $(this);
			if(elm.is('noscript')
			   || elm.is('div#loadError')
			   || elm.is('div.contentfooter')) { return; }
			elm.remove();
		});}
};

