﻿var fileLocation = "";
var Browserversion = "";

function initializePopupBlocker() {
    $("#dialog-modal").dialog({
        autoOpen: false,
        height: 220,
        width: 380,
        modal: true
    });

    $("#dialog-Confirm").dialog({
        autoOpen: false,
        height: 220,
        width: 380,
        modal: true
    });

    $("#dialog-Printer").dialog({
        autoOpen: false,
        height: 220,
        width: 380,
        modal: true
    });

    $("#dialog-modalExport").dialog({
        autoOpen: false,
        height: 220,
        width: 380,
        modal: true
    });
}
function detectPopupBlocker() {
    var myTest = window.open("about:blank", "", "directories=no,height=100,width=100,menubar=no,resizable=no,scrollbars=no,status=no,titlebar=no,top=0,location=no");
    if (!myTest) {
        return "Failed";
    } else {
        myTest.close();
        return "Success";
    }
}

function DisplayStatusMsg(displayCtrlName, eventCtrlName) {
    var returnMethodStatus = '';
    var infoIcon = '<span class="ui-icon ui-icon-alert" style="float:left; margin:4px 7px 20px 0;"></span>';
    switch (eventCtrlName) {
        case 'btnPopUpBlocker':
            returnMethodStatus = detectPopupBlocker();
            if (returnMethodStatus == "Success") {
                $("#spnPopUPBlocker").removeClass("ErrorMsgStyle")
                $("#spnPopUPBlocker").addClass("SuccessMsgStyle");
                $("#spnPopUPBlockerSug").addClass("DisableSuggestion");
                document.getElementById(displayCtrlName).innerHTML = returnMethodStatus;
            } else {
                $("#spnPopUPBlocker").removeClass("SuccessMsgStyle")
                $("#spnPopUPBlocker").addClass("ErrorMsgStyle");
                document.getElementById(displayCtrlName).innerHTML = "Failed: Pop-ups blocked.";
                $("#spnPopUPBlockerSug").removeClass("DisableSuggestion");
                $("#spnPopUPBlockerSug").addClass("SuggestionStyle");
            }
            break;
        case 'btnPrinter':
            returnMethodStatus = CheckTeviewer();
            if (returnMethodStatus == "Success") {
                GetPrinters();
            } else {
                $("#spnPrinter").removeClass("SuccessMsgStyle");
                $("#spnPrinter").addClass("ErrorMsgStyle");
                document.getElementById("spnPrinter").innerHTML = "Failed: Image Viewer is not installed.";
                $("#spnPrinterTeviewerSug").removeClass("DisableSuggestion");
                $("#spnPrinterTeviewerSug").addClass("SuggestionStyle");
            }
            break;
        case 'btnEmailSubmit':
            CheckEmailStatus();
            break;
        case 'btnExportSubmit':
            returnMethodStatus = CheckTeviewer();
            if (returnMethodStatus == "Success") {
                OpenExportDialogBox();
            } else {
                $("#spnExport").removeClass("SuccessMsgStyle");
                $("#spnExport").addClass("ErrorMsgStyle");
                document.getElementById(displayCtrlName).innerHTML = returnMethodStatus;
                $("#spnExportTeviewerSug").removeClass("DisableSuggestion");
                $("#spnExportTeviewerSug").addClass("SuggestionStyle");
            }
            break;
        case 'btnAdobeReadersubmit':
            returnMethodStatus = OpenPDF();
            if (returnMethodStatus == "Success") {
                $("#divDisplayMsg").html(infoIcon + "Did the PDF file open successfully?");
                $("#dialog-Confirm").dialog("option", "buttons", {
                    Yes: function() {
                        $("#spnAdobeReader").removeClass("ErrorMsgStyle");
                        $("#spnAdobeReader").addClass("SuccessMsgStyle");
                        $("#spnAdobeReaderSug").addClass("DisableSuggestion");
                        document.getElementById(displayCtrlName).innerHTML = returnMethodStatus;
                        $(this).dialog("close");
                    },
                    No: function() {
                        document.getElementById(displayCtrlName).innerHTML = "Failed: Failed to Open PDF file.";
                        $("#spnAdobeReader").removeClass("SuccessMsgStyle");
                        $("#spnAdobeReader").addClass("ErrorMsgStyle");
                        $("#spnAdobeReaderSug").removeClass("DisableSuggestion");
                        $("#spnAdobeReaderSug").addClass("SuggestionStyle");
                        $(this).dialog("close");
                    }
                });
                $("#dialog-Confirm").dialog("open");
            } else {
                $("#spnAdobeReader").removeClass("SuccessMsgStyle");
                $("#spnAdobeReader").addClass("ErrorMsgStyle");
                document.getElementById(displayCtrlName).innerHTML = returnMethodStatus;
                $("#spnAdobeReaderSug").removeClass("DisableSuggestion");
                $("#spnAdobeReaderSug").addClass("SuggestionStyle");
            }
            break;
        case 'btnTeviewerSubmit':
            returnMethodStatus = CheckTeviewer();
            if (returnMethodStatus == "Success") {
                CheckImageViewer();
            }
            else {
                $("#spnTviewer").removeClass("SuccessMsgStyle");
                $("#spnTviewer").addClass("ErrorMsgStyle");
                document.getElementById("spnTviewer").innerText = "Failed: Image Viewer is not installed.";
                $("#spnTviewerSug").removeClass("DisableSuggestion");
                $("#spnTviewerSug").addClass("SuggestionStyle");
            }
            break;
        case 'btnIESubmit':
            if ($.browser.msie) {
                if ($.browser.version < 7) {
                    $("#spnIEVersion").addClass("ErrorMsgStyle");
                    document.getElementById(displayCtrlName).innerHTML = "Not Certified";
                }
                else {
                    $("#spnIEVersion").addClass("SuccessMsgStyle");
                    document.getElementById(displayCtrlName).innerHTML = Browserversion; //IEVersion().BrowserInfo; //"Internet Explorer " + $.browser.version;
                }
            } else {
                $("#spnIEVersion").removeClass("SuccessMsgStyle");
                $("#spnIEVersion").addClass("ErrorMsgStyle");
                document.getElementById(displayCtrlName).innerHTML = "Failed: Incompatible browser";
                $("#spnIEVersionSug").removeClass("DisableSuggestion");
                $("#spnIEVersionSug").addClass("SuggestionStyle");
            }
            break;
        case 'btnCheckCookie':
            //if (isCookiesEnabled()) {
                $("#spnCookieChecker").addClass("ErrorMsgStyle");
                document.getElementById(displayCtrlName).innerHTML = "Not Implemented";
            //}
            //else {
            //}

        case 'btnChkNetWorkSpeed':
            var FileUrl = "";
            var hostname = '';
            if (AppValue == null) {
                hostname = document.location.hostname;
            } else {
                hostname = AppValue;
            }
            FileUrl = "http://" + hostname + "/DataTrace.Storage/Atlas/ReadyCheck/TEViewer Setup.exe";

            $.ajax({
                type: 'POST',
                url: 'ReadyCheck.aspx/CheckNetworkSpeed',
                contentType: "application/json; charset=utf-8",
                data: "{'Url':'" + FileUrl + "'}",
                dataType: 'json',
                success: function(data) {
                    document.getElementById("spnChkNetWorkSpeed").innerHTML = data.d;
                    $("#spnChkNetWorkSpeed").addClass("SuccessMsgStyle");
                    $("#spnChkNetWorkSpeed").removeClass("ErrorMsgStyle");
                },
                error: function(data) {
                    document.getElementById("spnChkNetWorkSpeed").innerHTML = "Failed";
                    $("#spnChkNetWorkSpeed").removeClass("SuccessMsgStyle");
                    $("#spnChkNetWorkSpeed").addClass("ErrorMsgStyle");
                }
            });
            break;
    } 
}


