﻿$(function() {
    $("#addressContainer").globalAddress("#productinforequest_address_country", {
        fields: {
	        address1: { id: "productinforequest_address_address1", name:"productinforequest.address.address1", cssClass: "field address1" },
	        address2: { id: "productinforequest_address_address2", name:"productinforequest.address.address2", cssClass: "field address2" },
	        address3: { id: "productinforequest_address_address3", name:"productinforequest.address.address3", cssClass: "field address3" },
	        locality: { id: "productinforequest_address_locality", name:"productinforequest.address.locality", cssClass: "field locality" },
	        region: { id: "productinforequest_address_region", name:"productinforequest.address.region", cssClass: "field region" },
	        postCode: { id: "productinforequest_address_postcode", name:"productinforequest.address.postcode", cssClass: "field postCode" }
        },
        templates: {
            text: function(data) {
                var value = $("#" + data.id).val();
                value = value ? value : "";
                return $("<div></div>").addClass("field").addClass(data.cssClass)
                    .append($("<label/>").text(data.label).attr({ "for": data.id }))
                    .append($("<input/>").attr({ id: data.id, name: data.name, type: "text" }).val(value));
            },
            select: function(data) {
                var value = $("#" + data.id).val();
                value = value ? value : "";
                var select = $("<select></select>").attr({
                    id: data.id,
                    name: data.name,
                    disabled: "disabled"
                }).append("<option selected=\"selected\">Loading...</option>");
                data.source(function(regions) {
                    select.html("");
                    $.each(regions, function(i, item) {
                        select.append($("<option></option>").text(item.text).attr({ value: item.value }));
                    });
                    select.removeAttr("disabled").val(value);
                });
                return $("<div></div>").addClass("field").addClass(data.cssClass)
                    .append($("<label></label>").text(data.label).attr({ "for": data.id }))
                    .append(select);
            }
        }
    });
});