PageSourceSearch

https://www.learisk.com/javascript/web.js?1791581724

js learisk.com collected 2026-10-09 21:35:32 UTC 30,181 bytes, 987 lines download raw bytes

1$(document).ready( function() {
2
3	resize();
4	formularios();
5	menu();
6	tabs();
7	acordeon();
8	popup();
9	agua_requerida();
10	get_sustancia_peligrosa();
11	get_sustancia_peligrosa_es();
12	get_sustancia_peligrosa_en();
13	overlays_a_body();
14	translateCountryDropdown();
15});
16
17function translateCountryDropdown() {
18	var lang = $('html').attr('lang');
19	if (lang === 'es') return;
20
21	var select = $('select[name="pais_residencia"]');
22	if (!select.length) return;
23
24	var isoMap = {
25		'Afganistán':'AF','Albania':'AL','Alemania':'DE','Andorra':'AD','Angola':'AO',
26		'Anguilla':'AI','Antártida':'AQ','Antigua y Barbuda':'AG','Antillas Holandesas':'AN',
27		'Arabia Saudí':'SA','Argelia':'DZ','Argentina':'AR','Armenia':'AM','Aruba':'AW',
28		'Australia':'AU','Austria':'AT','Azerbaiyán':'AZ','Bahamas':'BS','Bahrein':'BH',
29		'Bangladesh':'BD','Barbados':'BB','Bélgica':'BE','Belice':'BZ','Benin':'BJ',
30		'Bermudas':'BM','Bielorrusia':'BY','Birmania':'MM','Bolivia':'BO',
31		'Bosnia y Herzegovina':'BA','Botswana':'BW','Brasil':'BR','Brunei':'BN',
32		'Bulgaria':'BG','Burkina Faso':'BF','Burundi':'BI','Bután':'BT','Cabo Verde':'CV',
33		'Camboya':'KH','Camerún':'CM','Canadá':'CA','Chad':'TD','Chile':'CL','China':'CN',
34		'Chipre':'CY','Ciudad del Vaticano (Santa Sede)':'VA','Colombia':'CO','Comores':'KM',
35		'Congo':'CG','Congo, República Democrática del':'CD','Corea':'KR','Corea del Norte':'KP',
36		'Costa de Marfíl':'CI','Costa Rica':'CR','Croacia (Hrvatska)':'HR','Cuba':'CU',
37		'Dinamarca':'DK','Djibouti':'DJ','Dominica':'DM','Ecuador':'EC','Egipto':'EG',
38		'El Salvador':'SV','Emiratos árabes Unidos':'AE','Eritrea':'ER','Eslovenia':'SI',
39		'España':'ES','Estados Unidos':'US','Estonia':'EE','Etiopia':'ET','Fiji':'FJ',
40		'Filipinas':'PH','Finlandia':'FI','Francia':'FR','Gabón':'GA','Gambia':'GM',
41		'Gergia':'GE','Ghana':'GH','Gibraltar':'GI','Granada':'GD','Grecia':'GR',
42		'Groenlandia':'GL','Guadalupe':'GP','Guam':'GU','Guatemala':'GT','Guayana':'GY',
43		'Guayana Francesa':'GF','Guinea':'GN','Guinea Ecuatorial':'GQ','Guinea-Bissau':'GW',
44		'Haití':'HT','Honduras':'HN','Hungría':'HU','India':'IN','Indonesia':'ID',
45		'Irak':'IQ','Irán':'IR','Irlanda':'IE','Isla Bouvet':'BV','Isla de Christmas':'CX',
46		'Islandia':'IS','Islas Caimán':'KY','Islas Cook':'CK','Islas de Cocos o Keeling':'CC',
47		'Islas Faroe':'FO','Islas Heard y McDonald':'HM','Islas Malvinas Argentinas':'FK',
48		'Islas Marianas del Norte':'MP','Islas Marshall':'MH',
49		'Islas menores de Estados Unidos':'UM','Islas Palau':'PW','Islas Salomón':'SB',
50		'Islas Svalbard y Jan Mayen':'SJ','Islas Tokelau':'TK','Islas Turks y Caicos':'TC',
51		'Islas Vírgenes (EEUU)':'VI','Islas Vírgenes (UK)':'VG','Islas Wallis y Futuna':'WF',
52		'Israel':'IL','Italia':'IT','Jamaica':'JM','Japón':'JP','Jordania':'JO',
53		'Kazajistán':'KZ','Kenia':'KE','Kirgunizistán':'KG','Kiribati':'KI','Kuwait':'KW',
54		'Laos':'LA','Lesotho':'LS','Letonia':'LV','Líbano':'LB','Liberia':'LR','Libia':'LY',
55		'Liechtenstein':'LI','Lituania':'LT','Luxemburgo':'LU','Macedonia, Ex Yugoslavia':'MK',
56		'Madagascar':'MG','Malasia':'MY','Malawi':'MW','Maldivias':'MV','Malí':'ML',
57		'Malta':'MT','Marruecos':'MA','Martinica':'MQ','Mauricio':'MU','Mauritania':'MR',
58		'Mayotte':'YT','México':'MX','Micronesia':'FM','Moldavia':'MD','Mónaco':'MC',
59		'Mongolia':'MN','Montserrat':'MS','Mozambique':'MZ','Namibia':'NA','Nauru':'NR',
60		'Nepal':'NP','Nicaragua':'NI','Niger':'NE','Nigeria':'NG','Niue':'NU','Norfolk':'NF',
61		'Noruega':'NO','Nueva Caledonia':'NC','Nueva Zelanda':'NZ','Omán':'OM',
62		'Países Bajos':'NL','Panamá':'PA','Papúa Nueva Guinea':'PG','Paquistán':'PK',
63		'Paraguay':'PY','Perú':'PE','Pitcairn':'PN','Polinesia Francesa':'PF','Polonia':'PL',
64		'Portugal':'PT','Puerto Rico':'PR','Qatar':'QA','Reino Unido':'GB',
65		'República Centroafricana':'CF','República Checa':'CZ','República de Sudáfrica':'ZA',
66		'República Dominicana':'DO','República Eslovaca':'SK','Reunión':'RE','Ruanda':'RW',
67		'Rumania':'RO','Rusia':'RU','Sahara Occidental':'EH','Saint Kitts y Nevis':'KN',
68		'Samoa':'WS','Samoa Americana':'AS','San Marino':'SM','San Vicente y Granadinas':'VC',
69		'Santa Helena':'SH','Santa Lucía':'LC','Santo Tomé y Príncipe':'ST','Senegal':'SN',
70		'Seychelles':'SC','Sierra Leona':'SL','Singapur':'SG','Siria':'SY','Somalia':'SO',
71		'Sri Lanka':'LK','St. Pierre y Miquelon':'PM','Suazilandia':'SZ','Sudán':'SD',
72		'Suecia':'SE','Suiza':'CH','Surinam':'SR','Tailandia':'TH','Taiwán':'TW',
73		'Tanzania':'TZ','Tayikistán':'TJ','Territorios franceses del Sur':'TF',
74		'Timor Oriental':'TL','Togo':'TG','Tonga':'TO','Trinidad y Tobago':'TT',
75		'Túnez':'TN','Turkmenistán':'TM','Turquía':'TR','Tuvalu':'TV','Ucrania':'UA',
76		'Uganda':'UG','Uruguay':'UY','Uzbekistán':'UZ','Vanuatu':'VU','Venezuela':'VE',
77		'Vietnam':'VN','Yemen':'YE','Zambia':'ZM','Zimbabue':'ZW'
78	};
79
80	// Fallbacks para países que Intl no cubre bien (Yugoslavia disuelto, etc.)
81	var fallbacks = {
82		en: { 'Yugoslavia':'Yugoslavia', 'Antillas Holandesas':'Netherlands Antilles' },
83		pt: { 'Yugoslavia':'Jugoslávia', 'Antillas Holandesas':'Antilhas Holandesas' }
84	};
85
86	var locale = lang === 'pr' ? 'pt' : 'en';
87	var displayNames = null;
88	if (typeof Intl !== 'undefined' && Intl.DisplayNames) {
89		try { displayNames = new Intl.DisplayNames([locale], { type: 'region' }); } catch(e) {}
90	}
91
92	// Traducir y reordenar
93	var placeholder = select.find('option[value=""]').detach();
94	var options = select.find('option').detach();
95
96	options.each(function() {
97		var val = $(this).attr('value');
98		var iso = isoMap[val];
99		var translated = null;
100		if (iso && displayNames) {
101			try { translated = displayNames.of(iso); } catch(e) {}
102		}
103		if (!translated && fallbacks[locale] && fallbacks[locale][val]) {
104			translated = fallbacks[locale][val];
105		}
106		if (translated) $(this).text(translated);
107	});
108
109	// Ordenar alfabéticamente por el texto traducido
110	var sorted = options.get().sort(function(a, b) {
111		return $(a).text().localeCompare($(b).text(), locale);
112	});
113
114	select.append(placeholder);
115	select.append(sorted);
116	select.val('');
117}
118
119$(window).resize(function() {
120
121	resize();
122	
123});
124
125$(window).load(function() {
126
127	resize();
128	
129});
130
131function agua_requerida() {
132
133	if($('.select2.ciiu').length) {
134
135		$('.select2.ciiu').select2({
136			minimumInputLength: 3,
137			ajax: { 
138			    url: '/ciiu',
139			    dataType: 'json',
140			    quietMillis: 250,
141			    data: function (term, page) {
142			        return {
143			            q: term,
144			        };
145			    },
146			    results: function (data, page) {
147			        return { results: data.items };
148			    },
149			    cache: true
150			},
151		});
152
153	}
154
155}
156
157//JMV 2022-02-08
158function get_sustancia_peligrosa() {
159
160	if($('.select2.codigoOnu').length) {
161
162		$('.select2.codigoOnu').select2({
163			minimumInputLength: 3,
164			ajax: { 
165			    url: '/get-sustancia-peligrosa',
166			    dataType: 'json',
167			    quietMillis: 250,
168			    data: function (term, page) {
169			        return {
170			            q: term,
171			        };
172			    },
173			    results: function (data, page) {
174			        return { results: data.items };
175			    },
176			    cache: true
177			},
178		});
179
180	}
181
182}
183
184//JMV 2022-02-08
185function get_sustancia_peligrosa_es() {
186
187	if($('.select2.sustanciaEs').length) {
188
189		$('.select2.sustanciaEs').select2({
190			minimumInputLength: 3,
191			ajax: { 
192			    url: '/get-sustancia-peligrosa-es',
193			    dataType: 'json',
194			    quietMillis: 250,
195			    data: function (term, page) {
196			        return {
197			            q: term,
198			        };
199			    },
200			    results: function (data, page) {
201			        return { results: data.items };
202			    },
203			    cache: true
204			},
205		});
206
207	}
208
209}
210
211//JMV 2022-02-08
212function get_sustancia_peligrosa_en() {
213
214	if($('.select2.sustanciaEn').length) {
215
216		$('.select2.sustanciaEn').select2({
217			minimumInputLength: 3,
218			ajax: { 
219			    url: '/get-sustancia-peligrosa-en',
220			    dataType: 'json',
221			    quietMillis: 250,
222			    data: function (term, page) {
223			        return {
224			            q: term,
225			        };
226			    },
227			    results: function (data, page) {
228			        return { results: data.items };
229			    },
230			    cache: true
231			},
232		});
233
234	}
235
236}
237
238
239function resize() {
240
241	windowHeight = $(window).height();
242	windowWidth = $(window).width();
243
244}
245
246function menu() {
247	
248	$('[data-menu-name]').each(function() { 
249
250		$(this).click(function() {
251
252			menu = $(this).attr('data-menu-name');
253
254			$('.menu_body').each(function() {
255				if( ! $(this).hasClass(menu+'-menu_body'))
256					$(this).stop().hide();
257			});
258
259			$('[data-menu-name]').each(function() {
260				if( ! $(this).hasClass(menu+'-menu_button'))
261					$(this).removeClass('open');
262			});
263
264			$('ul.menu > li > ul').each(function() {
265				$(this).stop().hide();
266			});
267
268			$('ul.menu > li > button').each(function() {
269				$(this).removeClass('open');
270			});
271
272			if($(this).hasClass('open'))
273				$(this).removeClass('open');
274			else
275				$(this).addClass('open');
276
277			$('.'+$(this).attr('data-menu-name')+'-menu_body')
278				.stop()
279				.animate({ height: [ "toggle", "swing" ] }, 300, "linear");
280		});
281
282	});
283
284	$('ul.menu > li > button').each(function(i) {
285
286		$(this).parent().find('ul').attr('data-menu-id', i);
287		$(this).attr('data-menu-id', i);
288
289		$(this).click(function() {
290
291			id = $(this).attr('data-menu-id');
292
293			$('ul.menu > li > ul').each(function() {
294				if(id != $(this).attr('data-menu-id'))
295					$(this).stop().hide();
296			});
297
298			$('ul.menu > li > button').each(function() {
299				if(id != $(this).attr('data-menu-id'))
300					$(this).removeClass('open');
301			});
302
303			$('.menu_body').each(function() {
304				if( ! $(this).hasClass('menu-menu_body'))
305					$(this).stop().hide();
306			});
307
308			$('[data-menu-name]').each(function() {
309				if( ! $(this).hasClass('menu-menu_button'))
310					$(this).removeClass('open');
311			});
312
313			$(this).parent().find('ul').stop()
314				.animate({ height: [ "toggle", "swing" ] }, 300, "linear");
315
316			if($(this).hasClass('open'))
317				$(this).removeClass('open');
318			else
319				$(this).addClass('open');
320
321		});
322
323	});
324
325	$('html').click(function() {
326
327		$('ul.menu > li > ul').each(function() {
328			$(this).stop().hide();
329		});
330
331		$('ul.menu > li > button').each(function() {
332			$(this).removeClass('open');
333		});
334
335		$('.menu_body').each(function() {
336			$(this).stop().hide();
337		});
338
339		$('[data-menu-name]').each(function() {
340			$(this).removeClass('open');
341		});
342
343	});
344	$('ul.menu > li > button').each(function(){ 
345		$(this).click(function(event){ event.stopPropagation(); }); 
346	});
347	$('[data-menu-name]').each(function(){ 
348		$(this).click(function(event){ event.stopPropagation(); }); 
349	});
350	$('ul.menu > li > ul').each(function(){ 
351		$(this).click(function(event){ event.stopPropagation(); }); 
352	});
353	$('.menu_body').each(function(){ 
354		$(this).click(function(event){ event.stopPropagation(); }); 
355	});
356
357}
358
359function acordeon()
360{
361	$('.acordeon .acordeon_btn').each(function(i) {
362
363		$(this).parent().attr('data-acordeon', i);
364
365		$(this).click(function() {
366
367			var index = $(this).parent().attr('data-acordeon');
368
369			$(this).parent().find('.acordeon_body')
370				.stop()
371				.animate({ height: [ "toggle", "swing" ] }, 300, "linear");
372
373
374			if( ! $(this).parent().hasClass('open')) {
375
376				close = true;
377
378				$(this).parent().parent().find('li').each(function() {
379					
380					if(index != $(this).attr('data-acordeon') && $(this).hasClass('open')) {						
381
382						if($(this).attr('data-acordeon') - index != 1) {
383							close = false;
384							scroll_top($(this).find('.acordeon_body').offset().top, 150);
385						}
386
387						$(this).find('.acordeon_body')
388							.stop()
389							.animate({ height: ["hide"] }, 150, "linear");
390
391						$(this).removeClass('open');
392
393					}
394
395				});
396
397				if(close) {	
398					
399					console.log('b - ' + $(this).parent().offset().top);
400
401					scroll_top($(this).parent().offset().top, 300);
402
403				}
404
405				close = true;
406
407				$(this).parent().addClass('open');
408
409			} else {
410
411				$(this).parent().removeClass('open');
412
413			}
414		});
415	});
416}
417
418function tabs()
419{
420	$('.tabs-nav button').each(function() {
421
422		$(this).click(function() {
423
424			if( ! $(this).hasClass('selected')) {
425
426				var tab = $(this).attr('data-tab');
427				var target = $(this).parent().parent().attr('data-target');
428
429				$('#'+target+' .tab').each(function() {
430					$(this).hide();
431				});
432
433				$(this).parent().parent().find('button').each(function() {
434					$(this).removeClass('selected');
435				});
436
437				$(this).addClass('selected');
438
439				$('#'+tab).show();
440
441			}
442
443		});
444
445	});
446}
447
448function formularios() {
449
450	var validator = new FormValidator('suscripcion_seminario', 
451		[
452			{
453				name: 'nombre',
454				display: 'Nombre',
455				rules: 'required'
456			},
457			{
458				name: 'telefono',
459				display: 'Telefono',
460				rules: 'required'
461			},
462			{
463				name: 'email',
464				display: 'Email',
465				rules: 'required|valid_email'
466			},
467			{
468				name: 'empresa',
469				display: 'Empresa',
470				rules: 'required'
471			}
472		], 
473		function(errors, event) {
474			
475			$('#nombre').removeClass('error');
476			$('#email').removeClass('error');
477			$('#telefono').removeClass('error');
478			$('#empresa').removeClass('error');
479
480			if (errors.length > 0) {
481
482				for (var i = 0, errorLength = errors.length; i < errorLength; i++)
483					$('[name="' + errors[i].name + '"]').addClass('error');
484
485			} else {
486
487				event.preventDefault();
488
489				$.ajax({
490					url: $('#suscripcion_seminario').attr('action'),
491					type: "POST",
492						timeout: 60000,
493						data: $('#suscripcion_seminario').serialize(),
494						success: function (data) {
495							if(data == 1) {
496								if($('html').attr('lang') == 'es')
497									message = '<div class="_input"><div class="_p">Gracias por inscribirte en nuestro seminario, te estaremos contactando en breve.</div></div>';
498								else if($('html').attr('lang') == 'en')
499									message = '<div class="_input"><div class="_p">Thank you for subscribing to our seminar, we will contact you shortly.</div></div>';
500								else if($('html').attr('lang') == 'pr')
501									message = '<div class="_input"><div class="_p">Obrigado por subscrever o nosso seminário, nós entraremos em contato com você em breve.</div></div>';
502								
503								$('#suscripcion_seminario').empty();
504								$('#suscripcion_seminario').append(message);
505
506							}
507							else
508							{	
509								if($('html').attr('lang') == 'es')
510									alert('Hubo un error, vuelva a intentarlo.');
511								if($('html').attr('lang') == 'en')
512									alert('There was an error, please try again.');
513								else if($('html').attr('lang') == 'pr')
514									alert('Houve um erro, por favor, tente novamente.');
515							}
516
517						},
518						error: function (xhr, settings, exception) {      
519							if($('html').attr('lang') == 'es')
520								alert('Hubo un error, vuelva a intentarlo.');
521							if($('html').attr('lang') == 'en')
522								alert('There was an error, please try again.');
523							else if($('html').attr('lang') == 'pr')
524								alert('Houve um erro, por favor, tente novamente.');
525						}
526				});
527			}
528		}
529	);
530
531	var validator = new FormValidator('suscripcion_newsletter', 
532		[
533			{
534				name: 'nombre',
535				display: 'Nombre',
536				rules: 'required'
537			},
538			{
539				name: 'email',
540				display: 'Email',
541				rules: 'required|valid_email'
542			},
543			{
544				name: 'empresa',
545				display: 'Empresa',
546				rules: 'required'
547			}
548		], 
549		function(errors, event) {
550			
551			$('#nombre').removeClass('error');
552			$('#email').removeClass('error');
553			$('#telefono').removeClass('error');
554			$('#empresa').removeClass('error');
555
556			if (errors.length > 0) {
557
558				for (var i = 0, errorLength = errors.length; i < errorLength; i++)
559					$('[name="' + errors[i].name + '"]').addClass('error');
560
561			} else {
562
563				event.preventDefault();
564
565				var lang = $('html').attr('lang');
566
567				// Validar que el reCAPTCHA fue completado antes de enviar
568				if (typeof grecaptcha !== 'undefined') {
569					var captchaResponse = grecaptcha.getResponse();
570					if (!captchaResponse) {
571						var capTitle = lang == 'es' ? 'Completa el reCAPTCHA' : (lang == 'en' ? 'Please complete the reCAPTCHA' : 'Por favor, complete o reCAPTCHA');
572						var capBody  = lang == 'es' ? 'Por favor, marcá la casilla "No soy un robot" antes de suscribirte.' : (lang == 'en' ? 'Please check the "I\'m not a robot" box before subscribing.' : 'Por favor, marque a caixa "Não sou um robô" antes de se inscrever.');
573						if (typeof window.showSuscripcionModal === 'function')
574							window.showSuscripcionModal(capTitle, '<p>' + capBody + '</p>');
575						return;
576					}
577				}
578
579				// Capturar suscripciones seleccionadas antes del envío
580				var subs = [];
581				if($('[name="capacitaciones"]').is(':checked'))
582					subs.push(lang == 'es' ? 'Cronograma de Cursos LEARISK' : (lang == 'en' ? 'LEARISK Course Schedule' : 'Cronograma de Cursos LEARISK'));
583				if($('[name="reportes_de_siniestros"]').is(':checked'))
584					subs.push(lang == 'es' ? 'Reporte de Siniestros LATAM' : (lang == 'en' ? 'LATAM Claims Report' : 'Relatório de Sinistros LATAM'));
585				if($('[name="reportes_de_siniestros_emea"]').is(':checked'))
586					subs.push(lang == 'es' ? 'Reporte de Siniestros EMEA' : (lang == 'en' ? 'EMEA Claims Report' : 'Relatório de Sinistros EMEA'));
587				if($('[name="boletines_tecnicos"]').is(':checked'))
588					subs.push(lang == 'es' ? 'Boletines Técnicos' : (lang == 'en' ? 'Technical Bulletins' : 'Boletins Técnicos'));
589
590				$.ajax({
591					url: $('#suscripcion_newsletter').attr('action'),
592					type: "POST",
593						timeout: 60000,
594						data: $('#suscripcion_newsletter').serialize(),
595						success: function (data) {
596							if(data == 1 || data == 2) {
597								var isUpdate = (data == 2);
598								var title = isUpdate
599									? (lang == 'es' ? '¡Ya estabas suscripto!' : (lang == 'en' ? 'Already subscribed!' : 'Já está inscrito!'))
600									: (lang == 'es' ? '¡Gracias por suscribirte!' : (lang == 'en' ? 'Thank you for subscribing!' : 'Obrigado por se inscrever!'));
601								var bodyHtml = '';
602								if(isUpdate) {
603									bodyHtml += lang == 'es' ? '<p>Tu email ya estaba en nuestra base de datos. Tus preferencias fueron actualizadas.</p>'
604										: (lang == 'en' ? '<p>Your email is already in our database. Your preferences have been updated.</p>'
605										: '<p>O seu email já está na nossa base de dados. As suas preferências foram atualizadas.</p>');
606								}
607								if(subs.length > 0) {
608									bodyHtml += lang == 'es' ? '<p>Vas a recibir:</p>' : (lang == 'en' ? '<p>You will receive:</p>' : '<p>Você vai receber:</p>');
609									bodyHtml += '<ul style="margin:8px 0 0 18px; padding:0;">';
610									for(var i = 0; i < subs.length; i++)
611										bodyHtml += '<li style="margin-bottom:4px;">' + subs[i] + '</li>';
612									bodyHtml += '</ul>';
613								}
614								if(typeof window.showSuscripcionModal === 'function')
615									window.showSuscripcionModal(title, bodyHtml);
616								$('#suscripcion_newsletter')[0].reset();
617								if(typeof grecaptcha !== 'undefined') grecaptcha.reset();
618							}
619							else {
620								// Si el servidor dice que falta el captcha, mostrar mensaje específico
621								var isCaptchaErr = (data.indexOf && data.indexOf('reCAPTCHA') >= 0) || (data.indexOf && data.indexOf('Captcha') >= 0) || (data.indexOf && data.indexOf('captcha') >= 0);
622								var errTitle = lang == 'es' ? 'Hubo un error' : (lang == 'en' ? 'An error occurred' : 'Ocorreu um erro');
623								var errBody;
624								if (isCaptchaErr) {
625									errTitle = lang == 'es' ? 'Completa el reCAPTCHA' : (lang == 'en' ? 'Please complete the reCAPTCHA' : 'Por favor, complete o reCAPTCHA');
626									errBody  = lang == 'es' ? 'Por favor, marcá la casilla "No soy un robot" antes de suscribirte.' : (lang == 'en' ? 'Please check the "I\'m not a robot" box before subscribing.' : 'Por favor, marque a caixa "Não sou um robô" antes de se inscrever.');
627								} else {
628									errBody  = lang == 'es' ? 'Por favor, volvé a intentarlo.' : (lang == 'en' ? 'Please try again.' : 'Por favor, tente novamente.');
629								}
630								if(typeof window.showSuscripcionModal === 'function')
631									window.showSuscripcionModal(errTitle, '<p>' + errBody + '</p>');
632								if(typeof grecaptcha !== 'undefined') grecaptcha.reset();
633							}
634						},
635						error: function (xhr, settings, exception) {
636							var errTitle = lang == 'es' ? 'Hubo un error' : (lang == 'en' ? 'An error occurred' : 'Ocorreu um erro');
637							var errBody  = lang == 'es' ? 'Por favor, volvé a intentarlo.' : (lang == 'en' ? 'Please try again.' : 'Por favor, tente novamente.');
638							if(typeof window.showSuscripcionModal === 'function')
639								window.showSuscripcionModal(errTitle, '<p>' + errBody + '</p>');
640						}
641				});
642			}
643		}
644	);
645}
646
647function formularios_calculador() {	
648	var validator = new FormValidator('calculador_iindustrial_form', 
649		[
650			{
651				name: 'mail',
652				display: 'Email',
653				rules: 'required|valid_email'
654			}
655		], 
656		function(errors, event) {
657			$('#mail').removeClass('error');
658			
659			if (errors.length > 0) {
660				for (var i = 0, errorLength = errors.length; i < errorLength; i++)
661					$('[name="' + errors[i].name + '"]').addClass('error');
662
663			} else {
664
665				event.preventDefault();
666
667				$.ajax({
668					url: $('#calculador_iindustrial_form').attr('action'),
669					type: "POST",
670					dataType: "JSON",
671						timeout: 60000,
672						data: $('#calculador_iindustrial_form').serialize(),
673						success: function (data) {
674							if(data.error) {
675								alert("Hubo un error: " + data.text);
676							}
677							alert(data.text);
678
679						},
680						error: function (xhr, settings, exception) {      
681							if($('html').attr('lang') == 'es')
682								alert('Hubo un error, vuelva a intentarlo.');
683							if($('html').attr('lang') == 'en')
684								alert('There was an error, please try again.');
685							else if($('html').attr('lang') == 'pr')
686								alert('Houve um erro, por favor, tente novamente.');
687						}
688				});
689			}
690		}
691	);
692	
693	var validator = new FormValidator('email_calculador_ilocal_form', 
694		[
695			{
696				name: 'mail',
697				display: 'Email',
698				rules: 'required|valid_email'
699			}
700		], 
701		function(errors, event) {
702			
703			$('#mail').removeClass('error');
704			
705			if (errors.length > 0) {
706				for (var i = 0, errorLength = errors.length; i < errorLength; i++)
707					$('[name="' + errors[i].name + '"]').addClass('error');
708
709			} else {
710
711				event.preventDefault();
712
713				$.ajax({
714					url: $('#email_calculador_ilocal_form').attr('action'),
715					type: "POST",
716						timeout: 60000,
717					dataType: "JSON",
718						data: $('#email_calculador_ilocal_form').serialize(),
719						success: function (data) {
720							if(data.error) {
721								alert("Hubo un error: " + data.text);
722							}
723							alert(data.text);
724
725						},
726						error: function (xhr, settings, exception) {      
727							if($('html').attr('lang') == 'es')
728								alert('Hubo un error, vuelva a intentarlo.');
729								//alert(exception);
730								//alert(xhr.responseText);
731							if($('html').attr('lang') == 'en')
732								alert('There was an error, please try again.');
733							else if($('html').attr('lang') == 'pr')
734								alert('Houve um erro, por favor, tente novamente.');
735						}
736				});
737			}
738		}
739	);
740	
741	var validator = new FormValidator('email_calculador_isilos_form', 
742		[
743			{
744				name: 'mail',
745				display: 'Email',
746				rules: 'required|valid_email'
747			}
748		], 
749		function(errors, event) {
750			
751			$('#mail').removeClass('error');
752			
753			if (errors.length > 0) {
754				for (var i = 0, errorLength = errors.length; i < errorLength; i++)
755					$('[name="' + errors[i].name + '"]').addClass('error');
756
757			} else {
758
759				event.preventDefault();
760
761				$.ajax({
762					url: $('#email_calculador_isilos_form').attr('action'),
763					type: "POST",
764						timeout: 60000,
765					dataType: "JSON",
766						data: $('#email_calculador_isilos_form').serialize(),
767						success: function (data) {
768							if(data.error) {
769								alert("Hubo un error: " + data.text);
770							}
771							alert(data.text);
772
773						},
774						error: function (xhr, settings, exception) {      
775							if($('html').attr('lang') == 'es')
776								alert('Hubo un error, vuelva a intentarlo.');
777							if($('html').attr('lang') == 'en')
778								alert('There was an error, please try again.');
779							else if($('html').attr('lang') == 'pr')
780								alert('Houve um erro, por favor, tente novamente.');
781						}
782				});
783			}
784		}
785	);
786
787	var validator = new FormValidator('email_calculador_imaquinarias_form', 
788		[
789			{
790				name: 'mail',
791				display: 'Email',
792				rules: 'required|valid_email'
793			}
794		], 
795		function(errors, event) {
796			
797			$('#mail').removeClass('error');
798			
799			if (errors.length > 0) {
800				for (var i = 0, errorLength = errors.length; i < errorLength; i++)
801					$('[name="' + errors[i].name + '"]').addClass('error');
802
803			} else {
804
805				event.preventDefault();
806
807				$.ajax({
808					url: $('#email_calculador_imaquinarias_form').attr('action'),
809					type: "POST",
810						timeout: 60000,
811					dataType: "JSON",
812						data: $('#email_calculador_imaquinarias_form').serialize(),
813						success: function (data) {
814							if(data.error) {
815								alert("Hubo un error: " + data.text);
816							}
817							alert(data.text);
818
819						},
820						error: function (xhr, settings, exception) {      
821							if($('html').attr('lang') == 'es')
822								alert('Hubo un error, vuelva a intentarlo.');
823							if($('html').attr('lang') == 'en')
824								alert('There was an error, please try again.');
825							else if($('html').attr('lang') == 'pr')
826								alert('Houve um erro, por favor, tente novamente.');
827						}
828				});
829			}
830		}
831	);
832
833	var validator = new FormValidator('email_calculador_ibeneficios_form', 
834		[
835			{
836				name: 'mail',
837				display: 'Email',
838				rules: 'required|valid_email'
839			}
840		], 
841		function(errors, event) {
842			
843			$('#mail').removeClass('error');
844			
845			if (errors.length > 0) {
846				for (var i = 0, errorLength = errors.length; i < errorLength; i++)
847					$('[name="' + errors[i].name + '"]').addClass('error');
848
849			} else {
850
851				event.preventDefault();
852
853				$.ajax({
854					url: $('#email_calculador_ibeneficios_form').attr('action'),
855					type: "POST",
856						timeout: 60000,
857					dataType: "JSON",
858						data: $('#email_calculador_ibeneficios_form').serialize(),
859						success: function (data) {
860							if(data.error) {
861								alert("Hubo un error: " + data.text);
862							}
863							alert(data.text);
864
865						},
866						error: function (xhr, settings, exception) {      
867							if($('html').attr('lang') == 'es')
868								alert('Hubo un error, vuelva a intentarlo.');
869							if($('html').attr('lang') == 'en')
870								alert('There was an error, please try again.');
871							else if($('html').attr('lang') == 'pr')
872								alert('Houve um erro, por favor, tente novamente.');
873						}
874				});
875			}
876		}
877	);
878
879	var validator = new FormValidator('email_calculador_idepreciacion_form', 
880		[
881			{
882				name: 'mail',
883				display: 'Email',
884				rules: 'required|valid_email'
885			}
886		], 
887		function(errors, event) {
888			
889			$('#mail').removeClass('error');
890			
891			if (errors.length > 0) {
892				for (var i = 0, errorLength = errors.length; i < errorLength; i++)
893					$('[name="' + errors[i].name + '"]').addClass('error');
894
895			} else {
896
897				event.preventDefault();
898
899				$.ajax({
900					url: $('#email_calculador_idepreciacion_form').attr('action'),
901					type: "POST",
902						timeout: 60000,
903					dataType: "JSON",
904						data: $('#email_calculador_idepreciacion_form').serialize(),
905						success: function (data) {
906							if(data.error) {
907								alert("Hubo un error: " + data.text);
908							}
909							alert(data.text);
910
911						},
912						error: function (xhr, settings, exception) {      
913							if($('html').attr('lang') == 'es')
914								alert('Hubo un error, vuelva a intentarlo.');
915							if($('html').attr('lang') == 'en')
916								alert('There was an error, please try again.');
917							else if($('html').attr('lang') == 'pr')
918								alert('Houve um erro, por favor, tente novamente.');
919						}
920				});
921			}
922		}
923	);
924	
925	var validator = new FormValidator('email_calculador_iagro_form', 
926		[
927			{
928				name: 'mail',
929				display: 'Email',
930				rules: 'required|valid_email'
931			}
932		], 
933		function(errors, event) {
934			
935			$('#mail').removeClass('error');
936			
937			if (errors.length > 0) {
938				for (var i = 0, errorLength = errors.length; i < errorLength; i++)
939					$('[name="' + errors[i].name + '"]').addClass('error');
940
941			} else {
942
943				event.preventDefault();
944
945				$.ajax({
946					url: $('#email_calculador_iagro_form').attr('action'),
947					type: "POST",
948						timeout: 60000,
949					dataType: "JSON",
950						data: $('#email_calculador_iagro_form').serialize(),
951						success: function (data) {
952							if(data.error) {
953								alert("Hubo un error: " + data.text);
954							}
955							alert(data.text);
956
957						},
958						error: function (xhr, settings, exception) {      
959							if($('html').attr('lang') == 'es')
960								alert('Hubo un error, vuelva a intentarlo.');
961							if($('html').attr('lang') == 'en')
962								alert('There was an error, please try again.');
963							else if($('html').attr('lang') == 'pr')
964								alert('Houve um erro, por favor, tente novamente.');
965						}
966				});
967			}
968		}
969	);
970}
971
972function scroll_top(top, speed) {
973	$('html, body').stop().animate({
974        scrollTop: top
975    }, speed);
976}
977
978function popup() {
979	$('a.abrir_popup').click(function(e) {
980		e.preventDefault();
981		window.open($(this).attr('href'), '_blank', 'width=600,height=520,scrollbars=yes'); return false;
982	});
983}
984
985function overlays_a_body() {
986	$('.overlay').appendTo('body');
987}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.