// #### by RT3 ###
// Einschalten der Funktion mit 1, ausschalten mit 9
var isTuLief = 1;
var isMbVorm = 1;
var isSemApp = 1;
var isEoD    = 1;
var showSorted = 9;
var showThumbs = 9;
var showRedi = 9;

var showIP = "194.95.144.54,194.95.144.41,194.95.144.90,212.201.51.190,212.201.53.122,212.201.54.206,212.201.54.125,212.201.54.145,212.201.52.72,212.201.52.83,212.201.52.87,212.201.52.119,212.201.52.96,212.201.52.126,194.95.144.100";

var jetzt = new Date();
var StartSec = jetzt.getTime();
var StepSec = 0;
var StopSec = 0;
 
var Counter = 0;
var yInterv = window.setInterval('teste2();', 1);
var Bestellen_oder_Vormerken = "";
var SubmitIssuesReserves = "";
var BC = new Array();
var BCcount = 0;

var aktRSN = 0;

var CatOrder = new Object();
CatOrder["RSN"] = 99999999;
CatOrder["Titel"] = 1;
CatOrder["Person"] = 2;
CatOrder["Weitere Personen"] = 3;
CatOrder["Jahr"] = 4;


// #### by RT3 ###


var default_value;
var IE = document.all?true:false;

function filterInput() {
	var frms=document.forms.length; 
	for (i=0; i<frms; i++) {
		var elems=document.forms[i].elements.length;
		for (j=0; j<elems; j++) {
			var elem=document.forms[i].elements[j];
			if ((elem.type == 'text') || (elem.type == 'textarea') || (elem.type == 'password')) {
				var val = elem.value;
				val = replaceAll(val,"</","");
				val = replaceAll(val,"<","");
				val = replaceAll(val,">","");		
				elem.value = val;		
			}
		}
	}
}

function clearForm(formName) {
	var frms=document.forms.length; 
	//alert(formName);
	var foc = false;
	for (i=0; i<frms; i++) {
		//alert(document.forms[i].name);
		if (document.forms[i].name == formName) {
			var elems=document.forms[i].elements.length;
			for (j=0; j<elems; j++) {
				var elem=document.forms[i].elements[j];
				if ((elem.type == 'text') || (elem.type == 'textarea') || (elem.type == 'password')) {
					elem.value = ".";
					if (!foc) foc=elem;
				} else if (elem.type == 'select') {
					elem.selectedItemIndex = 0;
					if (!foc) foc=elem;
				} else if (elem.type == 'checkbox') {
					elem.checked = false;
					if (!foc) foc=elem;
				}
			}
			if (foc) foc.focus();
		}
	}	
}

function page_load(focs) {
	try {
		// Add events for default place holders.
		add_default_handles();
		//addEvent(window,'resize',adjust_page_size,true);
		default_value = new Array();
		add_menu_handles();
		adjust_page_size();
		load_qs_data();
		eval(focs);
		return true;
	} catch(err) {
		//alert(err);
		return false;
	}
}

function load_qs_data() {
	  var query = window.location.search.substring(1);
	  var vars = query.split("&");
	  var tmp="";
	  for (var i=0;i<vars.length;i++) {
		    var pair = vars[i].split("=");
		    if (pair[0] != "ACTION" && pair[0] != "TOKEN") {
				if (!load_val(pair)) return;
			}
	  } 
}
function load_val(pair) {
	try {
		var el=document.getElementById(pair[0]);
		if (!el) return true;
		if (pair[1] != "")
			el.value = replaceAll(pair[1],"%20"," ");
		return true;
	} catch(err) {
		//alert(err);
		return true;
	}
}


function add_default_handles() {
	var frms=document.forms.length; 
	for (i=0; i<frms; i++) {
		var elems=document.forms[i].elements.length;
		for (j=0; j<elems; j++) {
			var elem=document.forms[i].elements[j];
			if ((elem.type == 'text') || (elem.type == 'textarea') || (elem.type == 'password')) {
				addEvent(elem,'focus',default_focus,true);
				addEvent(elem,'blur',default_blur,true);
			}
			if (elem.type == "select-one" || elem.type == "select-multiple") {
				addEvent(elem,'focus',focus_colour,true);
				addEvent(elem,'blur',blur_colour,true);
			}
			/*
			if (elem.className=="HitButton" || elem.type == "button" || elem.type == "submit" || elem.type == "reset") {
				addEvent(elem,'mouseover',button_highlight,true);
				addEvent(elem,'mouseout',button_normal,true);
				//addEvent(elem,'focus',button_highlight,true);
				//addEvent(elem,'blur',button_normal,true);
			}*/
		}
	}
}
function add_menu_handles() {
	var mnu = document.getElementById("MainMenuList");
	var mnulen = mnu.childNodes.length;
	var mnulnk;
	for (i=0; i<mnulen; i++) {
		// Add menu events.
		elem = mnu.childNodes[i];
		mnulnk = elem.childNodes[0];
		if (elem.className && elem.className == "MenuItem") {
			addEvent(mnulnk,'mouseover',menu_hover,true);
			addEvent(mnulnk,'mouseout',menu_out,true);
			addEvent(mnulnk,'focus',menu_hover,true);
			addEvent(mnulnk,'blur',menu_out,true);
		}
	}
}
function addEvent(obj, evType, fn, useCapture){
	var r=false;
	try {
		if (obj.attachEvent){
	    	r = obj.attachEvent('on'+evType, fn);
	  	} else if (obj.addEventListener){
	    	r = obj.addEventListener(evType, fn, useCapture);
	  	} else {
	    	alert('Handler could not be attached');
	  	}
	} catch(err) {
		alert(err);
	}
	if (r) return true;
	return r;
}
function kill_bubble(eo) {
	var e = eo.target;
	if (!e) var e = window.event;
	eo.cancelBubble = true;
	if (e.stopPropagation) e.stopPropagation();
	return false;
}
/*************************

Default focus and blur functions moved to routine code to support translation.

****************************/