function CheckEmailStatus() {
    $("#dialog-modal").dialog("option", "buttons", {
        Submit: function() {
        if (validateEmail($("#txtFrom")) && validateEmail($("#txtTo"))) {
               SubmitMail($("#txtFrom").val(), $("#txtTo").val(), $(this));
           }
        }
    });
        $("#dialog-modal").dialog("option", "title");
        $("#divValidateEmail").html("");
        $("#dialog-modal").dialog("open");
    }

function SubmitMail(From,To, dialogbox){
    dialogbox.dialog("close");
    $.ajax({
            type: 'POST',
            url: 'ReadyCheck.aspx/SendEmail',
            contentType: "application/json; charset=utf-8",
            data: "{'From':'" + From + "','To':'" + To + "'}",
            dataType: 'json',
            success: function(data) {
                openEmailSuccessPopUp(data)
            },
            error: function(data) {
                document.getElementById("spnEmail").innerHTML = "Failed : "+data.d;
                $("#spnEmail").removeClass("SuccessMsgStyle");
                $("#spnEmail").addClass("ErrorMsgStyle");
                $("#spnEmailSug").removeClass("DisableSuggestion");
                $("#spnEmailSug").addClass("SuggestionStyle");
            }
        });
    }

    function openEmailSuccessPopUp(data) {
        if (data.d == "SUCCESS") {
            var infoIcon = '<span class="ui-icon ui-icon-alert" style="float:left; margin:4px 7px 20px 0;"></span>';
            $("#divDisplayMsg").html(infoIcon + "Was the test email received successfully?");
            $("#dialog-Confirm").dialog("option", "buttons", {
                Yes: function() {
                	$("#spnEmail").removeClass("ErrorMsgStyle");
					$("#spnEmail").addClass("SuccessMsgStyle");
                	$("#spnEmailSug").addClass("DisableSuggestion");
                    document.getElementById("spnEmail").innerHTML = "Success";
                    $(this).dialog("close");
                },
                No: function() {
                    document.getElementById("spnEmail").innerHTML = "Failed: Failed to send email";
                    $("#spnEmail").removeClass("SuccessMsgStyle");
                    $("#spnEmail").addClass("ErrorMsgStyle");
                    $("#spnEmailSug").removeClass("DisableSuggestion");
                    $("#spnEmailSug").addClass("SuggestionStyle");
                    $(this).dialog("close");
                }
            });
            $("#dialog-Confirm").dialog("open");
        } else {
            $("#spnEmail").removeClass("SuccessMsgStyle");
            $("#spnEmail").addClass("ErrorMsgStyle");
            document.getElementById("spnEmail").innerHTML = "Failed: Failed to send email";
            $("#spnEmailSug").removeClass("DisableSuggestion");
            $("#spnEmailSug").addClass("SuggestionStyle");
        }
    }

    function startDownload() {
        try {
            var url = 'ReadyCheckReq/ExportTest.zip';
            window.open(url, 'Download');
            return "Success";
        }
        catch (Err) {
            return "Failed :" + Err;
        }
    }

    function OpenPDF() {
        try {
            var hostname = '';
            if (AppValue == null) {
                hostname = document.location.hostname;
            } else {
                hostname = AppValue;
            }
            var url = "http://" + hostname + "/DataTrace.Storage/Atlas/ReadyCheck/PDFReaderTest.pdf";
            var myTest = window.open(url, 'OpenPDF');
            if (!myTest) {
                return "Failed: Pop-ups blocked.";
            } else {
                return "Success";
            }            
        }
        catch (Err) {
            return "Failed : PDF Reader is not install.";
        }
    }

    function CheckTeviewer() {
        try {
            if (window.ActiveXObject) {
                if (!document.getElementById('objImageViewer')) {
                    checkActive();
                } 
            }var objImageViewer = document.getElementById('objImageViewer');
                    var ActvXStatus = objImageViewer.webTexasTaxUpdate(0);
                    return "Success";
        }
        catch (Err) {
            return "Failed: Image Viewer is not installed.";
        }
        return "Failed: Image Viewer is not installed.";
    }

    function CheckImageViewer() {
        try {
            if (window.ActiveXObject) {
                var objImageViewer = document.getElementById('objImageViewer');
                var NavigateUrl = "ViewImage.aspx";
                var WinReport = window.open(NavigateUrl, 'DialogBox', 'menubar=no,location=0,width=600,height=600,toolbar=0,scrollbars=0,status=0,resizable=1,left=50,top=50');
                imageViewerConfirm();
            }
        }
        catch (Err) {
            return "Failed: Image Viewer is not installed.";
        }
        return "Failed: Image Viewer is not installed.";
    }


    function detect_acrobat() {
        var acrobatStatus = '';
        try {
            if ((navigator.userAgent.toLowerCase()).indexOf("msie") > -1) {
                var control = null;
                try {
                    control = new ActiveXObject('AcroPDF.PDF');
                }
                catch (e) {
                    acrobatStatus = "Failed: PDF reader not found";
                }
                if (!control) {
                    try {
                        control = new ActiveXObject('PDF.PdfCtrl');
                    }
                    catch (e) {
                        acrobatStatus = "Failed: PDF reader not found";
                    }
                }

                if (!control) {
                    return acrobatStatus;
                }
                acrobatStatus = "Success";
            }
            else if (browser_info.name == "chrome") {
                for (key in navigator.plugins) {
                    if (navigator.plugins[key].name == "Chrome PDF Viewer" || navigator.plugins[key].name == "Adobe Acrobat") {
                        browser_info.acrobat = "installed";
                        browser_info.acrobat_ver = parseInt(navigator.plugins[key].version) || "Chome PDF Viewer";
                    }
                }
            }

            else if (navigator.plugins != null) {
                var acrobat = navigator.plugins['Adobe Acrobat'];
                if (acrobat == null) {
                    browser_info.acrobat = null;
                    return browser_info;
                }
                browser_info.acrobat = "installed";
                browser_info.acrobat_ver = parseInt(acrobat.version[0]);
            }
        }
        catch (e) {
            acrobatStatus = "Failed: PDF reader not found";
        }
        return acrobatStatus;
    }

   

    function validateEmail($email) {
        var emailReg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
        if (!emailReg.test($email.val())) {
            if ($email.selector == "#txtFrom") {
                $("#divValidateEmail").addClass("EmailValidationError");
                var infoIcon = '<span class="ui-icon ui-icon-alert" style="float:left; margin:4px 7px 20px 0;"></span>';
                $("#divValidateEmail").html(infoIcon + "Please enter a valid 'From' address.");
            } else {
                $("#divValidateEmail").addClass("EmailValidationError");
                var infoIcon = '<span class="ui-icon ui-icon-alert" style="float:left; margin:4px 7px 20px 0;"></span>';
                $("#divValidateEmail").html(infoIcon + "Please enter a valid 'To' address."); 
            }
            return false;
        } else {
            return true;
        }
    }

    function Print(printxml, dialogbox) {
        dialogbox.dialog("close");
        try {
            var objImageViewer = document.getElementById('objImageViewer');
            if (window.ActiveXObject) {
                objImageViewer.webPrintImage(printxml, 0);
                PrinterConfirmMsg();
            }
            else {
                var embed = document.embeds[0];
                embed.webPrintImage(printxml, 0);
            }
        } catch (err) {
    }
}

