// extended + regular search form

function goShowExtSearch() 
{
    $('#regsearch').hide();
    $('#xtsearch').show();
}

function goShowRegSearch() 
{	
    $('#xtsearch').hide();
    $('#regsearch').show();
}

// search history form

function historyResponce (daten, status) {
    if (status == 'success') {
        $('.searchHistoryLink').hide();
        $("#searchHistoryList").html(daten);
        $("#searchHistory").show();
    }
}

function showSearchHistory(sid) {
    var url = portal_ScriptURI + '/search/searchHistory/' + sid;
    // alert(url+' '+param);
    $.get(url, '', historyResponce);
}

function closeSearchHistory() {
    $("#searchHistory").hide();
    $('.searchHistoryLink').show();
}

function appendSearch(search) {
    if ($("#FS").val()) {
        if (search.indexOf(' ') > -1) {
            search = '(' + search + ')'; 
        }
        search = $("#FS").val() + ' ' + search;
    }
    setSearchField(search);
}
function appendSearchOpt(opt) {
    var search = '';
    if (opt) {
        search = $("#FS").val();
        if (search.length > 0) {
            if (search.indexOf(' ') > -1) {
                search = '(' + search + ')'; 
            }
            search = search + ' ' + opt;
        }
    }
    // no opt -> clear search field
    setSearchField(search);
}
function setSearchField(value) {
    $("#FS").val(value);
    $("#xtsearch input").val(''); // clear extended search form
    $("#type_a").val('FS');       // set search fielt to FS
    $("#term_a").val(value); 
}

// facet fields:

function hideFacet (field) {
    $('#drilldown_' + field + ' table.facets').hide();
}

function showFacet (field) {
    $('#drilldown_' + field + ' table.facets').show();
}

function toggleFacet (field, sid) {
    var uri = portal_ScriptURI + '/search/filter/' + sid;
    var param = "ajax=1" + "&field=" + field + "&mode=";
    
    if ($('#drilldown_' + field + ' h2 .symbol').html() == '+') {

        $('#drilldown_' + field + ' h2 .symbol').html('-');
        $.get(uri, param + "show", showFacet);
    }
    else {
        $('#drilldown_' + field + ' h2 .symbol').html('+');
        $.get(uri, param + "hide", hideFacet);
    }
}


// bookmarkswitch:


function bookmarkResponce (daten, status) {
    if (status == 'success') {
        $("#mainmenu_bookmark_length").html(daten);
    }
}

function switchBookmark(cbid, sid, qid, dbid, offset, recno) {
    var url = portal_ScriptURI + '/search/switchbookmark/' + sid;
    var param = "ajax=1"
        + "&qid="       + qid 
        + "&dbid="      + dbid
        + "&offset="    + offset
        + "&recno="     + recno
        + "&bc_bibkey=" + cbid;
    if ($('#' + cbid).attr('checked')) {
        param = param + "&_add_bookmark=true";
    }
    else {
        param = param + "&_delete_bookmark=true";
    }
    // alert(url+' '+param);
    $.get(url, param, bookmarkResponce);
}

// select bookmarks

function selectBookmark(cbid, sid) {
    var url = portal_ScriptURI + '/search/selectbookmark/' + sid;
    var param = "ajax=1"
              + "&bc_bibkey=" + cbid;    
    if ($('#' + cbid).attr('checked')) {
        param = param + "&_select_bookmark=true";
    }
    else {
        param = param + "&_unselect_bookmark=true";
    }
    $.get(url, param); 
}

// ezb ampel:

var ezbLevel  = new Object(); 
var ezbColors = new Object();
       
function getEZBampel(openURL, dbrecordid, domID) { 
    $.ajax({
        url: portal_BaseURI + "/cgi-bin/redirect.pl?dbrecordid=" + dbrecordid +"&url=" + escape(openURL),
        dataType: "xml",
        
        success: function(data) { 
            var ezbLinks = new Array();
            
            if($(data).find('notfound').length > 0) return; 

            var linkColors = '';
            
            var result = $(data).find('Result').first();
            var qualities;            
            
            $(data).find('Result').each(function() {
                var color;
                var level;
                
                var result = $(this);
                
                var linkToArticle = $(result).find('LinkToArticle').first();
                var linkToJournal = $(result).find('LinkToJournal').first();
         

                
                if ($(result).find('access').length > 0) {
                    var access = $(result).find('access').first();         
                    var status = $(access).attr('status');
                    if (status == 'sure') {
                        color =  $(access).attr('color');
                        level = linkToArticle.attr('level');
                    }
                    else {
                        color = 7;
                        level = 'undefined';
                    }
                    linkToArticle = $(result).find('LinkToArticle').length > 0 ? linkToArticle.text()
                                                                             : linkToJournal.text();                
                }
                else {
                    color = 4;
                    level = 'homepage';
                    linkToArticle = linkToJournal.text();                
                }
                            
                var altText = ezbColors[color] + ' (EZB-Service)';
                
                var jour_id = $(result).find('LinkToEZB_Frontpage').first().text().replace(/.*jour_id=/, '');
                
                var linkWarpto = '';            
                if (isFinite(jour_id)) { 
                    var bibid = $(result).find('bibid').first().text();            
                    linkToArticle = escape(linkToArticle);
                }
                
                var regex = /(\w+\.\w+)(\/|$)/;
                regex.exec(linkToArticle);                
                var regex_domain = RegExp.$1;
                
                var is_new = true;
                for (var i = 0; i < ezbLinks.length; i++) {
                    if (level + regex_domain == ezbLinks[i]) is_new = false;
                }; 
                ezbLinks.push(level + regex_domain);
                
                if (is_new) {
                    linkColors = linkColors
                        + '<a class = "fulltext_anchor extLink" href = "' 
                        + portal_BaseURI + "/cgi-bin/warpto.pl?dbrecordid=" + dbrecordid 
                        + '&bibid=' + bibid 
                        + '&color=' + color 
                        + '&jour_id=' + jour_id 
                        + '&level=' + level
                        + '&url='
                        + linkToArticle 
                        + '" target = "_blank" title = "' + altText + '">'
                        + '<span style = "padding:0 5px 0 8px;">' 
                        + ezbLevel[level] 
                        + '</span>'
                        + '<img src = "' + portal_BaseURI + '/img/ezb/ezb' + color + '.png" '
                        + 'alt = "' + altText + '"'
                        + '/></a>';
                }
            });
            
            $('#' + domID).html(linkColors);
            $('#' + domID).show();        
        }
    });      
}

