﻿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);
}

// Menús desplegables
var menu = new FSMenu('menu', true, 'display', 'block', 'none');
		
menu.showDelay = 0;
menu.switchDelay = 80;
menu.hideDelay = 80;
menu.showOnClick = 0;
menu.hideOnClick = true;
menu.animInSpeed = 2;
menu.animOutSpeed = 2;

$(window).load(function() {  
	
	menu.activateMenu('Menu0', null);
	
	$("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ó de canvi de mida de font per l'enllaç amb id=canviaFont
	$("#canviaFont").bind("click keydown", function(e){
			canviaFont();
		}
	);
	
	// Estableix el rollover sobre imatges
	$(".swapImg").hover(
      function () {
			CanviSrcImg(this);
      }, 
      function () {
        CanviSrcImg(this);
      }
    );
	
	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);
			}
		}
	}
	
	// Estableix un text d'exemple extret de les label als inputs de Login i la cerca
	$("#name_login").clearingInput();
	$("#password_login").clearingInput();
	$("#search").clearingInput();
});


var midafont = 0.7;
function canviaFont() {
	midafont = midafont + 0.25;
	
	if (midafont>1.2)
		midafont = 0.7;
	
	if (midafont > 0)
		document.body.style.fontSize = midafont + 'em';
} 
