/*
* Definimos las llamadas a jquery
*/

/* Definimos el div para el "Cargando..." */
jQuery.fn.ajloading = function () {
	$(this).html("<div class='ajax_frame'	>Cargando . . . <br /><img src='images/ajax.gif'	 /></div>")
}

jQuery.fn.ajfail = function (msg) {
	$(this).html("<div class='ajax_frame_error'>Hubo un error en la solicitud:<br />" + msg + "</div>");
}

jQuery.fn.loadAjax = function (uri, vars, success, fail) {
	
	$(this).ajloading();
	
	$(this).load(uri, vars, function(responseText, textStatus, XMLHttpRequest) {
		if (textStatus == 'success') {
			if (success)
				eval(success);
			return true;
		} else {
			if (fail)
				eval(fail);
		}
		$(this).ajfail(XMLHttpRequest.statusText);
	});
	
};

/*
	Función que reemplaza los HTML entities
*/
function html_entity_decode(str) {
  var ta=document.createElement("textarea");
  ta.innerHTML=str.replace(/</g,"&lt;").replace(/>/g,"&gt;");
  return ta.value;
}

function ualert(str) {
	alert(html_entity_decode(str));
}

function uconfirm(str) {
	return confirm(html_entity_decode(str));
}


function ajaxFormFrame(idform, idframe, options) {		
	var options = { 
		dataType: 	'html', 
		beforeSubmit : function () { $(idform).ajloading() },
		success : function (content) {
			$(idframe).html(content);
			$("script", content).each(function(){
            eval( this.text || this.textContent || this.innerHTML || "");
        });
			ajaxFormFrame(idform, idframe, options);
		}
	};
	$(idform).ajaxForm(options);
}
