﻿function ReceiveValidationResponse(retValue) {

    // Format :- stage=[....]&messageType=[....]&message=[....]&[params]

    var params = new Array();
    
    var dataArr = retValue.toString().split("&")

    var stage = dataArr[0].split("=")[1];
    var messageType = dataArr[1].split("=")[1];
    var firstOccurrence = dataArr[2].indexOf("=");
    var message = dataArr[2].substring(firstOccurrence + 1);
    
    var i;
    var paramsCount = 0;

    for (i = 3; i < dataArr.length; i++) {
        params[paramsCount] = dataArr[i];
    }

    // Remove any previous displayed messages
    $("#userAccountPanelMessage").removeClass("PanelErrors")
    $("#userAccountPanelMessage").removeClass("PanelActions")
    $("#userAccountPanelMessage").removeClass("PanelWarnings")
    $("#userAccountPanelMessage").html("");


    switch (stage) {
        case "StagePostCodeCheck":

            DisplayRegistrationPanel("div[id$='pnlPostCodeChecker']");

            // Disable the next button
            $("input[id$='btnNextRegistrationStage1']").attr("disabled", "true");
            
            break;

        case "StageDoAddressLookup":
            DisplayRegistrationPanel("div[id$='pnlAddressLookUp']");

            break;

        case "StageTwoFieldInput":

            // Disable Stage One Next button
            $("input[id$='btnNextRegistrationStage1']").attr("disabled", "true");

            // POSTCODE NOT FOUND BUT ENTERED POSTOCDE PASSED BACK TO CLIENT - Set postcode field to data
            if (params.length == 1) {
                DisplayRegistrationPanel("div[id$='pnlStageTwoFieldInput']");
                $("input[id$='ZipCode']").attr("value", params[0].split("=")[1])

                // <20110427-REGISTRATION-POSTCODE-DATA> RS: Sets the postcode checker textbox value from [Submitting] to the postcode entered
                $("input[id$='txtPostcode']").attr("value", params[0].split("=")[1])
                // </20110427-REGISTRATION-POSTCODE-DATA>
            }
            // POSTCODE FOUND AND FIELD DATA PASSED BACK TO CLIENT - Set all fields to appropriate values
            else if (params.length > 2) {

            }
            // POSTCODE WAS NOT SUPPLIED - Just display the panel w/o populating the fields
            else {
                DisplayRegistrationPanel("div[id$='pnlStageTwoFieldInput']");
            }
            break;

        case "StageComplete":

            // Redirects the visitor to another page after a successful registration

            var urlParts = new Array();

            urlParts = params[0].split("url=");

            if (urlParts.length == 2) {
                window.location = urlParts[1]; // .split("=")[1] + "=" + params[0].split("=")[2];
            }
            break;

        default:

            break;
    }

    $("#userAccountPanelMessage").addClass(messageType)
    $("#userAccountPanelMessage").html(message);
}

