Responder = {
    opts: {
        alertsType: 'js', //modal|js|false
        alertsOn: 'all' //all|errors|false
    },
    htmlMessages : '',
    textMessages : '',
    htmlResponse : '',
    isError      : false,
    
    handle: function(xml) {
        $response = $('response', xml);
        
        try{
            //$form = $('html>obj', $response);
            $html = $('html>obj', $response);
            $msg  = $('html>msg', $response);
            $tmsg  = $('msgs>text', $response);

            Responder.isError =  parseInt($('error', $response).text());
            
            Responder.htmlMessages = $msg.text();
            Responder.textMessages = $tmsg.text();
            Responder.htmlResponse = $html.text();//html();
        } catch(e) {
            console.log('Nie udalo sie ustalic parametrow: ' + e.message );
        }

        if(Responder.opts.alertsOn == 'all' ||
            (Responder.opts.alertsOn == 'errors' && Responder.isError)
        ) {
            if(Responder.opts.alertsType == 'modal') {
                Modal.l('info-messages', Responder.htmlMessages);
            } else if(Responder.opts.alertsType == 'js') {
                alert( Responder.textMessages);
            }
        }

        if(Responder.isError) {
            jsOnError  = $('js>onError', $response).text();
            
            if(jsOnError) {
                try{
                    eval(jsOnError);
                } catch(e) {
                    console.log('jsOnError error: ' + e.message);
                }
            }

            return false;
        } else {
            jsOnSucces = $('js>onSuccess', $response).text();

            if(jsOnSucces) {
                try{
                    eval(jsOnSucces);
                } catch(e) {
                    console.log('jsOnSucces error: ' + e.message);
                }
            }

            return true;
        }
    }
}
