Index: prototipo/static/js/functions/DraggableSortable.js
===================================================================
--- prototipo/static/js/functions/DraggableSortable.js	(revision 327fd70136b3c8788c1162cbc241aff5115f23a9)
+++ prototipo/static/js/functions/DraggableSortable.js	(revision 5de754985c8a1204f86328a565b55c5ccfb76c99)
@@ -28,4 +28,5 @@
         if (num == 1){
           $("#firma_visible #Formato_Visible .text").hide();
+          console.log(VALOR_X);
           VALOR_X = 0;
           VALOR_Y = 0;
Index: prototipo/static/js/functions/PDF/myInfoDataTablePDF.js
===================================================================
--- prototipo/static/js/functions/PDF/myInfoDataTablePDF.js	(revision 5de754985c8a1204f86328a565b55c5ccfb76c99)
+++ prototipo/static/js/functions/PDF/myInfoDataTablePDF.js	(revision 5de754985c8a1204f86328a565b55c5ccfb76c99)
@@ -0,0 +1,254 @@
+
+function InfoContent(id){
+  
+  for (var i = 0; i < INFO_DATATABLE.signatures.length; i++) {
+    if (parseInt(INFO_DATATABLE.signatures[i]['documentRevision']) == parseInt(id)){
+
+            var html1 = "";  
+
+            html1 += '<font style="font-size: 14pt">';
+            html1 += '<table  class="table table-hover" width="100%" id="data" >';
+            html1 += '<tr>';
+            html1 += '<td style="text-align: left" width="700"><b>Nombre del firmante:</b> </td>';
+            html1 += '<td style="text-align: left" width="500"><span> '+INFO_DATATABLE.signatures[i]['nameOfTheSigner']+'</span></td>';
+            html1 += '</tr>';
+            html1 += '<tr>';
+            html1 += '<td style="text-align: left"><b>Fecha en que se realiza la firma:</b> </td>';
+            html1 += '<td style="text-align: left"><span> '+INFO_DATATABLE.signatures[i]['signedOn']+'</span></td>';
+            html1 += '</tr>';
+            html1 += '<tr>';
+            html1 += '<td style="text-align: left"><b>Chequea la integridad de la firma:</b> </td>';
+            html1 += '<td style="text-align: left"><span> '+INFO_DATATABLE.signatures[i]['integrityCheck']+'</span></td>';
+            html1 += '</tr>';
+            html1 += '<tr>';
+            html1 += '<td style="text-align: left"><b>El certificado todavía está válido:</b> </td>';
+            html1 += '<td style="text-align: left"><span> '+INFO_DATATABLE.signatures[i]['signerCertificateStillValid']+'</span></td>';
+            html1 += '</tr>';
+            html1 += '<tr>';
+            html1 += '<td style="text-align: left"><b>Fecha de fin de validez del certificado:</b> </td>';
+            html1 += '<td style="text-align: left"><span> '+INFO_DATATABLE.signatures[i]['signerCertificateValidFrom']+'</span></td>';
+            html1 += '</tr>';
+            html1 += '<tr>';
+            html1 += '<td style="text-align: left"><b>Fecha de fin de validez del certificado:</b> </td>';
+            html1 += '<td style="text-align: left"><span>' +INFO_DATATABLE.signatures[i]['signerCertificateValidTo']+'</span></td>';
+            html1 += '</tr>'; 
+            html1 += '<tr>';
+            html1 += '<td style="text-align: left" ><b>El certificado es válido en el momento de la firma:</b> </td>';
+            html1 += '<td style="text-align: left" ><span> '+INFO_DATATABLE.signatures[i]['signerCertificateValidAtTimeOfSigning']+'</span></td>';
+            html1 += '</tr>'; 
+            html1 += '<tr>';
+            html1 += '<td style="text-align: left" ><b>Tipo de firma de archivo PDF:</b> </td>';
+            html1 += '<td style="text-align: left"><span> '+INFO_DATATABLE.signatures[i]['signatureType']+'</span></td>';
+            html1 += '</tr>';
+            html1 += '<tr>';
+            html1 += '<td style="text-align: left"><b>Estampilla de tiempo:</b> </td>';
+            html1 += '<td style="text-align: left"><span> '+INFO_DATATABLE.signatures[i]['timeStamp']+'</span></td>';
+            html1 += '</tr>';
+            html1 += '<tr>';
+            html1 += '<td style="text-align: left"><b>Razón de la firma:</b> </td>';
+            html1 += '<td style="text-align: left"><span> '+INFO_DATATABLE.signatures[i]['reason']+'</span></td>';
+            html1 += '</tr>';
+            html1 += '<tr>';
+            html1 += '<td style="text-align: left"><b>Ubicación donde se realiza la firma:</b> </td>';
+            html1 += '<td style="text-align: left"><span> '+INFO_DATATABLE.signatures[i]['location']+'</span></td>';
+            html1 += '</tr>';
+            html1 += '<tr>';
+            html1 += '<td style="text-align: left"><b>Nombre alternativo del firmante:</b> </td>';
+            html1 += '<td style="text-align: left"><span> '+INFO_DATATABLE.signatures[i]['alternativeNameOfTheSigner']+'</span></td>';
+            html1 += '</tr>';
+            html1 += '<tr>';
+            html1 += '<td style="text-align: left"><b>La firma abarca todo el documento PDF:</b> </td>';
+            html1 += '<td style="text-align: left"><span>' +INFO_DATATABLE.signatures[i]['signatureCoversWholeDocument']+'</span></td>';
+            html1 += '</tr>'; 
+            html1 += '<tr>';
+            html1 += '<td style="text-align: left" ><b>Tipo de subfiltro: /adbe.pkcs7.sha1, /adbe.pkcs7.detached:</b> </td>';
+            html1 += '<td style="text-align: left" ><span> '+INFO_DATATABLE.signatures[i]['filterSubtype']+'</span></td>';
+            html1 += '</tr>';
+            html1 += '<tr>';
+            html1 += '<td style="text-align: left"><b>Sujeto firmante:</b> </td>';
+            html1 += '<td style="text-align: left"><span><font style="font-size: 8pt">' +INFO_DATATABLE.signatures[i]['signerCertificateSubject']+'</font></span></td>';
+            html1 += '</tr>';
+            html1 += '<td style="text-align: left" ><b>Algoritmo de cifrado:</b> </td>';
+            html1 += '<td style="text-align: left" ><span> '+INFO_DATATABLE.signatures[i]['encryptionAlgorithm']+'</span></td>';
+            html1 += '</tr>'; 
+            html1 += '<tr>';
+            html1 += '<td style="text-align: left" ><b>Servicio de estampillado de tiempo:</b> </td>';
+            html1 += '<td style="text-align: left"><span> '+INFO_DATATABLE.signatures[i]['timeStampService']+'</span></td>';
+            html1 += '</tr>';
+            html1 += '<tr>';
+            html1 += '<td style="text-align: left"><b>Algoritmo hash (reseña):</b> </td>';
+            html1 += '<td style="text-align: left"><span> '+INFO_DATATABLE.signatures[i]['digestAlgorithm']+'</span></td>';
+            html1 += '</tr>';
+            html1 += '<tr>';
+            html1 += '<td style="text-align: left"><b>Certificado verificado contra el repositorio de certificados confiables:</b> </td>';
+            html1 += '<td style="text-align: left"><span> '+INFO_DATATABLE.signatures[i]['certificatesVerifiedAgainstTheKeyStore']+'</span></td>';
+            html1 += '</tr>';
+            html1 += '<tr>';
+            html1 += '<td style="text-align: left"><b>Número de revisión del documento PDF:</b> </td>';
+            html1 += '<td style="text-align: left"><span> '+INFO_DATATABLE.signatures[i]['documentRevision']+'</span></td>';
+            html1 += '</tr>';
+            html1 += '<tr>';
+            html1 += '<td style="text-align: left"><b>Número total de revisiones del documento PDF:</b> </td>';
+            html1 += '<td style="text-align: left"><span> '+INFO_DATATABLE.signatures[i]['totalDocumentRevisions']+'</span></td>';
+            html1 += '</tr>';
+            html1 += '<tr>';
+            html1 += '<td style="text-align: left"><b>Información de contacto del firmante:</b> </td>';
+            html1 += '<td style="text-align: left"><span>' +INFO_DATATABLE.signatures[i]['contactInfo']+'</span></td>';
+            html1 += '</tr>'; 
+            html1 += '<tr>';
+            html1 += '<td style="text-align: left" ><b>Estampilla de tiempo verificada:</b> </td>';
+            html1 += '<td style="text-align: left" ><span> '+INFO_DATATABLE.signatures[i]['timeStampVerified']+'</span></td>';
+            html1 += '</tr>';
+            html1 += '<tr>';
+            html1 += '<td style="text-align: left"><b>Emisor del certificado firmante:</b> </td>';
+            html1 += '<td style="text-align: left"><span><font style="font-size: 8pt">' +INFO_DATATABLE.signatures[i]['signerCertificateIssuer']+'</font></span></td>';
+            html1 += '</tr>';;
+            html1 += '</table>';
+            html1 += '</font>';
+
+            $('div#Dialogo-table').append(html1); 
+    }
+  }
+}
+
+function Dialog(id){
+   document.getElementById("Dialogo").innerHTML = '\
+    <style>\
+     .modal .modal-dialog { width: 80%; height: 80%, };\
+    </style>\
+       <div id="myModal" class="modal fade" role="dialog">\
+       <div class="modal-dialog">\
+         <div class="modal-content">\
+           <div id = "title" class="modal-header">\
+             <!--<button type="button" class="close" data-dismiss="modal">&times;</button>-->\
+             <h4 class="modal-title text-primary"><center>Información de la Sign('+id+')</center></h4>\
+           </div>\
+           <div id = "body" class="modal-body">\
+             <br>\
+             <div id="Dialogo-table"></div>\
+            </div>\
+            <div class="modal-footer">\
+              <button type="button" id="informacion" data-dismiss="modal">Close</button>\
+            </div>\
+          </div>\
+        </div>\
+    </div>';
+
+    InfoContent(id);
+  
+}
+
+
+function DataTablePDF(response){
+    $(document).ready(function () { 
+    	var table = $('#myJson').DataTable({                            
+           language: {
+              "lengthMenu": "Mostrar _MENU_ registros",
+              "zeroRecords": "No hay resultados - Disculpe",
+              "info": "Mostrando pagina _PAGE_ de _PAGES_",
+              "search": "Buscar:", 
+              "infoEmpty": "No records available",
+              "infoFiltered": "(filtered from _MAX_ total records)"
+           },
+           columnDefs: [
+              {"className": "dt-center", "targets": "_all"}
+           ],                       
+           order: [[ 1, 'desc' ]],       
+           data: response.signatures,
+           columns: [
+              {title: "Nombre del firmante", data: "nameOfTheSigner"  },
+              {title: "Fecha en que se realiza la firma", data: "signedOn"},         
+              {title: "Chequea la integridad de la firma", data: "integrityCheck"},
+              {title: "El certificado todavía está válido", data: "signerCertificateStillValid"},
+              {title: "Fecha de inicio de validez del certificado", data: "signerCertificateValidFrom"},                        
+              {title: "Fecha de fin de validez del certificado", data: "signerCertificateValidTo"},
+              {title: "El certificado es válido en el momento de la firma", data: "signerCertificateValidAtTimeOfSigning"},                
+              {title: "Tipo de firma de archivo PDF", data: "signatureType"},
+              {title: "Estampilla de tiempo", data: "timeStamp"},
+              {title: " Razón de la firma", data: "reason"},
+              {title: "Ubicación donde se realiza la firma", data: "location"},
+              {title: "Nombre alternativo del firmante", data: "alternativeNameOfTheSigner"},
+              {title: "La firma abarca todo el documento PDF", data: "signatureCoversWholeDocument"},
+              {title: "Tipo de subfiltro: /adbe.pkcs7.sha1, /adbe.pkcs7.detached", data: "filterSubtype"},
+              {title: "Sujeto firmante", data: "signerCertificateSubject"},
+              {title: "Algoritmo de cifrado", data: "encryptionAlgorithm"},
+              {title: "Servicio de estampillado de tiempo", data: "timeStampService"},
+              {title: "Algoritmo hash (reseña)", data: "digestAlgorithm"},
+              {title: "Certificado verificado contra el repositorio de certificados confiables", data: "certificatesVerifiedAgainstTheKeyStore"},
+              {title: "Número de revisión del documento PDF", data: "documentRevision"},
+              {title: "Número total de revisiones del documento PDF", data: "totalDocumentRevisions"},
+              {title: "Información de contacto del firmante", data: "contactInfo", style:"width: 2px;"},
+              {title: "Estampilla de tiempo verificada", data: "timeStampVerified"},
+              {title: "Emisor del certificado firmante", data: "signerCertificateIssuer"},
+              {title:"Información", data: function(event){
+                                              return '<button id="informacion" type="input" class="btn btn-success btn-sm" data-toggle="modal" data-target="#myModal" onclick="javascript:Dialog('+event.documentRevision+')">Info(<font color="red">'+event.documentRevision+'</font>)</button>';
+                                         } 
+              }
+           ],                           
+          dom: 'Bfrtip',
+          columnDefs: [
+              {
+                  "targets": [ 2,3,4,5,6,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23 ],
+                  "visible": false,
+                  //"searchable": false
+              },
+              
+           ],                           
+           buttons: [
+                {
+                    extend:    'pageLength',
+                    text:      'Mostrar Filas', 
+                    titleAttr: 'Mostrar Filas',
+                },
+                {
+                    extend:    'print',
+                    text:      'Imprimir',
+                    title:     'Contenido de la Firma',
+                    message:   'Datos de la Firma',
+                    titleAttr: 'Imprimir',
+                    exportOptions: {
+                      columns: [ 0,1,2,3,4,5,6,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23]
+                    } 
+                },
+                {
+                    extend:    'excelHtml5',
+                    text:      'XLXS',
+                    title:     'Contenido de la Firma',
+                    titleAttr: 'Excel',
+                    message: 'Datos de la Firma',
+                    exportOptions: {
+                      columns: [ 0,1,2,3,4,5,6,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23]
+                    }
+                },
+                {
+                    extend:    'csvHtml5',
+                    text:      'CSV',
+                    title:     'Contenido de la Firma',
+                    titleAttr: 'CSV',
+                    exportOptions: {
+                      columns: [ 0,1,2,3,4,5,6,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23]
+                    }
+                },
+                {
+                    extend:    'pdfHtml5',
+                    text:      'PDF',
+                    titleAttr: 'PDF',
+                    title:     'Contenido de la Firma',                    
+                    download: 'open',
+                    customize: function (doc){
+                       doc.defaultStyle.fontSize = 3;
+                       doc.styles.tableHeader.fontSize = 4;
+                       doc.styles.tableHeader.fillColor = "#0085a1";
+                    },
+                    //orientation: 'landscape',
+                    pageSize: 'A3',
+                    exportOptions: {
+                      columns: [ 0,1,2,3,4,5,6,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23]
+                    
+                    }
+                }                
+          ]           
+      });
+
+	});  
+}
Index: prototipo/static/js/functions/firmarDocumentoPdf.js
===================================================================
--- prototipo/static/js/functions/firmarDocumentoPdf.js	(revision 97cbd4958e92c8b46143afe7976584c7e7723cb9)
+++ prototipo/static/js/functions/firmarDocumentoPdf.js	(revision 5de754985c8a1204f86328a565b55c5ccfb76c99)
@@ -1,6 +1,190 @@
-$("#Form-Format-Visible").on('submit', function() {
-	//var formData = new FormData(document.getElementById("form"));
-	var formData = new FormData();
-  
+
+function True_False(data){
+
+    if (data == "true" ){
+      return "Verdadero";
+    }
+    if (data ==  "false"){
+      return "Falso";
+    }
+
+}
+
+function SerealizeMyJson(data){
+  for (var i = 0; i < data.signatures.length; i++) {
+      data.signatures[i].integrityCheck = True_False(data.signatures[i].integrityCheck);
+      data.signatures[i].signerCertificateStillValid = True_False(data.signatures[i].signerCertificateStillValid);
+      data.signatures[i].signerCertificateValidAtTimeOfSigning = True_False(data.signatures[i].signerCertificateValidAtTimeOfSigning);
+      data.signatures[i].signatureCoversWholeDocument = True_False(data.signatures[i].signatureCoversWholeDocument);
+      data.signatures[i].certificatesVerifiedAgainstTheKeyStore = True_False(data.signatures[i].certificatesVerifiedAgainstTheKeyStore);         
+  }
+  return data;
+}
+
+
+//Obtenemos la  informacion de documento
+function InfoDocumentDataTablePDF(signedFileId){
+
+    $.ajax({
+        url: "https://murachi.cenditel.gob.ve/Murachi/0.1/archivos/"+signedFileId,
+        type: "get",
+        dataType: "json",        
+        headers: {"Authorization":"Basic YWRtaW46YWRtaW4="},
+        success: function(response) {
+               
+            INFO_DATATABLE = SerealizeMyJson(response);
+            DataTablePDF(response);            
+        },
+        error: function(jqXHR, textStatus, errorThrown){
+          	alert(textStatus+", "+ errorThrown+" el documento PDF para mostrar la info de la sign");     
+        }
+	});
+}
+
+
+// Cuarto paso (Se envia la información del token para terminar la firma)
+function FinalizarFirma(signature){
+
+	$.ajax({
+		type: 'POST',
+		contentType: 'application/json',
+		//url:"https://192.168.12.125:8443/Murachi/0.1/archivos/pdfs/resenas",
+		url:"https://murachi.cenditel.gob.ve/Murachi/0.1/archivos/pdfs/resenas",
+		dataType: 'json',
+		data: JSON.stringify({"signature":signature.hex}),
+		xhrFields: {withCredentials: true},
+		headers: {"Authorization":"Basic YWRtaW46YWRtaW4="},
+		success: function(data, textStatus, jqXHR){
+
+			alert('Archivo firmado correctamente: ' + data['signedFileId']);
+			var linkToDownload = "<a href=\"https://murachi.cenditel.gob.ve/Murachi/0.1/archivos/descargas/" + data['signedFileId'] +"\">descargar archivo firmado</a>";
+			//alert(linkToDownload);
+			document.getElementById("respuesta").innerHTML = linkToDownload;	
+
+			InfoDocumentDataTablePDF(data['signedFileId']);		
+
+		},
+		error: function(jqXHR, textStatus, errorThrown){
+			alert('error en pdfs/resenas: ' + textStatus);
+			$("#respuesta").html("error en pdfs/resenas: " + textStatus);
+		}
+	});
+
+}
+
+
+//Tercer paso (Obtenemos el hash de pdf enviado por el servidor y luego procesa la información en el token)
+function ObtenerHashPDFServer(parameters){
+
+	$.ajax({
+		type: 'POST',
+		contentType: 'application/json',				
+		//url:"https://192.168.12.125:8443/Murachi/0.1/archivos/pdfs",
+		url:"https://murachi.cenditel.gob.ve/Murachi/0.1/archivos/pdfs",
+		dataType: "json",
+		data: parameters,		
+		xhrFields: {withCredentials: true},
+		headers: {"Authorization":"Basic YWRtaW46YWRtaW4="},
+		success: function(data, textStatus, jqXHR){
+			var json_x = data;
+			var hash = json_x['hash']; 
+			//alert("hash recibido del servidor "+hash);		
+			var hashtype = "SHA-256";
+			var lang = "eng";
+			
+			//Procesa la información
+			window.hwcrypto.sign(cert, {type: hashtype, hex: hash}, {lang: lang}).then(
+				function(signature) {
+					FinalizarFirma(signature.hex);
+      			}, 
+      			function(err) {
+	        		log_text("sign() failed: " + err);
+					var error;
+                    log_text("sign() failed: " + err);
+                    if(err == "Error: user_cancel") {
+                        alert("sign() failed: El usuario cancelo la operación");
+                        error = "El usuario cancelo la operación"; 
+                     }      
+                     else if(err == "Error: no_certificates") {
+                         alert("sign() failed: No hay certificado disponible");
+                         error = "No hay certificado disponible";
+                     }
+                     else if(err == "Error: no_implementation") {
+                         alert("sign() failed: No hay soporte para el manejo del certificado");
+                         error = "No hay soporte para el manejo del certificado";
+                     }
+
+	        		//alert("sign() failed: " + err);
+	        		$("#respuesta").html("sign() failed: " + error);
+    	  	});
+			
+		},								
+		error: function(jqXHR, textStatus, errorThrown){
+			//alert('error: ' + textStatus);
+			//var responseText = jQuery.parseJSON(jqXHR.responseText);
+			alert('ajax error function: ' + jqXHR.responseText);
+			$("#respuesta").html("error function: " + jqXHR.responseText);
+		}
+		
+	});
+		
+}
+
+
+//Segundo paso (Seleccionamos el Certificado Firmante)
+function ObtenerCertificadoFirmante(response){
+
+	// identificador del archivo en el servidor
+	var fileId = response.fileId.toString();
+	var cert;
+
+	window.hwcrypto.getCertificate({lang: "en"}).then(
+		function(response) {
+	  		var cert = response;
+			var parameters = JSON.stringify({
+				"fileId":fileId,
+				"certificate":cert.hex,
+				"reason":"Certificado",
+				"location":"CENDITEL",
+				"contact":"582746574336",
+				"signatureVisible":"true"
+				//"page": VALOR_PAGE,
+				//"coord_x": VALOR_X,
+				//"coord_y": VALOR_Y
+				});
+
+			// ahora llamar al ajax de obtener la resena del pdf
+			ObtenerHashPDFServer(parameters);	
+
+		}, 
+		function(err) {
+  			log_text("getCertificate() failed: " + err);
+            var error;
+            if(err == "Error: user_cancel") {
+                alert("getCertificate() failed: El usuario cancelo la operación"    );
+                error = "El usuario cancelo la operación"; 
+             }      
+             else if(err == "Error: no_certificates") {
+                 alert("getCertificate() failed: No hay certificado disponible")    ;
+                 error = "No hay certificado disponible";
+             }
+             else if(err == "Error: no_implementation") {
+                 alert("getCertificate() failed: No hay soporte para el manejo del certificado");
+                 error = "No hay soporte para el manejo del certificado";
+			}
+  			//alert("getCertificate() failed: " + err);
+  			$("#respuesta").html("getCertificate() failed: " + error);
+		}
+
+	);
+}
+
+
+
+
+// Primer paso (Subir el documento al servidor)
+function SubirDocumentServer(){
+
+	var formData = new FormData(); 
     formData.append("upload", $("#file-sign-ft_Vble")[0].files[0]);
 
@@ -17,129 +201,20 @@
 		headers: {"Authorization":"Basic YWRtaW46YWRtaW4="},
 		success: function(response) {
-			//alert(JSON.stringify(response));
-			var html = manejoJsonPDF(JSON.stringify(response));
-			document.getElementById("respuesta").innerHTML = html;
-			
-			// identificador del archivo en el servidor
-			var fileId = response.fileId.toString();
-			var cert;
-
-			window.hwcrypto.getCertificate({lang: "en"}).then(function(response) {
-		  		var cert = response;
-				
-				var parameters = JSON.stringify({
-					"fileId":fileId,
-					"certificate":cert.hex,
-					"reason":"Certificado",
-					"location":"CENDITEL",
-					"contact":"582746574336",
-					"signatureVisible":"true"
-					//"page": VALOR_PAGE,
-					//"coord_x": VALOR_X,
-					//"coord_y": VALOR_Y
-					});
-				
-				// ahora llamar al ajax de obtener la resena del pdf
-				$.ajax({
-					type: 'POST',
-					contentType: 'application/json',				
-					//url:"https://192.168.12.125:8443/Murachi/0.1/archivos/pdfs",
-					url:"https://murachi.cenditel.gob.ve/Murachi/0.1/archivos/pdfs",
-					dataType: "json",
-					data: parameters,		
-					xhrFields: {withCredentials: true},
-					headers: {"Authorization":"Basic YWRtaW46YWRtaW4="},
-					success: function(data, textStatus, jqXHR){
-						var json_x = data;
-						var hash = json_x['hash']; 
-						//alert("hash recibido del servidor "+hash);
-						
-						var hashtype = "SHA-256";
-						var lang = "eng";
-						
-						window.hwcrypto.sign(cert, {type: hashtype, hex: hash}, {lang: lang}).then(function(signature) {
-										        		
-			        		$.ajax({
-								type: 'POST',
-								contentType: 'application/json',
-								//url:"https://192.168.12.125:8443/Murachi/0.1/archivos/pdfs/resenas",
-								url:"https://murachi.cenditel.gob.ve/Murachi/0.1/archivos/pdfs/resenas",
-								dataType: 'json',
-								data: JSON.stringify({"signature":signature.hex}),
-								xhrFields: {withCredentials: true},
-								headers: {"Authorization":"Basic YWRtaW46YWRtaW4="},
-								success: function(data, textStatus, jqXHR){
-
-									alert('Archivo firmado correctamente: ' + data['signedFileId']);
-									
-									var linkToDownload = "<a href=\"https://murachi.cenditel.gob.ve/Murachi/0.1/archivos/descargas/" + data['signedFileId'] +"\">descargar archivo firmado</a>";
-									//alert(linkToDownload);
-									document.getElementById("respuesta").innerHTML = linkToDownload;  														
-									
-								},
-								error: function(jqXHR, textStatus, errorThrown){
-									alert('error en pdfs/resenas: ' + textStatus);
-									$("#respuesta").html("error en pdfs/resenas: " + textStatus);
-								}
-							});
-			        					        		
-			      			}, function(err) {
-				        		log_text("sign() failed: " + err);
-
-								var error;
-                                log_text("sign() failed: " + err);
-                                if(err == "Error: user_cancel") {
-                                    alert("sign() failed: El usuario cancelo la operación");
-                                    error = "El usuario cancelo la operación"; 
-                                 }      
-                                 else if(err == "Error: no_certificates") {
-                                     alert("sign() failed: No hay certificado disponible");
-                                     error = "No hay certificado disponible";
-                                 }
-                                 else if(err == "Error: no_implementation") {
-                                     alert("sign() failed: No hay soporte para el manejo del certificado");
-                                     error = "No hay soporte para el manejo del certificado";
-                                 }
-
-				        		//alert("sign() failed: " + err);
-				        		$("#respuesta").html("sign() failed: " + error);
-			    	  	});
-						
-					},								
-					error: function(jqXHR, textStatus, errorThrown){
-						//alert('error: ' + textStatus);
-						//var responseText = jQuery.parseJSON(jqXHR.responseText);
-						alert('ajax error function: ' + jqXHR.responseText);
-						$("#respuesta").html("error function: " + jqXHR.responseText);
-					}
-					
-				});
-				
-			}, function(err) {
-	      			log_text("getCertificate() failed: " + err);
-                    var error;
-                    if(err == "Error: user_cancel") {
-                        alert("getCertificate() failed: El usuario cancelo la operación"    );
-                        error = "El usuario cancelo la operación"; 
-                     }      
-                     else if(err == "Error: no_certificates") {
-                         alert("getCertificate() failed: No hay certificado disponible")    ;
-                         error = "No hay certificado disponible";
-                     }
-                     else if(err == "Error: no_implementation") {
-                         alert("getCertificate() failed: No hay soporte para el manejo del certificado");
-                         error = "No hay soporte para el manejo del certificado";
-					}
-	      			//alert("getCertificate() failed: " + err);
-	      			$("#respuesta").html("getCertificate() failed: " + error);
-	    		});
-
-    	    },
-     		error: function(response) {
-     			//Que se ejecuta cuando finalice la petición de con error
-				$("#respuesta").html('Error...!!!');
-     			alert("ocurrio un error")
-			}
+
+			document.getElementById("respuesta").innerHTML = manejoJsonPDF(JSON.stringify(response));	
+			ObtenerCertificadoFirmante(response);
+    	},
+     	error: function(response) {
+     		//Que se ejecuta cuando finalice la petición de con error
+			$("#respuesta").html('Error, al subir el archivo al servidor...!!!');
+     		alert("ocurrio un error, al subir el archivo al servidor")
+		}
     });
 
+}
+
+
+$("#Form-Format-Visible").on('submit', function(event) {
+	event.preventDefault();
+	SubirDocumentServer();
 });
