//Creado por jachafer 08-10-2015
//JS para unificar la funcion firma que se utiliza para llamar al miniapplet y el sistema de autofirma


/**
 * Determina con un boolean si se accede a la web con Chrome
 */
function isChrome() {
	return navigator.userAgent.toUpperCase().indexOf("CHROME") != -1 ||
		navigator.userAgent.toUpperCase().indexOf("CHROMIUM") != -1;
}

function sinCert(){
	var continuar = confirm("Una vez enviado el formulario, los datos no podran ser modificados, " + String.fromCharCode(191)+"Desea continuar\?");
	
	if(continuar == true){
		document.getElementById("botonFirmarsinCert").disabled=false;
		document.getElementById('formDescargaPDF:enviarDatosInternet').click();
	}
}


function checkOS() {
	var navInfo = window.navigator.appVersion.toLowerCase();  
	var so = 'Ruta enlace descarga AFirma - Sistema Operativo';  
		
	if(navInfo.indexOf('win') != -1){ 
		if (navigator.userAgent.indexOf("WOW64") != -1 || navigator.userAgent.indexOf("Win64") != -1 ){// Windows 64 bits
			so = 'AutoFirma64.zip';
		} else {// Windows 32 bits
			so = 'AutoFirma32.zip';
		}
	}
	else if(navInfo.indexOf('linux') != -1) { 
		so = 'AutoFirma_Linux.zip'; 
	}else if(navInfo.indexOf('mac') != -1) {
		so = 'AutoFirma_Mac.zip'; 
	}
	return so;
}


function firmar(){
//	var esChrome = isChrome();
//	
//		if(esChrome){
//			var confirmAFirma = confirm("Para poder continuar debe tener instalado en su equipo el software Autofirma. Si ya lo tiene instalado pulse \"Aceptar\" para continuar. En caso de no tenerlo, pulse el bot\u00F3n \"Cancelar\" y la descarga se iniciar\u00E1. Inst\u00E1lelo y tras ello pulse \"Enviar\" de nuevo.");
//			var so = checkOS();
//			if(!confirmAFirma){
//				var autofirma = document.getElementById('autofirma').value;
//				window.open(autofirma + so);
//				return;
//			}
//		}
//	
	
		//Para evitar que se pulse dos veces el boton (dos peticiones no es buena idea) lo inhabilitamos
		document.getElementById("botonFirmar").disabled="disabled";
	
		var continuar = confirm("Una vez enviado el formulario, los datos no podran ser modificados, " + String.fromCharCode(191)+"Desea continuar\?");
	
		if(continuar == true){
			
			var numeroDocumentoIdentificativo =document.getElementById("numeroDocumentoIdentificativo").value;

			var formato= 'XadES';
			
			var params= '\nmode=implicit\nheadless=true\n';

			var params= params +'filter=subject.rfc2254:(| (SERIALNUMBER=*'+numeroDocumentoIdentificativo+'*) (CN=*'+numeroDocumentoIdentificativo+'*) )';
			
			var HOST = document.getElementById('hostAfirma').value;
			MiniApplet.setServlets("https://" + HOST + "/afirma-signature-storage/StorageService", "https://" + HOST + "/afirma-signature-retriever/RetrieveService");
			MiniApplet.sign( 	
					document.getElementById('formDescargaPDF:xmlB64').value, 	
					'SHA1withRSA', 	
					formato, 	
					params, 	
					successCallback, 	
					errorCallback);	
		
		} else {
			document.getElementById("botonFirmar").disabled=false;
		}	
	
	function successCallback(signature){
		document.getElementById('formDescargaPDF:xsig').value=MiniApplet.getTextFromBase64(signature, 'auto');
		document.getElementById('formDescargaPDF:enviarDatosInternet').click();
	}
	
	function errorCallback(type, message) {
		alert(message);
	}
}