(function($){
	var hideNotify = function () {
		$("div#ajaxNotify").fadeOut().remove();
	};
	var showNotify = function(str) { 
		$elem = $("<div id=\"ajaxNotify\">" + str + "</div>");
		$("body").prepend($elem);
		$elem.hide();
		if ($.browser.msie && parseInt($.browser.version)<7) {
			$elem.css({"position": "absolute", "right": 0, "top": document.documentElement.scrollTop, "z-index": 999});
			$(window).bind("scroll", function() {
				$elem.css("top",  document.documentElement.scrollTop);
			});
		} else {
			$elem.css({"position": "fixed", "right": 0, "top": 0, "z-index": 999});
		}
		$elem.fadeIn();
	};
	$.fn.ongNavigation = function($ongMenu) {
		var $container = $("div#ongContent");
		var processFunction = function() {
			var $this = $(this);
			showNotify("En Chargement");
			var nonAjaxURL = $this.attr("href");
			var splittedProtocolURL = nonAjaxURL.split(new RegExp("//", "g"));
			var splittedURL = splittedProtocolURL[1].split(new RegExp("/", "g"));
			var ajaxURL = splittedProtocolURL[0] + "//";
			var splittedURLLength = splittedURL.length;
			if (splittedURL[splittedURLLength-1].length == 0) {
				splittedURL.splice(splittedURLLength-1, 1);
				splittedURLLength --;
			}
			for (var i=0; i<splittedURL.length-2; i++) {
				ajaxURL += splittedURL[i] + "/";
			}
			ajaxURL += splittedURL[splittedURLLength-2] + "_contenu" + "/" + splittedURL[splittedURLLength-1] + "/";
			$.ajax({
				type: "GET",
				url: ajaxURL,
				dataType : "html",
				error:function(msg, string){
					alert( "Error ! : " + string );
				},
				success:function(data){
					var $newContainer = $("div#ongContent");
					$newContainer.replaceWith(data);
					var $newContainer = $("div#ongContent");
					$("h3 a", $newContainer).click(processFunction);
					$("h4 a", $newContainer).click(processFunction);
					$("p.textRight a.link", $newContainer).click(processFunction);
					hideNotify();
					$("[class=\"active\"]", $ongMenu).removeClass("active");
					var $ongMenuLink = $("a[href=\""+ nonAjaxURL +"\"]", $ongMenu);
					$ongMenuLink.addClass("active").parent("li").addClass("active");
					var $ongMenuLinkParent = $ongMenuLink.parent("li").parent("ul");
					if ($ongMenuLinkParent != $ongMenu) {
						$ongMenuLinkParent.prev("a").addClass("active").parent("li").addClass("active");
					}
				}
			});
			return false;
		}

		$("h3 a", $container).click(processFunction);
		$("h4 a", $container).click(processFunction);
		$("p.textRight a.link", $container).click(processFunction);
		$("li a", $ongMenu).each(function() {
			$(this).click(processFunction);
		});
		return this;
	}
})(jQuery);

$(document).ready(function() {
	$("div#ongContent").ongNavigation($("ul#ongMenu"));
});

