// Used for single record images.
var openedImg = new Image();
openedImg.src = "opened.gif";
var closedImg = new Image();
closedImg.src = "closed.gif";

// Used for expandall/closeall images.
var expandallImg = new Image();
expandallImg.src = "expandall.gif";
var closeallImg = new Image();
closeallImg.src = "closeall.gif";


var record_htmlId = '';     // Used to find record div tag.

var getArr_ajax;

var glb_htmlId, glb_recId;
var glb_sig;
var glb_size;


function showOneContent () {
    for ( var i = 0; i < glb_size; i++ )
    {
        if ( getArr_ajax[i] && getArr_ajax[i].sigReady == false )
        {
            getArr_ajax[i].sigReady = true;


            var htmlId = getArr_ajax[i].htmlId;
            var recId= getArr_ajax[i].recId;
            var recImgId= getArr_ajax[i].recImgId;

            var objRecord = document.getElementById(htmlId);

                // Now load content if there isn't yet.
            var tmp = objRecord.innerHTML;

            if ( '' == tmp )
            {
                getArr_ajax[i].requestFile = '/search/databases/getContent.php?recId=' + recId;
                getArr_ajax[i].runAJAX();
            }


            objRecord.style.display="block";

            var objImg = document.getElementById(recImgId);
            objImg.src = openedImg.src;

            break;

        }
    }
}

function showContent(htmlId, recId, verId) {
//alert ("htmlid: " + htmlId + "   recId: " + recId + "   verId: " + verId);
    var objRecord = document.getElementById(htmlId);

        // Now load content if there isn't yet.
    var tmp = objRecord.innerHTML;
    if ( '' == tmp )
    {
        record_htmlId = htmlId;
        ajaxRecord.requestFile = '/search/databases/getContent.php?recId=' + recId + '&verId=' + verId;
        ajaxRecord.onCompletion = displayContent;
        ajaxRecord.runAJAX();
    }

    if(objRecord.style.display=="block")
        objRecord.style.display="none";
    else
        objRecord.style.display="block";
}


function displayContent ()
{
    if ( '' == ajaxRecord.response )
        document.getElementById(record_htmlId).innerHTML = "No extra information is available for this resource.";
    else
        document.getElementById(record_htmlId).innerHTML = ajaxRecord.response;
}


function swapIcon(htmlId) {
    objRecord = document.getElementById(htmlId);
    if ('[more+]' == objRecord.innerHTML)
        objRecord.innerHTML = '[less-]';
    else
        objRecord.innerHTML = '[more+]';
}


// To fix getElementsByName not working in IE.
function getElementsByName_iefix(tag, name) {  
      var elem = document.getElementsByTagName(tag);  
      var arr = new Array();  
   
      for(var i = 0, iarr = 0; i < elem.length; i++) {  
           att = elem[i].getAttribute("name");  
   
           if(att == name) {  
                arr[iarr] = elem[i];  
                iarr++;  
           }  
      }  
      return arr;  
}



function showAllContent ()
{
    var htmlId;
    var recId, recImgId;
    var objRecord, objRecImg;

    var objImg = document.getElementById('allIcon');
    if(objImg.src.indexOf('closeall.gif')>-1)
    {
        objImg.src = expandallImg.src;

        // Close all record content.
        var recArr = getElementsByName_iefix("div", "recContent");
        for ( var i = 0; i < recArr.length; i++ )
        {
            htmlId = recArr[i].id;

            objRecord = document.getElementById(htmlId);
            objRecord.style.display="none";

            recImgId = 'icon' + htmlId.substr (10);

            objRecImg = document.getElementById(recImgId);
            objRecImg.src = closedImg.src;
        }
    }
    else
    {
        objImg.src = closeallImg.src;

        // Display all record content.
        var recArr = getElementsByName_iefix("div", "recContent");
        glb_size = recArr.length;


getArr_ajax = new Array(glb_size);
for ( var j = 0; j < glb_size; j++ )
    getArr_ajax[j] = new sack();


        glb_htmlId = new Array (glb_size);
        glb_recId = new Array (glb_size);
        glb_recImgId = new Array (glb_size);
        glb_sig = new Array (glb_size);

        var cnt = 0;
        for ( var i = 0; i < recArr.length; i++ )
        {
            htmlId = recArr[i].id;
            recId = htmlId.substr (10);
            recImgId = 'icon' + recId;

            glb_htmlId[i] = htmlId;
            glb_recId[i] = recId;
            glb_recImgId[i] = recImgId;
            glb_sig[i] = false;

getArr_ajax[i].htmlId = htmlId;
getArr_ajax[i].recId = recId;
getArr_ajax[i].recImgId = recImgId;
getArr_ajax[i].sigReady = false;

            objRecord = document.getElementById(htmlId);

                // Now load content if there isn't yet.
            var tmp = objRecord.innerHTML;
            if ( '' == tmp )
            {
showOneContent ();
            }
            else
            {
glb_sig[i] = true;
getArr_ajax[i].sigReady = true;

                showContent (htmlId, recId, '-1');
                objRecord.style.display="block";

                var objrecImg = document.getElementById(recImgId);
                objrecImg.src = openedImg.src;
            }
        }
    }
}

