var timeout;

function AjaxGET(name, parameter){
	//******
	// INIT
	//******
	clearTimeout(timeout);

	//*******
	// CHECK
	//*******
	parameter = AjaxCheckParameter(parameter);

	//***********
	// ANIMATION
	//***********
	AjaxAnimationStart(name);

	//******
	// AJAX
	//******
	$.ajax({
		url: parameter,
		async: true,
		success: function(data) {
			//******
			// DATA
			//******
			$(name).html($(data).find(name).html());

			//***********
			// ANIMATION
			//***********
			AjaxAnimationStop(name);
		}
	});
}

function AjaxTimeoutGET(name, parameter, duration){
	//*******
	// CLEAN
	//*******
	if(timeout) {
		clearTimeout(timeout);
		timeout = null;
	}
	//******
	// CALL
	//******
	timeout = setTimeout("AjaxGET('"+name+"', '"+parameter+"')", duration);
}

function AjaxPOST(name, parameter, post){
	//******
	// INIT
	//******
	clearTimeout(timeout);

	//*******
	// CHECK
	//*******
	parameter = AjaxCheckParameter(parameter);

	//***********
	// ANIMATION
	//***********
	AjaxAnimationStart(name);


	//******
	// AJAX
	//******
	$.ajax({
		type: 'POST',
		url: parameter,
		data: post,
		async: true,
		success: function(data) {
			//******
			// DATA
			//******
			$(name).html($(data).find(name).html());

			//***********
			// ANIMATION
			//***********
			AjaxAnimationStop(name);
		}
	});
}

function AjaxTimeoutPOST(name, parameter, post, duration){
	//*******
	// CLEAN
	//*******
	if(timeout) {
		clearTimeout(timeout);
		timeout = null;
	}
	//******
	// CALL
	//******
	timeout = setTimeout("AjaxPOST('"+name+"', '"+parameter+"', '"+post+"')", duration);
}

function AjaxAnimationStart(name){
	//***********
	// ANIMATION
	//***********
	// - background
	$("#frame2").css("background-image", "url(cms/templates/default/images/loading.gif)");
	$("#frame2").css("background-repeat", "no-repeat");
	$("#frame2").css("background-position", "center center");
	// - fadeout
	$(name).fadeTo(500, 0);
}

function AjaxAnimationStop(name){
	//***********
	// ANIMATION
	//***********
	// - background
	$("#frame2").css("background-image", "none");
	// - fadein
	$(name).fadeTo(1000,1);
}

function AjaxCheckParameter(parameter){
	if (parameter == null || parameter == '')
	{
		parameter = window.location;
	}
	return parameter;
}
