<?php
// Copyright 1999-2015. Parallels IP Holdings GmbH. All Rights Reserved.
?>
<script type="text/javascript">
    //<![CDATA[
    Jsw.onReady(function() {
        var serverElement = <?php echo $this->serverControl ? '$("' . $this->serverControl->getId() . '")' : 'null' ?>;

        var getServerId = function() {
            var serverId;
            if ('select' == serverElement.tagName.toLowerCase()) {
                serverId = serverElement.getValue();
            } else {
                serverId = serverElement.readAttribute('data-value');
            }
            return parseInt(serverId);
        };

        var updateControlsState = function() {
            if (!serverElement) {
                return false;
            }
            new Ajax.Request(Jsw.baseUrl + '/database/get-user-prefix/dbServerId/' + getServerId(), {
                method: 'get',
                onSuccess: function(transport) {
                    var result = transport.responseText.evalJSON();
                    if (result.redirect) {
                        Jsw.redirect(result.redirect);
                        return;
                    }
                    if (result.loginPrefix) {
                        var prefixElement = $('<?php echo $this->element->getId() ?>').up().select('.field-prefix').first();
                        $('<?php echo $this->element->getId() ?>').writeAttribute('prefix', result.loginPrefix);
                        prefixElement.innerHTML = result.loginPrefix;
                    }
                }
            });
        };

        Jsw.Observer.appendAndCall(updateControlsState, 'dbServer');
        $('<?php echo $this->element->getId() ?>').observe('<?php echo $this->element->getId() ?>:update', updateControlsState);
    });
    //]]>
</script>