
//function GetPostCode(val, context)
//{
//    WaitImage_Off();
//    
//    var sVal = new String(val);
//    if(sVal.substr(0, 2) != "##")
//        sVal = document.getElementById('txtHouseNumber').value + " " + val
//    else
//        sVal = sVal.substr(2, sVal.length - 2);
//    
//    document.getElementById('divAddress').style.display = 'inline';
//    
//    document.getElementById('divAddressText').innerHTML = sVal;
//    document.getElementById('hdnAddress').value = sVal;
//}

function GetPostCode(val, context)
{
    WaitImage_Off();
    
    var sVal = new String(val);
    var sValPrefix = sVal.substr(0, 2);
      
    document.getElementById('divAddress').style.display = 'inline';
        
    sVal = document.getElementById('txtHouseNumber').value + " " + sVal;
    
    if(sValPrefix == "##")
    {
        sVal = sVal.substr(2, sVal.length - 2);
    }
    
    if(sValPrefix == "!!")
    {
        // !!Error
        document.getElementById('hdnAddress').onclick = function() { this.select(); }
        document.getElementById('hdnAddress').style.display = 'inline';
        document.getElementById('divAddressText').style.display = 'none';
        sVal = "Sorry, the post code lookup service didn't respond. Please enter your address.";
    }
    
    if(sValPrefix == "++")
    {
        // ++OutsideServiceArea
        document.getElementById('divAddress').style.display = 'none';
        jcfxPostback();
        //sVal = sVal.substr(4, sVal.length - 4);
        //location.href = 'Suggest-A-Friend.aspx?c=' + sVal;
        return;
    }
    
    document.getElementById('divAddressText').innerHTML = sVal;
        
    document.getElementById('hdnAddress').value = sVal;
}

function DoPostCodeLookup()
{
    var sPostCode = new String(document.getElementById('txtPostcode').value);
    var iNumber = document.getElementById('txtHouseNumber').value;
    
    var sPostCodeRE = "^([A-PR-UWYZ][A-HK-Y0-9][AEHMNPRTVXY0-9]?[ABEHMNPRVWXY0-9]? {0,2}[0-9][ABD-HJLN-UW-Z]{2}|GIR 0AA)$";
    var sNumberRE = "[\w\W\d]*";
    
    var oRePC = new RegExp(sPostCodeRE);
    var bValidPostCode = oRePC.test(sPostCode.toUpperCase());
    
    var oReN = new RegExp(sNumberRE);
    var bValidNumber = (iNumber.length > 0 && oReN.test(iNumber) & iNumber != "Please enter your house number");
        
    if (!bValidNumber & !bValidPostCode)
    {
        alert("You haven't entered a valid house name/number (e.g 54) or a valid postcode (e.g SS14 3DR).");
        return;
    }
    if(!bValidNumber & bValidPostCode)
    {
        alert("You haven't entered a house name/number (e.g 54).");
        return;
    }
    if(bValidNumber & !bValidPostCode)
    {
        alert("You haven't entered a valid postcode (e.g SS14 3DR).");
        return;
    }

    WaitImage_On();
    UseCallback(sPostCode, "");
}

/* Waiting Image Functions */

function WaitImage_On()
{
    document.getElementById('imgWaiting').style.display = 'inline';
}

function WaitImage_Off()
{
    document.getElementById('imgWaiting').style.display = 'none';
}
