function InitBookmarks(containerId, projectSetupId, userId) {
    if (ASPCode.net.CookieManager.getCookie('MyBookmarksOpened') == '1') {
        OpenCloseBookmarks(containerId, projectSetupId, userId);
    }else if ($get(containerId + 'Container').className == 'rightSideQuicklinks') {
        LoadBookmarks('myBookmarks', projectSetupId, userId);
    }
}

function OpenCloseBookmarks(containerId, projectSetupId, userId) {
    if ($get(containerId + 'Container').className == 'rightSideQuicklinks') {
        $get(containerId + 'Container').className = 'rightSideQuicklinks rightSideQuicklinksClosed';
        $get(containerId).innerHTML = '';
        ASPCode.net.CookieManager.deleteCookie('MyBookmarksOpened', { path: '/' });
    } else {
        $get(containerId + 'Container').className = 'rightSideQuicklinks';
        ASPCode.net.CookieManager.setCookie('MyBookmarksOpened', '1', { path: '/' });
        LoadBookmarks(containerId, projectSetupId, userId);
    }
}

function LoadBookmarks(containerId, projectSetupId, userId) {
    var wRequest = new Sys.Net.WebRequest();
    wRequest.set_httpVerb("GET");
    wRequest.set_url('/projects/default/modules/public/redcms_bookmarks/aspx/redcms_bookmarks.aspx?projectSetupId=' + projectSetupId + '&userId=' + userId);
    wRequest.get_headers()["containerId"] = containerId;
    wRequest.get_headers()["projectSetupId"] = projectSetupId;
    wRequest.get_headers()["userId"] = userId;
    wRequest.get_headers()["function"] = 'LoadBookmarks';
    wRequest.add_completed(OnBookmarkLoadCompleted);
    wRequest.invoke();
}

function AddBookmark(containerId, projectSetupId, userId, projectId) {
    var wRequest = new Sys.Net.WebRequest();
    wRequest.set_httpVerb("GET");
    wRequest.set_url('/projects/default/modules/public/redcms_bookmarks/aspx/redcms_bookmarks.aspx?fn=add&projectId=' + projectId + '&projectSetupId=' + projectSetupId + '&userId=' + userId);
    wRequest.get_headers()["containerId"] = containerId;
    wRequest.get_headers()["projectSetupId"] = projectSetupId;
    wRequest.get_headers()["userId"] = userId;
    wRequest.get_headers()["function"] = 'AddBookmark';
    wRequest.add_completed(OnBookmarkLoadCompleted);
    wRequest.invoke();
}

function RemoveBookmark(containerId, projectSetupId, userId, projectId) {
    var wRequest = new Sys.Net.WebRequest();
    wRequest.set_httpVerb("GET");
    wRequest.set_url('/projects/default/modules/public/redcms_bookmarks/aspx/redcms_bookmarks.aspx?fn=remove&projectId=' + projectId + '&projectSetupId=' + projectSetupId + '&userId=' + userId);
    wRequest.get_headers()["containerId"] = containerId;
    wRequest.get_headers()["projectSetupId"] = projectSetupId;
    wRequest.get_headers()["userId"] = userId;
    wRequest.get_headers()["function"] = 'LoadBookmarks';
    wRequest.add_completed(OnBookmarkLoadCompleted);
    wRequest.invoke();
}

function OnBookmarkLoadCompleted(executor, eventArgs) {
    if (executor.get_responseAvailable() && executor.get_statusCode() == 200) {
        var containerId = executor.get_webRequest().get_headers()["containerId"];
        var functionName = executor.get_webRequest().get_headers()["function"];
        if (functionName == 'AddBookmark' && $get(containerId + 'Container').className != 'rightSideQuicklinks') {
            //aufklappen
            $get(containerId + 'Container').className = 'rightSideQuicklinks';
        }
        if ($get('myBookmarksContainer').className == 'rightSideQuicklinks') {
            var xml = executor.get_xml();
            var projectSetupId = executor.get_webRequest().get_headers()["projectSetupId"];
            var userId = executor.get_webRequest().get_headers()["userId"];
            if (xml) {
                //alert(xml.documentElement.nodeName);
                var container = $get(containerId);
                container.innerHTML = '';
                var bookmarks = xml.documentElement.childNodes;
                for (var i = 0; i < bookmarks.length; i++) {
                    var projectId = bookmarks[i].getAttribute('projectId');
                    var li = document.createElement('li');
                    var a2 = document.createElement('a');
                    a2.setAttribute('href', 'javascript:RemoveBookmark("' + containerId + '", ' + projectSetupId + ', ' + userId + ', ' + projectId + ');');
                    var img = document.createElement('img');
                    img.setAttribute('border', '0');
                    img.setAttribute('align', 'middle');
                    img.setAttribute('alt', bookmarksRemoveText);
                    img.setAttribute('title', bookmarksRemoveText);
                    img.src = '/projects/default/modules/public/redcms_bookmarks/images/delPfeil.gif';
                    a2.appendChild(img);
                    li.appendChild(a2);
                    var a = document.createElement('a');
                    a.innerHTML = bookmarks[i].childNodes[0].firstChild.nodeValue;
                    var href = document.createAttribute('href');
                    a.setAttribute('href', bookmarks[i].childNodes[1].firstChild.nodeValue);
                    li.appendChild(a);
                    container.appendChild(li);
                }
            }
        }
    }

}
