class ReferrerInfo {
    constructor(referrerInfoButton) {
        this.caller = null;
        this.expandArrow = null;
        this.collapseArrow = null;
        this.html = null;
        this.data = [];
        let c = this;
        if (referrerInfoButton !== null) {
            this.expandArrow = referrerInfoButton.parentElement.getElementsByClassName("expand-arrow").item(0);
            this.collapseArrow = referrerInfoButton.parentElement.getElementsByClassName("collapse-arrow").item(0);
        }
        else {
            return;
        }
        let dataKeys = [
            "contactMeText",
            "inviteText",
            "referrerName",
            "contactEmail",
            "contactEmailLabel",
            "contactPhone",
            "contactPhoneLabel",
            "contactFacebook",
            "contactFacebookLabel",
            "contactTwitter",
            "contactTwitterLabel",
            "contactPinterest",
            "contactPinterestLabel",
            "contactSkype",
            "contactSkypeLabel",
            "contactInstagram",
            "contactInstagramLabel",
            "contactViber",
            "contactViberLabel",
            "contactWhatsApp",
            "contactWhatsAppLabel",
            "contactYoutube",
            "contactYoutubeLabel",
            "contactLinkedin",
            "contactLinkedinLabel",
            "referrerInformation",
            "referrerInformationLabel"
        ];
        for (var i = 0; i < dataKeys.length; i++) {
            let keyName = dataKeys[i];
            let keyElement = document.getElementById("ReferrerInfo_" + keyName.substr(0, 1).toLocaleUpperCase() + keyName.substr(1));
            if (keyElement) {
                this.data[keyName] = keyElement.innerText;
            }
        }
        return;
    }
    IsVisible() {
        return document.getElementById("Shared_ReferrerInfo_Popup") !== null;
    }
    ShowExpandArrow() {
        if (this.expandArrow !== null) {
            this.expandArrow.classList.remove("d-none");
        }
    }
    HideExpandArrow() {
        if (this.expandArrow !== null) {
            this.expandArrow.classList.add("d-none");
        }
    }
    ShowCollapseArrow() {
        if (this.collapseArrow !== null) {
            this.collapseArrow.classList.remove("d-none");
        }
    }
    HideCollapseArrow() {
        if (this.collapseArrow !== null) {
            this.collapseArrow.classList.add("d-none");
        }
    }
    Close() {
        //document.body.classList.remove("disable-scroll");
        this.HideCollapseArrow();
        this.ShowExpandArrow();
        document.getElementById("Shared_ReferrerInfo_Popup").remove();
        this.html = null;
    }
    Show() {
        let c = this;
        if (document.getElementById("Shared_ReferrerInfo_Banner")) {
            document.getElementById("Shared_ReferrerInfo_Banner").style.height = "0";
            //let c = new Cookies();
            //c.Set("Shared_ReferrerInfo_Banner_Closed", "true", 365);
        }
        if (this.IsVisible()) {
            this.Close();
            return;
        }
        //document.body.classList.add("disable-scroll");
        this.ShowCollapseArrow();
        this.HideExpandArrow();
        let wrapper = document.createElement("div");
        wrapper.classList.add("wrapper");
        let box = document.createElement("div");
        box.classList.add("box");
        let close = document.createElement("button");
        close.classList.add("close");
        box.appendChild(close);
        let closeIcon = document.createElement("i");
        closeIcon.classList.add("fas");
        closeIcon.classList.add("fa-times-circle");
        close.appendChild(closeIcon);
        close.onclick = function () {
            c.Close();
        };
        let contactMeText = document.createElement("h1");
        contactMeText.textContent = this.data["contactMeText"];
        let contact = document.createElement("div");
        contact.classList.add("contacts");
        contact.appendChild(this.Contacts([
            [this.data["contactEmailLabel"], this.data["contactEmail"]],
            [this.data["contactPhoneLabel"], this.data["contactPhone"]]
        ]));
        let community = document.createElement("div");
        community.classList.add("community-services-container");
        let communityList = new Array();
        if (this.data["contactFacebook"] && this.data["contactFacebook"].toLowerCase() != "false")
            communityList.push([this.data["contactFacebookLabel"], this.data["contactFacebook"]]);
        if (this.data["contactTwitter"] && this.data["contactTwitter"].toLowerCase() != "false")
            communityList.push([this.data["contactTwitterLabel"], this.data["contactTwitter"]]);
        if (this.data["contactPinterest"] && this.data["contactPinterest"].toLowerCase() != "false")
            communityList.push([this.data["contactPinterestLabel"], this.data["contactPinterest"]]);
        if (this.data["contactSkype"] && this.data["contactSkype"].toLowerCase() != "false")
            communityList.push([this.data["contactSkypeLabel"], this.data["contactSkype"]]);
        if (this.data["contactInstagram"] && this.data["contactInstagram"].toLowerCase() != "false")
            communityList.push([this.data["contactInstagramLabel"], this.data["contactInstagram"]]);
        if (this.data["contactViber"] && this.data["contactViber"].toLowerCase() != "false")
            communityList.push([this.data["contactViberLabel"], this.data["contactViber"]]);
        if (this.data["contactWhatsApp"] && this.data["contactWhatsApp"].toLowerCase() != "false")
            communityList.push([this.data["contactWhatsAppLabel"], this.data["contactWhatsApp"]]);
        if (this.data["contactYoutube"] && this.data["contactYoutube"].toLowerCase() != "false")
            communityList.push([this.data["contactYoutubeLabel"], this.data["contactYoutube"]]);
        if (this.data["contactLinkedin"] && this.data["contactLinkedin"].toLowerCase() != "false")
            communityList.push([this.data["contactLinkedinLabel"], this.data["contactLinkedin"]]);
        if (communityList.length > 0) {
            community.appendChild(this.Community(communityList));
        }
        else {
            community.classList.add("d-none");
        }
        let hr = document.createElement("hr");
        let details = document.createElement("div");
        details.classList.add("details");
        let detailsTitle = document.createElement("p");
        detailsTitle.classList.add("title");
        detailsTitle.textContent = this.data["referrerInformationLabel"];
        details.appendChild(detailsTitle);
        let detailsText = document.createElement("p");
        detailsText.classList.add("text");
        detailsText.textContent = this.data["referrerInformation"];
        details.appendChild(detailsText);
        this.html = document.createElement("div");
        this.html.setAttribute("id", "Shared_ReferrerInfo_Popup");
        this.html.append(wrapper);
        wrapper.append(box);
        box.append(contactMeText);
        box.append(contact);
        box.append(community);
        box.append(hr);
        box.append(details);
        //document.body.prepend(this.html)
        //console.log(document.getElementById("Shared_ReferrerInfo_HeaderMenu_DetailsPopup"));
        var popupContainers = document.getElementsByClassName("Shared_ReferrerInfo_HeaderMenu_DetailsPopup");
        for (var i = 0; i < popupContainers.length; i++) {
            popupContainers.item(i).appendChild(this.html);
        }
        //document.getElementById("Shared_ReferrerInfo_HeaderMenu_DetailsPopup").appendChild(this.html);
    }
    Contacts(contactsList) {
        let contacts = document.createElement("table");
        let tr = null;
        for (let i = 0; i < contactsList.length; i++) {
            tr = document.createElement("tr");
            contacts.appendChild(tr);
            // Label and data
            let label = contactsList[i][0];
            let colLabel = document.createElement("td");
            colLabel.textContent = label;
            colLabel.classList.add("label");
            tr.appendChild(colLabel);
            let data = contactsList[i][1];
            let colData = document.createElement("td");
            let aData = document.createElement("a");
            if (i == 0) {
                aData.setAttribute("href", "mailto:" + data);
            }
            else if (i == 1) {
                aData.setAttribute("href", "tel:" + data);
            }
            aData.textContent = data;
            colData.appendChild(aData);
            colData.classList.add("data");
            tr.appendChild(colData);
            // Row spacer
            if (i < contactsList.length - 1) {
                tr = document.createElement("tr");
                let spacer = document.createElement("td");
                spacer.classList.add("spacer");
                tr.appendChild(spacer);
                contacts.appendChild(tr);
            }
        }
        return contacts;
    }
    Community(communityList) {
        let community = document.createElement("ul");
        let index = 0;
        for (let i = 0; i < communityList.length; i++) {
            // Label and data
            let service = String(communityList[i][0]).toLowerCase();
            let data = communityList[i][1];
            if (data.length > 0) {
                index++;
                let li = document.createElement("li");
                community.appendChild(li);
                let a = document.createElement("a");
                a.classList.add("service-" + service);
                if (service == "skype") {
                    a.setAttribute("href", "skype:" + data);
                }
                else {
                    a.setAttribute("href", data);
                    a.setAttribute("target", "_blank");
                }
                li.appendChild(a);
                let icon = document.createElement("i");
                if (service == "facebook") {
                    icon.classList.add("fab");
                    icon.classList.add("fa-facebook-square");
                }
                else if (service == "twitter") {
                    icon.classList.add("fa-brands");
                    icon.classList.add("fa-x-twitter");
                }
                else if (service == "pinterest") {
                    icon.classList.add("fab");
                    icon.classList.add("fa-pinterest-square");
                }
                else if (service == "skype") {
                    icon.classList.add("fab");
                    icon.classList.add("fa-skype");
                }
                else if (service == "instagram") {
                    icon.classList.add("fab");
                    icon.classList.add("fa-instagram-square");
                }
                else if (service == "viber") {
                    icon.classList.add("fab");
                    icon.classList.add("fa-viber");
                }
                else if (service == "whatsapp") {
                    icon.classList.add("fab");
                    icon.classList.add("fa-whatsapp-square");
                }
                else if (service == "youtube") {
                    icon.classList.add("fab");
                    icon.classList.add("fa-youtube-square");
                }
                else if (service == "linkedin") {
                    icon.classList.add("fab");
                    icon.classList.add("fa-linkedin");
                }
                a.appendChild(icon);
            }
        }
        return community;
    }
}
//# sourceMappingURL=ReferrerInfo.js.map