var old_class;  // Keep the old colour to return to.
function focus_colour(eo) {
	var e = eo.target;
	if (!e) e = window.event.srcElement; 
	old_class = e.className;
	e.className = e.className + " InputFocus";
}
function blur_colour(eo) {
	var e = eo.target;
	if (!e) e = window.event.srcElement; 
	e.className = old_class;
}
function openWin(e,link,targ,winAtts) { 
	try {
		if (!e) e = window.event.srcElement; 
		if (e.keyCode == 9) return true;
		if (targ == "") targ = "libero";
		if (winAtts == "") winAtts = "scrollbars=yes,resizable=yes,width=500,height=600";
		window.open(replaceAll(link,"&amp;","&"),targ + "_window",winAtts); 
		return true;
	} catch(err) {
		//alert(err);
		return false;
	}
}
function openUrl(e,link) { 
	try {
		if (e.keyCode == 9) return true;
		window.location=replaceAll(link,"&amp;","&"); 
		return true; 
	} catch(err) {
		return false;
	}
}
function replaceAll( str, from, to ) {
    var idx = str.indexOf( from );
    while ( idx > -1 ) {
        str = str.replace( from, to );
        idx = str.indexOf( from );
    }
    return str;
}
function adjust_page_size() {
	try {
	  	var pgCont = document.getElementById("column_container");
	  	var pgFoot = document.getElementById("footer_container");
	  	if (!pgFoot) return;
	  	if (pgFoot.style.visibility == "hidden") return;
		var myWidth = 0, myHeight = 0;
		if( typeof( window.innerWidth ) == 'number' ) {
			//Non-IE
			//myWidth = window.innerWidth;
			myHeight = window.innerHeight;
		} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
			//IE 6+ in 'standards compliant mode'
			//myWidth = document.documentElement.clientWidth;
			myHeight = document.documentElement.clientHeight;
		} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
			//IE 4 compatible
			//myWidth = document.body.clientWidth;
			myHeight = document.body.clientHeight;
		}
	  	var hgt = (myHeight - 20) + "px";
		pgCont.style.height = hgt;
		pgFoot.style.top = 0 + "px";
	} catch(err) {
		//nothing
	}
}
function menu_hover(eo) {
	e = eo.target;
	if (!e) e = window.event.srcElement; 
	e.parentNode.className = "MenuItem MIHov";
	return true;
}
function menu_out(eo) {
	e = eo.target;
	if (!e) e = window.event.srcElement; 
	e.parentNode.className = "MenuItem";
	return true;
}
var old_button_class;
function button_highlight(eo) {
	try {
		e = eo.target;
		if (!e) e = window.event.srcElement; 
		old_button_class = e.className;
		e.className = "HitButton HitButtonHov";
	} catch(err) {}
	return true;
}
function button_normal(eo) {
	try {
		e = eo.target;
		if (!e) e = window.event.srcElement; 
		//e.className = "HitButton";
		e.className = old_button_class; //"HitButton";
	} catch(err) {}
	return true;
}

// **************************
// Catalogue display
// **************************

function HoverGraphIn(id) {
	try {	
		var div = document.getElementById(id);
		div.style.display = "inline";
	} catch(err) {}
}

function HoverGraphOut(id) {
	try {	
		var div = document.getElementById(id);
		div.style.display = "none";
	} catch(err) {}
}

// *********************************
// Bookshelf functions
// *********************************
var lastBook = "";
function ShowInfo2(n) {
	try {
		if (lastBook != "") {
			var ls = document.getElementById(lastBook);
			if (ls) ls.style.display = "none";
		}
		var info = document.getElementById("BI" + n);
		lastBook = "BI" + n;
		if (info) {
			info.style.display = "block";
		}
	} catch(err) {
		//alert(err);
	}
	return true;
}
function HideInfo2(n) {
	try {
		var info = document.getElementById("BI" + n);
		if (info) {
			info.style.display = "none";
		}
	} catch(err) {
		//alert(err);
	}
	return true;
}

/*************
LIBPORTAL functions
*************/
function portalSelDeselAll() {
  try {
	var n = 0;
	var elem;
	eval("elem = document.getElementById('PDB" + n + "');");
	while (elem) {
		if (elem.checked == true)
			 elem.checked = false;
		else
			 elem.checked = true;
		n++;
		eval("elem = document.getElementById('PDB" + n + "');");
	} 
  } catch(err) {
  	//alert(err);
  }
  return true;
}





function mouseXY() {
			var tempX = 0;
			var tempY = 0;
			if (IE) {
				//alert( e.clientY + document.body.scrollTop + "px");
				tempX = eo.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
				tempY = eo.clientY + document.body.scrollTop + document.documentElement.scrollTop;
			} else {
				tempX = eo.pageX;
				tempY = eo.pageY;			
			}
			if (tempX < 0){tempX = 0;}
			if (tempY < 0){tempY = 0;} 
			//alert("x:" + tempX + "  y:" + tempY);
			//info.style.left = (tempX-60) + "px";
			//info.style.top = (tempY-60) + "px";

}


// #### by RT3 ###
//var resObjekt = null;
var resObjekt = new Array();
var rO = 0;

function erzXMLHttpRequestObject(){
	var resObjekt = null;
	try {
		resObjekt = new ActiveXObject("Microsoft.XMLHTTP");
	}
	catch(Error){
		try {
		resObjekt = new ActiveXObject("MSXML2.XMLHTTP");
		}
		catch(Error){
			try {
				resObjekt = new XMLHttpRequest();
			}
			catch(Error){
				alert("Erzeugung des XMLHttpRequest-Objekts ist nicht möglich");
			}
		}
	}
	return resObjekt;
}

function sndReq(i, BC) {
	//var BC = document.getElementsByName("xyz").length-1;
	//while(document.getElementsByName("xyz")[BC].name == "abc" && BC >= 0) {
	//	BC--;
	//}
	//if (BC >= 0) {
		// alert(BC);
		resObjekt[rO] = null;
		resObjekt[rO] = erzXMLHttpRequestObject();
		
		resObjekt[rO].open('get', 'http://webopac.slub-dresden.de/csp/user/sa2sto.csp?i=' + i + '&BC=' + BC ,true);
		resObjekt[rO].onreadystatechange = handleResponse;
		resObjekt[rO].send(null);
		rO++;
	//}
}

function handleResponse() {
	for (var i=0; i<rO; i++) {
		if(resObjekt[i].readyState == 4){
			var Resp = resObjekt[i].responseText.split("|");
			//alert(Resp);
			var SMA = Resp[2].split(" ");
			document.getElementsByTagName("td")[Resp[1]].childNodes[0].nodeValue = document.getElementsByTagName("td")[Resp[1]].childNodes[0].nodeValue.substr(0,0)+ SMA[0].substr(0,3)+" "+SMA[0].substr(3,1)+" "+SMA[0].substr(4);
		}
//		setTimeout("sndReq()",1);
	}
}

