// Resolve uso da JQuery junto a demais frameworks.
var $j = jQuery.noConflict();

// Extensão customizada para o Qualitor de $.ajax (JQuery).
function QAjax(obj) {
	if (!obj.beforeSend)
		obj.beforeSend = function() { iniciaLoading();	};

	if (!obj.complete)
		obj.complete = function() { encerraLoading(); };

	if (!obj.dataType)
		obj.dataType = "script";

	if (!obj.type)
		obj.type = "POST";

	$j.ajax(obj);
}

// Integração com div de loading automático.
function iniciaLoading() {
	try {
		var spanHTML = "<span class=\"COLORLABEL\"><img src=\"" + pathWeb + "/framework/images/default/general/loading.gif\" class=\"VMIDDLE\" align=\"absmiddle\" />  " + QLabel[3] + "</span>";
	} catch(e) {
		var spanHTML = "<span class=\"COLORLABEL\">  Carregando...</span>";
	}

	if($("divLoading")) {
		$("divLoading").className = "DIVSHOW";
		$("divLoading").innerHTML = spanHTML;
	}else{
		var body = document.getElementsByTagName("body")[0];
		var div = document.createElement("div");
		div.id = "divLoading";
		div.className = "DIVSHOW";
		div.zIndex = layerIndex;
		body.appendChild(div);
		div.innerHTML = spanHTML;
	}
}

function encerraLoading() {
	$("divLoading").className = "DIVHIDE";
}

var codingRule = [	{entity: '%2F', expression: /\//g},
					{entity: '%2B', expression: /\+/g},
					{entity: '%3F', expression: /\?/g},
					{entity: '%3D', expression: /=/g},
					{entity: '%26', expression: /&/g},
					{entity: '%40', expression: /@/g},
					{entity: '%22', expression: /%u201C/g},
					{entity: '%22', expression: /%u201D/g} ];

function codificarHTML(myString) {
	if (myString == "") {
		return "";
	}

	var encodedString = escape(myString);

	foreach (codingRule, function(myRule) {
		encodedString = encodedString.replace(myRule.expression, myRule.entity);
	});

	return encodedString;
}

function decodificarHTML(dsText) {
	return unescape(dsText.replace(/\+/g, " "));
}