/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

 /* Ajax with element update
                        var msg = Ext.get('msg');
                        msg.load({
                            url: 'Backend.ashx',
                            params: 'sayHello=1',
                            text: 'Updating...'
                      */


var eudlr_sessionID;
var eudlr_backendURL = eudlr_bridgeURL;

function eudlr_loginUser(username, password, resFunction) {
  
    if(eudlr_mode == 'offline') {
        if((username == 'test') && (password == 'test')) {
            eudlr_sessionID = "42";
            eudlr_userGUID = "42";
            var res1 = {
                state   : 'OK',
                data    : {
                    firstName : 'Karl',
                    lastName : 'Mustermann',
                    email : 'karl.mustermann@test.de',
                    userGUID : '42'
                },
                info    : null
            }
            resFunction(res1);
        }
        else {
            var res2 = {
                state   : 'OK',
                data    : null,
                info    : null
            }
            eudlr_userGUID = null;
            resFunction(res2);
        }
        return;
    }

    /* We don't need separate session login
    eudlr_InitSession(function(res) {
        if((!res) || ('ERROR' == res.state)) resFunction(res);
        else {
            var params = {
                action : 'login',
                sessionID : eudlr_sessionID,
                username: username,
                password: password
            };
            eudlr_callBackend(params, resFunction);
        }
    });
    */
    var params = {
        action : 'login',
        username: username,
        password: password
    };
    eudlr_callBackend(params, resFunction);

}

function eudlr_registerUser(email, password, firstName, lastName, resFunction) {

    var params = {
        action : 'registerUser',
        email: email,
        password: password,
        firstName: firstName,
        lastName : lastName
    };
    eudlr_callBackend(params, resFunction);

}

function eudlr_getCosts(processID, resFunction) {

    var params = {
        action : 'getCost',
        processID: processID
    };
    eudlr_callBackend(params, resFunction);

}


function eudlr_createProcess(params, resFunction) {

    eudlr_callBackend(params, resFunction);

}

function eudlr_getFileUploadResult(callGUID, resFunction) {

    var params = {
        action : 'getFileUploadResult',
        callGUID: callGUID
    };
    eudlr_callBackend(params, resFunction);

}


function eudlr_callBackend(params, resFunction) {
    new Ext.data.ScriptTagProxy(
        { url : eudlr_backendURL }
    ).doRequest(
        "read", 
        null,
        params,
        new (Ext.extend(
                new Function(), 
                Ext.data.DataReader, 
                {
                    readRecords : function(inObject) {
                        return inObject;
                    }
                }
        )
    )(),
    function(inObject) {
        // Ext.MessageBox.alert('Backend', 'Data return from the server: ' + inObject);
        if(resFunction) resFunction(inObject);
    });
};

// *Does not work cross site*
//function eudlr_callBackend(params, resFunction) {
//    var req = Ext.Ajax.request({
//        url: eudlr_backendURL,
//        params: params,
//        disableCaching: true,
//        method : 'POST',
//        success: function ( result, request ) {
//            // Ext.MessageBox.alert('Success', 'Data return from the server: '+ result.responseText);
//            resFunction(Ext.decode(result.responseText));
//        },
//        failure: function ( result, request) {
//            // Ext.MessageBox.alert('Fehler bei Serveraufruf', result.responseText);
//            var res = {
//                state   : 'ERROR',
//                data    : null,
//                info    : result.responseText
//            }
//            resFunction(res);
//        }
//    });
//}