//function sndReq(param) {
//	resObjekt.open('get', 'http://wi.slub-dresden.de/cgi-bin/WebOPACsessID.pl?sessID=' + param, false);
//	resObjekt.onreadystatechange = handleResponse;
//	resObjekt.send(null);
//	}

var retID = "";
var sessID = "";

//function handleResponse() {
//	if(resObjekt.readyState == 4){
//		retID = resObjekt.responseText;
//	}
//}

//resObjekt = erzXMLHttpRequestObject();

	var res2Objekt = new Array();
	var rC = 0;
	function sndReq2(i, xRSN, xISN, xTOK) {
		res2Objekt[rC] = null;
		res2Objekt[rC] = erzXMLHttpRequestObject();
		//alert('http://webopac.slub-dresden.de/scripts/cover.pl?i=' + i + "&RSN=" + xRSN + "&ISBN=" + xISN + "&TOKEN=" + xTOK );
		//document.getElementsByTagName("td")[i].innerHTML = xRSN;
		res2Objekt[rC].open('get', 'http://webopac.slub-dresden.de/scripts/cover.pl?i=' + i + '&RSN=' + xRSN + '&ISBN=' + xISN + '&TOKEN=' + xTOK, true);
		res2Objekt[rC].onreadystatechange = handleResponse2;
		res2Objekt[rC].send(null);
		rC++;
	}
	
	function handleResponse2() {
		for (var i=0; i<rC; i++) {
			if(res2Objekt[i].readyState == 4){
				var Resp = res2Objekt[i].responseText.split("|");
				//alert("Response: " + res2Objekt.status);
				document.getElementsByTagName("td")[Resp[1]].innerHTML = Resp[2];
			}
		}
	}

	var res3Objekt = new Array();
	var rC2 = 0;
	function sndReq3(i, xRSN) {
		res3Objekt[rC2] = null;
		res3Objekt[rC2] = erzXMLHttpRequestObject();
		//alert('http://webopac.slub-dresden.de/scripts/redi.pl?i=' + i + '&RSN=' + xRSN);
		res3Objekt[rC2].open('get', 'http://webopac.slub-dresden.de/scripts/redi.pl?i=' + i + '&RSN=' + xRSN, true);
		res3Objekt[rC2].onreadystatechange = handleResponse3;
		res3Objekt[rC2].send(null);
		rC2++;
	}
	
	function handleResponse3() {
		for (var i=0; i<rC2; i++) {
			if (res3Objekt[i]) {
				if(res3Objekt[i].readyState == 4){
					var Resp = res3Objekt[i].responseText.split("|");
					//alert("Response: " + res3Objekt[i].responseText);
					//document.getElementsByTagName("td")[Resp[1]].innerHTML = res3Objekt[i].responseText;
					var sid = "sid=EBSCO:aph&";
					var ISxN = "issn="+Resp[4].split(";")[0];
					if (Resp[6] != "ZS" && Resp[6] != "ZR" && Resp[6] != "ZT") {
						sid = "";
						ISxN = "isbn="+Resp[4].split(";")[0];
					}
					var Adresse = "http://www-fr.redi-bw.de/links/?"+sid+"rl_action=services&rl_site=slub&"+ISxN+"&title="+escape(Resp[5])+" : "+escape(Resp[8]);

// €nderung TJ, START

					// alt	var BTN = "<img border=0 src=/Images/infobutton_norm.gif onmouseout='this.src=\"/Images/infobutton_norm.gif\";' onmouseover='this.src=\"/Images/infobutton_over.gif\";' onclick='window.open(\""+Adresse+"\", \"REDI\", \"width=1024,height=600,left=100,top=200,resizeable=yes,scrollbars=yes\");'>";
					// alt	alert(BTN);
					// alt	document.getElementsByTagName("td")[parseInt(Resp[1])-1].innerHTML = document.getElementsByTagName("td")[parseInt(Resp[1])-1].innerHTML + "<br>" + BTN;

					var BTN = "<a href=\""+Adresse+"\" target=\"_blank\" onclick=\"redifenster(this.href); return false\" class=\"inflinkBtn\" title=\"Infos zu: "+Resp[5]+"\">Link-Infos</a>";
// €nderung TJ, ENDE

					document.getElementsByTagName("td")[parseInt(Resp[1])-1].innerHTML = BTN;
					res3Objekt[i] = null;
				}
			}
		}
	}

// €nderung TJ, START (neue Funktion zum Fenster šffnen eingefŸgt)

function redifenster (url) {
 fenster = window.open(url, "REDI", "width=1024,height=600,left=100,top=200,resizeable=yes,scrollbars=yes");
 fenster.focus();
}

// €nderung TJ, ENDE

var clIP = null
resObjektIP = erzXMLHttpRequestObject();

function sndReqIP(param) {
	resObjektIP.open('get', 'http://webopac.slub-dresden.de/scripts/ip.pl', false);
	resObjektIP.onreadystatechange = handleResponseIP;
	resObjektIP.send(null);
	if(resObjektIP.readyState == 4){
		clIP = resObjektIP.responseText.split("|")[1];
	}
}

function handleResponseIP() {
	if(resObjektIP.readyState == 4){
		clIP = resObjektIP.responseText.split("|")[1];
	}
}

var clRID = null
resObjektRID = erzXMLHttpRequestObject();

function sndReqRID(param) {
	resObjektRID.open('get', 'http://webopac.slub-dresden.de/csp/user/rsn2rid.csp?RSN='+param, false);
	resObjektRID.onreadystatechange = handleResponseRID;
	resObjektRID.send(null);
	if(resObjektRID.readyState == 4){
		clRID = resObjektRID.responseText.split("~")[1];
	}
}

function handleResponseRID() {
	if(resObjektRID.readyState == 4){
		clRID = resObjektRID.responseText.split("~")[1];
	}
}



var BibTD = new Array();
var BibRSN = new Array();
var BibISBN = new Array();
var myTOKEN = "";
var BibSRC = new Array();

