PageSourceSearch

https://cubaarchive.org/wp-content/plugins/cubaarchive-database/pu…/cubaarchive-database.js?ver=09%3A22%3A00

js cubaarchive.org collected 2026-09-24 21:23:23 UTC 66,695 bytes, 601 lines download raw bytes

1(function( $ ) {
2	'use strict';
3
4	const caapi = {};
5	const lang = location.href.indexOf('/es/') > 0 ? 'es' : 'en';
6	const LANGUAGE = {
7	    en: {
8	        name: 'English',
9	        language: 'Language',
10	        all: 'All',
11	        between: 'Between',
12	        and: 'and',
13	        any: 'any',
14	        regime_col: 'Regime',
15	        aliases: 'Alias',
16	        day_of_death: 'Day of death/disappearance',
17	        month_of_death: 'Month of death/disappearance',
18	        year_of_death: 'Year of death/disappearance',
19	        citizenship: 'Citizenship',
20	        last_know_city: 'Last known city',
21	        last_known_province_TOD: 'Last known province',
22	        provincedeathcurrent: 'Last known province current',
23	        last_known_country: 'Last known country',
24	        location_death_country: 'Country of death',
25	        location_death_city: 'City of death/disappearance',
26	        location_death_TOD: 'Location of death/disappearance',
27	        death_atttributed: 'Death attributed to',
28	        cause_death: 'Cause of death',
29	        choose_an_option: 'Choose...',
30	        showing_results: 'Showing results from',
31	        to: 'to',
32	        of: 'of',
33	        associated_event: 'Associated event'
34	    },
35	    es: {
36	        name: 'Español',
37	        language: 'Lenguage',
38	        all: 'Todos',
39	        between: 'Entre',
40	        and: 'y',
41	        any: '-',
42	        regime_col: 'Regimen',
43	        aliases: 'Alias',
44	        day_of_death: 'Dia de muerte',
45	        month_of_death: 'Mes de muerte',
46	        year_of_death: 'Año de muerte',
47	        citizenship: 'Ciudadanía',
48	        last_known_province_TOD: 'Última provincia conocida (al morir)',
49	        provincedeathcurrent: 'Última provincia conocida',
50	        last_know_city: 'Última ciudad conocida',
51	        last_known_country: 'Último país conocido',
52	        location_death_country: 'País donde murió',
53	        location_death_city: 'Ciudad donde murió',
54	        location_death_TOD: 'Lugar donde murió',
55	        death_atttributed: 'Muerte atribuída a',
56	        cause_death: 'Causa de muerte',
57	        choose_an_option: 'Seleccione...',
58	        showing_results: 'Mostrando resultados de',
59	        to: 'a',
60	        of: 'de',
61	        associated_event: 'Evento asociado'
62	    }
63	};
64	
65	const LL = LANGUAGE[lang];
66	
67	const loadingHtml = `
68      <div class="ca-loading" style="
69          z-index: 999;
70          position: fixed;
71          left: 0;
72          top: 0;
73          bottom: 0;
74          right: 0;
75          background-color: rgba(50, 50, 50, 0.5);
76      ">
77       <i class="fa fa-2x fa-spinner fa-spin" style="position: absolute; left: 50%; top: 50%; color: #fff; transform: translate(-50%, -50%)"></i>
78
79      </div>
80	`;
81    
82	
83	const tableBodySelector = '#results-table table tbody';
84	const filtersButtonSelector = '#filters-button';
85	const base_url = 'https://cubaarchive.org/database-admin/web/json';
86	const blankOrNull = (source, value = '&lt;-&gt;') => source == '' || source == null ? value : source;
87	let inputStyle = `
88		width: 100%;
89		height: 2.5em;
90		background: transparent;
91		text-align: left;
92		padding-right: 5px;
93		color: #aaa;
94		border: 1px solid #aaa;`;
95
96	const filterTemplates = {
97		regime: `
98			<select name="form_advanced[regimen]" class="filter-value field-regime" style="${inputStyle}">
99				<option selected value="">${LANGUAGE[lang].all}</option>
100				<option value="castro">Castro</option>
101				<option value="batista">Batista</option>
102			</select>`,
103		aliases: `<input name="form_advanced[aliases]" class="filter-value field-aliases" value="" style="${inputStyle}" type="text">`,
104		day_death: `<select id="form_advanced_day_death" name="form_advanced[day_death]" class="filter-value" style="display: block; ${inputStyle}"><option value="" selected="selected">${LANGUAGE[lang].any}</option><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option><option value="11">11</option><option value="12">12</option><option value="13">13</option><option value="14">14</option><option value="15">15</option><option value="16">16</option><option value="17">17</option><option value="18">18</option><option value="19">19</option><option value="20">20</option><option value="21">21</option><option value="22">22</option><option value="23">23</option><option value="24">24</option><option value="25">25</option><option value="26">26</option><option value="27">27</option><option value="28">28</option><option value="29">29</option><option value="30">30</option><option value="31">31</option></select>`,
105		month_of_death: `<div style="text-align: left;">${LANGUAGE[lang].between} <select id="form_advanced_month_death_start" name="form_advanced[month_death_start]" class="filter-value" style="display: inline-block; ${inputStyle}; width: 55px !important;"><option value="" selected="selected">${LANGUAGE[lang].any}</option><option value="1">Jan</option><option value="2">Feb</option><option value="3">Mar</option><option value="4">Apr</option><option value="5">May</option><option value="6">June</option><option value="7">July</option><option value="8">Aug</option><option value="9">Sep</option><option value="10">
105Oct</option><option value="11">Nov</option><option value="12">Dec</option></select> ${LANGUAGE[lang].and} <select id="form_advanced_month_death_end" name="form_advanced[month_death_end]" class="filter-value" style="display: inline-block; width: 55px !important; ${inputStyle}"><option value="" selected="selected">${LANGUAGE[lang].any}</option><option value="1">Jan</option><option value="2">Feb</option><option value="3">Mar</option><option value="4">Apr</option><option value="5">May</option><option value="6">June</option><option value="7">July</option><option value="8">Aug</option><option value="9">Sep</option><option value="10">Oct</option><option value="11">Nov</option><option value="12">Dec</option></select></div>`,
106		year_of_death: `<div style="text-align: left;" >${LANGUAGE[lang].between} <select id="form_advanced_year_death_start" name="form_advanced[year_death_start]" class="filter-value" style="display: inline-block; ${inputStyle}; width: 65px !important;"><option value="" selected="selected">none</option><option value="1952">1952</option><option value="1953">1953</option><option value="1954">1954</option><option value="1955">1955</option><option value="1956">1956</option><option value="1957">1957</option><option value="1958">1958</option><option value="1959">1959</option><option value="1960">1960</option><option value="1961">1961</option><option value="1962">1962</option><option value="1963">1963</option><option value="1964">1964</option><option value="1965">1965</option><option value="1966">1966</option><option value="1967">1967</option><option value="1968">1968</option><option value="1969">1969</option><option value="1970">1970</option><option value="1971">1971</option><option value="1972">1972</option><option value="1973">1973</option><option value="1974">1974</option><option value="1975">1975</option><option value="1976">1976</option><option value="1977">1977</option><option value="1978">1978</option><option value="1979">1979</option><option value="1980">1980</option><option value="1981">1981</option><option value="1982">1982</option><option value="1983">1983</option><option value="1984">1984</option><option value="1985">1985</option><option value="1986">1986</option><option value="1987">1987</option><option value="1988">1988</option><option value="1989">1989</option><option value="1990">1990</option><option value="1991">1991</option><option value="1992">1992</option><option value="1993">1993</option><option value="1994">1994</option><option value="1995">1995</option><option value="1996">1996</option><option value="1997">1997</option><option value="1998">1998</option><option value="1999">1999</option><option value="2000">2000</option><option value="2001">2001</option><option value="2002">2002</option><option value="2003">2003</option><option value="2004">2004</option><option value="2005">2005</option><option value="2006">2006</option><option value="2007">2007</option><option value="2008">2008</option><option value="2009">2009</option><option value="2010">2010</option><option value="2011">2011</option><option value="2012">2012</option><option value="2013">2013</option><option value="2014">2014</option><option value="2015">2015</option><option value="2016">2016</option><option value="2017">2017</option><option value="2018">2018</option><option value="2019">2019</option><option value="2020">2020</option><option value="2021">2021</option><option value="2022">2022</option></select> ${LANGUAGE[lang].and} <select id="form_advanced_year_death_end" name="form_advanced[year_death_end]" class="	filter-value" style="display: inline-block; ${inputStyle}; width: 65px !important;"><option value="" selected="selected">none</option><option value="1952">1952</option><option value="1953">1953</option><option value="1954">1954</option><option value="1955">1955</option><option value="1956">1956</option><option value="1957">1957</option><option value="1958">1958</option><option value="1959">1959</option><option value="1960">1960</option><option value="1961">1961</option><option value="1962">1962</option><option value="1963">1963</option><option value="1964">1964</option><option value="1965">1965</option><option value="1966">1966</option><option value="1967">1967</option><option value="1968">1968</option><option value="1969">1969</option><option value="1970">1970</option><option value="1971">1971</option><option value="1972">1972</option><option value="1973">1973</option><option value="1974">1974</option><option value="1975">1975</option><option value="1976">1976</option><option value="1977">1977</option><option value="1978">1978</option><option value="1979">1979</option><option value="1980">1980</option><option value="1981">1981</option><option value="1982">1982</option><option value="1983">1983</option><option value="1984">1984</option><option value="1985">1985</option><option value="1986">1986</option><option value="1987">1987</option><option value="1988">1988</option><option value="1989">
1061989</option><option value="1990">1990</option><option value="1991">1991</option><option value="1992">1992</option><option value="1993">1993</option><option value="1994">1994</option><option value="1995">1995</option><option value="1996">1996</option><option value="1997">1997</option><option value="1998">1998</option><option value="1999">1999</option><option value="2000">2000</option><option value="2001">2001</option><option value="2002">2002</option><option value="2003">2003</option><option value="2004">2004</option><option value="2005">2005</option><option value="2006">2006</option><option value="2007">2007</option><option value="2008">2008</option><option value="2009">2009</option><option value="2010">2010</option><option value="2011">2011</option><option value="2012">2012</option><option value="2013">2013</option><option value="2014">2014</option><option value="2015">2015</option><option value="2016">2016</option><option value="2017">2017</option><option value="2018">2018</option><option value="2019">2019</option><option value="2020">2020</option><option value="2021">2021</option><option value="2022">2022</option></select></select>`,
107		citizenship: `<select id="form_advanced_citizenship" name="form_advanced[citizenship]" class="filter-value" style="display: block; ${inputStyle};"><option value="">${LL.choose_an_option}</option><option value="1">Cuba</option><option value="2">United States</option><option value="3">Afghanistan</option><option value="4">Aland Islands</option><option value="5">Albania</option><option value="6">Algeria</option><option value="7">American Samoa</option><option value="8">Andorra</option><option value="9">Angola</option><option value="10">Anguilla</option><option value="11">Antarctica</option><option value="12">Antigua and Barbuda</option><option value="13">Argentina</option><option value="14">Armenia</option><option value="15">Aruba</option><option value="16">Ascension Island</option><option value="17">Australia</option><option value="18">Austria</option><option value="19">Azerbaijan</option><option value="20">Bahamas</option><option value="21">Bahrain</option><option value="22">Bangladesh</option><option value="23">Barbados</option><option value="24">Belarus</option><option value="25">Belgium</option><option value="26">Belize</option><option value="27">Benin</option><option value="28">Bermuda</option><option value="29">Bhutan</option><option value="30">Bolivia</option><option value="31">Bosnia and Herzegovina</option><option value="32">Botswana</option><option value="33">Bouvet Island</option><option value="34">Brazil</option><option value="35">British Indian Ocean Territory</option><option value="36">Brunei Darussalam</option><option value="37">Bulgaria</option><option value="38">Burkina Faso</option><option value="39">Burundi</option><option value="40">Cambodia</option><option value="41">Cameroon</option><option value="42">Canada</option><option value="43">Cape Verde</option><option value="44">Cayman Islands</option><option value="45">Central African Republic</option><option value="46">Chad</option><option value="47">Chile</option><option value="48">China</option><option value="49">Christmas Island</option><option value="50">Cocos (Keeling) Islands</option><option value="51">Colombia</option><option value="52">Comoros</option><option value="53">Republic of Congo</option><option value="54">Democratic Republic of Congo</option><option value="55">Cook Islands</option><option value="56">Costa Rica</option><option value="57">Cote d'Ivoire</option><option value="58">Croatia</option><option value="59">Cyprus</option><option value="60">Czech Republic</option><option value="61">Denmark</option><option value="62">Djibouti</option><option value="63">Dominica</option><option value="64">Dominican Republic</option><option value="65">East Timor</option><option value="66">Ecuador</option><option value="67">Egypt</option><option value="68">El Salvador</option><option value="69">Equatorial Guinea</option><option value="70">Eritrea</option><option value="71">Estonia</option><option value="72">Ethiopia</option><option value="73">European Union</option><option value="74">Falkland Islands (Malvinas)</option><option value="75">Faroe Islands</option><option value="76">Fiji</option><option value="77">Finland</option><option value="78">France</option><option value="79">French Guiana</option><option value="80">French Polynesia</option><option value="81">French Southern Territories</option><option value="82">Gabon</option><option value="83">Gambia</option><option value="84">Georgia</option><option value="85">Germany</option><option value="86">Ghana</option><option value="87">Gibraltar</option><option value="88">Greece</option><option value="89">Greenland</option><option value="90">Grenada</option><option value="91">Guadeloupe</option><option value="92">Guam</option><option value="93">Guatemala</option><option value="94">Guernsey</option><option value="95">Guinea</option><option value="96">Guinea-Bissau</option><option value="97">Guyana</option><option value="98">
107Haiti</option><option value="99">Heard and McDonald Islands</option><option value="100">Holy See (Vatican City State)</option><option value="101">Honduras</option><option value="102">Hong Kong</option><option value="103">Hungary</option><option value="104">Iceland</option><option value="105">India</option><option value="106">Indonesia</option><option value="107">Iran</option><option value="108">Iraq</option><option value="109">Ireland</option><option value="110">Isle of Man</option><option value="111">Israel</option><option value="112">Italy</option><option value="113">Jamaica</option><option value="114">Japan</option><option value="115">Jersey</option><option value="116">Jordan</option><option value="117">Kazakhstan</option><option value="118">Kenya</option><option value="119">Kiribati</option><option value="120">Korea</option><option value="122">Kuwait</option><option value="123">Kyrgyzstan</option><option value="124">Lao People's Democratic Republic</option><option value="125">Latvia</option><option value="126">Lebanon</option><option value="127">Lesotho</option><option value="128">Liberia</option><option value="129">Libyan Arab Jamahiriya</option><option value="130">Liechtenstein</option><option value="131">Lithuania</option><option value="132">Luxembourg</option><option value="133">Macao</option><option value="134">Macedonia</option><option value="135">Madagascar</option><option value="136">Malawi</option><option value="137">Malaysia</option><option value="138">Maldives</option><option value="139">Mali</option><option value="140">Malta</option><option value="141">Marshall Islands</option><option value="142">Martinique</option><option value="143">Mauritania</option><option value="144">Mauritius</option><option value="145">Mayotte</option><option value="146">Mexico</option><option value="147">Micronesia</option><option value="148">Moldova</option><option value="149">Monaco</option><option value="150">Mongolia</option><option value="151">Montenegro</option><option value="152">Montserrat</option><option value="153">Morocco</option><option value="154">Mozambique</option><option value="155">Myanmar</option><option value="156">Namibia</option><option value="157">Nauru</option><option value="158">Nepal</option><option value="159">Netherlands</option><option value="160">Netherlands Antilles</option><option value="161">New Caledonia</option><option value="162">New Zealand</option><option value="163">Nicaragua</option><option value="164">Niger</option><option value="165">Nigeria</option><option value="166">Niue</option><option value="167">Norfolk Island</option><option value="168">Northern Mariana Islands</option><option value="169">Norway</option><option value="170">Oman</option><option value="171">Pakistan</option><option value="172">Palau</option><option value="173">Palestinian Territory</option><option value="174">Panama</option><option value="175">Papua New Guinea</option><option value="176">Paraguay</option><option value="177">Peru</option><option value="178">Philippines</option><option value="179">Pitcairn Island</option><option value="180">Poland</option><option value="181">Portugal</option><option value="182">Puerto Rico</option><option value="183">Qatar</option><option value="184">Reunion Island</option><option value="185">Romania</option><option value="186">Russian Federation</option><option value="187">Rwanda</option><option value="188">Saint Helena</option><option value="189">Saint Kitts and Nevis</option><option value="190">Saint Lucia</option><option value="191">Saint Pierre and Miquelon</option><option value="192">Saint Vincent and the Grenadines</option><option value="193">Samoa</option><option value="194">San Marino</option><option value="195">Sao Tome and Principe</option><option value="196">Saudi Arabia</option><option value="197">Senegal</option><option value="198">Serbia</option><option value="199">Seychelles</option><option value="200">Sierra Leone</option><option value="201">Singapore</option><option value="202">Slovak Republic</option><option value="203">Slovenia</option><option value="204">Solomon Islands</option><option value="205">Somalia</option><option value="206">South Africa</option><option value="207">South Georgia and the South Sandwich Islands</option><option value="208">Soviet Union</option><option value="209">Spain</option><option value="210">Sri Lanka</option><option value="211">Sudan</option><option value="212">Suriname</option><option value="213">Svalbard and Jan Mayen Islands</option><option value="214">Swaziland</option><option value="215">Sweden</option><option value="216">Switzerland</option><option value="217">Syrian Arab Republic</option><option value="218">Taiwan</option><option value="219">Tajikistan</option><option value="220">Tanzania</option><option value="221">Thailand</option><option value="222">Timor-Leste</option><option value="223">Togo</option><option value="224">Tokelau</option><option value="225">Tonga</option><option value="226">Trinidad and Tobago</option><option value="227">Tunisia</option><option value="228">Turkey</option><option value="229">Turkmenistan</option><option value="230">Turks and Caicos Islands</option><option value="231">Tuvalu</option><option value="232">Uganda</option><option value="233">Ukraine</option><option value="234">United Arab Emirates</option><option value="235">United Kingdom</option><option value="237">United States Minor Outlying Islands</option><option value="238">Uruguay</option><option value="239">Uzbekistan</option><option value="240">Vanuatu</option><option value="241">Venezuela</option><option value="242">Vietnam</option><option value="243">Virgin Islands, British</option><option value="244">Virgin Islands, US</option><option value="245">Wallis and Futuna Islands</option><option value="246">Western Sahara</option><option value="247">Yemen</option><option value="248">Yugoslavia</option><option value="249">Zambia</option><option value="250">Zimbabwe</option></select>`,
108		last_known_province_TOD: `<select style="display: block; ${inputStyle};"  class="filter-value select-multiple" id="form_advanced_last_know_province_TOD" name="form_advanced[last_know_province_TOD][]" multiple="multiple"><option value="11">Camagüey</option><option value="15">Ciego de Ávila</option><option value="10">Cienfuegos</option><option value="6">Ciudad de La Habana</option><option value="2">Granma</option><option value="14">Guantánamo</option><option value="4">Holguín</option><option value="13">Isla de la Juventud</option><option value="9">La Habana</option><option value="16">Las Tunas</option><option value="17">Las Villas</option><option value="8">Matanzas</option><option value="19">Mayabeque</option><option value="1">N/A</option><option value="18">Oriente</option><option value="7">Pinar del Río</option><option value="12">Sancti Spíritus</option><option value="3">Santiago de Cuba</option><option value="5">Villa Clara</option></select>`,
109		last_know_city: `<input type="text" style="display: block; ${inputStyle};"  class="filter-value" id="form_advanced_last_know_city" name="form_advanced[last_know_city]">`,
110		last_known_country: `<select id="form_advanced_last_know_country" name="form_advanced[last_know_country]" style="display: block; ${inputStyle};"  class="filter-value" ><option value="">${LL.choose_an_option}</option><option value="1">Cuba</option><option value="2">United States</option><option value="3">Afghanistan</option><option value="4">Aland Islands</option><option value="5">Albania</option><option value="6">Algeria</option><option value="7">American Samoa</option><option value="8">Andorra</option><option value="9">Angola</option><option value="10">Anguilla</option><option value="11">Antarctica</option><option value="12">Antigua and Barbuda</option><option value="13">Argentina</option><option value="14">Armenia</option><option value="15">Aruba</option><option value="16">Ascension Island</option><option value="17">Australia</option><option value="18">Austria</option><option value="19">Azerbaijan</option><option value="20">Bahamas</option><option value="21">Bahrain</option><option value="22">Bangladesh</option><option value="23">Barbados</option><option value="24">Belarus</option><option value="25">Belgium</option><option value="26">Belize</option><option value="27">Benin</option><option value="28">Bermuda</option><option value="29">Bhutan</option><option value="30">Bolivia</option><option value="31">Bosnia and Herzegovina</option><option value="32">Botswana</option><option value="33">Bouvet Island</option><option value="34">Brazil</option><option value="35">British Indian Ocean Territory</option><option value="36">Brunei Darussalam</option><option value="37">Bulgaria</option><option value="38">Burkina Faso</option><option value="39">Burundi</option><option value="40">Cambodia</option><option value="41">Cameroon</option><option value="42">Canada</option><option value="43">Cape Verde</option><option value="44">Cayman Islands</option><option value="45">Central African Republic</option><option value="46">Chad</option><option value="47">Chile</option><option value="48">China</option><option value="49">Christmas Island</option><option value="50">Cocos (Keeling) Islands</option><option value="51">Colombia</option><option value="52">Comoros</option><option value="53">Republic of Congo</option><option value="54">Democratic Republic of Congo</option><option value="55">Cook Islands</option><option value="56">Costa Rica</option>
110<option value="57">Cote d'Ivoire</option><option value="58">Croatia</option><option value="59">Cyprus</option><option value="60">Czech Republic</option><option value="61">Denmark</option><option value="62">Djibouti</option><option value="63">Dominica</option><option value="64">Dominican Republic</option><option value="65">East Timor</option><option value="66">Ecuador</option><option value="67">Egypt</option><option value="68">El Salvador</option><option value="69">Equatorial Guinea</option><option value="70">Eritrea</option><option value="71">Estonia</option><option value="72">Ethiopia</option><option value="73">European Union</option><option value="74">Falkland Islands (Malvinas)</option><option value="75">Faroe Islands</option><option value="76">Fiji</option><option value="77">Finland</option><option value="78">France</option><option value="79">French Guiana</option><option value="80">French Polynesia</option><option value="81">French Southern Territories</option><option value="82">Gabon</option><option value="83">Gambia</option><option value="84">Georgia</option><option value="85">Germany</option><option value="86">Ghana</option><option value="87">Gibraltar</option><option value="88">Greece</option><option value="89">Greenland</option><option value="90">Grenada</option><option value="91">Guadeloupe</option><option value="92">Guam</option><option value="93">Guatemala</option><option value="94">Guernsey</option><option value="95">Guinea</option><option value="96">Guinea-Bissau</option><option value="97">Guyana</option><option value="98">Haiti</option><option value="99">Heard and McDonald Islands</option><option value="100">Holy See (Vatican City State)</option><option value="101">Honduras</option><option value="102">Hong Kong</option><option value="103">Hungary</option><option value="104">Iceland</option><option value="105">India</option><option value="106">Indonesia</option><option value="107">Iran</option><option value="108">Iraq</option><option value="109">Ireland</option><option value="110">Isle of Man</option><option value="111">Israel</option><option value="112">Italy</option><option value="113">Jamaica</option><option value="114">Japan</option><option value="115">Jersey</option><option value="116">Jordan</option><option value="117">Kazakhstan</option><option value="118">Kenya</option><option value="119">Kiribati</option><option value="120">Korea</option><option value="122">Kuwait</option><option value="123">Kyrgyzstan</option><option value="124">Lao People's Democratic Republic</option><option value="125">Latvia</option><option value="126">Lebanon</option><option value="127">Lesotho</option><option value="128">Liberia</option><option value="129">Libyan Arab Jamahiriya</option><option value="130">Liechtenstein</option><option value="131">Lithuania</option><option value="132">Luxembourg</option><option value="133">Macao</option><option value="134">Macedonia</option><option value="135">Madagascar</option><option value="136">Malawi</option><option value="137">Malaysia</option><option value="138">Maldives</option><option value="139">Mali</option><option value="140">Malta</option><option value="141">Marshall Islands</option><option value="142">Martinique</option><option value="143">Mauritania</option><option value="144">Mauritius</option><option value="145">Mayotte</option><option value="146">Mexico</option><option value="147">Micronesia</option><option value="148">Moldova</option><option value="149">Monaco</option><option value="150">Mongolia</option><option value="151">Montenegro</option><option value="152">Montserrat</option><option value="153">Morocco</option><option value="154">Mozambique</option><option value="155">Myanmar</option><option value="156">Namibia</option><option value="157">Nauru</option><option value="158">Nepal</option><option value="159">Netherlands</option><option value="160">Netherlands Antilles</option><option value="161">New Caledonia</option><option value="162">New Zealand</option><option value="163">Nicaragua</option><option value="164">Niger</option><option value="165">Nigeria</option><option value="166">Niue</option><option value="167">Norfolk Island</option><option value="168">Northern Mariana Islands</option><option value="169">Norway</option><option value="170">Oman</option><option value="171">Pakistan</option><option value="172">Palau</option><option value="173">Palestinian Territory</option><option value="174">Panama</option><option value="175">Papua New Guinea</option><option value="176">Paraguay</option><option value="177">
110Peru</option><option value="178">Philippines</option><option value="179">Pitcairn Island</option><option value="180">Poland</option><option value="181">Portugal</option><option value="182">Puerto Rico</option><option value="183">Qatar</option><option value="184">Reunion Island</option><option value="185">Romania</option><option value="186">Russian Federation</option><option value="187">Rwanda</option><option value="188">Saint Helena</option><option value="189">Saint Kitts and Nevis</option><option value="190">Saint Lucia</option><option value="191">Saint Pierre and Miquelon</option><option value="192">Saint Vincent and the Grenadines</option><option value="193">Samoa</option><option value="194">San Marino</option><option value="195">Sao Tome and Principe</option><option value="196">Saudi Arabia</option><option value="197">Senegal</option><option value="198">Serbia</option><option value="199">Seychelles</option><option value="200">Sierra Leone</option><option value="201">Singapore</option><option value="202">Slovak Republic</option><option value="203">Slovenia</option><option value="204">Solomon Islands</option><option value="205">Somalia</option><option value="206">South Africa</option><option value="207">South Georgia and the South Sandwich Islands</option><option value="208">Soviet Union</option><option value="209">Spain</option><option value="210">Sri Lanka</option><option value="211">Sudan</option><option value="212">Suriname</option><option value="213">Svalbard and Jan Mayen Islands</option><option value="214">Swaziland</option><option value="215">Sweden</option><option value="216">Switzerland</option><option value="217">Syrian Arab Republic</option><option value="218">Taiwan</option><option value="219">Tajikistan</option><option value="220">Tanzania</option><option value="221">Thailand</option><option value="222">Timor-Leste</option><option value="223">Togo</option><option value="224">Tokelau</option><option value="225">Tonga</option><option value="226">Trinidad and Tobago</option><option value="227">Tunisia</option><option value="228">Turkey</option><option value="229">Turkmenistan</option><option value="230">Turks and Caicos Islands</option><option value="231">Tuvalu</option><option value="232">Uganda</option><option value="233">Ukraine</option><option value="234">United Arab Emirates</option><option value="235">United Kingdom</option><option value="237">United States Minor Outlying Islands</option><option value="238">Uruguay</option><option value="239">Uzbekistan</option><option value="240">Vanuatu</option><option value="241">Venezuela</option><option value="242">Vietnam</option><option value="243">Virgin Islands, British</option><option value="244">Virgin Islands, US</option><option value="245">Wallis and Futuna Islands</option><option value="246">Western Sahara</option><option value="247">Yemen</option><option value="248">Yugoslavia</option><option value="249">Zambia</option><option value="250">Zimbabwe</option></select>`,
111		associated_event: `<select id="form_advanced_associated_event" name="form_advanced[associated_event][]" style="display: block; ${inputStyle};"  class="filter-value  select-multiple"  multiple="multiple"><option value="28">1953 Attack on Moncada Barracks</option><option value="19">1956 Attack on Goicuría Army Barracks</option><option value="20">1956 Attack/Massacre at Haiti Embassy</option><option value="23">1956 Bloody Christmas Night</option><option value="22">1956 Granma landing - Ambush at Alegría de Pío</option><option value="21">1956 Santiago de Cuba insurrection</option><option value="24">1957 Attack on Presidential Palace</option><option value="46">1957 Cienfuegos uprising</option><option value="25">1957 Corynthia landing</option><option value="31">1958 Cubana de Aviación hijacking</option><option value="26">1958 General Labor Strike</option><option value="27">1958 Los Cocos Massacre</option><option value="43">1959 Guanabaquilla massacre</option><option value="7">1959 San Juan Hill Massacre</option><option value="9">1960 La Coubre explosion</option><option value="8">1961 Bay of Pigs invasion</option><option value="2">1961 Bay of Pigs/Celia</option><option value="33">1962 August 30th (Sta. Rosa) Conspiracy</option><option value="39">1962 Barlovento Massacre</option><option value="12">1963 Flying Tiger II friendly fire incident</option><option value="38">1976 Cubana de Aviación bombing -Barbados</option><option value="14">1980 Canimar River massacre</option><option value="42">1983 Grenada battle (U.S. invasion)</option><option value="37">1985 Cubana de Aviación crash</option><option value="15">1989 General Ochoa purge</option><option value="16">1994 Tugboat massacre</option><option value="44">2008 Jan. 31 balsero disappearance</option><option value="41">Angola war</option><option value="3">Anti-Batista insurgency/resistance</option><option value="6">Anti-Castro insurgency - Escambray uprising</option><option value="47">
111Anti-Castro insurgency - La Ceiba Massacre</option><option value="10">Anti-Castro insurgency -1960 Navas Bay/Armentino Feria operation</option><option value="11">Anti-Castro insurgency -Sta. Rosa de Lima conspiracy/Causa 152</option><option value="5">Anti-Castro insurgency/resistance</option><option value="40">Congo War</option><option value="50">Ethiopia military intervention</option><option value="51">Execution with prior blood extraction</option><option value="36">Guantanamo Naval Base exit attempt</option><option value="48">International intervention (armed/subversion)</option><option value="52">International intervention armed/subversion (Venezuela)</option><option value="35">LGBT or HIV/Aids patient</option><option value="34">Missing body parts or tampering/Denied remains</option><option value="4">Religious persecution / religious leader</option><option value="49">UMAP</option></select>`,
112		location_death_country: `<select id="form_advanced_location_death_country" name="form_advanced[location_death_country]" style="display: block; ${inputStyle};"  class="filter-value" ><option value="">${LL.choose_an_option}</option><option value="1">Cuba</option><option value="2">United States</option><option value="3">Afghanistan</option><option value="4">Aland Islands</option><option value="5">Albania</option><option value="6">Algeria</option><option value="7">American Samoa</option><option value="8">Andorra</option><option value="9">Angola</option><option value="10">Anguilla</option><option value="11">Antarctica</option><option value="12">Antigua and Barbuda</option><option value="13">Argentina</option><option value="14">Armenia</option><option value="15">Aruba</option><option value="16">Ascension Island</option><option value="17">Australia</option><option value="18">Austria</option><option value="19">Azerbaijan</option><option value="20">Bahamas</option><option value="21">Bahrain</option><option value="22">Bangladesh</option><option value="23">Barbados</option><option value="24">Belarus</option><option value="25">Belgium</option><option value="26">Belize</option><option value="27">Benin</option><option value="28">Bermuda</option><option value="29">Bhutan</option><option value="30">Bolivia</option><option value="31">Bosnia and Herzegovina</option><option value="32">Botswana</option><option value="33">Bouvet Island</option><option value="34">Brazil</option><option value="35">British Indian Ocean Territory</option><option value="36">Brunei Darussalam</option><option value="37">Bulgaria</option><option value="38">Burkina Faso</option><option value="39">Burundi</option><option value="40">Cambodia</option><option value="41">Cameroon</option><option value="42">Canada</option><option value="43">Cape Verde</option><option value="44">Cayman Islands</option><option value="45">Central African Republic</option><option value="46">Chad</option><option value="47">Chile</option><option value="48">China</option><option value="49">Christmas Island</option><option value="50">Cocos (Keeling) Islands</option><option value="51">Colombia</option><option value="52">Comoros</option><option value="53">Republic of Congo</option><option value="54">Democratic Republic of Congo</option><option value="55">Cook Islands</option><option value="56">Costa Rica</option><option value="57">Cote d'Ivoire</option><option value="58">Croatia</option><option value="59">Cyprus</option><option value="60">Czech Republic</option><option value="61">Denmark</option><option value="62">Djibouti</option><option value="63">Dominica</option><option value="64">Dominican Republic</option><option value="65">East Timor</option><option value="66">Ecuador</option><option value="67">Egypt</option><option value="68">El Salvador</option><option value="69">Equatorial Guinea</option><option value="70">Eritrea</option><option value="71">Estonia</option><option value="72">Ethiopia</option><option value="73">European Union</option><option value="74">Falkland Islands (Malvinas)</option><option value="75">Faroe Islands</option><option value="76">Fiji</option><option value="77">Finland</option><option value="78">France</option><option value="79">French Guiana</option><option value="80">French Polynesia</option><option value="81">French Southern Territories</option><option value="82">Gabon</option><option value="83">Gambia</option><option value="84">Georgia</option><option value="85">Germany</option><option value="86">Ghana</option><option value="87">Gibraltar</option><option value="88">Greece</option><option value="89">Greenland</option><option value="90">Grenada</option><option value="91">Guadeloupe</option><option value="92">Guam</option><option value="93">Guatemala</option><option value="94">Guernsey</option><option value="95">Guinea</option><option value="96">Guinea-Bissau</option><option value="97">Guyana</option><option value="98">
112Haiti</option><option value="99">Heard and McDonald Islands</option><option value="100">Holy See (Vatican City State)</option><option value="101">Honduras</option><option value="102">Hong Kong</option><option value="103">Hungary</option><option value="104">Iceland</option><option value="105">India</option><option value="106">Indonesia</option><option value="107">Iran</option><option value="108">Iraq</option><option value="109">Ireland</option><option value="110">Isle of Man</option><option value="111">Israel</option><option value="112">Italy</option><option value="113">Jamaica</option><option value="114">Japan</option><option value="115">Jersey</option><option value="116">Jordan</option><option value="117">Kazakhstan</option><option value="118">Kenya</option><option value="119">Kiribati</option><option value="120">Korea</option><option value="122">Kuwait</option><option value="123">Kyrgyzstan</option><option value="124">Lao People's Democratic Republic</option><option value="125">Latvia</option><option value="126">Lebanon</option><option value="127">Lesotho</option><option value="128">Liberia</option><option value="129">Libyan Arab Jamahiriya</option><option value="130">Liechtenstein</option><option value="131">Lithuania</option><option value="132">Luxembourg</option><option value="133">Macao</option><option value="134">Macedonia</option><option value="135">Madagascar</option><option value="136">Malawi</option><option value="137">Malaysia</option><option value="138">Maldives</option><option value="139">Mali</option><option value="140">Malta</option><option value="141">Marshall Islands</option><option value="142">Martinique</option><option value="143">Mauritania</option><option value="144">Mauritius</option><option value="145">Mayotte</option><option value="146">Mexico</option><option value="147">Micronesia</option><option value="148">Moldova</option><option value="149">Monaco</option><option value="150">Mongolia</option><option value="151">Montenegro</option><option value="152">Montserrat</option><option value="153">Morocco</option><option value="154">Mozambique</option><option value="155">Myanmar</option><option value="156">Namibia</option><option value="157">Nauru</option><option value="158">Nepal</option><option value="159">Netherlands</option><option value="160">Netherlands Antilles</option><option value="161">New Caledonia</option><option value="162">New Zealand</option><option value="163">Nicaragua</option><option value="164">Niger</option><option value="165">Nigeria</option><option value="166">Niue</option><option value="167">Norfolk Island</option><option value="168">Northern Mariana Islands</option><option value="169">Norway</option><option value="170">Oman</option><option value="171">Pakistan</option><option value="172">Palau</option><option value="173">Palestinian Territory</option><option value="174">Panama</option><option value="175">Papua New Guinea</option><option value="176">Paraguay</option><option value="177">Peru</option><option value="178">Philippines</option><option value="179">Pitcairn Island</option><option value="180">Poland</option><option value="181">Portugal</option><option value="182">Puerto Rico</option><option value="183">Qatar</option><option value="184">Reunion Island</option><option value="185">Romania</option><option value="186">Russian Federation</option><option value="187">Rwanda</option><option value="188">Saint Helena</option><option value="189">Saint Kitts and Nevis</option><option value="190">Saint Lucia</option><option value="191">Saint Pierre and Miquelon</option><option value="192">Saint Vincent and the Grenadines</option><option value="193">Samoa</option><option value="194">San Marino</option><option value="195">Sao Tome and Principe</option><option value="196">Saudi Arabia</option><option value="197">Senegal</option><option value="198">Serbia</option><option value="199">Seychelles</option><option value="200">Sierra Leone</option><option value="201">Singapore</option><option value="202">Slovak Republic</option><option value="203">Slovenia</option><option value="204">Solomon Islands</option><option value="205">Somalia</option><option value="206">South Africa</option><option value="207">South Georgia and the South Sandwich Islands</option><option value="208">Soviet Union</option><option value="209">Spain</option><option value="210">Sri Lanka</option><option value="211">Sudan</option><option value="212">Suriname</option><option value="213">Svalbard and Jan Mayen Islands</option><option value="214">Swaziland</option><option value="215">Sweden</option><option value="216">Switzerland</option><option value="217">Syrian Arab Republic</option><option value="218">Taiwan</option><option value="219">Tajikistan</option><option value="220">Tanzania</option><option value="221">Thailand</option><option value="222">Timor-Leste</option><option value="223">Togo</option><option value="224">Tokelau</option><option value="225">Tonga</option><option value="226">Trinidad and Tobago</option><option value="227">Tunisia</option><option value="228">Turkey</option><option value="229">Turkmenistan</option><option value="230">Turks and Caicos Islands</option><option value="231">Tuvalu</option><option value="232">Uganda</option><option value="233">Ukraine</option><option value="234">United Arab Emirates</option><option value="235">United Kingdom</option><option value="237">United States Minor Outlying Islands</option><option value="238">Uruguay</option><option value="239">Uzbekistan</option><option value="240">Vanuatu</option><option value="241">Venezuela</option><option value="242">Vietnam</option><option value="243">Virgin Islands, British</option><option value="244">Virgin Islands, US</option><option value="245">Wallis and Futuna Islands</option><option value="246">Western Sahara</option><option value="247">Yemen</option><option value="248">Yugoslavia</option><option value="249">Zambia</option><option value="250">Zimbabwe</option></select>`,
113		location_death_city: `<input type="text" id="form_advanced_location_death_city" name="form_advanced[location_death_city]" style="display: block; ${inputStyle};"  class="filter-value">`,
114		location_death_TOD: `<select id="form_advanced_location_death_TOD" name="form_advanced[location_death_TOD][]" style="display: block; ${inputStyle};"  class="filter-value select-multiple" multiple="multiple"><option value="11">Camagüey</option><option value="15">Ciego de Ávila</option><option value="10">Cienfuegos</option><option value="6">Ciudad de La Habana</option><option value="2">Granma</option><option value="14">Guantánamo</option><option value="4">Holguín</option><option value="13">Isla de la Juventud</option><option value="9">La Habana</option><option value="16">Las Tunas</option><option value="17">Las Villas</option><option value="8">Matanzas</option><option value="19">Mayabeque</option><option value="1">N/A</option><option value="18">Oriente</option><option value="7">Pinar del Río</option><option value="12">Sancti Spíritus</option><option value="3">Santiago de Cuba</option><option value="5">Villa Clara</option></select>`,
115		death_atttributed: `<select id="form_advanced_death_atttributed" name="form_advanced[death_atttributed][]" style="display: block; ${inputStyle};"  class="filter-value select-multiple" multiple="multiple"><option value="3">Anti-Batista Resistance / Rebel Army</option><option value="6">Anti-Castro non-state actors</option><option value="5">Armed forces of another country</option><option value="7">Batista regime</option><option value="1">Castro regime</option><option value="2">N/A or Undetermined</option><option value="4">Other</option></select>`,
116		cause_death: `<select id="form_advanced_cause_death" name="form_advanced[cause_death][]" style="display: block; ${inputStyle};" class="filter-value select-multiple"  multiple="multiple"><option value="7">Accidental / Unintentional</option><option value="58">Combat: civilian casualty of war</option><option value="5">Combat: fatality or Missing in Action</option><option value="60">Combat: war crime</option><option value="53">Disappearance:  exit attempt - forced</option><option value="1">Disappearance: exit attempt</option><option value="61">Disappearance: exit attempt - forced (suspected)</option><option value="62">Disappearance: forced (suspected) not in exit attempt</option><option value="50">Disappearance: forced not in exit attempt</option><option value="6">Disappearance: not forced, not exit atempt, not combat</option><option value="12">Execution</option><option value="3">Execution: by firing squad</option><option value="55">Execution: with prior blood extraction</option><option value="13">Exit attempt: dehydration/drowning/etc.</option><option value="49">Exit attempt: killed by mines</option><option value="54">Exit attempt: other</option><option value="2">Extrajudicial killing</option>
116<option value="57">Extrajudicial killing - possible/suspected</option><option value="52">Extrajudicial killing: exit attempt</option><option value="59">Gross or criminal negligence</option><option value="21">Hunger strike</option><option value="20">Killed by bomb, mine or other explosion</option><option value="8">Medical condition/Denial of medical care</option><option value="4">N/A or Undetermined</option><option value="10">Other</option><option value="51">Politically-motivated killing by non-state agent(s)</option><option value="56">Prisoner/Detainee: assassination or other</option><option value="18">Prisoner/Detainee: reported natural causes</option><option value="9">Suicide/Alleged Suicide</option><option value="16">Terrorism/Attack on civilian</option></select>`,
117	};
118
119	const getRow = element => {
120		return `<tr data-case-id="${element.caseid}" style="cursor: pointer">
121					<td>${element.caseid}</td>
122					<td>${blankOrNull(element.firstname)}</td>
123					<td>${blankOrNull( element.lastname)}</td>
124				<tr/>`;
125	};
126
127	const performSearch = (evt) => {
128		const firstNameElement = $('#first_Name');
129		const lastNameElement = $('#last_Name');
130		const caseIdElement = $('#case_id');
131		const advancedFields = $('.filter-value');
132		let query = ``;
133
134		if (caseIdElement.val().length == 0) {
135			// let queryElems = [];
136			// $(advancedFields).each((index, elem) => {
137			// 	console.log($(elem).val());
138			// 	queryElems.push(`${elem.name}=${$(elem).val()}`);
139			// });
140			// query = queryElems.join('&');
141			console.log('executing advanced search...');
142			let newQuery = $('#advanced-search-form').serialize();
143			caapi.advancedSearch(newQuery);
144		} else {
145		    console.log('executing simple search...');
146			caapi.singleSearch(caseIdElement.val(), firstNameElement.val(), lastNameElement.val());
147		}
148	};
149	
150	const getUrlParameter = function getUrlParameter(sParam) {
151        var sPageURL = window.location.search.substring(1),
152            sURLVariables = sPageURL.split('&'),
153            sParameterName,
154            i;
155    
156        for (i = 0; i < sURLVariables.length; i++) {
157            sParameterName = sURLVariables[i].split('=');
158    
159            if (sParameterName[0] === sParam) {
160                return sParameterName[1] === undefined ? true : decodeURIComponent(sParameterName[1]);
161            }
162        }
163        
164        return false;
165    };
166
167	caapi.singleSearch = (caseId, first_name, last_name) => {
168	    $(document.body).prepend(loadingHtml);
169		caapi.setMessage('Searching...');
170		$.get(`${base_url}/get-simple-search-results/?caseId=${caseId}&first=${first_name}&last=${last_name}`, (results, status) => {
171		    $('.ca-loading').remove();
172			if (status == 'success') {
173				caapi.setData(results.data, results.recordsTotal);
174			} else {
175				alert(`Error getting data from API. `);
176				caapi.setMessage(`Error getting data from API.`);
177			}
178		});
179	};
180
181	caapi.advancedSearch = (query) => {
182	    $(document.body).prepend(loadingHtml);
183		caapi.setMessage('Searching...');
184		$.get(`${base_url}/get-advance-search/?${query}`, (results, status) => {
185		    $('.ca-loading').remove();
186			if (status == 'success') {
187				caapi.setData(results, results.length);
188			} else {
189				alert(`Error getting data from API. `);
190				caapi.setMessage(`Error getting data from API.`);
191			}
192		});
193	};
194
195	// initialize and set
196	caapi.setData = (data, count) => {
197		caapi.data = data;
198		caapi.recordCount = count;
199		caapi.currentPage = 0;
200		caapi.perPage = 15;
201		caapi.drawPage(0);
202	};
203
204	caapi.setMessage = (msg) => {
205		const tableBody = $(tableBodySelector);
206		tableBody.html(`
207				<tr>
208					<td style="text-align: center" colspan="3">
209						<h4>${msg}</h4>
210					</td>
211				</tr>`);
212	};
213
214	caapi.drawPage = (pageNumber) => {
215		if (!pageNumber) pageNumber = caapi.currentPage;
216		const elements = caapi.data.slice(pageNumber * caapi.perPage, (pageNumber + 1) * caapi.perPage);
217		// clear table and spawn new elements
218		const tableBody = $(tableBodySelector);
219		tableBody.html('');
220		elements.forEach(element => {
221			const row = getRow(element);
222			tableBody.append(row);
223		});
224		// set click event
225		$('#results-table tr td').on('click', function(evt) {
226			let caseId = $(this).parent().data('case-id');
227			caapi.showDetailsModal(caseId);
228		});
229		// update pagination
230		let start = pageNumber * caapi.perPage + 1;
231		let end = (pageNumber + 1) * caapi.perPage;
232		if (end > caapi.data.length) end = caapi.data.length;
233		if (end == 0) start = 0;
234		const pagStyle = `display: inline-block; font-size: 14px; font-family: Arial;`;
235		let pagesHtml = '';
236		let totalPages = Math.floor(caapi.data.length / caapi.perPage);
237		
238		for (let i = 0; i < totalPages; i++) {
239		    if (i == pageNumber) {
240		        pagesHtml += `<option selected="selected" value="${i}">${i+1}</option>`;
241		    } else {
242		        pagesHtml += `<option value="${i}">${i+1}</option>`;
243		    }
244		}
245		
246		$('#ca-pagination').html(`
247		    <div style="${pagStyle}">
248		        <p>${LL.showing_results} <b>${start}</b> ${LL.to} <b>${end}</b> ${LL.of} <b>${caapi.data.length}</b></p>
249		    </div>
250	        <div style="float: right; ${pagStyle}">
251	            <span style="margin-right: 4px">Go to page:</span>
252	            <select id="ca-go-to-page" style="${inputStyle}; width: auto;">
253	               ${pagesHtml}
254	            </select>
255	        </div>		    
256		 `);
257		 
258		 $('#ca-go-to-page').on('change', function(evt) {
259		     caapi.goto(parseInt($(this).val()));
260		 });
261	};
262
263	caapi.next = () => {
264		caapi.currentPage++;
265		if (caapi.currentPage * caapi.perPage >= caapi.data.length) {
266			caapi.currentPage = Math.floor(caapi.data.length / caapi.perPage);
267			return;
268		};
269		caapi.drawPage(caapi.currentPage);
270	};
271	
272	caapi.goto = (page) => {
273		caapi.currentPage = page;
274		if (caapi.currentPage * caapi.perPage >= caapi.data.length) {
275			caapi.currentPage = Math.floor(caapi.data.length / caapi.perPage);
276			return;
277		};
278		caapi.drawPage(caapi.currentPage);
279	};	
280
281	caapi.prev = () => {
282		caapi.currentPage--;  
283		if (caapi.currentPage < 0) {
284			caapi.currentPage = 0;
285			return;
286		};
287
288		caapi.drawPage(caapi.currentPage);
289	};
290
291	caapi.showDetailsModal = (caseId) => {
292		const detailsModal = $('.fusion-modal.Details');
293		const leftContent = $('#case-description-left');
294		const rightContent = $('#case-description-right');
295		const topContent = $('#case-description-top');
296		const bottomContent = $('#case-description-bottom');
297
298		leftContent.html('');
299		rightContent.html('');
300		topContent.html('');
301		bottomContent.html('');
302
303		$(`${detailsModal.selector} .modal-dialog`).css('overflow', 'hidden');
304
305		$.get(`${base_url}/get-case-details/?caseId=${caseId}`, (data, response) => {
306			const addField = (attr, text, container) => {
307			    
308			    if (['externalFiles'].indexOf(attr) >= 0 && data[attr].length == 0) return;
309			    
310			    if (!data[attr] || data[attr] == "" || data[attr].length == 0) {
311					container.append(`<div style="color: #aa1a1a; font-size: 14px"><b>${text}:</b> -</div>`);
312					return;
313				}
314				
315				// associatedeventid
316			    if (attr == 'associatedeventid') {
317		        	let relatives = [];
318		        	
319		        	if (!data[attr]) {
320					    container.append(`<div style="color: #aa1a1a; font-size: 14px"><b>${text}:</b> -</div>`);
321    					return;
322    				}
323			        
324			        container.append(`<div style="color: #434343; font-size: 14px"><b>${text}:</b> ${data[attr].associatedeventsname}</div>`);
325				        
326			        return;
327			    }
328			    			   
329			    // relativesInArchive
330			    if (attr == 'relativesInArchive') {
331		        	let relatives = [];
332		        	
333		        	if (data[attr].length == 0) {
334					    container.append(`<div style="color: #aa1a1a; font-size: 14px"><b>${text}:</b> -</div>`);
335    					return;
336    				}
337			        
338			        data[attr].forEach((v, i) => {
339			            let value = `[${v.relatedvictimcaseid.caseid}] - ${v.relatedvictimcaseid.firstname} ${v.relatedvictimcaseid.lastname} (${v.reltypeid.relationshiptype})`
340			            relatives.push(value);
341			        });
342			        
343			        container.append(`<div style="color: #434343; font-size: 14px"><b>${text}:</b><br/> ${relatives.join('<br/>')}</div>`);
344				        
345			        return;
346			    }
347
348                // otherVictimSameEvent
349			    if (attr == 'otherVictimSameEvent') {
350		        	let relatives = [];
351		        	
352		        	if (data[attr].length == 0) {
353					    container.append(`<div style="color: #aa1a1a; font-size: 14px"><b>${text}:</b> -</div>`);
354    					return;
355    				}
356			        
357			        data[attr].forEach((v, i) => {
358			            let value = `[${v.caseid2.caseid}] - ${v.caseid2.firstname} ${v.caseid2.lastname}`
359			            relatives.push(value);
360			        });
361			        
362			        container.append(`<div style="color: #434343; font-size: 14px"><b>${text}:</b><br/> ${relatives.join('<br/>')}</div>`);
363				        
364			        return;
365			    }
366			    
367				if (Array.isArray(data[attr])) {
368				    if (typeof data[attr][0] == 'string') {
369				        let value = data[attr].join(', ')
370				        container.append(`<div style="color: #434343; font-size: 14px"><b>${text}:</b> ${value}</div>`);
371				    } else if (typeof data[attr][0] == 'object') {
372				        let types = [];
373				        
374				        data[attr].forEach((v, i) => {
375				            types.push(Array.from(new Set(Object.values(data[attr][0]))).filter(val => Number.isNaN(parseInt(val))).join(', '));
376				        });
377				        
378					    container.append(`<div style="color: #434343; font-size: 14px"><b>${text}:</b> ${types.join(', ')}</div>`);
379				    }
380				} else if (typeof data[attr] === 'object') {
381					let value = Object.values(data[attr]).filter(val => Number.isNaN(parseInt(val))).join('');
382					container.append(`<div style="color: #434343; font-size: 14px"><b>${text}:</b> ${value}</div>`);
383				} else {
384					container.append(`<div style="color: #434343; font-size: 14px"><b>${text}:</b> ${data[attr]}</div>`);
385				}
386			};
387
388			const addDate = (year, month, day, text, container) => {
389				let date = 'unknown';
390				if (year > 0 && month > 0 && day > 0) {
391					date = moment(`${year}-${month}-${day}`).format('MMM DD, YYYY');
392				}
393				container.append(`<div style="color: #434343; font-size: 14px"><b>${text}:</b> ${date}</div>`)
394			};
395
396			if (response == 'success') {
397				$('.person-name').html(`${data.firstname} ${data.lastname}`);
398				$('.case-id').html(`Case ID: ${data.caseid}`);
399				// personal info
400				leftContent.append('<h4>Personal information</h4>');
401				addField('title', 'Title', leftContent);
402				addField('firstname', 'First name', leftContent);
403				addField('lastname', 'Last name', leftContent);
404				addField('citizenship', 'Citizenship', leftContent);
405				addField('sufix', 'Sufix', leftContent);
406				addField('aliases', 'Alias', leftContent);
407				addField('gender', 'Gender', leftContent);
408				addField('age', 'Age', leftContent);
409				addDate(data.yearofbirth, data.monthofbirth, data.dayofbirth, 'Date of birth', leftContent);
410				addField('civilstatus', 'Civil status', leftContent);
411				addField('lastaddress', 'Last known address', leftContent);
412				addField('lastcity', 'Last known city', leftContent);
413				addField('provinceoldid', 'Last known province at TOD', leftContent);
414				addField('provincenewid', 'Last known province current', leftContent);
415				addField('lastaddresscountry', 'Last known country', leftContent);
416				addField('locationdeathaddress', 'Location death - address', leftContent);
417				addField('locationdeathcity', 'Location of death - city', leftContent);
418				addDate(data.yearofdeath, data.monthofdeath, data.dayofdeath, 'Date of death/disappearance', leftContent);
419				addField('provincedeathatdeath', 'Death/disappearance province at TOD', leftContent);
420				addField('provincedeathcurrent', 'Death/disappearance province (current)', leftContent);
421				addField('locationdeathcountry', 'Death/disappearance - Country', leftContent);
422				addField('occupations', 'Occupations', leftContent);
423				
424				
425				// case details
426				rightContent.append('<h4>Case details</h4>');
427				addField('trial', 'Trial', rightContent);
428				addField('docketnumber', 'Docket number', rightContent);
429				addField('sentence', 'Sentence', rightContent);
430				addField('arrestordetentionatdeath', 'Arrest or detention at time of death', rightContent);
431				addField('arrestlocation', 'Imprisoned or detained location', rightContent);
432				addDate(data.yearofarrest, data.monthofarrest, data.dayofarrest, 'Date of arrest', rightContent);
433				addField('arrestduration', 'Time imprisoned or detained', rightContent);
434				addField('deathattributionid', 'Death attributed to', rightContent);
435				addField('deathattrindividual', 'Death attribution detail', rightContent);
436				addField('violationstatusid', 'Violation status', rightContent);
437				addField('affiliations', 'Affiliations', rightContent);
438				addField('victimTypes', 'Victim Type', rightContent);
439				addField('relativesInArchive', 'Relatives in archive', rightContent);
440				addField('causeOfDeath', 'Cause of death', rightContent);
441				addField('otherVictimSameEvent', 'Other victims on the same event', rightContent);
442
443				// bottom content
444				addField('associatedeventid', 'Associated Event', bottomContent);
445				addField('casedescription', 'Case description', bottomContent);
446				addField('originalsource', 'Source', bottomContent);
447				addField('originalconflicts', 'Conflicts of evidence', bottomContent);
448				addField('externalFiles', 'External files', bottomContent);
449				
450
451				$(`${detailsModal.selector} .modal-dialog div b`).css('color', '#424242');
452				$(`${detailsModal.selector} .fusion-layout-column`).css('margin-bottom', '0');
453				$(`${detailsModal.selector} .fusion-column-wrapper`).css('margin-bottom', '0');
454				$(`${detailsModal.selector} .fusion-column-wrapper`).css('margin-bottom', '0');
455				
456    			$('.modal-dialog.modal-lg').css('overflow-y', 'auto');
457    			
458    			const link = "https://cubaarchive.org/database/?caseid=" + caseId;
459    			
460    			$(bottomContent).append(`<div style="color: #434343; font-size: 14px"><b>Share link:</b> <a href="${link}">${link}</a></div>`);
461    			
462    			var found = false;
463    			
464    			var setImage = function (extension) {
465    			    if (found) return;
466    			    
467         			const profileImg = 'https://cubaarchive.org/database-admin/web/img/casos/'+caseId+extension;
468        			$.ajax({
469                        url: profileImg,
470                        type:'HEAD',
471                        error: function() {
472                            if (found) return;
473                            $('.profile-image').attr('srcset', ['https://cubaarchive.org/wp-content/uploads/2020/03/no-profile-image-png-31-288x300.png'])
474                        },
475                        success: function()
476                        {
477                            if (found) return;
478                            found = true;
479                            $('.profile-image').attr('srcset', [profileImg])
480                        }
481                    });   			    
482    			}
483
484                setImage('.jpg');
485                setImage('.jpeg');
486                setImage('.JPG');
487                setImage('.JPEG');
488    			
489				detailsModal.modal('show');
490			}
491		});
492	};
493
494	$(function(){
495		if ($('#search-button').length > 0) {
496			caapi.setData([], 0);
497	
498			$(function() {
499				// on load
500				$(function() {
501					caapi.singleSearch('', '','');
502				});
503				// set some listeners
504				$(filtersButtonSelector).on('click', () => {
505					// caapi.singleSearch
506				});
507				$('.button-prev').on('click', caapi.prev);
508				$('.button-next').on('click', caapi.next);
509				$('.search-button').on('click', performSearch);
510				
511				$('#case_id, #last_Name, #first_name').on('keyup', evt => {
512					if (evt.keyCode == 13) {
513						evt.preventDefault();
514						performSearch();
515					}
516				});
517
518				var addColumn = function(container, template, text) {
519					let filterRow = `
520						<div class="filter-container" style="margin-bottom: 0px; padding: 5px; margin-right: 10px">
521							<div style="width: 40%; display: inline-block">
522								<span style="font-weight: 600; font-size: 14px">${text}:</span>
523							</div>
524							<div style="width: 55%; display: inline-block" class="template-container">
525								${filterTemplates[template]}
526							</div>
527							<i class="fa-times fas button-remove-filter" style="display: none; cursor: pointer; color: red; padding: 4px; margin-top: 8px; float: right"></i>
528						</div>
529					`;
530
531					container.append(filterRow);
532				}
533				
534				let showing = false;
535
536				$('#filters-button').on('click', function() {
537
538					if (showing) {
539						$('.filter-container').remove();
540					} else {
541						const parent = $(this).parent();
542
543						// addColumn(parent, 'regime', LL.regime_col);
544						addColumn(parent, 'aliases', LL.aliases);
545						addColumn(parent, 'citizenship', LL.citizenship);
546						addColumn(parent, 'day_death', LL.day_of_death);
547						addColumn(parent, 'month_of_death', LL.month_of_death);
548						addColumn(parent, 'year_of_death', LL.year_of_death);
549						addColumn(parent, 'last_know_city', LL.last_know_city);
550						addColumn(parent, 'last_known_province_TOD', LL.last_known_province_TOD);
551						addColumn(parent, 'last_known_country', LL.last_known_country);
552						addColumn(parent, 'location_death_country', LL.location_death_country);
553						addColumn(parent, 'location_death_TOD', LL.location_death_TOD);
554						addColumn(parent, 'location_death_city', LL.location_death_city);
555						addColumn(parent, 'death_atttributed', LL.death_atttributed);
556						addColumn(parent, 'cause_death', LL.cause_death);
557						addColumn(parent, 'associated_event', LL.associated_event);
558						
559						setFilterEvents();
560					}
561
562					showing = !showing;
563				});
564
565				function setFilterEvents() {
566					// remove filter button
567					$('.button-remove-filter').off();
568					$('.button-remove-filter').on('click', function() {
569						$(this).closest('.filter-container').remove();
570					});
571
572					// field selector
573					$('.field-selector').off();
574					$('.field-selector').change(function(evt) {
575						const templateId = $(this).val();
576						const templateContainer = $(this).closest('.filter-container').find('.template-container');
577
578						if (templateContainer.length > 0) {
579							$(templateContainer[0]).html('').append(filterTemplates[templateId]);
580						}
581					});
582
583					$('.select-multiple')
584						.multiselect({ search: true, selectAll: true });
585				}
586				
587				$('#filters-button').click();
588			});
589		}
590	});
591
592	window._CAAPI = caapi;
593	
594	$(document).ready(function(){
595	    const caseId = getUrlParameter('caseid');
596	    if (!caseId) return;
597	    
598	    caapi.showDetailsModal(parseInt(caseId));
599	});
600
601})( jQuery );

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.