var printerxml = "";
function GetPrinters() {
    try {
        printerxml = "";

        if (window.ActiveXObject) {
            if (document.getElementById('objImageViewer')) {
                printerxml = document.getElementById('objImageViewer').webGetPrinters(0, 0, 0);
                //printerxml = '<UTILITY_PRINTER_LIST VERSION="2.0"><RESPONSE><RESPONSE_DATA><PRINTERS><PRINTER STATUS="READY" DEFAULT="NO"><NAME>UNIVERSAL DOCUMENR CONVERTER</NAME><COMMENT>WWW.PRINT-DRIVER.COM</COMMENT><LOCATION>UDC OUTPUT FILES</LOCATION><TYPE>UNVERSAL DOCUMENT CONVERTOR</TYPE></PRINTER><PRINTER STATUS="READY" DEFAULT="NO"><NAME>PRIMOPDF</NAME><COMMENT></COMMENT><LOCATION>PRIMOPORT:</LOCATION><TYPE>PRIMOPDF</TYPE></PRINTER><PRINTER STATUS="READY" DEFAULT="NO"><NAME>PAPERPORT COLOR IMAGE</NAME><COMMENT></COMMENT><LOCATION>BIPORT</LOCATION><TYPE>PAPERPORT MONO PRINTER DRIVER</TYPE></PRINTER><PRINTER STATUS="READY" DEFAULT="NO"><NAME>PAPERPORT BLACK & WHITE IMAGE</NAME><COMMENT></COMMENT><LOCATION>BIPORT</LOCATION><TYPE>PAPERPORT MONO PRINTER DRIVER</TYPE></PRINTER><PRINTER STATUS="READY" DEFAULT="NO"><NAME>Microsoft Office Live Meeting 2007 Document Writer</NAME><COMMENT></COMMENT><LOCATION>Microsoft Office Live Meeting 2007 Document Writer Port:</LOCATION><TYPE>Microsoft Office Live Meeting 2007 Document Writer Driver</TYPE></PRINTER><PRINTER STATUS="READY" DEFAULT="NO"><NAME>Brother PC-FAX #2</NAME><COMMENT>Brother MFC-7420 USB</COMMENT><LOCATION>USB001</LOCATION><TYPE>Brother PC-FAX</TYPE></PRINTER><PRINTER STATUS="READY" DEFAULT="NO"><NAME>Brother PC-FAX</NAME><COMMENT></COMMENT><LOCATION>LPT1:</LOCATION><TYPE>Brother PC-FAX</TYPE></PRINTER><PRINTER STATUS="READY" DEFAULT="NO"><NAME>Brother MFC-7420 USB Printer</NAME><COMMENT>Brother MFC-7420 USB</COMMENT><LOCATION>USB001</LOCATION><TYPE>Brother MFC-7420 USB Printer</TYPE></PRINTER></PRINTERS></RESPONSE_DATA></RESPONSE></UTILITY_PRINTER_LIST>';
                printerxml = printerxml.replace(/&/g, '&amp;');
               // alert("If Activex Object" + printerxml);
                var IsPrinterExist = false;
                IsPrinterExist = FillSelectedPrinter(printerxml);
                if (IsPrinterExist == true) {
                    displaySelectedPrinter();
                }
                else {
                    $("#spnPrinter").removeClass("SuccessMsgStyle");
                    $("#spnPrinter").addClass("ErrorMsgStyle");
                    document.getElementById("spnPrinter").innerHTML = "Failed: No printer is configured.";
                    $("#spnPrinterSug").removeClass("DisableSuggestion");
                    $("#spnPrinterTeviewerSug").addClass("DisableSuggestion");
                    $("#spnPrinterSug").addClass("SuggestionStyle");
                }
            }
            else {
                //Activex is not installed
                $("#spnPrinter").removeClass("SuccessMsgStyle");
                $("#spnPrinter").addClass("ErrorMsgStyle");
                document.getElementById("spnPrinter").innerHTML = "Failed: Image Viewer is not installed.";
                $("#spnPrinterTeviewerSug").removeClass("DisableSuggestion");
                $("#spnPrinterTeviewerSug").addClass("SuggestionStyle");
            }
        }
        else {
            var embed = document.embeds[0];
            printerxml = embed.webGetPrinters(0, 0, 0);
            alert("If Not ActivexObject " + printerxml);
        }
    } catch (err) {
    alert("Exception" + err);
    $("#spnPrinter").removeClass("SuccessMsgStyle");
    $("#spnPrinter").addClass("ErrorMsgStyle");
    document.getElementById("spnPrinter").innerHTML = "Failed: Image Viewer is not installed.";
    $("#spnPrinterTeviewerSug").removeClass("DisableSuggestion");
    $("#spnPrinterTeviewerSug").addClass("SuggestionStyle");
    }
}