function teste2() {
	var xx = document.getElementsByTagName("div").length - 1;
	var yy=0;
	for (var i = xx; i>0; i--) {
		if (document.getElementsByTagName("div")[i].id == "footer_container") {
			yy=i;
		}
	}
	xx=yy;	
	if (xx > 1 && document.getElementsByTagName("div")[xx].id && document.getElementsByTagName("div")[xx].id == "footer_container") {
		window.clearInterval(yInterv);
		//alert(Counter);

		StepSec = jetzt.getTime();

		if (document.getElementById("searchResults") && (showThumbs == 1 || showRedi == 1)) {
//			alert("Titelanzeige");
			var THs = document.getElementsByTagName("td").length;
			for (var i = 0; i < THs; i++) {
				if (document.getElementsByTagName("td")[i].headers == "th3") {
					var iH = document.getElementsByTagName("td")[i].innerHTML;
//					alert(iH);
					var xRSN = iH.split("Catalogue Record ")[1];
					xRSN = xRSN.slice(0, xRSN.search(/\D/));
//					var xSRC = iH.split("src=\"")[1].split("\"")[0];
//					var xISN = xSRC.split("images\/P\/")[1].split(".01.MZZ")[0];
//					var xTOK = document.forms.display.elements.TOKEN.value;
//					alert("RSN: " + xRSN);
//					alert("SRC: " + xSRC);
//					alert("ISBN: " + xISN);
//					alert("TOKEN: " + xTOK);
					if (showThumbs == 1) {
						sndReq2(i,xRSN,xISN,xTOK);	// Cover
					}
					if (showRedi == 1) {
						sndReq3(i,xRSN);		// Redi
					}
//					BibTD.push(i);
//					BibRSN.push(xRSN);
//					BibISBN.push(xISN);
//					BibSRC.push(xSRC);
//					myTOKEN = xTOK;
					if (showThumbs == 1) {
						for (var j = 0; j < document.getElementsByTagName("td")[i].childNodes.length; j++) {
							document.getElementsByTagName("td")[i].removeChild(document.getElementsByTagName("td")[i].lastChild);
						}
					}
				}
			}
		}
		
		var isCatalog = 0;
		var isReserve = 0;
		var isKonto = 0;
		for (var yy = 0; yy < xx; yy++) {
			if (document.getElementsByTagName("div")[yy].className == "DisplayRecord") {
				isCatalog = 1;
			}
			if (document.getElementsByTagName("div")[yy].id == "memserv_label") {
				isKonto = 1;
			}
			if (document.getElementsByTagName("div")[yy].className == "SingleTitleStackTableTitle") {
				isReserve = 1;
			}
			if (document.getElementsByTagName("div")[yy].className == "SingleTitleStackTableContext STSCol1") {
				BC[BCcount] = new Array()
				BC[BCcount][0] = yy - 1;
				BC[BCcount][1] = document.getElementsByTagName("div")[yy].firstChild.value;
				BCcount++;
			}
		}
		get_sessID();
		// Titel- & Exemplar-Anzeige
		if (isCatalog == 1) {
			do_mb();
			afterLoad();
		}
		if (isReserve == 1) {
			do_reserve();
		}
		if (isKonto == 1) {
			do_konto();
		}
		// Anhängen sessionID an Links und Forms
		do_sessID();
		// Zeile "File open error for: XYZ.dat" löschen
		kill_FileOpenError("footer_container", "PAGEFILE: ");
		kill_FileOpenError("Helpfile", "HELPFILE: ");

		StopSec = jetzt.getTime();
		//alert("JS-Libero: " + StartSec + " ms\nJS-SLUB: " + StepSec + " ms\nJS-Gesamt: " + StopSec + " ms");

	} else {
		Counter++;
	}
}

function do_konto() {
	var xin = "";
	var tok = "";
	
	var inputCount = document.getElementsByTagName("input").length -1;
	for (var i=0; i<inputCount; i++) {
		if (document.getElementsByTagName("input")[i].name == "TOKEN") {
			tok = document.getElementsByTagName("input")[i].value;
		}
		if (document.getElementsByTagName("input")[i].name == "bno") {
			xin = document.getElementsByTagName("input")[i].value;
		}
	}
	var aCount = document.getElementsByTagName("a").length -1;
	for (var i=0; i<aCount; i++) {
		if (document.getElementsByTagName("a")[i].tabIndex == 514) {
			document.getElementsByTagName("a")[i].href = document.getElementsByTagName("a")[i].href+"?bno="+xin+"&tok="+tok;
		}
	}
}

function kill_FileOpenError(id, File) {
	var footerID = document.getElementById(id);
	if (!footerID) {
		var divCount = document.getElementsByTagName("div").length;
		for (var i=0; i<divCount; i++) {
			if (document.getElementsByTagName("div")[i].className && document.getElementsByTagName("div")[i].className == id) {
				footerID = document.getElementsByTagName("div")[i];
			}
		}
	}
	if (footerID) {
		for (var i=0; i<footerID.childNodes.length; i++) {
			if (footerID.childNodes[i].nodeValue) {
				if (footerID.childNodes[i].nodeValue.match(/File open error for:/)) {
					//alert(footerID.childNodes[i].nodeValue);
					var SpanKnoten = document.createElement("div");
					SpanKnoten.style.visibility = "hidden";
					var TextKnoten = document.createTextNode(File + footerID.childNodes[i].nodeValue);
					SpanKnoten.appendChild(TextKnoten);
					footerID.replaceChild(SpanKnoten, footerID.childNodes[i]);
				}
			}
		}
	}
}

function get_sessID() {
	var resID = window.location.search.split("sessID=");
	sessID = resID[1];
	//alert(sessID);
	if (sessID) {
		sndReq(sessID);
	}	
}

function do_sessID() {
	if (retID == "OK") {
		for (var i = 0; i < document.links.length; i++) {
			var addOn = "?";
			var addLink = String(document.links[i]);
			if (!(addLink.match(/^javascript/))) {
				if (addLink.match(/\?/)) {
					var x;
					addOn = "&";
				}
				document.links[i].href = addLink + addOn + "sessID=" + sessID;
			}
		}
		for (var i = 0; i < document.forms.length; i++) {
			document.forms[i].action = document.forms[i].action + "?sessID=" + sessID;
		}
	}
}

