/*global YAHOO */

function showBib(id) {
    document.body.style.cursor = 'progress';
    var bibpanel =  
	new YAHOO.widget.Panel("fullbib",   
			       { width: "500px",  
				 fixedcenter: true,  
				 close: true,  
				 draggable: false,  
				 zindex: 4, 
				 modal: true, 
				 visible: false,
				 constraintoviewport: true
			       }  
			      ); 
    bibpanel.setHeader("Bibliography Entry " + id);
    
    var sUrl = "/fullbib.php?id=" + id;
    var callback = { 
	success: function (o) {
	    bibpanel.setBody(o.responseText);
	    bibpanel.render(document.body); 
            var panelHeight = bibpanel.element.offsetHeight;
            var headerHeight = bibpanel.header.offsetHeight;
            var bodyHeight = (panelHeight - headerHeight);
	    var viewportHeight = YAHOO.util.Dom.getViewportHeight();
	    if (panelHeight > viewportHeight ) {
		YAHOO.util.Dom.setStyle(bibpanel.body, 'height',
					(viewportHeight-headerHeight-40)+'px');
	    }
	    bibpanel.show();
	    document.body.style.cursor = 'auto';
	}, 
	failure: function (o) {
	    bibpanel.setBody("error:" + o.statusText);
	    bibpanel.render(document.body); 
	    bibpanel.show();
	    document.body.style.cursor = 'auto';
	}
    };
    var transaction = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback, null); 

    return false;
}


function toggleTopicBib() {
    var div = document.getElementById("topicbiblio");
    if (div.style.display === "block") {
	div.style.display = "none";
    } else {
	div.style.display = "block";
    }
}

function highlightelement(e, clear) {
    if (clear) {
	e.style.background = "";
	e.style.border = "";
    } else {
	e.style.background = "#eeeeee";
	e.style.border = "solid black 1px";
    }
}

function showTopicBlock(id, elem) {
    var src = document.getElementById(id);
    var pane = document.getElementById("tabpane");

    pane.innerHTML = src.innerHTML;
    pane.style.display = "block";

    var rent = elem.parentNode;

    var nodes = rent.childNodes;
    for (var i = 0; i < nodes.length; i++) {
	if (nodes[i].tagName === 'A') {
	    highlightelement(nodes[i], 1);
	}
    }
    
    highlightelement(elem, 0);
    return (false);
}


