﻿var ajaxUrl = parent.location.protocol + '//localhost:1092/Seglet.AspNet/Ajax.ashx';

function openModal(title, url, btnText, btnFn) {
    if ($("#dlgbox").length == 0) { return; }
    $("#dlgbox").dialog('option', 'title', title);
    $("#dlgbox").dialog('open');
    $("#dlgbox").load(url);
}

$(document).ready(function () {

    $("#dlgbox").dialog({
        autoOpen: false,
        modal: true,
        height: 450,
        width: 650,
        buttons: {
            'Close' : function(){
                $(this).dialog("close");
            }
        }
    });

    $("textarea").keypress(function (evt) {
        var max = parseInt($(this).attr('maxlength'));
        if (max != NaN && evt.which >= 32 && evt.which <= 126) {
            return ($(this).val().length <= max);
        }
        else { return true; }
    });

    var cntryCode = $('select[name=CountryCode]').val();
    SetPostalCodeMask(cntryCode);
});

function OnSpaceTypeChanged(any) {
    // handle change event on country
    $('select[name=SpaceType]').change(function () {
        var typeCode = $(this).val();
        var url = ajaxUrl + '?action=sizes&typeCode=' + typeCode + '&addDefault=' + any
        $('select[name=SquareMeters]').load(url);
    });
}

function OnCountryChanged(any){

    // handle change event on country
    $('select[name=CountryCode]').change(function () {
        var cntryCode = $(this).val();
        var url = ajaxUrl + '?action=stateprovinces&countryCode=' + cntryCode + '&addDefault=' + any
        $('select[name=StateProvince]').load(url);
        SetPostalCodeMask(cntryCode);
    });

    $('input[name=City]').autocomplete({
        source: ajaxUrl + '?action=cities&countryCode=' + $("select[name=CountryCode]").val(),
        minLength: 2
    });
}

function SetPostalCodeMask(cntryCode) {
    // default to no mask
    $("input[name=PostalCode]").unmask();

    switch (cntryCode) {
        case "CA":
            $("input[name=PostalCode]").mask("a9a 9a9"); break;
        case "US":
            $("input[name=PostalCode]").mask("99999?-9999"); break;
    }
}