function do_reserve(div_id) {
	var myRef = document.referrer.split("=");
	var myBC = myRef[myRef.length-1];
	//alert(myBC);
	var isBC = 0;
	for (var xBC = 0; xBC < BCcount; xBC++) {
		if (BC[xBC][1] == myBC) {
			isBC = 1;
		}
	}
	if (isBC == 1) {
		for (var xBC = 0; xBC < BCcount; xBC++) {
			if (BC[xBC][1] != myBC) {
				document.getElementsByTagName("div")[BC[xBC][0]].removeChild(document.getElementsByTagName("div")[BC[xBC][0]].firstChild);
				document.getElementsByTagName("div")[BC[xBC][0]].removeChild(document.getElementsByTagName("div")[BC[xBC][0]].firstChild);
				document.getElementsByTagName("div")[BC[xBC][0]].removeChild(document.getElementsByTagName("div")[BC[xBC][0]].firstChild);
				document.getElementsByTagName("div")[BC[xBC][0]].removeChild(document.getElementsByTagName("div")[BC[xBC][0]].firstChild);
			} else {
				document.getElementsByTagName("div")[BC[xBC][0]+1].firstChild.checked = true;
				document.getElementsByTagName("div")[BC[xBC][0]].firstChild.style.visibility = 'hidden';								
			}
		}
	}		
}

function afterLoad() {
	
	var DIVs = document.getElementsByTagName("div").length -1;
	
	for (var i = 1; i < DIVs; i++) {
		var ElemID = document.getElementsByTagName("div")[i].className;
		//alert(ElemID);
		if (ElemID == "BibFulldItmButBar DLoadTitleArea2") {
			if (document.getElementsByTagName("div")[i].childNodes.length > 0) {
				Bestellen_oder_Vormerken = document.getElementsByTagName("div")[i].firstChild.href;
				//alert(Bestellen_oder_Vormerken);
				document.getElementsByTagName("div")[i].removeChild(document.getElementsByTagName("div")[i].firstChild);
			}
		}
		if (ElemID == "BibFulldItmButinp SubmitIssuesReserves") {
			if (document.getElementsByTagName("div")[i].childNodes.length > 0) {
				SubmitIssuesReserves = document.getElementsByTagName("div")[i].firstChild.value;
				//alert(Bestellen_oder_Vormerken);
				document.getElementsByTagName("div")[i].removeChild(document.getElementsByTagName("div")[i].firstChild);
			}
		}
	}
	var THs = document.getElementsByTagName("th").length -1;
	for (var i = 0; i < THs; i++) {
		var ElemID = document.getElementsByTagName("th")[i].className;
		//alert(ElemID);
		if (ElemID == "fieldNames") {
			aktRSN = document.getElementsByTagName("th")[i].id.split("_")[1];
			//alert(aktRSN);
		}
	}
	if (aktRSN > 0 && showSorted == 1) {
		var IDarray = new Array();
		var ChildArray = new Array();
		var firstID = 8000;
		var firstTD = 0;
		var TDs = document.getElementsByTagName("td").length -1;
		var subCount = 0;
		var oldFeld;
		for (var i = 0; i < TDs; i++) {
			var ElemID = document.getElementsByTagName("td")[i].headers;
			if (ElemID.split("_")[0]+"_"+ElemID.split("_")[1]+"_" == "th3_"+aktRSN+"_") {
				if (ElemID.split("_")[2] == 2) {
					firstTD = i;
				}
				if (CatOrder[document.getElementById(ElemID).innerHTML]) {
					var newFeld = document.getElementById(ElemID).innerHTML;
					if (oldFeld != newFeld) {
						IDarray.push(CatOrder[newFeld]);
						ChildArray[CatOrder[newFeld]] = new Array();
						ChildArray[CatOrder[newFeld]][0] = document.getElementsByTagName("td")[i].parentNode.cloneNode(true);
						subCount = 0;
						oldFeld = newFeld;
					} else {
						subCount++;
						ChildArray[CatOrder[newFeld]][subCount] = document.getElementsByTagName("td")[i].parentNode.cloneNode(true);					
					} 
				} else {
					var newFeld = document.getElementById(ElemID).innerHTML;
					if (oldFeld != newFeld) {
						firstID++;
						ChildArray[firstID] = new Array();
						ChildArray[firstID][0] = document.getElementsByTagName("td")[i].parentNode.cloneNode(true);
						IDarray.push(firstID);
						subCount = 0;
						oldFeld = newFeld;
					} else {
						subCount++;
						ChildArray[firstID][subCount] = document.getElementsByTagName("td")[i].parentNode.cloneNode(true);
					}
				}
				document.getElementsByTagName("td")[i].innerHTML = "#" + document.getElementsByTagName("td")[i].innerHTML;
			}
		}
		var KnotenCount = document.getElementsByTagName("td")[firstTD].parentNode.parentNode.childNodes;
		var KN = KnotenCount.length;

		IDarray.sort(Numsort);
		IDarray.reverse();
		var InsertCount=0;
		for (var i = 0; i < IDarray.length; i++) {
			ChildArray[IDarray[i]].reverse();
			for (var j = 0; j < ChildArray[IDarray[i]].length; j++) {
				document.getElementsByTagName("td")[firstTD].parentNode.parentNode.insertBefore(ChildArray[IDarray[i]][j], document.getElementsByTagName("td")[firstTD].parentNode.parentNode.firstChild);
				InsertCount++;
			}
		}
		//alert("Knoten: " + KN + " -- InsertCount: " + InsertCount);
		var DelNode = InsertCount;
		if (navigator.appName == "Netscape") {
			InsertCount = InsertCount*2;
		}
		for (var i = 0; i < InsertCount; i++) {
			//alert("Del " + i);
			document.getElementsByTagName("td")[firstTD].parentNode.parentNode.removeChild(document.getElementsByTagName("td")[firstTD].parentNode.parentNode.childNodes[DelNode]);
		}
	}
	
}

function Numsort (a, b) {
  return a - b;
}

