﻿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);
}


$(window).load(function() {  
	$("body").append("<div id='CalendariDiv'></div>");
	
	// Elimina el border-bottom de l'últim element del segon nivell del Menu
	//$(".Menu1 li:last-child").addClass("Ultim");
	
	$(".fons_portlet_portada").each(function() {
		$(this).html("<div class='intern'>" + $(this).html() + "</div>");
	});
	
	$(".fons_portlet_portada").backgroundCanvas();
	$(".MenuRound").backgroundCanvas();
	
	// 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();
});

// Draw the background  on load and resize
$(window).load(function () { 
	DrawBackground(); 
});
$(window).resize(function() {
	DrawBackground(); 
});


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';
} 


function DrawBackground() {
	$(".fons_portlet_portada").backgroundCanvasPaint(BackgroundPaintPortlet);
	$(".MenuRound").backgroundCanvasPaint(BackgroundPaintMenu);
}

function BackgroundPaintPortlet(context, width, height, canvas, $canvas, $canvasDiv, $content, $element ) {
		var options = {x:0, height: height, width: width, radius: 8,  border: 0 };
		var backgroundGradient = context.createLinearGradient(0, 0, 0, height - 2);
		backgroundGradient.addColorStop(0 ,'#efefef');
		backgroundGradient.addColorStop(1, '#ffffff');
		context.fillStyle = "#dddddd";
		
		// Draw the blue border rectangle 
		$.canvasPaint.roundedRect(context,options);
		
		// Draw the gradient filled inner rectangle
		options.border = 1;
		context.fillStyle = backgroundGradient; 
		$.canvasPaint.roundedRect(context,options);
}

function BackgroundPaintMenu(context, width, height, canvas, $canvas, $canvasDiv, $content, $element ) {
		var options = {x:0, height: height, width: width, radius: 8,  border: 0 };
		
		var backgroundGradient = context.createLinearGradient(0, height - 30, 0, height - 2);
		backgroundGradient.addColorStop(0 ,'#cec8ba');
		backgroundGradient.addColorStop(1, '#b0ab9b');
		context.fillStyle = "#cec8ba";
		
		// Draw the blue border rectangle 
		$.canvasPaint.roundedRect(context,options);
		
		// Draw the gradient filled inner rectangle
		options.border = 0;
		context.fillStyle = backgroundGradient; 
		$.canvasPaint.roundedRect(context,options);
}


// Google Analytics
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-2213751-2']);
_gaq.push(['_trackPageview']);
	
(function() {
	var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
	ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
	var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
