﻿var gd_campo_txtCodigo;
var gd_campo_direcao;
var gd_campo_npvis;
var gd_campo_npmax;
var gd_campo_corfundo;
var gd_campo_corfonte;
var gd_tipoConteudo;
var gd_filtro;
var codEmp;

function abreGadgetConfig(idEmp, tipoCont, flt) {
	$("#modalGadget").modal();
	if (!$("#gadgetConfModal").hasClass("emCache")) {
		$("#gadgetConfModal").load("/Gadget/Configuracao", function() {
			$(".modalGadgetLoader").hide();
			$("#cpFundo").mlColorPicker({ 'onChange': function(val) {
				$("#cpFundo").css("background-color", "#" + val);
				$("#gd_corfundo").val("#" + val);
				atualizaCorFundo("#" + val);
			}
			});
			$("#cpFonte").mlColorPicker({ 'onChange': function(val) {
				$("#cpFonte").css("background-color", "#" + val);
				$("#gd_corfonte").val("#" + val);
				atualizaCorFrente("#" + val);
			}
			});

			gd_campo_direcao = $("#gd_direc")[0];
			gd_campo_npvis = $("#gd_npvis")[0];
			gd_campo_npmax = $("#gd_npmax")[0];
			gd_campo_corfundo = $("#gd_corfundo")[0];
			gd_campo_corfonte = $("#gd_corfonte")[0];
			gd_campo_txtCodigo = $("#gd_codigoGadget")[0];

			$("#gadgetConfModal").addClass("emCache");
			$("#gadgetConfModal").show();

			setaDefaults(idEmp, tipoCont, flt);
		});
	} else {
		setaDefaults(idEmp, tipoCont, flt);
	}	
}

function setaDefaults(idEmp, tipoCont, flt) {
	atualizaCorFundo("#FFFFFF");
	atualizaCorFrente("#444444");

	gd_campo_direcao.value = "H";
	gd_campo_npvis.value = "3";
	gd_campo_npmax.value = "0";
	gd_campo_corfundo.value = "#FFFFFF";
	gd_campo_corfonte.value = "#444444";

	codEmp = idEmp;

	gd_tipoConteudo = tipoCont;
	gd_filtro = flt;

	atualizaCodigo();
}

function atualizaCorFundo(cor) {
	if(isCorHexa(cor)) {
		$("#cpFundo").css("background-color", cor);

		atualizaCodigo();
	}
}

function atualizaCorFrente(cor) {
	if(isCorHexa(cor)) {
		$("#cpFonte").css("background-color", cor);

		atualizaCodigo();
	}
}

function isCorHexa(cor) {
	var strPattern = /^#(?:[0-9a-f]{3}){1,2}$/i;
	return strPattern.test(cor);
}

function fechaConf() {
	$.modal.close();
}

function atualizaCodigo() {
	var scp = "<script src=\"http://www.tecto.com.br/Scripts/Gadget.js\"></script>\n";
	scp += "<script type=\"text/javascript\">\n";
	scp += "gTecto.cod = " + codEmp + ";\n";
	scp += (gd_campo_direcao.value != "H" ? "gTecto.direcao = \"V\";\n" : "");
	scp += (gd_campo_npvis.value != "3" ? "gTecto.capasVisiveis = " + gd_campo_npvis.value + ";\n" : "");
	scp += (gd_campo_npmax.value != "0" ? "gTecto.maximoCapas = " + gd_campo_npmax.value + ";\n" : "");
	scp += (gd_campo_corfundo.value.toUpperCase() != "#FFFFFF" ? "gTecto.corFundo = \"" + gd_campo_corfundo.value + "\";\n" : "");
	scp += (gd_campo_corfonte.value != "#444444" ? "gTecto.corFrente = \"" + gd_campo_corfonte.value + "\";\n" : "");
	scp += (isDef(gd_filtro) ? "gTecto.textoFiltro = \"" + gd_filtro + "\";\n" : "");
	scp += (codEmp != 2 && gd_tipoConteudo != "C" ? "gTecto.tipoConteudo = \"" + gd_tipoConteudo + "\";\n" : "");
	scp += "gTecto.abreGadget();\n";
	scp += "</script>";

	gd_campo_txtCodigo.value = scp;
}

function abrePrevia(host) {
	if (typeof(host) == "undefined") var host = "www.tecto.com.br";

	var cpVis = parseInt(gd_campo_npvis.value);
	var cpMax = parseInt(gd_campo_npmax.value);
	cpVis = ((cpMax < cpVis && cpMax != 0) ? cpMax : cpVis);

	var qs = codEmp + "?";
	qs += "dr=" + gd_campo_direcao.value;
	qs += "&nc=" + cpVis;
	qs += "&tc=" + gd_tipoConteudo;
	if (isDef(gd_filtro)) qs += "&f=" + encodeURIComponent(gd_filtro);
	if (cpMax > 0) qs += "&nxc=" + cpMax;
	qs += "&bc=" + gd_campo_corfundo.value.replace('#','');
	qs += "&fc=" + gd_campo_corfonte.value.replace('#', '');

	var wid;
	var hgt;

	if (gd_campo_direcao.value == "V") {
		wid = 250;
		hgt = (150 * cpVis) + 68;
		hgt = ((hgt > 246 ? hgt + 20 : hgt) + 20) + 15;
	} else {
		wid = (117 * cpVis) + 30;
		wid = ((wid > 147 ? wid + 20 : wid) + 20) + 15;
		hgt = 200 + 28;
	}

	mostraPopupCentro(wid, hgt, 'http://' + host + '/Gadget/Previa/' + qs, 'popupPrevia');
}