﻿var divSignatura;
var divTSA;
var MostraOnlyNom;
 
function VerificaCarrega(divid) {
	// Mostra el requadre d'espera
	$('.VerificaTxt',divid).hide();
	$('.VerificaWait',divid).show();
	$('.VerificaResposta',divid).html('');
	$(divid).removeClass("signaErr");
	$(divid).removeClass("signaOk");
	$(divid).show("normal");
}

function VerificaMostraResposta(divid, text, ok) {
	$('.VerificaWait',divid).hide();
	$(divid).removeClass("signaErr");
	$(divid).removeClass("signaOk");
	
	if (ok)
		$(divid).addClass("signaOk"); // Mostra les dades i canvia el color de la finestra a verd
	else
		$(divid).addClass("signaErr"); // Mostra un missateg d'error i canvia el color de la finestra a vermell
		
	$('.VerificaResposta',divid).html(text);
	$('.VerificaTxt',divid).show();
}

/* Parametres:	divSignatura_param -> Div que conté el retorn de la Signatura
					divTSA_param ->Div que conté el retorn del TSA
					MostraOnlyNom_param -> Si true en la resposta de la signatura només mostra el nom del signatari
*/
function Verifica(divSignatura_param, divTSA_param, MostraOnlyNom_param) {
	divSignatura = divSignatura_param;
	divTSA = divTSA_param;
	MostraOnlyNom = MostraOnlyNom_param;
	
	// Validació de la Signatura Digital
	var formSigna = window.document.forms["formSigna"];
	// Comprova que el registre tingui Signatura
	if (formSigna.Signatura) {
		if (formSigna.Signatura.value!="") {
			VerificaCarrega($("#" + divSignatura).get(0));			
			var optionsValidaSignatura = {
				url: '/Cert/Default.aspx', // Canvia el action per defecte del form
				success:  ValidaSignatura_Retorn, 
				dataType:  'xml',
				type: 'POST'
			};
			$('#formSigna').ajaxSubmit(optionsValidaSignatura);
		}
	}
	
	// Validació del TSA
	var formTSA = window.document.forms["formTSA"];
	// Comprova que el registre tingui Signatura
	if (formTSA.Segell) {
		if (formTSA.Segell.value!="") {
			VerificaCarrega($("#" + divTSA).get(0));
			var optionsValidaTSA = {
				url: '/Cert/Default.aspx', // Canvia el action per defecte del form
				success:  ValidaTSA_Retorn, 
				dataType:  'xml',
				type: 'POST'
			};
			$('#formTSA').ajaxSubmit(optionsValidaTSA);
		}
	}
	
	return false;
}

// Recupera el resultat de la validació de la signatura
function ValidaSignatura_Retorn(responseXML) {	
	// Obté les dades de la persona que ha signat el document
	var Signador = $(responseXML).find('SignerIdentity').get(0);
	if (Signador) {
		var Signatura = $(Signador).text().replace(/,/g, "<br/>");
		if (MostraOnlyNom) {
			Signatura = Signatura.substring(Signatura.indexOf('CN=')+3	,Signatura.indexOf('<br/>'));
		}
		VerificaMostraResposta($("#" + divSignatura).get(0), Signatura, true);
	} else 
		VerificaMostraResposta($("#" + divSignatura).get(0), txt_msg_Err_Signatura, false);
}

// Obte la resposta de la validació
function ValidaTSA_Retorn(responseXML) {
	// Obté les dades del temps del TSA
	var TSA = $('SigningTime',responseXML).text();
	if (TSA!="") {
		var data = DateFromISOString(TSA); // Funció de la llibreria ostynscormtime.js
		var data_txt = data.getUTCDate() + "/" + data.getUTCMonth() + "/" + data.getUTCFullYear() + " " + data.getUTCHours() + ':' + data.getUTCMinutes() + ' GMT' + (-(data.getTimezoneOffset()/60)>0?'+':'') + -(data.getTimezoneOffset()/60);
		
		VerificaMostraResposta($("#" + divTSA).get(0), data_txt, true);
	} else
		VerificaMostraResposta($("#" + divTSA).get(0), txt_msg_Err_TSA, false);
}

// Canvia el src de la imatge
function CanviSrcImg(elem) {
	var classes = $(elem).attr("class").split(" ");
	if (classes.length>0) {
		var src_aux;
		if ($(elem).find("img").get(0)) {
			src_aux = $(elem).find("img").get(0).src;
			$(elem).find("img").get(0).src = classes[1];
			$(elem).removeClass(classes[1]);
			$(elem).addClass(src_aux);
		}
	}
}

$(document).ready(function() {  
	$("body").append("<div id='CalendariDiv'></div>");
	
	// Estableix l'acció d'imprimir per l'enllaç amb id=btn_imprimir
	$("#btn_imprimir").click(
		function(e) { 
			self.print();
		}
	);
	
	// Estableix l'acció d'imprimir per l'enllaç amb id=btn_imprimir
	$("#CapcaleraClick").click(
		function(e) { 
			document.location.href="/";
		}
	);
	
	// Estableix l'acció d'imprimir per l'enllaç amb id=btn_imprimir
	$("#CapcaleraClick").click(
		function(e) { 
			document.location.href="/";
		}
	);
	// Estableix l'acció de desactivar CSS
	$("#ActivaCSS").click(
		function(e) { 
			document.location.href="/?css=si";
		}
	);
	// Estableix l'acció de dactivar CSS
	$("#DesactivaCSS").click(
		function(e) { 
			document.location.href="/?css=no";
		}
	);
	
	// Estableix el rollover sobre imatges
	$(".swapImg").hover(
      function () {
			CanviSrcImg(this);
      }, 
      function () {
        CanviSrcImg(this);
      }
    );
	
	
	
	// Estableix un text d'exemple extret de les label al inputs de la cerca
	$("#search").clearingInput();
});
