﻿// JScript File

function DisplayAddresses(sAddress1, sPostcode)
{
    var oAddress1 = $(sAddress1);
    var oPostcode = $(sPostcode);
    var sURL;
    var sQueryString;
    
    if (oPostcode[0].value == "")
    {
        showError('You must enter at least a postcode!');
        return;
    }

    sURL = "ws/GetAddresses.aspx";

    sQueryString = "postcode=" + escape(oPostcode[0].value);
    sQueryString += sAddress1.value == "" ? "" : "&streetno=" + oAddress1[0].value;
  

    $.ajax({
        type: "GET",
        url: sURL,
        data: sQueryString,
        cache: false,
        success: OutputAddresses
    });
}


function OutputAddresses(transport)
{
    var oDoc;
    var oElements;
    var oControl;
    var oDivAddressResults;
    var oItem;
    var sID;
    var sAddress;

    oDoc = transport;
    oElements = oDoc.getElementsByTagName("Data");
    
    oDivAddressResults = $('#panelAddress');
    
    if (oDivAddressResults)
    {
        
        //Test the returned xml for an error message
        if(oDoc.getElementsByTagName("Errors").length > 0)
        {
            var sErrorMessage;
                        
            for(var j=0; j<oDoc.getElementsByTagName("Errors")[0].childNodes.length; j++)
            {
                if (oDoc.getElementsByTagName("Errors")[0].childNodes[j].nodeName == 'Description')
                    sErrorMessage = oDoc.getElementsByTagName("Errors")[0].childNodes[j].firstChild.nodeValue;
                       
            }
            
            showError(sErrorMessage);
            
        }
        else
        {

            if (oElements.length == 0)
                showError("No addresses found for the postcode");
            else {
                oDivAddressResults.show();

                //Hide the first panel
                $('#panel1').hide();

                var sHTML = "";
                var sJS;

                sHTML = "<table style='width:100%;height:100px;'>";
                sHTML += "<tr><th>Address</th></tr>";

                //Add the data returned from the webservice to the select box
                for (var i = 0; i < oElements.length; i++) {



                    for (var j = 0; j < oElements[i].childNodes.length; j++) {
                        if (oElements[i].childNodes[j].nodeName == 'Id')
                            sID = oElements[i].childNodes[j].firstChild.nodeValue;

                        if (oElements[i].childNodes[j].nodeName == 'Description')
                            sAddress = oElements[i].childNodes[j].firstChild.nodeValue;
                    }

                    sHTML += "<tr>";
                    sJS = 'javascript:PopulateAddress("' + sID + '")';
                    sHTML += "<td><a href='" + sJS + "' >" + sAddress + "</a></td>";
                    sHTML += "</tr>";


                }

                sHTML += "</table>";

                oDivAddressResults.html(sHTML);
            }
        }

        

    }
    

}


function PopulateAddress(sID)
{

    var sURL;
    var sQueryString;
    
    sURL = "ws/GetSingleAddress.aspx";
    sQueryString = "id=" + sID;

    $.ajax({
        type: "GET",
        url: sURL,
        data: sQueryString,
        cache: false,
        success: function(transport) 
                {
                    
                    var oDoc = transport;
                    var oAddress = oDoc.getElementsByTagName('Address')[0];

                    $(oLine1)[0].value = oAddress.getAttribute('line1');
                    $(oLine2)[0].value = oAddress.getAttribute('line2');
                    $(oLine3)[0].value = oAddress.getAttribute('posttown');
                    $(oLine4)[0].value = oAddress.getAttribute('county');
                    $(oLine5)[0].value = oAddress.getAttribute('country');

                    $('#panelAddress').hide();
                    $('#panel1').show();
                } 
    });
        
}

function closeDiv(oDiv)
{
    $(oDiv).hide();
}

function showError(message)
{
    var oPanel;
    var sScreenWidth = pageWidth();
    var sScreenHeight = pageHeight();
    var oPanelDimensions;
    
    $('#Errormessage').html(message);

    $('#ErrorPanel').show();
 
}

function ViewDPA()
{
    var oPanel;
       
    oPanel = $('DPA')
     
    /*
    oPanelDimensions = oPanel.getDimensions(); 
    
    oPanel.style.top = (sScreenHeight / 2) - (oPanelDimensions.height / 2) + "px";
    oPanel.style.left = (sScreenWidth / 2) - (oPanelDimensions.width / 2) + "px";
    */
    oPanel.style.display = "block";
}
function pageWidth()
{
    return document.body.scrollWidth;
}

function pageHeight()
{
    return document.body.scrollHeight;
}

function ShowDiv(sDiv, sHelp, oTab)
{
    //Hide all the divs
    $('#PDAContent .panel').hide();
     
    //Show the div
    $(sDiv).show();

    //Hide all the help divs;
    $('#divHelp div').hide();
    
    //Show the correct help div
    $(sHelp).show();
     
    var oCurrLI = $(oTab);
    var oSiblings = oCurrLI.siblings();
    
    oCurrLI.addClass('selected');

    oSiblings.removeClass('selected');
    
}

function SendCheck(sTitle, sFirstName, sSurname, sEmail, sSend)
{
    var test = $(sTitle);

    if ($.trim($(sTitle)[0].value) == "")
    {
        showError("You must enter a Title!");
         return false;
    }

    if ($.trim($(sFirstName)[0].value) == "")
    {
        showError("You must enter a First Name!");
        return false;
    }

    if ($.trim($(sSurname)[0].value) == "")
    {
        showError("You must enter a Surname!");
        return false;
    }

    if ($.trim($(sEmail)[0].value) == "")
    {
        showError("You must enter an Email Address!");
        return false;
    }
    


    //if we get here then send data
    $(sSend).click();
}
