/* $Id$ */

function login_intern() {
    return formToAgent('login', '/ctt_intern/ctt.login', '/logged_in.html');
}

function send_passwd() {
    return formToAgent('send_password', '/ctt_intern/ctt.send_passwd', '');
}

function change_passwd() {
    return formToAgent('change_password', '/ctt_intern/ctt.change_passwd', '');
}


var actionRunning = false;

function formToAgent(formName, agentUrl, errorUrl) {
    if (actionRunning) {
        return false;
    }
    actionRunning = true;
    document.body.style.cursor = 'wait';
    form = document.forms[formName];
    dojo.xhrPost({
        url: agentUrl,
        form: form,
        handleAs: 'json',
        load: function(response, ioArgs) {
            console.log('Response:', response.rc, response.message, response.page);
            form.action = form.action + '/' + response.page;
            dojo.byId('message').value = response.message;
            if (response.page) {
                form.submit();
            } else {
                msgNode = dojo.byId('loops.messages.top')
                msgNode.innerHTML = response.message;
                msgNode.style.display = 'block';
            }
            document.body.style.cursor = 'auto';
            actionRunning = false;
            return response;
        },
        error: function(response, ioArgs) {
            console.log('Error:', response);
            if (errorUrl) {
                form.action = form.action + errorUrl;
                dojo.byId('message').value = 'error';
                form.submit();
            } else {
                msgNode = dojo.byId('loops.messages.top')
                msgNode.innerHTML = response;
                msgNode.style.display = 'block';
            }
            document.body.style.cursor = 'auto';
            actionRunning = false;
            return response;
        }
    });
    return false;
}



function xx_login_intern() {
    form = document.forms.login;
    dojo.xhrPost({
        url: '/login_intern',
        form: form,
        handleAs: 'json',
        load: function(response, ioArgs) {
            console.log('Response:', response.rc, response.message, response.page);
            form.action = form.action + '/' + response.page;
            dojo.byId('message').value = response.message;
            if (response.page) {
                form.submit();
            } else {
                msgNode = dojo.byId('loops.messages.top')
                msgNode.innerHTML = response.message;
                msgNode.style.display = 'block';
            }
            return response;
        },
        error: function(response, ioArgs) {
            console.log('Error:', response);
            form.action = form.action + '/logged_in.html';
            dojo.byId('message').value = 'error';
            form.submit();
            return response;
        }
    });
    return false;
}
