// source --> https://the-pixel.com/wp-content/plugins/seo-audit/seoaudit_api.js 
var api_url;
var current_loading_state = 0;
function sas_main_function() {
    const hexToRgb = hex =>
        hex.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, (m, r, g, b) => '#' + r + r + g + g + b + b)
        .substring(1).match(/.{2}/g)
        .map(x => parseInt(x, 16));


    document.querySelectorAll('.sas-widget').forEach(element => {
        apiscript = element;
        var widget_phone = parseInt(apiscript.getAttribute('data-phone'));
        var widget_name = parseInt(apiscript.getAttribute('data-name'));
        var widget_email = parseInt(apiscript.getAttribute('data-email'));
        api_url = apiscript.getAttribute('data-url');

        var widget_buttonlabel = apiscript.getAttribute('data-buttonlabel');
        if (widget_buttonlabel == "" || widget_buttonlabel == undefined) {
            widget_buttonlabel = "Send";
        }
        var wshow_name = "";
        var wshow_phone = "";
        var wshow_email = "";




        var widget_type = parseInt(apiscript.getAttribute('data-type'));
        var pos = apiscript.getAttribute('data-pos');
        var widget_buttoncolor = apiscript.getAttribute('data-buttoncolor');
        var close_button_text = apiscript.getAttribute('data-close_button_text');
        if (close_button_text == undefined || close_button_text == "") {
            close_button_text = "Close this report";
        }

        if (widget_buttoncolor == "" || widget_buttoncolor == undefined) {
            widget_buttoncolor = "#FF164D";
        }


        var css = '.sas-widget-container-inner .sas-widget-submit {background: ' + widget_buttoncolor + ';-webkit-box-shadow: 0px 10px 20px 0px rgba(' + hexToRgb(widget_buttoncolor).join(",") + ',0.25);-moz-box-shadow: 0px 10px 20px 0px rgba(' + hexToRgb(widget_buttoncolor).join(",") + ',0.25);box-shadow: 0px 10px 20px 0px rgba(' + hexToRgb(widget_buttoncolor).join(",") + ',0.25);}',
            body = document.body || document.getElementsByTagName('body')[0],
            style = document.createElement('style');

        style.type = 'text/css';
        if (style.styleSheet) {
            style.styleSheet.cssText = css;
        } else {
            style.appendChild(document.createTextNode(css));
        }

        body.appendChild(style);


        if (widget_email === 2 || !widget_email) {
            //wshow_phone='<label><input type="text" placeholder="Phone" id="widget_phone" ><span>Phone</span></label>';
            wshow_email = '<div class="sas-widget-body-single-input sas-widget_email required"><div class="sas-widget-body-single-input-inner"><input type="email" id="sas-widget_email" name="email" placeholder="* Email" required=""><span class="error"></span></div></div>';
        } else if (widget_email === 1) {
            wshow_email = '<div class="sas-widget-body-single-input sas-widget_email"><div class="sas-widget-body-single-input-inner"><input type="email" id="sas-widget_email" name="email" placeholder="Email"><span class="error"></span></div></div>';
        }

        if (widget_name === 2) {
            //wshow_phone='<label><input type="text" placeholder="Phone" id="widget_phone" ><span>Phone</span></label>';
            wshow_name = '<div class="sas-widget-body-single-input sas-widget_name required"><div class="sas-widget-body-single-input-inner"><input type="text" name="name" id="sas-widget_name" placeholder="* Name"  required=""><span class="error"></span></div></div>';
        } else if (widget_name === 1) {
            wshow_name = '<div class="sas-widget-body-single-input sas-widget_name"><div class="sas-widget-body-single-input-inner"><input type="text" name="name" id="sas-widget_name" placeholder="Name"><span class="error"></span></div></div>';
        }



        if (widget_phone === 2) {
            //wshow_phone='<label><input type="text" placeholder="Phone" id="widget_phone" ><span>Phone</span></label>';
            wshow_phone = '<div class="sas-widget-body-single-input sas-widget_phone required"><div class="sas-widget-body-single-input-inner"><input type="text" name="phone" id="sas-widget_phone" placeholder="* Phone"  required=""><span class="error"></span></div></div>';
        } else if (widget_phone === 1) {
            wshow_phone = '<div class="sas-widget-body-single-input sas-widget_phone need-validate"><div class="sas-widget-body-single-input-inner"><input type="text" name="phone" id="sas-widget_phone" placeholder="Phone"><span class="error"></span></div></div>';
        }








        var submit_button = '';


        var all_input = '<div class="sas-widget-body-single-input sas-widget-widget_url required"><div class="sas-widget-body-single-input-inner"><input type="url" name="url" id="sas-widget_url" placeholder="* Website URL" required=""><span class="error"></span></div></div><div class="sas-widget-body-single-input sas-widget_keyword required"><div class="sas-widget-body-single-input-inner"><input type="text" name="keyword" id="sas-widget_keyword" placeholder="* Keyword" required=""><span class="error"></span></div></div>';
        all_input = '<div id="sas-widget-body-main-sec" class="sas-widget-body-main-sec">' + all_input+ wshow_email + wshow_name + wshow_phone + '</div>';
        apiscript.querySelector(".sas-widget-container-inner").insertAdjacentHTML('beforeend','<div class="sas-widget-form"><div class="sas-widget-form-msg"></div></div>');
        apiscript.querySelector(".sas-widget-form").insertAdjacentHTML('beforeend',all_input);
        apiscript.querySelector(".sas-widget-body-main-sec").insertAdjacentHTML('beforeend','<div class="sas-widget-submit-button"><button type="button" class="sas-widget-submit">' + widget_buttonlabel + '</button></div>');

        apiscript.querySelector(".sas-widget-container-inner").insertAdjacentHTML('beforeend','<div class="sas-widget-form-cros"><span></span><span></span></div>');

        document.body.insertAdjacentHTML('beforeend','<div class="sas-widget-model"><div class="sas-widget-model-container"><div class="sas-widget-model-inner"><iframe  sandbox="allow-scripts allow-same-origin allow-popups" id="sas_widget_frame" name="sas_widget_frame"></iframe></div><a class="sas-widget-model-close sas-widget-model-close-button">'+close_button_text+'</a></div><div class="sas-widget-model-close sas-widget-model-close-back"></div></div>');



        if (widget_type > 0 && widget_type < 4) {
            if (widget_type === 1) {
                var wpos = apiscript.getAttribute('data-pos');
                var widget_popup_icon = apiscript.getAttribute('data-widget_popup_icon');
                if (widget_popup_icon == undefined || widget_popup_icon == "") {
                    widget_popup_icon = api_url+"/wp-widget/img/default-popup-icon.png";
                }
                apiscript.querySelector("#sas-widget-container").classList.add("sas-widget-popup","hide", wpos);
                apiscript.querySelector("#sas-widget-container").insertAdjacentHTML('afterend','<div id="sas-pop-up-hide-show-btn" class="sas-pop-up-hide-show-btn"><img src="' + widget_popup_icon + '" alt="" /></div>');
                var widget_auto_popup = parseInt(apiscript.getAttribute('data-widget_auto_popup'));
                if (widget_auto_popup >= 0) {
                    setTimeout(function() { apiscript.querySelector('#sas-widget-container').classList.remove("hide"); }, widget_auto_popup * 1000);
                }



            } else if (widget_type === 2) {
               
                apiscript.querySelector("#sas-widget-container").classList.add("sas-widget-fixed");
                apiscript.querySelector(".sas-widget-form-cros").style.display="none";



            } else if (widget_type === 3) {
                apiscript.querySelector("#sas-widget-container").classList.add("sas-widget-slim");
                window.addEventListener("load", function() {

                    var height = document.querySelector('#sas-widget-container.sas-widget-slim').offsetHeight + "px";
                    document.documentElement.style.marginTop= height;
                });
                window.addEventListener("resize", function() {

                    var height = document.querySelector('#sas-widget-container.sas-widget-slim').offsetHeight + "px";
                    document.documentElement.style.marginTop= height;
                });
            }

            if(apiscript.querySelector(".sas-pop-up-hide-show-btn")){
                apiscript.querySelector(".sas-pop-up-hide-show-btn").addEventListener("click",function() {
                    apiscript.querySelector('#sas-widget-container').classList.toggle("hide");
                });
    
            }
            

            apiscript.querySelector(".sas-widget-form-cros").addEventListener("click",function() {
                apiscript.querySelector('#sas-widget-container').classList.add("hide");
                if (widget_type === 2) {
                    document.documentElement.style.marginTop = 0;
                }

            });


        }

    });





    async function postData(url = '', data = {}) {
        // Default options are marked with *
        const response = await fetch(url, {
          method: 'POST', // *GET, POST, PUT, DELETE, etc.
          mode: 'cors', // no-cors, *cors, same-origin
          cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached
          credentials: 'same-origin', // include, *same-origin, omit
          headers: {
            'Content-Type': 'application/json'
            // 'Content-Type': 'application/x-www-form-urlencoded',
          },
          redirect: 'follow', // manual, *follow, error
          referrerPolicy: 'no-referrer', // no-referrer, *no-referrer-when-downgrade, origin, origin-when-cross-origin, same-origin, strict-origin, strict-origin-when-cross-origin, unsafe-url
          body: JSON.stringify(data) // body data type must match "Content-Type" header
        });
        return response.json(); // parses JSON response into native JavaScript objects
      }
      


    function setUrlParameter(url, key, value) {

        var key = encodeURIComponent(key),
            value = encodeURIComponent(value);

        var baseUrl = url.split('?')[0],
            newParam = key + '=' + value,
            params = '?' + newParam;

        if (url.split('?')[1] == undefined) { // if there are no query strings, make urlQueryString empty
            urlQueryString = "";
        } else {
            urlQueryString = '?' + url.split('?')[1];
        }

        // If the "search" string exists, then build params from it
        if (urlQueryString) {
            var updateRegex = new RegExp('([\?&])' + key + '=[^&]*');
            var removeRegex = new RegExp('([\?&])' + key + '=[^&;]+[&;]?');
            if (typeof value === 'undefined' || value === null || value === "") { // Remove param if value is empty
                params = urlQueryString.replace(removeRegex, "$1");
                params = params.replace(/[&;]$/, "");

            } else if (urlQueryString.match(updateRegex) !== null) { // If param exists already, update it
                params = urlQueryString.replace(updateRegex, "$1" + newParam);

            } else if (urlQueryString == "") { // If there are no query strings
                params = '?' + newParam;
            } else { // Otherwise, add it to end of query string
                params = urlQueryString + '&' + newParam;
            }
        }

        // no parameter was set so we don't need the question mark
        params = params === '?' ? "" : params;

        return baseUrl + params;
    }

    function is_validate(name, value) {
        if (name == "url") {
            var re = /^(?:(?:https?|ftp):\/\/)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})))(?::\d{2,5})?(?:\/\S*)?$/;
            if (!re.test(value)) {
                return "URL Invalid";
            } else {
                return true;
            }
        } else if (name == "email") {
            var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
            if (!re.test(value)) {
                return "Email invalid";
            } else {
                return true;
            }
        } else if (name == "keyword") {
            if (value.length < 3) {
                return "keyword must be 3 carecter";
            } else {
                return true;
            }
        } else if (name == "name") {
            if (value.length < 3) {
                return "Name must be 3 carecter";
            } else {
                return true;
            }
        } else if (name == "phone") {
            var re = /[\\A-Za-z!"ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â£$%^&\,*_={};:'@#~,.ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦ \/<>?|`ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬\]\[]/g;
            if (re.test(value)) {
                return "Phone invalid";
            } else {
                return true;
            }
        }
    }














    document.querySelectorAll("#sas-widget-container input").forEach(element => {
        element.addEventListener("keyup", function() {
            element.closest(".sas-widget-body-single-input").querySelector(".error").innerHTML = "";
            element.closest(".sas-widget-body-single-input").classList.remove("has-error");
        });
        element.addEventListener("change", function() {
            element.closest(".sas-widget-body-single-input").querySelector(".error").innerHTML = "";
            element.closest(".sas-widget-body-single-input").classList.remove("has-error");
        });
    });
    


    var main_site_url = "";
    var this_is2 = "";

   





    function sas_get_responce(token, data) {
        var complete = false;

        pending_task = parseInt(data.pending_task);

        if (pending_task > 0) {

    
            var pendingTask = document.querySelector(".sas-audit-generate-loader #sas-queue-note #sas-job-count");
            pendingTask.innerText(pending_task);
    
            if (pending_task === 1) {
                var pendingHide = document.querySelector(".sas-audit-generate-loader #sas-queue-note #sas-job-count-plural");
                pendingHide.style.display = "none";
    
                var pendingShow = document.querySelector(".sas-audit-generate-loader #sas-queue-note #sas-job-count-singular");
                pendingShow.style.display = "block";
            } else {
                var pendingHide = document.querySelector(".sas-audit-generate-loader #sas-queue-note #sas-job-count-plural");
                pendingHide.style.display = "none";
    
                var pendingShow = document.querySelector(".sas-audit-generate-loader #sas-queue-note #sas-job-count-singular");
                pendingShow.style.display = "block";
            }
    
            var pendingMulti = document.querySelector(".sas-audit-generate-loader #sas-queue-note #sas-job-wait");
            pendingMulti.innerText(pending_task * 5 + "s");
    
            var pendingHide = document.querySelector(".sas-audit-generate-loader #sas-queue-note");
            pendingHide.style.display = "block";
    
            sas_widget_loader_set_status(2);
        } else if (typeof data.screen_shoot != "undefined" && data.screen_shoot != "none" && data.screen_shoot != "done") {

    
            var getImgAttr = document.querySelector(".sas-audit-generate-loader .sas-analyze-screenshot-image img");
    
            getImgAttr.setAttribute("src", data.screen_shoot);
    
            getImgAttr.style.opacity = "1";
    
            sas_widget_loader_set_status(4);
        } else if (typeof data.finished != "undefined" && data.finished == "done") {
   
            var src = api_url + "/report/";
            src = setUrlParameter(src, "id", data.widget_id);
            src = setUrlParameter(src, "share", data.share_key);
            src = setUrlParameter(src, "type", "lead");
    
            var getIframe = document.querySelector(".sas-widget-model .sas-widget-model-inner #sas_widget_frame");
            var download_button = document.querySelector(".sas-widget-model .sas-widget-model-inner .download__pdf__for__report");
            if(download_button != undefined){
                download_button.outerHTML = "";
            }
            var a_tag = '<div  class="download__pdf__for__report"></div>';
            if (data.can_lead){
                var a_tag = '<div class="download__pdf__for__report"><a download href="'+api_url+'/api/v1/download_pdf/?file_name=report&share_key='+data.share_key+'&id='+data.widget_id+'&type=lead" class="download__pdf">Download PDF</a></div>';
                
                
            }
            getIframe.insertAdjacentHTML( 'beforeBegin', a_tag );

            
            html_data = '<div class="report-page-container"><div class="report-page-inner"><span>'+data.audit_html+' </span></div></div>';
            if (!data.can_lead){ 
                var close_element = document.querySelector(".sas-widget-model-close-button")
                close_element.innerHTML = "TRY IT FREE";
                close_element.addEventListener("click",function() {
                    window.location.href = data.dashboard_url+"pricing";
                });
                close_element.style.backgroundColor = "black";
            }
            

            frameDoc = getIframe.contentDocument || getIframe.contentWindow.document;
            frameDoc.documentElement.innerHTML=html_data;

            
            // getIframe.insertAdjacentHTML( 'afterend', a_tag );
            
            setTimeout(function () {
                var modelAddClass = document.querySelector(".sas-widget-model");
                modelAddClass.classList.add("active");
    
                sas_widget_loader_end();
                document.body.classList.add("sas-widget-actived");
            }, 1000);
    
            complete = true;
        } else {
            var hideNote = document.querySelector(".sas-audit-generate-loader #sas-queue-note");
            hideNote.style.display = "none";
    
            sas_widget_loader_set_status(3);
        }
    
        if (complete === false) {
            setTimeout(function () {
                var params = api_url + "/api/v1/lead/" + token+"/";
                fetch(params)
                    .then((response) => {
                        return response.json();
                    })
                    .then((data) => {
                        if (data.code != "success") {
                            var removeClass = document.querySelectorAll("#sas-audit-generate-loader .sas-analyze-error, #sas-widget-container .sas-analyze-error *");
                            removeClass.classList.remove("sas-hide");
                            setTimeout(function () {
                                var newCon = document.querySelector("#sas-widget-container");
    
                                var widgetContainer = document.querySelector("#sas-widget-container");
    
                                widgetContainer.parentElement.querySelector(".sas-widget-form-msg").innerHTML("<span class='error'>There are some error</span>");
    
                                sas_widget_loader_end();
                            }, 2000);
                            console.log("abar");
                        } else {
                            sas_get_responce(token, data.data.page_states);
                        }
                    })
                    .catch((err) => {
                        document.querySelectorAll("#sas-audit-generate-loader .sas-analyze-error, #sas-widget-container .sas-analyze-error *").forEach(element => {
                            element.classList.remove("sas-hide");
                        });;
                        setTimeout(function () {
                            var newCon = document.querySelector("#sas-widget-container");

                            var widgetContainer = document.querySelector("#sas-widget-container");

                            document.querySelector("#sas-widget-container .sas-widget-form-msg").innerHTML = "<span class='error'>There are some error</span>";

                            sas_widget_loader_end();
                        }, 2000); 
                        console.log("abar");
                        console.log(err);

                    });
            }, 2000);
        }
    }
    
    document.querySelector('.sas-widget-submit').addEventListener("click",function() {
        var url = this.closest("#sas-widget-container").querySelector(".sas-widget-body-single-input input#sas-widget_url").value;

        var url2 = url.toLowerCase();
        if (url2.indexOf("http://") === -1 && url2.indexOf("https://") === -1) {
            url = "http://" + url2;

        }
        sas_widget_loader_start(url, this.closest("#sas-widget-container").querySelector(".sas-widget-body-single-input input#sas-widget_keyword").value);
        var this_is = this;
        var error = false;
        var params = api_url+"/api/v1/lead/create/";
        var data = {}
        this.closest("#sas-widget-container").querySelectorAll(".sas-widget-body-single-input input").forEach(element => {
            var name = element.getAttribute('name');
            var value = element.value;
            if (typeof name != undefined && name != "") {

                if (element.closest(".sas-widget-body-single-input").classList.contains("required")) {
                    if (typeof value != undefined && value != "") {
                        var valid_this = is_validate(name, value);
                        if (valid_this === true) {
                            params = setUrlParameter(params, name, value);
                            data[name] = value;
                            if (name == "url") {
                                main_site_url = value;
                            }

                        } else {
                            element.closest(".sas-widget-body-single-input").querySelector(".error").innerHTML = valid_this;
                            element.closest(".sas-widget-body-single-input").classList.add("has-error");
                            error = true;
                        }
                    } else {
                        element.closest(".sas-widget-body-single-input").querySelector(".error").innerHTML = "This is required";
                        element.closest(".sas-widget-body-single-input").classList.add("has-error");
                        error = true;
                    }


                } else {
                    if (typeof value != undefined && value != "") {
                        if (element.closest(".sas-widget-body-single-input").classList.contains("need-validate")) {
                            var valid_this = is_validate(name, value);
                            if (valid_this === true) {
                                params = setUrlParameter(params, name, value);
                                data[name] = value;
                            } else {
                                element.closest(".sas-widget-body-single-input").querySelector(".error").innerHTML = valid_this;
                                element.closest(".sas-widget-body-single-input").classList.add("has-error");
                                error = true;
                            }
                        } else {
                            params = setUrlParameter(params, name, value);
                            data[name] = value;
                        }

                    }


                }


            }
        });

        

        var widget_key = this.closest(".sas-widget").getAttribute('data-key');
        if (error === false && typeof widget_key != undefined && widget_key != "") {
            setTimeout(function() {
                sas_widget_loader_set_status(1);
    
            }, 10);
            params = setUrlParameter(params, "key", widget_key);
            data["key"] = widget_key;
            params = setUrlParameter(params, "reference_url", window.location.href);
            data["reference_url"] = window.location.href;



            postData(params, data)
                .then(data => {

                    if (data.data.params != undefined) {
                        let k;
                        for (k in data.data.params) {
                            var target = '.sas-widget-body-single-input input[name="' + k + '"]';
                            if (k == "key" || k == "reference_url" || k == "other") {
                                this_is.closest("#sas-widget-container").querySelector(".sas-widget-form-msg").insertAdjacentHTML('beforeend',"<span class='error'>" + data.data.params[k] + "</span>")
                            } else {
                                this_is.closest("#sas-widget-container").querySelector(target).closest(".sas-widget-body-single-input").querySelector(".error").innerHTML = data.data.params[k];
                                this_is.closest("#sas-widget-container").querySelector(target).closest(".sas-widget-body-single-input").classList.add('has-error');
                            }

                        }
                        sas_widget_loader_end();

                    } else if (data.data.page_states.token != undefined) {

                        sas_get_responce(data.data.page_states.token, data.data.page_states);
                    } else {
                        document.querySelector("#sas-widget-container")[0].querySelector(".sas-widget-form-msg").innerHTML = "<span class='error'>There are some error</span>";
                    }

                })
                .catch(err => {
                    sas_widget_loader_end();
                })


        } else {
            sas_widget_loader_end();
        }
    });















    document.querySelector(".sas-widget-model-close").addEventListener("click",function() {
        var close_button_redirect_url = apiscript.getAttribute('data-close_button_redirect_url');
        if (close_button_redirect_url == undefined || close_button_redirect_url == "") {
            document.body.classList.remove("sas-widget-actived");
            document.querySelector(".sas-widget-model").classList.remove("active");
        }else{
            window.location.href = close_button_redirect_url;
        }
        
    });


    if(document.querySelector(".sas-widget-slim .sas-widget-title")){
        document.querySelector(".sas-widget-slim .sas-widget-title").addEventListener("click",function() {
            if (window.innerWidth < 550) {
                this.closest(".sas-widget-slim").classList.toggle("slim-form-active");
            }
        });
    }
   



    function sas_widget_loader_start(url, keyword) {
        if(document.querySelector('.sas-audit-generate-loader')){
            document.querySelector('.sas-audit-generate-loader').remove();

        }
        var content = ' <div class="sas-audit-generate-loader" style=""> <div class="sas-audit-generate-loader-inner" style=""> <div class="sas-audit-generate-loader-body"> <article> <h1>Preparing Technical SEO Report</h1> <div class="sas-url__key"> <h3><strong> URL: &nbsp; <a href="' + url + '" target="_blank" rel="nofollow noopener noreferrer" class="sas-no-external"> ' + url + ' </a> </strong></h3> <h3> <strong>Keyword:&nbsp;</strong> ' + keyword + '</h3> </div><div class="sas-analyze-error sas-box sas-box-error sas-hide"> <h3>We couldn\'t complete your analysis</h3> <div class="sas-analyze-error-queue sas-hide"> <p>Sorry - we were unable to successfully generate a report due to high volumes. Please try again in a few minutes.</p><p> <strong>GTmetrix PRO users get top priority in the test queue.</strong></p><p> <a href="/pro/" target="_blank"><strong>Upgrade to PRO</strong></a> to reduce your wait times.</p></div><div class="sas-analyze-error-other hide"> <p>We encountered an internal error and your report could not be generated.</p><p>We\'ve logged the incident for further investigation and hope to resolve it soon. We apologize for the inconvenience.</p></div></div><div class="sas-analyze-wrapper"> <div class="sas-analyze-content"> <div id="sas-status" class="sas-analyze-status">1. Adding job to queue...</div><div class="sas-analyze-status-message"></div><div class="sas-analyze-status-bar"> <div class="sas-analyze-status-bar-segment "><span></span></div><div class="sas-analyze-status-bar-segment"><span></span></div><div class="sas-analyze-status-bar-segment"><span></span></div><div class="sas-analyze-status-bar-segment"><span></span></div></div><div id="sas-queue-note" class="sas-analyze-queue-note box box-info" style="display: none;"> <p style="color:red;"> <strong><span id="sas-job-count"></span><span id="sas-job-count-plural"> jobs are</span><span id="sas-job-count-singular" style="display: none"> job is</span> ahead of you</strong> - Estimated wait is <span id="sas-job-wait"></span>.</p></div><div class="sas-analyze-details box"> <div class="sas-analyze-details-item sas-flex__box clear"> <label>Test Server Region:</label> <div class="sas-analyze-details-value"> <i class="sas-sprite-region-1"></i> New York, USA</div></div><div class="sas-analyze-details-item sas-flex__box clear"> <label>Collecting Page Data Using:</label> <div class="sas-analyze-details-value"> <i class="sas-sprite-browser-3"></i> Chrome Browser (Desktop)</div></div></div></div><div class="sas-analyze-screenshot-wrapper-wrapper"> <div class="sas-analyze-screenshot-wrapper sas-analyze-screenshot-analyzing sas-analyze-screenshot-desktop"> <div class="sas-analyze-screenshot"> <div class="sas-analyze-screenshot-loader"> <div></div><div></div><div></div><div></div></div><div class="sas-analyze-screenshot-scanner"></div><div class="sas-analyze-screenshot-image" style=""> <div class="sas-bar_animation"></div><div class="sas-multi-ripple"> <div></div><div></div></div><img src="" alt="" style="opacity: 0;"> </div></div></div></div></div></article> </div><div class="sas-loader-minimize"><div class="sas-loader-minimize-button"><span></span><span></span></div><div class="sas-loader-minimize-text"><span class="sas-min">minimize</span><span class="sas-max">maximize</span></div></div><div class="sas-loader-maximize"></div></div></div>';



        document.body.insertAdjacentHTML('beforeend',content);
        document.body.classList.add("sas-widget-actived");
        document.body.classList.remove("sas-loader-minimized");
        document.querySelector(".sas-loader-maximize").addEventListener("click",function() {
            document.body.classList.remove("sas-loader-minimized");
        });

        document.querySelector(".sas-loader-minimize").addEventListener("click",function() {
            document.body.classList.toggle("sas-loader-minimized");

        });

    }
    sas_status_message_interval = "";

    function sas_widget_loader_set_status(status) {
        if(current_loading_state != status){
            current_loading_state = status;
        }else{
            return;
        }
        var message_list1 = ["Start", "Process", "End"];
        var message_list2 = ["Health"];
        var message_list3 = [
            "Loading Speed",
            "Page Errors",
            "Page Size",
            "Broken Links",
            "HTML Request",
            "Java Script",
            "Image Request",
            "CSS Request",
            "Content",
            "URL ",
            "Meta Title",
            "Meta Description",
            "Image Health",
            "Alt Attribute",
            "H1 Tag",
            "H2 Tag",
            "H3 Tag",
            "Keyword Health",
            "Keyword Density",
            "Keyword Visibility",
        ];
        var message_list4 = [
            "Mobile Responsiveness",
            "HTTP Request",
            "Contentful Paint",
            "Loading Time",
            "SEO Score",
            "Ranking Recommendation",
        ];
        var status_list = [{
                "status": "1. Start the system...",
                "messages": message_list1,
            },
            {
                "status": "2. Analyzing your server...",
                "messages": message_list2,
            },
            {
                "status": "3. Scanning your website...",
                "messages": message_list3,
            },
            {
                "status": "4. Generating Report...",
                "messages": message_list4,
            },

        ];
        if (document.querySelector(".sas-audit-generate-loader .sas-analyze-status-bar")) {

            var target = ".sas-audit-generate-loader .sas-analyze-status-bar .sas-analyze-status-bar-segment:nth-child(" + status + ")";
            
            for(var i=0; i<status; i++){
                var target2 = ".sas-audit-generate-loader .sas-analyze-status-bar .sas-analyze-status-bar-segment:nth-child(" + i + ")";
                if(document.querySelector(target2)){
                    document.querySelector(target2).classList.add("sas-force-complete");
                }
                
            }

            document.querySelector(target).classList.add("sas-analyze-status-bar-segment-on");
          
        }
        var status_n = status - 1;
        document.querySelector(".sas-audit-generate-loader .sas-analyze-content .sas-analyze-status").innerHTML = status_list[status_n]["status"];
        var iterations = 0;
        clearInterval(sas_status_message_interval);
        if(document.querySelector(".sas-audit-generate-loader .sas-analyze-content .sas-analyze-status-message")){
            document.querySelector(".sas-audit-generate-loader .sas-analyze-content .sas-analyze-status-message").innerHTML = status_list[status_n]["messages"][1];
        }
        
        sas_status_message_interval = setInterval(
            function() {
                if(document.querySelector(".sas-audit-generate-loader .sas-analyze-content .sas-analyze-status-message")){
                    document.querySelector(".sas-audit-generate-loader .sas-analyze-content .sas-analyze-status-message").innerHTML = status_list[status_n]["messages"][iterations];
                }
                
                iterations++;
            }, 2000
        );

    }

    function sas_widget_loader_end() {
        document.querySelector('.sas-audit-generate-loader').remove();
        document.body.classList.remove("sas-widget-actived");
        document.body.classList.remove("sas-loader-minimized");

    }

}

if (document.readyState = "complete") {
    sas_main_function();

} else {
    document.querySelector(document).ready(sas_main_function);

};