﻿$(document).ready(function(){
    InitEcommerceAddresses();
});

function InitEcommerceAddresses()
{
    var invoiceAddress = $('fieldset#invoiceAddress');
    var deliveryAddress = $('fieldset#deliveryAddress');
    
    if (invoiceAddress.length > 0 && deliveryAddress.length > 0)
    {
        var makeSame = deliveryAddress.find('div.inputFirst span.checkbox input');
        if (makeSame.length > 0)
        {
            makeSame.change(function(){
                if (this.checked)
                {
                    var address = GetAddress('fieldset#invoiceAddress');
                    SetAddress('fieldset#deliveryAddress', address);
                }
            });
        }
    }
}

function GetAddress(selector)
{
    var title = $('div.title select option:selected').val();
    var firstName = $('div.firstName input.text').val();
    var lastName = $('div.lastName input.text').val();
    
    var name = title + ' ' + firstName + ' ' + lastName;

    var addressFields = $(selector);
    var address = {
        Name : name,
        Address1 : addressFields.find('div.address1 input.text').val(),
        Address2 : addressFields.find('div.address2 input.text').val(),
        Town : addressFields.find('div.town input.text').val(),
        County : addressFields.find('div.county input.text').val(),
        Postcode : addressFields.find('div.postcode input.text').val(),
        Country : addressFields.find('div.country select option:selected').val()
    };
    return address;
}

function SetAddress(selector, address)
{
    var addressFields = $(selector);
    var name = addressFields.find('div.name input.text');
    var address1 = addressFields.find('div.address1 input.text');
    var address2 = addressFields.find('div.address2 input.text');
    var town = addressFields.find('div.town input.text');
    var county = addressFields.find('div.county input.text');
    var postcode = addressFields.find('div.postcode input.text');
    var country = addressFields.find('div.country select');
    
    if (name.length > 0)
    {
        name.val(address.Name);
    }
    address1.val(address.Address1);
    address2.val(address.Address2);
    town.val(address.Town);
    county.val(address.County);
    postcode.val(address.Postcode);
    country.find('option:selected').removeAttr('selected');
    country.find('option[value="'+address.Country+'"]').attr('selected', 'selected');
}