function BestellenVormerken(RSN) {
	var InputNode = document.createElement("input");
	InputNode.name = "RSN";
	InputNode.type = "hidden";
	InputNode.value = RSN;
	document.display.appendChild(InputNode);
	document.display.action = "http://wi.slub-dresden.de/cgi-bin/bv.pl";
	document.display.submit();
}
function BestellenVormerkenBC(RSN,Barcode) {
	var InputNode = document.createElement("input");
	InputNode.name = "BCRE"+Barcode;
	InputNode.type = "hidden";
	InputNode.value = 1;
	document.display.appendChild(InputNode);
	var InputNode = document.createElement("input");
	InputNode.name = "BARCODE";
	InputNode.type = "hidden";
	InputNode.value = Barcode;
	document.display.appendChild(InputNode);
	var InputNode = document.createElement("input");
	InputNode.name = "RSN";
	InputNode.type = "hidden";
	InputNode.value = RSN;
	document.display.appendChild(InputNode);
	var InputNode = document.createElement("input");
	InputNode.name = "ACTION";
	InputNode.type = "hidden";
	InputNode.value = SubmitIssuesReserves;
	document.display.appendChild(InputNode);
	document.display.submit();
//alert(Bestellen_oder_Vormerken + Barcode);
//	window.location = Bestellen_oder_Vormerken + Barcode;
}

function TULieferdienstBC(RSN,Barcode) {
	var InputNode = document.createElement("input");
	InputNode.name = "Barcode";
	InputNode.type = "hidden";
	InputNode.value = Barcode;
	document.display.appendChild(InputNode);
	var InputNode = document.createElement("input");
	InputNode.name = "RSN";
	InputNode.type = "hidden";
	InputNode.value = RSN;
	document.display.appendChild(InputNode);
	document.display.action = "http://wi.slub-dresden.de/cgi-bin/tulief.pl";
	document.display.submit();
}

