function ajaxPost(archivo, qstring)
{
	var debugTime = 1;
	
	$.ajax({
		type: 		"POST",
		url: 		archivo,
		data: 		qstring,
		cache: 		false,
		beforeSend: function(){
			$("#formLoading").fadeIn("fast");
		},
		success: function(generado){
			setTimeout(function(){
				$("#formLoading").fadeOut("fast");
				$("#formContactoWrapper").html(generado);
			}, debugTime)
		},
		error: function(){
			$("#formLoading").fadeOut("fast");
			alert("No se pudo enviar el formulario.\nPor favor inténtelo mas tarde.");
		}
	});
}

function accionesError()
{
	$('#ajaxDone').hide();
	$('#ajaxLoading').hide();
	$('#ajaxErrorValidacion').hide();
	$('#ajaxError').fadeIn();
}
function accionesCompleto()
{
	$('#ajaxError').hide();
	$('#ajaxErrorValidacion').hide();
	$('#ajaxLoading').hide();
	$('#ajaxDone').fadeIn();
}
function accionesLoading()
{
	$('#ajaxDone').hide();
	$('#ajaxError').hide();
	$('#ajaxErrorValidacion').hide();
	$('#ajaxLoading').fadeIn();
}
function accionesErrorValidacion()
{
	$('#ajaxDone').hide();
	$('#ajaxLoading').hide();	
	$('#ajaxError').hide();
	$('#ajaxErrorValidacion').fadeIn();
}

function ajaxActualizarComentarios(id)
{
	if(typeof(id) != 'undefined')
	{
		var archivo = 'ajax.actualizarComentarios.php';
		var qstring	= 'id=' + id;

		$.ajax({
			type: 		"POST",
			url: 		archivo,
			data: 		qstring,
			cache: 		false,
			success: function(data){
				$('.mediacomments').html(data);
			},
			error: function(){
				alert('Hubo un problema actualizando los comentarios, por favor refrescá la pagina.');
			}
		});
	}
}
function ajaxPostearComentario(qstring)
{
	var archivo = 'ajax.enviarComentario.php';

	$.ajax({
		type: 		"POST",
		url: 		archivo,
		data: 		qstring,
		dataType: 	"json",
		cache: 		false,
		beforeSend: function(){
			accionesLoading();
		},
		success: function(data){
			if(typeof(data.error) != 'undefined')
			{
				if(data.error != '')
				{
					if(data.result == 'validacion')
					{
						accionesErrorValidacion();
					}
					else
					{
						accionesError();
					}
				}
				else
				{
					accionesCompleto();
					ajaxActualizarComentarios(data.result);
					$("form")[0].reset();
				}
			}
		},
		error: function(){
			accionesError();
		}
	});
}

function hypnoError(msg){
	var divForm 	= $('#formHypno');
	var divLoading 	= $('#formLoading');
	divForm.show();
	divLoading.slideUp("normal", function(){
		alert(msg)
	});
}
function hypnoLoading(){
	var divForm 	= $('#formHypno');
	var divLoading 	= $('#formLoading');
	divLoading.slideDown("normal", function(){
		divForm.hide();
	});
}
function hypnoDone(){
	var divDone 	= $('#formDone');
	var divForm 	= $('#formHypno');
	var divLoading 	= $('#formLoading');
	divDone.slideDown("normal", function(){
		divForm.show();
		divLoading.hide();		
		$("form [name]").not("[name=senderName], [name=senderMail]").each(function(){ $(this).val(''); });		
	});
}
function hypnoRestart(){
	var divDone 	= $('#formDone');
	divDone.slideUp("normal");
	$('#message').trigger("keyup");
}
function ajaxEnviarHypno(qstring)
{
	var archivo 	= rootUrl + 'ajax.enviarHypno.php';
	var ajaxDelay	= 1000;

	$.ajax({
		type: 		"POST",
		url: 		archivo,
		data: 		qstring,
		dataType: 	"json",
		cache: 		false,
		beforeSend: function(){
			hypnoLoading();
		},
		success: function(data){
			if(typeof(data.error) != 'undefined')
			{
				if(data.error != '')
				{
					if(data.result == 'validacion')
					{
						setTimeout("hypnoError('Revisa los datos, pusiste mal los dedos!');", ajaxDelay);
					}
					else
					{
						setTimeout("hypnoError('No se pudo enviar tu mensaje, intentalo mas tarde :(');", ajaxDelay);
					}
				}
				else
				{
					setTimeout("hypnoDone();", ajaxDelay);
				}
			}
		},
		error: function(){
			setTimeout("hypnoError('No se pudo enviar tu mensaje, intentalo mas tarde :(');", ajaxDelay);
		}
	});
}
