Phx.Application.Modules.WahlzentralePlzSearch = new function() {
    var _searchPlz = function() {
        var plz = $('#Atlas-Plz-Input').val();
        var valid = true;
        if (plz.length != 5) {
            valid = false;
        } else {
            for (var i = 0; i < 5; i++) {
                if ('0123456789'.indexOf(plz.substring(i, i + 1)) < 0) {
                    valid = false;
                    break;
                }
            }
        }

        if (!valid) {
            Phx.UI.Shoutbox.append({
                message : 'Bitte eine gültige 5-stellige Postleitzahl eingeben.',
                type : 'error'
            });
            $('#Atlas-Plz-Input').focus();
        } else {
            document.location.href = $('#Atlas-Url').val() + '/plz/' + plz;
        }
    };

    this.bindPlzSearch = function() {
        $('#Atlas-Plz-Input').unbind('keypress').bind('keypress', function(ev) {
                    if (ev.keyCode === Phx.Util.KeyCodes.RETURN) {
                        _searchPlz();
                    }
                });

        $('#Atlas-Plz-Button').unbind('click').bind('click', _searchPlz);

    };

    this.init = function() {
        this.bindPlzSearch();
    };
}();