function FillSelectedPrinter(printerxml) {
    var IsPrinterExist = false;
    var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
    xmlDoc.async = false;
    xmlDoc.loadXML(printerxml);
    var markers = xmlDoc.selectNodes("/UTILITY_PRINTER_LIST/RESPONSE/RESPONSE_DATA/PRINTERS/PRINTER");
    if (markers.length >= 1) {
        IsPrinterExist = true;
    }
        for (var x = 0; x < markers.length; x++) {
            var printername = markers[x].selectSingleNode("NAME").text;
            var myNewOption = new Option(printername, printername);
            document.getElementById('selPrinter').options[x] = myNewOption;
        }
        return IsPrinterExist;
    }

    function displaySelectedPrinter() {
        var hostname = '';
        if (AppValue == null) {
            hostname = document.location.hostname;
        } else {
            hostname = AppValue;
        }
        $("#dialog-Printer").dialog("option", "buttons", {
        Submit: function() {
                var PrinterName = '';
                PrinterName = $("#selPrinter option:selected").text();
                var filePath = "http://" + hostname + "/DataTrace.Storage/Atlas/ReadyCheck/PrintTest.pdf";
                var printxml = '<UTILITY_CLIENT_PRINTING Version=\"2.0\"><REQUEST><REQUEST_DATA><OPERATIONS Type=\"PRINT\"><OPERATION FileType=\"PDF\"><PRINTER UseDefault=\"\"><NAME>' + PrinterName + '</NAME></PRINTER><FILE_GROUP><SUMMARY /><FILES><FILE>' + filePath + '</FILE></FILES></FILE_GROUP></OPERATION></OPERATIONS></REQUEST_DATA></REQUEST></UTILITY_CLIENT_PRINTING>';
                Print(printxml, $("#dialog-Printer"))
            }
        });
        $("#dialog-Printer").dialog("option", "title");
        $("#dialog-Printer").dialog("open");
    }

    function PrinterConfirmMsg() {
        var infoIcon = '<span class="ui-icon ui-icon-alert" style="float:left; margin:4px 7px 20px 0;"></span>';
        $("#divDisplayMsg").html(infoIcon + "Did the test document print successfully?");
        $("#dialog-Confirm").dialog("option", "buttons", {
            Yes: function() {
                $("#spnPrinter").removeClass("ErrorMsgStyle")
                $("#spnPrinter").addClass("SuccessMsgStyle");
                $("#spnPrinterSug").addClass("DisableSuggestion");
                $("#spnPrinterTeviewerSug").addClass("DisableSuggestion");
                document.getElementById("spnPrinter").innerText = "Success";
                $(this).dialog("close");
            },
            No: function() {
            	document.getElementById("spnPrinter").innerText = "Failed: Failed to print";
            	$("#spnPrinter").removeClass("SuccessMsgStyle");
                $("#spnPrinter").addClass("ErrorMsgStyle");
                $("#spnPrinterSug").removeClass("DisableSuggestion");
                $("#spnPrinterTeviewerSug").removeClass("DisableSuggestion");
                $("#spnPrinterTeviewerSug").addClass("SuggestionStyle");
                $("#spnPrinterSug").addClass("SuggestionStyle");
                $(this).dialog("close");
            }
        });
        $("#dialog-Confirm").dialog("open");
    }

    function OpenExportDialogBox() {
        $("#dialog-modalExport").dialog("option", "buttons", {
            Submit: function() {
                var returnMethodStatus = false;
                returnMethodStatus = Export();
                if (returnMethodStatus == "Success") {
                    OpenExportConfirmMsgBox($(this), fileLocation);
                } else {
                    document.getElementById("spnExport").innerHTML = "Failed: Failed to export file.";
                    $("#spnExport").removeClass("SuccessMsgStyle")
                    $("#spnExport").addClass("ErrorMsgStyle");
                    $("#spnExportSug").removeClass("DisableSuggestion");
                    $("#spnExportTeviewerSug").addClass("DisableSuggestion");
                    $(this).dialog("close");
                } 
            }
        });
        $("#dialog-modalExport").dialog("open");
        if (document.getElementById('objImageViewer')) {
            document.getElementById('txtPath').value = document.getElementById('objImageViewer').webGetUserPath("");
        }
    }
    function OpenExportConfirmMsgBox(dialogbox, FileLocation) {
        dialogbox.dialog("close");
        var infoIcon = '<span class="ui-icon ui-icon-alert" style="float:left; margin:4px 7px 20px 0;"></span>';
        if (FileLocation.substr(FileLocation.length - 1, 1) !== "\\") {
            FileLocation = FileLocation + "\\";
        }
        $("#divDisplayMsg").html(infoIcon + "Did the test file export successfully?</br>" + FileLocation +"ExportTest.pdf");
        $("#dialog-Confirm").dialog("option", "buttons", {
            Yes: function() {
                $("#spnExport").removeClass("ErrorMsgStyle");
                $("#spnExport").addClass("SuccessMsgStyle");
                $("#spnExportSug").removeClass("DisableSuggestion");
                $("#spnExportSug").addClass("SuggestionStyle");
                $("#spnExportTeviewerSug").addClass("DisableSuggestion");
                document.getElementById("spnExport").innerHTML = "Success";
                var updFileLocation = fileLocation.replace(/\\/g, "\\\\");
                document.getElementById("spnExportSug").innerHTML = "Look for the file named 'ExportTest.pdf' in your " + fileLocation;
                $(this).dialog("close");
            },
            No: function() {
            document.getElementById("spnExport").innerHTML = "Failed: Failed to export file.";
                $("#spnExport").removeClass("SuccessMsgStyle")
                $("#spnExport").addClass("ErrorMsgStyle");
                $("#spnExportSug").removeClass("DisableSuggestion");
                $("#spnExportSug").addClass("SuggestionStyle");
                $("#spnExportTeviewerSug").removeClass("DisableSuggestion");
                $("#spnExportTeviewerSug").addClass("SuggestionStyle");
                var updFileLocation = fileLocation.replace(/\\/g, "\\\\");
                document.getElementById("spnExportSug").innerHTML = "Look for the file named 'ExportTest.pdf' in your " + fileLocation;
                $(this).dialog("close");
            }
        });
        $("#dialog-Confirm").dialog("open");
    }
    function Export() {
        var hostname = '';
        if (AppValue == null) {
            hostname = document.location.hostname;
        } else {
        hostname = AppValue;
        }
        var filePath = "http://" + hostname + "/DataTrace.Storage/Atlas/ReadyCheck/ExportTest.pdf";
        if (document.getElementById('txtPath').value != "") {
            fileLocation = document.getElementById('txtPath').value;
        }
         else if (document.getElementById('objImageViewer')) {
             fileLocation = document.getElementById('objImageViewer').webGetUserPath("");
             
         }
         var exportXml = '<UTILITY_CLIENT_PRINTING Version=\"2.0\"><REQUEST><REQUEST_DATA><OPERATIONS Type=\"EXPORT\"><OPERATION FileType=\"PDF\"><PRINTER UseDefault=""><NAME /></PRINTER><FILE_GROUP><SUMMARY /><FILES FileLocation=\"' + fileLocation + '\"><FILE Name=\"ExportTest.PDF\">' + filePath + '</FILE></FILES></FILE_GROUP></OPERATION></OPERATIONS></REQUEST_DATA></REQUEST></UTILITY_CLIENT_PRINTING>';
         try {
            var czReturn = "";
            if (window.ActiveXObject) {
                var objImageViewer = document.getElementById('objImageViewer');
                czReturn = objImageViewer.webExportImage(exportXml);
                var IsSuccess = ChkStatus(czReturn); 
            }
            else {
                var embed = document.embeds[0];
                czReturn = embed.webExportImage(exportXml);
            }
        } catch (Error) {
            return "Failed";
        }
        return "Success";
    }

    //Open SaveFile Dialog box
    function BrowseFolders() {
        var path = "";
        var fileLocation = document.getElementById('txtPath').value;
        try {
            if (document.getElementById('objImageViewer')) {
                path = document.getElementById('objImageViewer').webGetFolderName(fileLocation);
                if (path !== '') {
                    document.getElementById('txtPath').value = path;
                }
            }
            
        } catch (err) {
        }
    }
    function openExportFileLocation(fileLocation) {
        try {
            if (document.getElementById('objImageViewer')) {
                path = document.getElementById('objImageViewer').webGetFolderName(fileLocation);
                if (path !== '') {
                    document.getElementById('txtPath').value = path;
                }
            }

        } catch (err) {
        }
    }
    
    function ChkStatus(strresp) {
        var XmlInfo = new ActiveXObject('Microsoft.XMLDOM');
        if (strresp != "") {
            XmlInfo.loadXML(strresp);
        }
        if (XmlInfo.xml != "") {
            var ln = XmlInfo.selectNodes("UTILITY_CLIENT_PRINTING/RESPONSE/RESPONSE_DATA/OPERATIONS/OPERATION/FILE_GROUP/FILES/FILE").length;
            var lnServ = ln - 1;
            for (var i = 0; i <= lnServ; i++) {
                if (XmlInfo.selectNodes("UTILITY_CLIENT_PRINTING/RESPONSE/RESPONSE_DATA/OPERATIONS/OPERATION/FILE_GROUP/FILES/FILE")[i].getAttribute("Status") == "SUCCESS") {
                    return true;
                }
            }
            return false;

        }

    }

 function imageViewerConfirm() {
     var infoIcon = '<span class="ui-icon ui-icon-alert" style="float:left; margin:4px 7px 20px 0;"></span>';
        $("#divDisplayMsg").html(infoIcon + "Did the test image open successfully?");
        $("#dialog-Confirm").dialog("option", "buttons", {
            Yes: function() {
                $("#spnTviewer").removeClass("ErrorMsgStyle");
                $("#spnTviewer").addClass("SuccessMsgStyle");
                $("#spnTviewerSug").addClass("DisableSuggestion");
                document.getElementById("spnTviewer").innerText = "Success (TEviewer Version=0.4.3.0)";
                $(this).dialog("close");
            },
            No: function() {
                $("#spnTviewer").removeClass("SuccessMsgStyle");
                $("#spnTviewer").addClass("ErrorMsgStyle");
                document.getElementById("spnTviewer").innerText = "Failed: Image Viewer is not installed.";
                $("#spnTviewerSug").removeClass("DisableSuggestion");
                $("#spnTviewerSug").addClass("SuggestionStyle");
                $(this).dialog("close");
            }
        });
        $("#dialog-Confirm").dialog("open");
    }

    /////////////Functionality for Checking Cookies///////////////////
    function GetCookie() {
        var strName = "varCook";
        if (document.cookie.indexOf(strName) == -1) {
            return false;
        }
        else {
            cookieStart = document.cookie.indexOf(strName);
            cookieValStart = (document.cookie.indexOf("=", cookieStart) + 1);
            cookieValEnd = document.cookie.indexOf(";", cookieStart);
            if (cookieValEnd == -1) {
                cookieValEnd = document.cookie.length;
            }
            cookieValue = document.cookie.substring(cookieValStart, cookieValEnd);
        }
        if (cookieValue = "True") {
            return ("True");
        }
    }

    function SetCookie(name, value, expires, path, domain, secure) {
        var strDNS = GetDNS();
        document.cookie = name + "=" + escape(value) +
	        ((expires) ? ";expires=" + expires.toGMTString() + 1000 * 60 * 20 : "") +
        	((path) ? ";path=" + path : "") +
        	((domain) ? ";domain=" + strDNS : "") +
	        ((secure) ? ";secure" : "");
        return true
    }

    function GetDNS() {
        cookieDomain = document.location.hostname;
    }

    function CheckCookiesEnabled() {
        SetCookie('varCook', 'True', '', '/', '', '');
        if (GetCookie() == "True") {
            $("#spnCookieChecker").addClass("SuccessMsgStyle");
            $("#spnCookieChecker").removeClass("ErrorMsgStyle");
            document.getElementById("spnCookieChecker").innerText = "Success.";
            $("#spnCookieCheckerSug").addClass("DisableSuggestion");
            $("#spnCookieCheckerSug").removeClass("SuggestionStyle");
        } else {
            $("#spnCookieChecker").removeClass("SuccessMsgStyle");
            $("#spnCookieChecker").addClass("ErrorMsgStyle");
            document.getElementById("spnCookieChecker").innerText = "Failed: Cookies are not currently enabled.";
            $("#spnCookieCheckerSug").removeClass("DisableSuggestion");
            $("#spnCookieCheckerSug").addClass("SuggestionStyle");
        }
    }
    //////////////////////////////////////////////////////////

    function ClearStatus() {
        //Popup Blocker
        $("#spnPopUPBlocker").removeClass("ErrorMsgStyle");
        $("#spnPopUPBlocker").removeClass("SuccessMsgStyle");
        $("#spnPopUPBlockerSug").addClass("DisableSuggestion");
        document.getElementById("spnPopUPBlocker").innerHTML = "";
        //Printer
        $("#spnPrinter").removeClass("ErrorMsgStyle");
        $("#spnPrinter").removeClass("SuccessMsgStyle");
        $("#spnPrinterSug").addClass("DisableSuggestion");
        $("#spnPrinterTeviewerSug").addClass("DisableSuggestion");
        document.getElementById("spnPrinter").innerText = "";
        //Email
        $("#spnEmail").removeClass("ErrorMsgStyle");
        $("#spnEmail").removeClass("SuccessMsgStyle");
        $("#spnEmailSug").addClass("DisableSuggestion");
        document.getElementById("spnEmail").innerHTML = "";
        //Export
        $("#spnExport").removeClass("ErrorMsgStyle");
        $("#spnExport").removeClass("SuccessMsgStyle");
        $("#spnExportSug").addClass("DisableSuggestion");
        $("#spnExportTeviewerSug").addClass("DisableSuggestion");
        document.getElementById("spnExport").innerHTML = "";
        //PDF Reader
        $("#spnAdobeReader").removeClass("ErrorMsgStyle");
        $("#spnAdobeReader").removeClass("SuccessMsgStyle");
        $("#spnAdobeReaderSug").addClass("DisableSuggestion");
        document.getElementById("spnAdobeReader").innerHTML = "";
        //ImageViewer
        $("#spnTviewer").removeClass("ErrorMsgStyle");
        $("#spnTviewer").removeClass("SuccessMsgStyle");
        $("#spnTviewerSug").addClass("DisableSuggestion");
        document.getElementById("spnTviewer").innerText = "";
        //Browser Version
        $("#spnIEVersion").removeClass("ErrorMsgStyle");
        $("#spnIEVersion").removeClass("SuccessMsgStyle");
        $("#spnIEVersionSug").addClass("DisableSuggestion");
        document.getElementById("spnIEVersion").innerHTML = "";


        //Cookie Status
        $("#spnCookieChecker").removeClass("ErrorMsgStyle");
        $("#spnCookieChecker").removeClass("SuccessMsgStyle");
        $("#spnCookieCheckerSug").addClass("DisableSuggestion");
        document.getElementById("spnCookieChecker").innerHTML = "";


        //Network Speed
        $("#spnChkNetWorkSpeed").removeClass("ErrorMsgStyle");
        $("#spnChkNetWorkSpeed").removeClass("SuccessMsgStyle");
        $("#spnChkNetWorkSpeedSug").addClass("DisableSuggestion");
        document.getElementById("spnChkNetWorkSpeed").innerHTML = "";
    }


    function SpeedTest() {
        window.open("http://speedtest.net");
    }
