String.prototype.trim = function () {
    return this.rtrim().ltrim();
}

String.prototype.ltrim = function () {
    for (var i = 0; i < this.length; i++) {
        if (this.charAt(i) != " ") {
            return this.substr(i, this.length - 1);
        }
    }
}

String.prototype.rtrim = function () {
    for (var i = this.length - 1; i >= 0; i--) {
        if (this.charAt(i) != " ") {
            return this.substr(0, i + 1);
        }
    }
}


function statusEdit(){
    //authUpdater.stop();
    var edit = document.createElement('textarea');
    edit.setAttribute('type','text');
    edit.setAttribute('id','statustxt');
    edit.setAttribute('rows', '1');

    new Ajax.Request('/auth/ajaxstatus.html', {
        method: 'get',
        parameters:{action:'getstatus'},
        onSuccess:
        function(transport){
            edit.value = transport.responseText.trim();
        },
        onFailure:
        function(){
            alert('Error.')
        }
    }
    );

    var ok_icon = document.createElement('img');
    ok_icon.setAttribute('src','/_images/icons/status-save.png');
    ok_icon.setAttribute('width', 16);
    ok_icon.setAttribute('height', 16);
    ok_icon.setAttribute('title', 'Сохранить статус');
    ok_icon.onclick = statusSave;

    var cancel_icon = document.createElement('img');
    cancel_icon.setAttribute('src','/_images/icons/icon-cancel.png');
    cancel_icon.setAttribute('width', 16);
    cancel_icon.setAttribute('height', 16);
    cancel_icon.setAttribute('title', 'Отмена');
    cancel_icon.onclick = statusCancel;

    var del_icon = document.createElement('img');
    del_icon.setAttribute('src','/_images/icons/status-delete.png');
    del_icon.setAttribute('width', 16);
    del_icon.setAttribute('height', 16);
    del_icon.setAttribute('title', 'Удалить статус');
    del_icon.onclick = statusDelete;

    $('status').innerHTML = null;
    $('status').onclick = null;
    $('status').appendChild(edit);
    $('status').appendChild(ok_icon);
    $('status').appendChild(cancel_icon);
    $('status').appendChild(del_icon);
}


function statusSave(){
    new Ajax.Request('/auth/ajaxstatus.html', {
        method: 'get',
        parameters:{action:'save', text:$('statustxt').value},
        onSuccess:
        function(transport){
            $('status').onclick = statusEdit;
            $('status').innerHTML = $('statustxt').value;
            if (!$('statustxt').value) {
                $('status').innerHTML = 'не указан';
            }
            //authUpdater.start();
            //authUpdater.onTimerEvent();
        },
        onFailure:
        function(){
            alert('Error.')
        }
    }
    );
}

function statusDelete(){
    new Ajax.Request('/auth/ajaxstatus.html', {
        method: 'get',
        parameters:{action:'delete'},
        onSuccess:
        function(transport){
            $('status').onclick = statusEdit;
            //authUpdater.start();
            //authUpdater.onTimerEvent();
        },
        onFailure: function() {
            alert('Error.');
        }
    }
    );
}

function statusCancel(){
    //authUpdater.start();
    //authUpdater.onTimerEvent();
}
