﻿// JScript File

var timerstarted=false;
var progressBarObj=null;


function ResetValidation()
{
    infodiv.style.visibility = "hidden";
    document.all.ButtonValidateAddress.src = "images/ico_ab_question.gif";
    try
    {
        Page_ClientValidate(null);
    }
    catch(exception){}

}

function ValidateAddress(skipValidation, iframeForm, localProgressBar, address1, address2, city, state, zip)
{

    var isValidated=true;
    
    try
    {
        isValidated = Page_ClientValidate(null);
    }
    catch(exception)
    {
        isValidated = false;
    }
    

    if(skipValidation || isValidated)
    {
        document.all.validationMessage.innerText = "Now validating address...";
        document.all.infodiv.style.visibility = "visible";
        iframeForm.Address1.value = address1.value;
        iframeForm.Address2.value = address2.value;
        iframeForm.City.value = city.value;
        iframeForm.State.value = state.value;
        iframeForm.Zip.value = zip.value;

        var formname;
        formname = address1.form.name;
        
        iframeForm.Address1FieldName.value = formname + "." + address1.name;
        iframeForm.Address2FieldName.value = formname + "." + address2.name;
        iframeForm.CityFieldName.value = formname + "." + city.name;
        iframeForm.StateFieldName.value = formname + "." + state.name;
        iframeForm.ZipFieldName.value = formname + "." + zip.name;
        
        startProgressBar(localProgressBar);
        iframeForm.submit();
    }//if
}

function startProgressBar(p)
{
    progressBarObj = p;
    progressBarObj.setBar(0);
    timerstarted=true;
    incrementTimer();
}

function stopProgressBar()
{
    if(timerstarted && progressBarObj != null)
    {
        timerstarted=false;
        progressBarObj.setBar(1);
    }
}

function incrementTimer()
{
    if(timerstarted && progressBarObj != null)
    {
        incrementBar(progressBarObj, 0.01);
        setTimeout("incrementTimer()", 150);
    }
}

function ValidationCompleteCallback(addressCorrect, msg)
{
    stopProgressBar();
    validationMessage.innerText = msg;
    if(msg.indexOf("Success") > 0)
    {
        document.all.ButtonValidateAddress.src = "images/ico_ab_correct.gif";
    }
    else
    {
        document.all.ButtonValidateAddress.src = "images/ico_ab_incorrect.gif";
    }
    hideMeInALittleWhile(infodiv);
}

function ErrorInValidation(msg)
{
    stopProgressBar();
    timerstarted=false;
    validationMessage.innerText = msg;
    document.all.ButtonValidateAddress.src = "images/ico_ab_error.gif";
    hideMeInALittleWhile(infodiv);
}


//-----------------------------------------------------

    function populateResults()
    {
        var address1;
        var address2;
        var city;
        var state;
        var zip;

        eval("address1 = window.parent." + formAddressValidationIframe.Address1FieldName.value);        
        eval("address2 = window.parent." + formAddressValidationIframe.Address2FieldName.value);        
        eval("city = window.parent." + formAddressValidationIframe.CityFieldName.value);        
        eval("state = window.parent." + formAddressValidationIframe.StateFieldName.value);        
        eval("zip = window.parent." + formAddressValidationIframe.ZipFieldName.value);

        if(address1 == null)
        {
            doError("Clientside form communication error!...");
            return;
        }        
        
        //-- otherwise populate the values
        address1.value = formAddressValidationIframe.Address1.value;
        address2.value = formAddressValidationIframe.Address2.value;
        city.value = formAddressValidationIframe.City.value;
        state.value = formAddressValidationIframe.State.value;
        zip.value = formAddressValidationIframe.Zip.value;
        
        window.parent.ValidationCompleteCallback(true, "Completed Successfully!");
    }//populateResults
    
    function doError(msg)
    {
        window.parent.ErrorInValidation(msg);
    }//doError
    
    function inCorrectAddress(msg)
    {
        window.parent.ValidationCompleteCallback(false, "Address is invalid!");
    }//doError
    