function do_mb() {
	var Ex = new Array();
	var ExCount = 0;
	var Magazin = 1;
	var Zeitschrift = 0;
	var TuLiefTitel = 0;
	var EbooksOnDemand = 0;
	var Zelle = document.getElementsByTagName("td").length -1;
	var Heads = document.getElementsByTagName("th").length -1;
//	var RSN =document.getElementsByTagName("h2")[0].firstChild.name.substr(3);
	var MedienTyp = "";
	var MedienTypZeile = 0;
	var Person = "";
	var PersonZeile = new Array();
	var Jahr = "";
	var JahrZeile = 0;
	var Signatur = "";
	var SignaturZeile = 0;
	var Umfang = "";
	var UmfangZeile = 0;
	var Band = ""
	var BandZeile = new Array();
	var myTitle = ""
	var myTitleZeile = 0;
	var Verlag = ""
	var VerlagZeile = 0;
	var Reihe = ""
	var ReiheZeile = new Array();
	
	var Regalstandort = "";
	
	var RSN = 0;
	var H2s = document.getElementsByTagName("h2").length;
	for (var i=0; i<H2s; i++) {
		if (document.getElementsByTagName("h2")[i].firstChild.name.substr(0,3) == "Top") {
			RSN = document.getElementsByTagName("h2")[i].firstChild.name.substr(3);
		}
	}
	
	
	
	
	//alert(RSN);
	
	sndReqIP();
	var myIPmatch = new RegExp(clIP);
	if (myIPmatch.test(showIP)) {
		isEoD=1;
	}
	sndReqRID(RSN);


	for (var i = 0; i < Heads; i++) {
		//alert(RSN);
		if (document.getElementsByTagName("th")[i].childNodes[0]) {
			var ElemID = document.getElementsByTagName("th")[i].childNodes[0].nodeValue;
			//alert(ElemID);
			if (ElemID == "Medientyp") {
				//alert(document.getElementsByTagName("th")[i].id);
				MedienTypZeile = document.getElementsByTagName("th")[i].id;
			}
			if (ElemID == "Person") {
				//alert(document.getElementsByTagName("th")[i].id);
				PersonZeile.push(document.getElementsByTagName("th")[i].id);
			}
			if (ElemID == "Jahr") {
				//alert(document.getElementsByTagName("th")[i].id);
				JahrZeile = document.getElementsByTagName("th")[i].id;
			}
			if (ElemID == "Signatur") {
				//alert(document.getElementsByTagName("th")[i].id);
				SignaturZeile = document.getElementsByTagName("th")[i].id;
			}
			if (ElemID == "Umfang") {
				//alert(document.getElementsByTagName("th")[i].id);
				UmfangZeile = document.getElementsByTagName("th")[i].id;
			}
			if (ElemID == "Band") {
				//alert(document.getElementsByTagName("th")[i].id);
				BandZeile.push(document.getElementsByTagName("th")[i].id);
			}
			if (ElemID == "Titel") {
				//alert(document.getElementsByTagName("th")[i].id);
				myTitleZeile = document.getElementsByTagName("th")[i].id;
			}
			if (ElemID == "Verlag") {
				//alert(document.getElementsByTagName("th")[i].id);
				VerlagZeile = document.getElementsByTagName("th")[i].id;
			}
			if (ElemID == "Reihe") {
				//alert(document.getElementsByTagName("th")[i].id);
				ReiheZeile.push(document.getElementsByTagName("th")[i].id);
			}
		}
		//alert(MedienTypZeile);
	}	
	
	var Personenkette = "-" + PersonZeile.join("-") + "-";
	var Bandkette = "-" + BandZeile.join("-") + "-";
	var Reihekette = "-" + ReiheZeile.join("-") + "-";
	for (var i = 0; i < Zelle; i++) {
		var ElemID = document.getElementsByTagName("td")[i].headers;
		//alert(ElemID);
		var myMatch = new RegExp("-" + ElemID + "-");
		if (ElemID == MedienTypZeile) {
			MedienTyp = document.getElementsByTagName("td")[i].childNodes[0].nodeValue;
		}
		if (myMatch.test(Personenkette)) {
			Person = Person + document.getElementsByTagName("td")[i].innerHTML.replace(/(<.+?>)/g,"").replace(/ \. /g,"") + "; ";
		}
		if (ElemID == JahrZeile) {
			Jahr = document.getElementsByTagName("td")[i].innerHTML.replace(/(<.+?>)/g,"").replace(/ \. /g,"");
		}
		if (ElemID == SignaturZeile) {
			Signatur = document.getElementsByTagName("td")[i].innerHTML.replace(/(<.+?>)/g,"").replace(/ \. /g,"");
		}
		if (ElemID == UmfangZeile) {
			Umfang = document.getElementsByTagName("td")[i].innerHTML.replace(/(<.+?>)/g,"").replace(/ \. /g,"");
		}
		if (myMatch.test(Bandkette)) {
			Band = Band + document.getElementsByTagName("td")[i].innerHTML.replace(/(<.+?>)/g,"").replace(/ \. /g,"") + "; ";
		}
		if (ElemID == myTitleZeile) {
			myTitle = document.getElementsByTagName("td")[i].innerHTML.replace(/(<.+?>)/g,"").replace(/ \. /g,"");
		}
		if (ElemID == VerlagZeile) {
			Verlag = document.getElementsByTagName("td")[i].innerHTML.replace(/(<.+?>)/g,"").replace(/ \. /g,"");
		}
		if (myMatch.test(Reihekette)) {
			Reihe = Reihe + document.getElementsByTagName("td")[i].innerHTML.replace(/(<.+?>)/g,"").replace(/ \. /g,"") + "; ";
		}
		if (ElemID == "th1_"+RSN+"_1") {
			Ex[ExCount] = new Array();
			for (var j=0; j<8; j++) {
				// Exemplardaten einlesen
				Ex[ExCount][8] = i;
				if (j==5) {
					Ex[ExCount][j] = document.getElementsByTagName("td")[i+j].childNodes[1].childNodes[0].nodeValue;
				} else {
					if (document.getElementsByTagName("td")[i+j].childNodes[0].nodeValue) {
						Ex[ExCount][j] = document.getElementsByTagName("td")[i+j].childNodes[0].nodeValue;
					} else {
						if (document.getElementsByTagName("td")[i+j].childNodes[0].childNodes[0].nodeValue) {
							Ex[ExCount][j] = document.getElementsByTagName("td")[i+j].childNodes[0].childNodes[0].nodeValue;
						}
					}
				}
				// Reservierungs-Checkbox entfernen
				if (j==7) {
					for (var y=document.getElementsByTagName("td")[i+j].childNodes.length; y>0; y--) {
						document.getElementsByTagName("td")[i+j].removeChild(document.getElementsByTagName("td")[i+j].lastChild);
					}
				}
			}	
			ExCount++;		
		}
	}
//	if (document.getElementById("th1_" + RSN + "_8").childNodes.length>0) {
//		document.getElementById("th1_" + RSN + "_8").childNodes[0].nodeValue="";
//	}

	// alert("MedienTyp: " + MedienTyp);

	if (MedienTyp.match(/\bZR\b/)) {
		Zeitschrift = 1;
		TuLiefTitel = 1;
	}
	if (MedienTyp.match(/\bZS\b/)) {
		Zeitschrift = 1;
		TuLiefTitel = 1;
	}
	if (MedienTyp.match(/\bZT\b/)) {
		Zeitschrift = 1;
		TuLiefTitel = 1;
	}
	if (MedienTyp.match(/\bB\b/)) {
		TuLiefTitel = 1;
		EbooksOnDemand = 1;
	}
	if (MedienTyp.match(/\bFI\b/)) {
		TuLiefTitel = 1;
	}
	if (MedienTyp.match(/\bHS\b/)) {
		TuLiefTitel = 1;
	}
	if (MedienTyp.match(/\bLO\b/)) {
		TuLiefTitel = 1;
	}
	if (MedienTyp.match(/\bMF\b/)) {
		TuLiefTitel = 1;
	}
	if (MedienTyp.match(/\bMT\b/)) {
		TuLiefTitel = 1;
	}
	if (MedienTyp.match(/\bNOT\b/)) {
		TuLiefTitel = 1;
	}
	
	if (myIPmatch.test(showIP)) {
		//alert(Jahr);
	}
	if ((Jahr < 1500) || (Jahr > 1900) || isNaN(Jahr)) {
		EbooksOnDemand = 0;
	}

// neue Funktion
	for (var x = 0; x < ExCount; x++) {
		//alert(x + ": " + Ex[x][0] + " - " + Ex[x][1] + " - " + Ex[x][2] + " - " + Ex[x][3] + " - " + Ex[x][4] + " - " + Ex[x][5] + " - " + Ex[x][6])
		var Bestell = 0;
		var TuLief = TuLiefTitel;
		var Knoten = document.getElementsByTagName("td")[Ex[x][8]+5].childNodes[1].firstChild;
		var Vormerk = 0;
		var SA = 0;
		var isSessID = 0;
		var EoDflag = EbooksOnDemand;
		//Link-Images
		if (document.getElementsByTagName("td")[Ex[x][8]+2].childNodes[0].nodeValue.match(/\~http/gi)) {
			var Kn = document.getElementsByTagName("td")[Ex[x][8]+2].firstChild;
			var Inhalt = document.getElementsByTagName("td")[Ex[x][8]+2].childNodes[0].nodeValue.split("~");
			var TextKn = document.createTextNode(Inhalt[0]);
			var LinkKn = document.createElement("a");
			LinkKn.href = Inhalt[1];
			LinkKn.appendChild(TextKn);
			LinkKn.title = "externer Link zum TU-Bestand";
			document.getElementsByTagName("td")[Ex[x][8]+2].childNodes[0].nodeValue = "";	// Ersetzen Literaturabteilung
			document.getElementsByTagName("td")[Ex[x][8]+2].insertBefore(LinkKn, Kn);
		}
		if (Ex[x][5].match(/Semesterapparat/gi)) {
			if (isSemApp == 1) {
				sndReq(Ex[x][8]+1,Ex[x][0]);									// Ersetzen Regalstandort
				document.getElementsByTagName("td")[Ex[x][8]+2].childNodes[0].nodeValue = "Semesterapparat";	// Ersetzen Literaturabteilung
			}
			SA = 1;
			//TuLief = 0;
			EoDflag = 0;
		}
		if (Ex[x][5].match(/vor Ort erfragen/gi)) {
			TuLief = 0;
			EoDflag = 0;
		}
		if (Ex[x][5].match(/Bestand der TU/gi)) {
			TuLief = 0;
			EoDflag = 0;
		}
		if (Ex[x][5].match(/ausgeliehen/gi)) {
			TuLief = 0;
			EoDflag = 0;
		}
		if (Ex[x][5].match(/in Bearbeitung/gi)) {
			TuLief = 0;
			EoDflag = 0;
		}
		if (Ex[x][5].match(/bestellen/gi)) {
			Bestell = 1;
		}
		if (Ex[x][5].match(/vormerken/gi)) {
			Bestell = 1;
			Vormerk = 1;
		}
		if (Ex[x][4].match(/transfer/gi)) {
			Bestell = 0;
		}
		if (Ex[x][5].match(/Handapparat/gi)) {
			isSessID = 1;
		}
		// alert("Bestell: " + Bestell + " / TuLief: " + TuLief + " / SemApp: " + SA + " / Zeitschrift: " + Zeitschrift);
		// für EoD
		if (EbooksOnDemand == isEoD) {
			var TextKnoten = document.createTextNode(" ");
			var LinkKnoten = document.createElement("a");
//			LinkKnoten.href = "http://books2ebooks.eu/odm_playground/orderformular.do?formular_id=161";
			LinkKnoten.href = "http://books2ebooks.eu/odm/orderformular.do?formular_id=161";
			LinkKnoten.href = LinkKnoten.href + "&sys_id="+clRID;
			LinkKnoten.href = LinkKnoten.href + "&shelfmark="+escape(Ex[x][1]);
//			LinkKnoten.href = LinkKnoten.href + "&sys_id="+escape(Ex[x][1]);
//			LinkKnoten.href = LinkKnoten.href + "&creator="+escape(Person);
//			LinkKnoten.href = LinkKnoten.href + "&title="+escape(myTitle);
//			LinkKnoten.href = LinkKnoten.href + "&year="+escape(Jahr);
//			LinkKnoten.href = LinkKnoten.href + "&volume="+escape(Band);
//			LinkKnoten.href = LinkKnoten.href + "&signature="+escape(Signatur);
//			LinkKnoten.href = LinkKnoten.href + "&publisher="+escape(Verlag);
//			LinkKnoten.href = LinkKnoten.href + "&title_bookseries="+escape(Reihe);
			
			var LinkImage = document.createElement("img");
			LinkImage.src = "/Images/eod.gif";
			LinkImage.width = 26;
			LinkImage.height = 16;
			LinkImage.border = "1";
			LinkImage.title = "E-Books On Demand (EoD)";
			LinkKnoten.appendChild(LinkImage);
			document.getElementsByTagName("td")[Ex[x][8]+5].childNodes[1].insertBefore(LinkKnoten, Knoten);
			document.getElementsByTagName("td")[Ex[x][8]+5].childNodes[1].insertBefore(TextKnoten, Knoten);
		}
		// für Semesterapparat
		if (SA == isSemApp) {
			var TextKnoten = document.createTextNode(" ");
			var LinkKnoten = document.createElement("a");
			LinkKnoten.href = "http://semesterapparat.slub-dresden.de/cgi-bin/sa.pl?BC="+Ex[x][0];
			var LinkImage = document.createElement("img");
			LinkImage.src = "/Images/sa.gif";
			LinkImage.width = 16;
			LinkImage.height = 16;
			LinkImage.border = "1";
			LinkImage.title = "Semesterapparat";
			LinkKnoten.appendChild(LinkImage);
			document.getElementsByTagName("td")[Ex[x][8]+5].childNodes[1].insertBefore(LinkKnoten, Knoten);
			document.getElementsByTagName("td")[Ex[x][8]+5].childNodes[1].insertBefore(TextKnoten, Knoten);
		}
		// für TU-Lieferdienst
		if (TuLief == isTuLief) {
			var TextKnoten = document.createTextNode(" ");
			var LinkKnoten = document.createElement("a");
			LinkKnoten.href = "javascript:TULieferdienstBC(\""+RSN+"\",\""+Ex[x][0]+"\");";
			var LinkImage = document.createElement("img");
			LinkImage.src = "/Images/tulief.gif";
			LinkImage.width = 16;
			LinkImage.height = 16;
			LinkImage.border = "1";
			LinkImage.title = "Lieferdienst fuer Mitarbeiter der TU Dresden";
			LinkKnoten.appendChild(LinkImage);
			document.getElementsByTagName("td")[Ex[x][8]+5].childNodes[1].insertBefore(LinkKnoten, Knoten);
			document.getElementsByTagName("td")[Ex[x][8]+5].childNodes[1].insertBefore(TextKnoten, Knoten);
		}
		// für Bestellung
		if (Bestell == isMbVorm) {
			var TextKnoten = document.createTextNode(" ");
			var LinkKnoten = document.createElement("a");
			if (Zeitschrift == 1) {
				if (Vormerk == 0) {
					LinkKnoten.href = "http://mb.slub-dresden.de/cgi-bin/mb?rsn="+RSN+"&req_bc="+Ex[x][0];
				} else {
					LinkKnoten.href = "javascript:BestellenVormerkenBC(\""+RSN+"\",\""+Ex[x][0]+"\");";
				}
			} else {
				LinkKnoten.href = "javascript:BestellenVormerkenBC(\""+RSN+"\",\""+Ex[x][0]+"\");";
				}
			var LinkImage = document.createElement("img");
			LinkImage.src = "/Images/willhaben.gif";
			LinkImage.width = 16;
			LinkImage.height = 16;
			LinkImage.border = "1";
			if (Zeitschrift == 1) {
			 	LinkImage.title = "Magazinbestellung";
			} else {
				LinkImage.title = "Bestellen / Vormerken";
			}
			LinkKnoten.appendChild(LinkImage);
			document.getElementsByTagName("td")[Ex[x][8]+5].childNodes[1].insertBefore(LinkKnoten, Knoten);
			document.getElementsByTagName("td")[Ex[x][8]+5].childNodes[1].insertBefore(TextKnoten, Knoten);
		}
		// für sessID
		if (retID == "OK" && isSessID == 1) {
			var TextKnoten = document.createTextNode(" ");
			var LinkKnoten = document.createElement("a");
			LinkKnoten.href = "http://semesterapparat.slub-dresden.de/cgi-bin/sa.pl?BC="+Ex[x][0];
			var LinkImage = document.createElement("img");
			LinkImage.src = "/Images/pp.gif";
			LinkImage.width = 16;
			LinkImage.height = 16;
			LinkImage.border = "1";
			LinkImage.title = "authentifizierter Link";
			LinkKnoten.appendChild(LinkImage);
			document.getElementsByTagName("td")[Ex[x][8]+5].childNodes[1].insertBefore(LinkKnoten, Knoten);
			document.getElementsByTagName("td")[Ex[x][8]+5].childNodes[1].insertBefore(TextKnoten, Knoten);
		}
	}
}
// #### by RT3 ###