function ChkBrowserCompatibility(BrowserVersion) {
    var _n = navigator, _w = window, _d = document;
    var na = _n.userAgent;
    var ieDocMode = "NA";
    var ie8BrowserMode = "";
    var ieBrowserinfo = "NA";
    var chkIE9 = na.indexOf("Trident/5.0");
    var chkIE8 = na.indexOf("Trident/4.0");
    if (/msie/i.test(na) && (!_w.opera)) {
        if (_w.attachEvent && _w.ActiveXObject) {
            //version = (na.match(/.+ie\s([\d.]+)/i) || [])[1];
            if (chkIE9 > -1) {
                Browserversion = "Internet Explorer 9";
            }
            else if (chkIE8 >-1) {
                if (BrowserVersion == "9") {
                    Browserversion = "Internet Explorer 8 Compatible Mode";
                } else {
                    Browserversion = "Internet Explorer 8";
                }
            }
            else
                if (BrowserVersion == "9" || BrowserVersion == "8" || chkIE9 > -1 || chkIE8 > -1 || _d.documentMode == "7") {
                    Browserversion = "Internet Explorer 7 Compatible Mode";
                }
                else {
                    Browserversion = "Internet Explorer 7";
                }
        }
    }
    DisplayStatusMsg('spnIEVersion', 'btnIESubmit');
}

  
        

    
