
function AlexandriaServices( tagBaseUrl, loginBaseUrl, neuKundeBaseUrl, showNeuKundeBaseUrl, bibAnlegenBaseUrl, sessionappendix) {

    var BUCH_HTTP = new BuchXmlHttp();

    var self = this;
    
    self.tagArtikel= function( tags, callBack ){
        var url = tagBaseUrl + "&tags=" + tags;
        handleCallback(createRequestUrl(url), callBack );
    }
    
    self.login = function( tags, user, password, callBack ) {
        var url = loginBaseUrl + "&username=" + user + "&password=" + password + "&tags=" + tags;
        handleCallback(createRequestUrl(url), callBack );
    }
    
    self.neuKunde = function( username, password, email, passwordRetype, callBack ) {
        var url = neuKundeBaseUrl + "&username=" + username + "&password=" + password + "&pwdRe=" + passwordRetype + "&email=" + email;
        handleCallback(createRequestUrl(url), callBack );
    }
    
    self.showNeuKunde = function( callBack ) {
        var url = showNeuKundeBaseUrl;
        handleCallback(createRequestUrl(url), callBack );
    }
    
    self.bibAnlegen = function( tags, bibName, einkaeufeHinzufuegen, wunschlisteHinzufuegen, rezensierteArtHinzufuegen, agb, callBack ){
        var url = bibAnlegenBaseUrl + "&bibName=" + bibName + "&tags=" + tags;
        if( einkaeufeHinzufuegen ) {
            url = url + "&eh=true";
        }
        if( wunschlisteHinzufuegen ) {
            url = url + "&wh=true";
        }
        if( rezensierteArtHinzufuegen ) {
            url = url + "&rah=true";
        }
        if( agb ) {
            url = url + "&agbc=true";
        }
        handleCallback(createRequestUrl(url), callBack );
    }

    function createRequestUrl( baseURL ) {
        return baseURL + sessionappendix;
    }
    
    function handleCallback(url, dataCallback) {
    
        var request = BUCH_HTTP.createReq();
        BUCH_HTTP.openReq(request, url, function() {

            // warten bis der request komplett durch ist.
            if (request == null || !request.readyState || request.readyState != 4) {
                return;
            }
            
            // pruefen ob der request erfolgreich war.
            if (!request.status || request.status == null || request.status != 200) {
                return;
            }

            try {
                dataCallback(request.responseText);
            }
            catch (e) {
                alert(e);
            }
        });
        BUCH_HTTP.sendReq(request);
    }
}
   
jQuery.noConflict();

var ie = document.all;
function showAjaxPage2( state ) {
    var detail = document.getElementById('ajaxPageContent');
                
        if(state) {
                if(ie) {
                        document.getElementsByTagName("html")[0].style.overflow = "hidden";
                        window.scrollTo(0,0);
                }
                jQuery('#ajaxPageContent').removeClass('noDisplay');
                jQuery('#opacityLayer').addClass('opacityLayer');
                var yoffset = window.pageYOffset;
                if( ie ) {
                  yoffset = document.body.scrollTop;
                }
               //jQuery('#ajaxPageContent').style.top = yoffset + "px";
        } else {
                if(ie) {
                        document.getElementsByTagName("html")[0].style.overflow = "auto";
                }
                jQuery('#ajaxPageContent').addClass('noDisplay');
                jQuery('#opacityLayer').removeClass('opacityLayer');
                
        }
}

function showAjaxPage( state ) {
    var detail = document.getElementById('ajaxPageContent');
                
        if(state) {
                if(ie) {
                        document.getElementsByTagName("html")[0].style.overflow = "hidden";
                        window.scrollTo(0,0);
                }
                jQuery('#ajaxPageContent').removeClass('noDisplay');
                var yoffset = window.pageYOffset;
                if( ie ) {
                  yoffset = document.body.scrollTop;
                }
                       
                jQuery('#ajaxPageContent').modal();
        } else {
                if(ie) {
                        document.getElementsByTagName("html")[0].style.overflow = "auto";
                }
                jQuery('#ajaxPageContent').addClass('noDisplay');
                jQuery.modal.close();
        }
}

