﻿//Global XMLHTTP Request object

var AjaxServerPageName;
var coordinates;

AjaxServerPageName = "AjaxServer.aspx";
coordinates = "";


//Creating and setting the instance of appropriate XMLHTTP Request object to a “XmlHttp” variable  
function CreateXmlHttp() {
    var XmlHttp;

    //Creating object of XMLHTTP in IE
    try {
        XmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e) {
        try {
            XmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (oc) {
            XmlHttp = null;
        }
    }
    //Creating object of XMLHTTP in Mozilla and Safari 
    if (!XmlHttp && typeof XMLHttpRequest != "undefined") {
        XmlHttp = new XMLHttpRequest();
    }

    return XmlHttp;
}

//Gets called when country combo box selection changes
function SendQuery() {
    var lenArgs = arguments.length
    var displayName;

    if (lenArgs < 3)
        alert(" Request should be 3 or more parameters. ");
    else {
        displayName = arguments[lenArgs - 3];

        //Getting Class Name and Method name.
        var className = arguments[lenArgs - 2];
        var methodName = arguments[lenArgs - 1];
        var parameters = "";

        //Getting method parameters.
        for (var i = 0; i < lenArgs - 3; i++) {
            if (parameters.length > 0) {
                parameters = parameters + ',' + arguments[i]
            }
            else
                parameters = parameters + arguments[i]

        }

        // URL to get states for a given country
        var requestUrl = AjaxServerPageName + "?className=" + encodeURIComponent(className);
        requestUrl += "&methodName=" + encodeURIComponent(methodName) + "&parameters=" + encodeURIComponent(parameters);


        var XmlHttp = CreateXmlHttp();

        // If browser supports XMLHTTPRequest object
        if (XmlHttp) {
            //Setting the event handler for the response
            //XmlHttp.onreadystatechange = HandleResponse;
            XmlHttp.onreadystatechange = function HandleResponse() {

                // To make sure receiving response data from server is completed
                if (XmlHttp.readyState == 4) {


                    // To make sure valid response is received from the server, 200 means response received is OK
                    if (XmlHttp.status == 200) {

                        try {

                            var displayControl = document.getElementById(displayName);

                            //Clears the content of the control.
                            displayControl.innerHTML = "";
                            displayControl.innertext = "";

                            if (displayControl.style.visibility == 'hidden')
                                displayControl.style.visibility = 'visible';


                            //Assigning reponse object Content
                            displayControl.innerHTML = XmlHttp.responseText;


                            if (XmlHttp.responseText.length == 0)
                                alert(" Response is null. ");

                            if (className == 'Personalize') {
                                document.getElementById('divInLine').style.display = 'none';
                                document.getElementById('PersonalizeImage').style.display = 'inline';
                                DoMapping(coordinates, '');
                            }
                        }
                        catch (err) {
                            alert("There was a problem retrieving data from the server.");
                        }

                    }
                    else {
                        alert("There was a problem retrieving data from the server.");
                    }
                }
            }

            //Initializes the request object with GET (METHOD of posting), 
            //Request URL and sets the request as asynchronous.
            XmlHttp.open("GET", requestUrl, true);

            //Sends the request to server
            XmlHttp.send(null);
        }
    }
} //end of send Query


//Gets called when country combo box selection changes
function SendQueryWithOutDisplay() {
    var lenArgs = arguments.length
    if (lenArgs < 2)
        alert(" Request should be 3 or more parameters. ");
    else {
        //Getting Class Name and Method name.
        var className = arguments[lenArgs - 2];
        var methodName = arguments[lenArgs - 1];
        var parameters = "";

        //Getting method parameters.
        for (var i = 0; i < lenArgs - 2; i++) {
            if (parameters.length > 0)
                parameters = encodeURIComponent(",") + encodeURIComponent(arguments[i])
            else
                parameters = encodeURIComponent(arguments[i])

        }

        // URL to get states for a given country
        var requestUrl = AjaxServerPageName + "?className=" + encodeURIComponent(className);
        requestUrl += "&methodName=" + encodeURIComponent(methodName) + "&parameters=" + encodeURIComponent(parameters);

        var XmlHttp = CreateXmlHttp();

        // If browser supports XMLHTTPRequest object
        if (XmlHttp) {
            //Setting the event handler for the response
            //XmlHttp.onreadystatechange = HandleResponse;
            XmlHttp.onreadystatechange = function HandleResponse() {

                // To make sure receiving response data from server is completed
                if (XmlHttp.readyState == 4) {


                    // To make sure valid response is received from the server, 200 means response received is OK
                    if (XmlHttp.status == 200) {
                        try {

                            //Assigning reponse object Content
                            var resText = XmlHttp.responseText;
                            //location = location.href;
                            location = "./Home.aspx";

                        }
                        catch (err) {
                            alert("There was a problem retrieving data from the server.");
                        }

                    }
                    else {
                        alert("There was a problem retrieving data from the server.");
                    }
                }
            }

            //Initializes the request object with GET (METHOD of posting), 
            //Request URL and sets the request as asynchronous.
            XmlHttp.open("POST", requestUrl, true);

            //Sends the request to server
            XmlHttp.send(null);
        }
    }

} //end of send Query



//Gets called when country combo box selection changes
function SendQueryWithPage() {

    var lenArgs = arguments.length
    var ServerPageName;
    var displayName;
    if (lenArgs < 4)
        alert(" Request should be 4 or more parameters. ");
    else {

        displayName = arguments[lenArgs - 4];

        //Getting Class Name and Method name.
        var className = arguments[lenArgs - 3];
        var methodName = arguments[lenArgs - 2];
        ServerPageName = arguments[lenArgs - 1];
        var parameters = "";

        //Getting method parameters.
        for (var i = 0; i < lenArgs - 4; i++) {
            if (parameters.length > 0)
                parameters = encodeURIComponent(",") + encodeURIComponent(arguments[i])
            else
                parameters = encodeURIComponent(arguments[i])

        }

        // URL to get states for a given country
        var requestUrl = ServerPageName + "?className=" + encodeURIComponent(className);
        requestUrl += "&methodName=" + encodeURIComponent(methodName) + "&parameters=" + encodeURIComponent(parameters);

        var XmlHttp = CreateXmlHttp();

        // If browser supports XMLHTTPRequest object
        if (XmlHttp) {
            //Setting the event handler for the response
            //XmlHttp.onreadystatechange = HandleResponse;
            XmlHttp.onreadystatechange = function HandleResponse() {

                // To make sure receiving response data from server is completed
                if (XmlHttp.readyState == 4) {


                    // To make sure valid response is received from the server, 200 means response received is OK
                    if (XmlHttp.status == 200) {
                        try {
                            var displayControl = document.getElementById(displayName);

                            //Clears the content of the control.
                            displayControl.innerHTML = "";
                            displayControl.innertext = "";

                            if (displayControl.style.visibility == 'hidden')
                                displayControl.style.visibility = 'visible';

                            //Assigning reponse object Content
                            displayControl.innerHTML = XmlHttp.responseText;

                            if (XmlHttp.responseText.length == 0)
                                alert(" Response is null. ");
                        }
                        catch (err) {
                            alert("There was a problem retrieving data from the server.");
                        }

                    }
                    else {
                        alert("There was a problem retrieving data from the server.");
                    }
                }
            }

            //Initializes the request object with GET (METHOD of posting), 
            //Request URL and sets the request as asynchronous.
            XmlHttp.open("POST", requestUrl, true);

            //Sends the request to server
            XmlHttp.send(null);
        }
    }
}
//This is for CompanyTaxing page 
function SendQueryWithPageTaxing() {

    var lenArgs = arguments.length
    var ServerPageName;
    var displayName;
    if (lenArgs < 4)
        alert(" Request should be 4 or more parameters. ");
    else {

        displayName = arguments[lenArgs - 4];

        //Getting Class Name and Method name.
        var className = arguments[lenArgs - 3];
        var methodName = arguments[lenArgs - 2];
        ServerPageName = arguments[lenArgs - 1];
        var parameters = "";

        //Getting method parameters.
        for (var i = 0; i < lenArgs - 4; i++) {
            if (parameters.length > 0)
                parameters = encodeURIComponent(",") + encodeURIComponent(arguments[i])
            else
                parameters = encodeURIComponent(arguments[i])

        }

        // URL to get states for a given country
        var requestUrl = ServerPageName + "?className=" + encodeURIComponent(className);
        requestUrl += "&methodName=" + encodeURIComponent(methodName) + "&parameters=" + encodeURIComponent(parameters);

        var XmlHttp = CreateXmlHttp();

        // If browser supports XMLHTTPRequest object
        if (XmlHttp) {
            //Setting the event handler for the response
            //XmlHttp.onreadystatechange = HandleResponse;
            XmlHttp.onreadystatechange = function HandleResponse() {

                // To make sure receiving response data from server is completed
                if (XmlHttp.readyState == 4) {


                    // To make sure valid response is received from the server, 200 means response received is OK
                    if (XmlHttp.status == 200) {
                        try {
                            var displayControl = document.getElementById(displayName);

                            //Clears the content of the control.
                            displayControl.innerHTML = "";
                            displayControl.innertext = "";

                            if (displayControl.style.visibility == 'hidden')
                                displayControl.style.visibility = 'visible';

                            //to hide the 'Save' button when there are no records in Datagrid
                            if (displayName == "spnDataGrid" && XmlHttp.responseText == '&nbsp;')
                                SendQueryWithPage('none', 'spnButSave', 'CompanyTaxes', 'createButton', "../AjaxServer.aspx");
                            else if (displayName == "spnDataGrid")
                                SendQueryWithPage('Save', 'spnButSave', 'CompanyTaxes', 'createButton', "../AjaxServer.aspx");

                            //Assigning reponse object Content
                            displayControl.innerHTML = XmlHttp.responseText;

                            if (XmlHttp.responseText.length == 0)
                                alert(" Response is null. ");
                        }
                        catch (err) {
                            alert("There was a problem retrieving data from the server.");
                        }

                    }
                    else {
                        alert("There was a problem retrieving data from the server.");
                    }
                }
            }

            //Initializes the request object with GET (METHOD of posting), 
            //Request URL and sets the request as asynchronous.
            XmlHttp.open("POST", requestUrl, true);

            //Sends the request to server
            XmlHttp.send(null);
        }
    }
}

//Gets called when country combo box selection changes
function SendQueryWithOutDisplayWithPage() {
    var lenArgs = arguments.length
    var ServerPageName;
    if (lenArgs < 3)
        alert(" Request should be 3 or more parameters. ");
    else {
        //Getting Class Name and Method name.
        var className = arguments[lenArgs - 3];
        var methodName = arguments[lenArgs - 2];
        ServerPageName = arguments[lenArgs - 1];
        var parameters = "";

        //Getting method parameters.
        for (var i = 0; i < lenArgs - 3; i++) {
            if (parameters.length > 0)
                parameters = encodeURIComponent(",") + encodeURIComponent(arguments[i])
            else
                parameters = encodeURIComponent(arguments[i])

        }

        // URL to get states for a given country
        var requestUrl = ServerPageName + "?className=" + encodeURIComponent(className);
        requestUrl += "&methodName=" + encodeURIComponent(methodName) + "&parameters=" + encodeURIComponent(parameters);

        var XmlHttp = CreateXmlHttp();

        // If browser supports XMLHTTPRequest object
        if (XmlHttp) {
            //Setting the event handler for the response
            //XmlHttp.onreadystatechange = HandleResponse;
            XmlHttp.onreadystatechange = function HandleResponse() {

                // To make sure receiving response data from server is completed
                if (XmlHttp.readyState == 4) {


                    // To make sure valid response is received from the server, 200 means response received is OK
                    if (XmlHttp.status == 200) {
                        try {

                            //Assigning reponse object Content
                            var resText = XmlHttp.responseText;
                            //location = location.href;
                            location = "../Home.aspx";

                        }
                        catch (err) {
                            alert("There was a problem retrieving data from the server.");
                        }

                    }
                    else {
                        alert("There was a problem retrieving data from the server.");
                    }
                }
            }

            //Initializes the request object with GET (METHOD of posting), 
            //Request URL and sets the request as asynchronous.
            XmlHttp.open("POST", requestUrl, true);

            //Sends the request to server
            XmlHttp.send(null);
        }
    }

} //end of send Query

//Gets called when country combo box selection changes
function SendQueryWithFeatureProductPage() {
    var lenArgs = arguments.length
    var ServerPageName;
    var displayName;
    if (lenArgs < 4)
        alert(" Request should be 4 or more parameters. ");
    else {

        displayName = arguments[lenArgs - 4];

        //Getting Class Name and Method name.
        var className = arguments[lenArgs - 3];
        var methodName = arguments[lenArgs - 2];
        ServerPageName = arguments[lenArgs - 1];
        var parameters = "";

        //Getting method parameters.
        for (var i = 0; i < lenArgs - 4; i++) {
            if (parameters.length > 0)
                parameters = encodeURIComponent(",") + encodeURIComponent(arguments[i])
            else
                parameters = encodeURIComponent(arguments[i])

        }

        // URL to get states for a given country
        var requestUrl = ServerPageName + "?className=" + encodeURIComponent(className);
        requestUrl += "&methodName=" + encodeURIComponent(methodName) + "&parameters=" + encodeURIComponent(parameters);

        var XmlHttp = CreateXmlHttp();

        // If browser supports XMLHTTPRequest object
        if (XmlHttp) {
            //Setting the event handler for the response
            //XmlHttp.onreadystatechange = HandleResponse;
            XmlHttp.onreadystatechange = function HandleResponse() {

                // To make sure receiving response data from server is completed
                if (XmlHttp.readyState == 4) {


                    // To make sure valid response is received from the server, 200 means response received is OK
                    if (XmlHttp.status == 200) {
                        try {
                            var displayControl = document.getElementById(displayName);

                            //Clears the content of the control.
                            displayControl.innerHTML = "";
                            displayControl.innertext = "";

                            if (displayControl.style.visibility == 'hidden')
                                displayControl.style.visibility = 'visible';


                            //Assigning reponse object Content
                            displayControl.innerHTML = XmlHttp.responseText;

                            if (XmlHttp.responseText.length == 0) {

                            }
                        }
                        catch (err) {

                        }

                    }
                    else {

                    }
                }
            }

            //Initializes the request object with GET (METHOD of posting), 
            //Request URL and sets the request as asynchronous.
            XmlHttp.open("POST", requestUrl, true);

            //Sends the request to server
            XmlHttp.send(null);
        }
    }
}

//Gets called when country combo box selection changes
function SendQueryForSIC() {
    var lenArgs = arguments.length
    var displayName;

    if (lenArgs < 3)
        alert(" Request should be 3 or more parameters. ");
    else {
        displayName = arguments[lenArgs - 3];

        //Getting Class Name and Method name.
        var className = arguments[lenArgs - 2];
        var methodName = arguments[lenArgs - 1];
        var parameters = "";

        //Getting method parameters.
        for (var i = 0; i < lenArgs - 3; i++) {
            if (parameters.length > 0) {
                parameters = parameters + encodeURIComponent('_') + encodeURIComponent(arguments[i])
            }
            else {
                parameters = encodeURIComponent(arguments[i])
            }

        }

        // URL to get states for a given country
        var requestUrl = "../" + AjaxServerPageName + "?className=" + encodeURIComponent(className);
        requestUrl += "&methodName=" + encodeURIComponent(methodName) + "&parameters=" + encodeURIComponent(parameters);

        var XmlHttp = CreateXmlHttp();

        // If browser supports XMLHTTPRequest object
        if (XmlHttp) {
            //Setting the event handler for the response
            //XmlHttp.onreadystatechange = HandleResponse;
            XmlHttp.onreadystatechange = function HandleResponse() {

                // To make sure receiving response data from server is completed
                if (XmlHttp.readyState == 4) {


                    // To make sure valid response is received from the server, 200 means response received is OK
                    if (XmlHttp.status == 200) {

                        try {

                            var displayControl = document.getElementById(displayName);

                            //Clears the content of the control.
                            displayControl.innerHTML = "";
                            displayControl.innertext = "";

                            if (displayControl.style.visibility == 'hidden')
                                displayControl.style.visibility = 'visible';


                            //Assigning reponse object Content
                            displayControl.innerHTML = XmlHttp.responseText;


                            if (XmlHttp.responseText.length == 0)
                                alert(" Response is null. ");

                            if (className == 'Personalize') {
                                document.getElementById('divInLine').style.display = 'none';
                                document.getElementById('PersonalizeImage').style.display = 'inline';
                                DoMapping(coordinates, '');
                            }
                        }
                        catch (err) {
                            alert("There was a problem retrieving data from the server.");
                        }

                    }
                    else {
                        alert("There was a problem retrieving data from the server.");
                    }
                }
            }

            //Initializes the request object with GET (METHOD of posting), 
            //Request URL and sets the request as asynchronous.
            XmlHttp.open("GET", requestUrl, true);

            //Sends the request to server
            XmlHttp.send(null);
        }
    }
} //end of send Query

//This function called when getting Zip9 codes from Map View
function SendQueryForMAP() {

    var lenArgs = arguments.length
    var ServerPageName;
    var displayName;

    if (lenArgs < 4)
        alert(" Request should be 4 or more parameters. ");
    else {

        displayName = arguments[lenArgs - 4];

        //Getting Class Name and Method name.
        var className = arguments[lenArgs - 3];
        var methodName = arguments[lenArgs - 2];
        ServerPageName = arguments[lenArgs - 1];
        var parameters = "";

        //Getting method parameters.
        for (var i = 0; i < lenArgs - 4; i++) {
            if (parameters.length > 0)
                parameters = encodeURIComponent(",") + encodeURIComponent(arguments[i])
            else
                parameters = encodeURIComponent(arguments[i])

        }

        // URL to get states for a given country
        var requestUrl = ServerPageName + "?className=" + encodeURIComponent(className);
        requestUrl += "&methodName=" + encodeURIComponent(methodName) + "&parameters=" + encodeURIComponent(parameters);

        var XmlHttp = CreateXmlHttp();



        // If browser supports XMLHTTPRequest object
        if (XmlHttp) {
            //Setting the event handler for the response
            //XmlHttp.onreadystatechange = HandleResponse;
            XmlHttp.onreadystatechange = function HandleResponse() {

                // To make sure receiving response data from server is completed
                if (XmlHttp.readyState == 4) {

                    // To make sure valid response is received from the server, 200 means response received is OK
                    if (XmlHttp.status == 200) {

                        try {
                            var displayControl = document.getElementById(displayName);

                            //Clears the content of the control.
                            displayControl.innerHTML = "";
                            displayControl.innertext = "";

                            if (displayControl.style.visibility == 'hidden')
                                displayControl.style.visibility = 'visible';

                            //Assigning reponse object Content
                            displayControl.innerHTML = XmlHttp.responseText;

                            if (XmlHttp.responseText.length == 0) {
                                if (className == 'MapView') {
                                    hideProgressStatus();

                                    if (document.getElementById('cmdSubmit') != null)
                                        document.getElementById('cmdSubmit').style.display = 'none';
                                }

                                alert(" Zip Codes are not found. ");
                            }
                            else {
                                var strBrowValid = true;
                                var ua = navigator.userAgent.toLowerCase();
                                var isGecko = (ua.indexOf("gecko") != -1);

                                if (isGecko) {
                                    var InvalidSearch = (XmlHttp.responseText.indexOf("Logout") != -1)

                                    if (InvalidSearch) {
                                        strBrowValid = false;
                                    }
                                }

                                if (className == 'MapView' && strBrowValid) {
                                    hideProgressStatus();

                                    if (document.getElementById('cmdSubmit') != null)
                                        document.getElementById('cmdSubmit').style.display = 'inline';
                                }
                                else {
                                    hideProgressStatus();

                                    if (document.getElementById('cmdSubmit') != null)
                                        document.getElementById('cmdSubmit').style.display = 'none';

                                    if (document.getElementById('DivErrorMsg') != null)
                                        document.getElementById('DivErrorMsg').innerHTML = '<b>No data found</b>';
                                }
                            }

                        }
                        catch (err) {
                            if (className == 'MapView') {
                                hideProgressStatus();

                                if (document.getElementById('cmdSubmit') != null)
                                    document.getElementById('cmdSubmit').style.display = 'none';

                                if (document.getElementById('DivErrorMsg') != null)
                                    document.getElementById('DivErrorMsg').innerHTML = '<b>No data found</b>';
                            }

                            //alert("There was a problem retrieving data from the server." );


                        }
                    }
                    else {
                        if (className == 'MapView') {
                            hideProgressStatus();

                            if (document.getElementById('cmdSubmit') != null)
                                document.getElementById('cmdSubmit').style.display = 'none';

                            if (document.getElementById('DivErrorMsg') != null)
                                document.getElementById('DivErrorMsg').innerHTML = '<b>No data found</b>';
                        }

                        //alert("There was a problem retrieving data from the server." );														

                    }
                }
            }

            //Initializes the request object with GET (METHOD of posting), 
            //Request URL and sets the request as asynchronous.
            XmlHttp.open("GET", requestUrl, true);

            //Sends the request to server
            XmlHttp.send(null);
        }
    }
}