

var showLoginBox = 1;
var ThesaurusBaseUrl      = 'http://www.cibera.de';
var DBHelpBaseUrl         = 'http://www.cibera.de';

// var FIELDS = new Array ('PLACE_OF_PUBLICATION','ISBN','PUBLISHER','SERIES','EDITION','SIGNATURE','PHYSICAL_DESCRIPTION','AUTHOR','TITLE','SUBJECT','CLASSIFICATION_DEWEY','HEADLINE','PUBYEAR','JOURNAL_NAME','WTITEL','INSTITUTION','PLACE_OF_PUBCOUNTRY','YEAR','SUBJECTFREE','REGION','RESTYP','ABSTRACT','FULLTEXTDBC');

var FIELDS = new Array ('TITLE', 'SUBJECT','AUTHOR');


function select_collection(a_name) {
				
				
				
			  if ( a_name == 'journals' ) { 	
					for(i=0;i<journals.length;i++) {
						
						if ( document.search.journals.checked == true ) {
							document.getElementById(journals[i]).checked=true;
						} else { 
							document.getElementById(journals[i]).checked=false
						};
						
					}
				} else if (a_name == 'catalogue') {
					for(i=0;i<catalogue.length;i++) {
						
						if ( document.search.catalogue.checked == true ) {
							document.getElementById(catalogue[i]).checked=true;
						} else {document.getElementById(catalogue[i]).checked=false};
					}
				} else if ( a_name == 'fulltextdb' ) {
					for(i=0;i<fulltextdb.length;i++) {
						
						if ( document.search.fulltextdb.checked == true ) {
							document.getElementById(fulltextdb[i]).checked=true;
						} else {document.getElementById(fulltextdb[i]).checked=false};
					}
				
			} else if ( a_name == 'guide' ) {
					for(i=0;i<guide.length;i++) {
						
						if ( document.search.guide.checked == true ) {
							document.getElementById(guide[i]).checked=true;
						} else {document.getElementById(guide[i]).checked=false};
					}
				
			} else if ( a_name == 'payable' ) {
					for(i=0;i<payable.length;i++) {
						
						if ( document.search.payable.checked == true ) {
							document.getElementById(payable[i]).checked=true;
						} else {document.getElementById(payable[i]).checked=false};
					}
				
			} else if ( a_name == 'mydb' ) {
					
					for(i=0;i<mydb.length;i++) {
						//alert(mydbs[i]);	
						if ( document.search.mydb.checked == true ) {
							document.getElementById(mydb[i]).checked=true;
						} else {document.getElementById(mydb[i]).checked=false}; 
					}
				
			} else if ( a_name == 'bib' ) {
					
					for(i=0;i<bib.length;i++) {
						
						if ( document.search.bib.checked == true ) {
							document.getElementById(bib[i]).checked=true;
						} else {document.getElementById(bib[i]).checked=false}; 
					}
				
			}
			

}

function getRecordData() {
		
		var url = 'http://www.cibera.de/test.html?';
	 
		var string;
		var string_html;
		var query_string = '';
		
		for (i=0;i<FIELDS.length;i++) {
				
					if ( FIELDS[i] == 'AUTHOR'  ) {
						string_html = 'document.getElementById("' + FIELDS[i] + '").firstChild.innerHTML';
						
						if  ( eval(string_html) ) {
							string_html = eval(string_html);
							
						} else {
							continue;
						}
					} else {
							string_html = 'document.all.' + FIELDS[i] + '.innerHTML';
							
					}
					string      = 'document.all.' + FIELDS[i];
					
					if ( eval(string)) {
						var fdata = eval(string_html);
						//alert(FIELDS[i]);
						var field = FIELDS[i].toLowerCase();
						//var ndata = fdata.replace(/<BR>/gi, ";");
						query_string = query_string + field + '=' + fdata + '&'; 					
						query_string = query_string.replace(/<br>/gi,"!");
					}
			}
		
		//remove last &
		query_string = query_string.replace(/&$/, '');
		//alert(query_string);
		query_string = url + query_string;
		window.location.href = query_string;
		
}
function page_wait () {
	
	var style2 = document.getElementById('pagewait').style;
	style2.display='block';
	var ts = document.getElementById('searchform').style;
	ts.display='none';
	
}
function page_close() {
		var style2 = document.getElementById('pagewait').style;
		style2.display='none';
		
}
function openWindow(url,breite,hoehe) {
  				f = window.open(url,'fenster','width='+breite+',height='+hoehe+',left=0,top=0,loaction=no,scrollbars=yes');
  				f.focus();
}
function openHelp(url,breite,hoehe) {
  				f = window.open(url,'fenster','width='+breite+',height='+hoehe+',left=0,top=0,location=no,menubar=no,scrollbars=yes');
  				f.focus();
}
function reopenMain(url) {
	var newUrl = url;
	window.opener.location=url;
}
function update_opener (name,text) {
		var myName = name;
		var myText = text;
		
		window.opener.document.myForm.content_text.value = myText;
		//window.close();
		
		
}
function selectAll(bool) {
     for (var j=0; j<document.search.length; j++)
     {
       var e = document.search[j];
       if (e.type=="checkbox" && (e.name=="db" || e.name=="collection") ) { e.checked=bool; }
     	 	
     }
}
function selectMyDbs() {
	for ( i=0;i<mydb.length;i++) {
		if (document.getElementById(mydb[i]).checked==true) {
				document.getElementById(mydb[i]).checked=false;
		} else if (document.getElementById(mydb[i]).checked==false) {
				document.getElementById(mydb[i]).checked=true;
		} 
	}		
}
function isEmpty(langid) {
	var lang = new Array();
	var page = new PageQuery(location.search);
	var current_lang = page.getValue('lang');
	
	lang[1] = "Sie mÃ¼ssen mindestens eine Datenbank auswÃ¤hlen";
	lang[2] = "Debe escoger al menos una base de datos";
	lang[4] = "Please select at least one database";
     for (var j=0; j<document.search.length; j++)
     {
       var e = document.search[j];
       var k = false;
       
       if (e.checked==true) {
       	 k = true; 
       } 
       
     }
     
     if (k == false) {
     	window.alert(lang[current_lang]);
          selectAll(true);
          return false;
     } 
     
     return true;
     
}
function isEmpty_field() {
	
	 var field=window.document.search.query;
	 
	 if ((field[0].value == '' && field[1].value != '') || (field[0].value == '' && field[2].value != '')) {
	 	alert("Bitte zuerst das 1. Feld ausfÃ¼llen");
	 	return false;
	} else { 
		
		return true; }
}
function insertTerm (termId) {
	/*
	-Aufgabe: übernimmt einträge (strings) aus einem popup
	-falls diese strings aus mehreren worten bestehen, müssen sie maskiert werden
	(por ejemplo: lucha contra la pobreza => "lucha contra la pobreza")
	- falls bereits ein eintrag im suchfeld steht, muss der nächste eintrag durch ein
	whitespace getrennt werden. por ejemplo: im feld steht bereits "lucha contra la pobreza";
	der User fügt ein weiteres feld namens "guerra" hinzu; im suchfeld muss dann 
	"lucha contra la pobreza" guerra stehen, nicht "lucha contra la pobreza"guerra.		
	
	*/	
	
	var aaa;
	aaa=window.opener.document.search.query.value;
	if (aaa.length != 0) {
		if (aaa.indexOf(termId)<0){
	window.opener.document.search.query.value =aaa + ' OR'+' "' + termId + '"';
	window.opener.document.search.fields.value='kw';}
	} else {
	  	window.opener.document.search.query.value ='"' + termId + '"';
		  window.opener.document.search.fields.value='kw';	
	}
		
}
function change_image (screenwidth) {
	//var img = document.images.length;
  
  //alert(screenwidth);
  
	if(screenwidth < 800) {
		
		document.getElementById('logo').style.width='800px';
		document.getElementById('logo').style.height='78px';
		document.getElementById('logo').style.backgroundImage = "url('/image/logo_800.jpg')";
				
	} else if (screenwidth == 1024 ) {
			
			document.getElementById('logo').style.width='1024px';
			document.getElementById('logo').style.height='100px';
		  document.getElementById('logo').style.backgroundImage = "url('/image/logo_1024.jpg')";
	
	} else if (screenwidth == 1152 ) {
			
			document.getElementById('logo').style.width='1152px';
			document.getElementById('logo').style.height='113px';
		  document.getElementById('logo').style.backgroundImage = "url('/image/logo_1152.jpg')";
	}
	else if (screenwidth == 1280 ) {
			
			document.getElementById('logo').style.width='1280px';
			document.getElementById('logo').style.height='125px';
		  document.getElementById('logo').style.backgroundImage = "url('/image/logo_1280.jpg')";
	}
	else if (screenwidth == 1680 ) {
			
			document.getElementById('logo').style.width='1680px';
			document.getElementById('logo').style.height='165px';
		  document.getElementById('logo').style.backgroundImage = "url('/image/logo_1680.jpg')";
	}

}
function PageQuery(q) {
	if(q.length > 1) this.q = q.substring(1, q.length);
	else this.q = null;
	this.keyValuePairs = new Array();
	if(q) {
		for(var i=0; i < this.q.split("&").length; i++) {
			this.keyValuePairs[i] = this.q.split("&")[i];
		}
	}
	this.getKeyValuePairs = function() { return this.keyValuePairs; }
	this.getValue = function(s) {
		for(var j=0; j < this.keyValuePairs.length; j++) {
			if(this.keyValuePairs[j].split("=")[0] == s)
				return this.keyValuePairs[j].split("=")[1];
		}
		return -1;
	}
	this.getParameters = function() {
		var a = new Array(this.getLength());
		for(var j=0; j < this.keyValuePairs.length; j++) {
			a[j] = this.keyValuePairs[j].split("=")[0];
		}
		return a;
	}
	this.getLength = function() { return this.keyValuePairs.length; }	
}
function toggleLayer(whichLayer) {
					
					if (document.getElementById) {
						// this is the way the standards work
						var style2 = document.getElementById(whichLayer).style;
						
						
						//style2.display = style2.display ? "" : "block";
						var seen;
						if ( style2.display == "none" ) {
								 style2.display = "block";
								 seen = 'yes';
								
						} else {
								seen = 'no';
								style2.display = "none";
						}
						var ablauf = new Date();
						var infuenfTagen = ablauf.getTime() + (5 * 24 * 60 * 60 * 1000);
						ablauf.setTime(infuenfTagen);
						document.cookie = whichLayer +"=" + seen +"; expires=" + ablauf.toGMTString();
						
						}	else if (document.all) {
						// this is the way old msie versions work
						var style2 = document.all[whichLayer].style;
						style2.display = style2.display ? "" : "block";
						} else if (document.layers) {
						// this is the way nn4 works
						var style2 = document.layers[whichLayer].style;
						style2.display = style2.display ? "" : "block";
					}
}
function toggleAll (mode) {
					var biblist = new Array("bibliothekskataloge","zeitschriften","internetquellen","presse_zu_lateinamerika");
					for(i=0; i < biblist.length; i++) {
						var myStyle = document.getElementById(biblist[i]).style;
						myStyle.display = mode;
					}					
}
function showDBInfo(dbid,lang) {
	
	breite = '600',
	hoehe  = '400';
	baseURL = DBHelpBaseUrl + '/' + lang + '/db_description.html?dbid=';
	openURL = baseURL + dbid + ';lang=' + lang;
	var f = window.open(openURL,'fenster','width='+breite+',height='+hoehe+',left=0,top=0,scrollbars=yes');
	f.focus();
	
}
function showThesaurus(url) {
	lang = 'de';
	breite = '222px',
	hoehe  = '690px';
	baseURL = ThesaurusBaseUrl + url;
	openURL = baseURL;
	var f = window.open(openURL,'fenster','width='+breite+',height='+hoehe+',left=0,top=0,scrollbars=yes');
	f.focus();
	
}
function thesSearch ( term ) {
	var myTerm = window.opener.document.searchForm.kw.value;
	if ( myTerm != '' ) {
		myTerm = myTerm + ' AND ';
	}
	myTerm = myTerm + term;
	window.opener.document.searchForm.kw.value = myTerm;
}
function set_cookie(name, value) {
    document.cookie=name+"="+escape(value)+"; expires="+cookie_live();
  }
function cookie_live() {
    var date=new Date();
    date.setDate(date.getDate()+LIVEDAYS);
    var gmt=date.toGMTString();
    var k1=gmt.indexOf(" ");
    var k2=gmt.indexOf(" ", k1+1);
    var k3=gmt.indexOf(" ", k2+1);
    var str=gmt.substring(0,k2)+"-"+gmt.substring(k2+1,k3)+"-"+gmt.substring(k3+3,gmt.length);
    return str;
  }
function get_cookie(name) {
    var value=null;
    if(document.cookie != "") {
      var kk=document.cookie.indexOf(name+"=");
      if(kk >= 0) {
        kk=kk+name.length+1;
        var ll=document.cookie.indexOf(";", kk);
        if(ll < 0)ll=document.cookie.length;
        value=document.cookie.substring(kk, ll);
        value=unescape(value); 
      }
    }
    return value;
}

/* function showDiv(div_id) {
			
		  if (showLoginBox == 1)
		  {
			  var style_sheet = getStyleObject(div_id);
			  if (style_sheet)
			  {
			  	
			    var dot = document.getElementById("dot");
			    
			    var addParentOffset = 0;
			  	//calculate parent offset
			  	if(dot.offsetParent)
			  	{
			  		obj = dot;
			  		
			  		while(obj.offsetParent)
			  		{
			  			addParentOffset += obj.offsetLeft;
			  			obj = obj.offsetParent;
			  		}
			  		var dotx = addParentOffset+dot.offsetLeft;
			  	} else if (dot.x)
			  	{
			  		var dotx = dot.x;
			  	}

			  	//alert(dotx);
			  	var mydiv  = document.getElementById(div_id);
			  	mydiv.style.left = 755;//dotx-130;
			  	changeObjectVisibility(div_id,"visible");
			  }
			  else
			  {
			    alert("sorry, this only works in browsers that do Dynamic HTML");
			  }
			}
		}

function hideDiv(div_id) {
  var style_sheet = getStyleObject(div_id);
  if (style_sheet)
  {
	  	changeObjectVisibility(div_id,"hidden");
		  }
		  else
		  {
		    alert("sorry, this only works in browsers that do Dynamic HTML");
		  }
		}

*/
function showDiv(el) {
	document.getElementById(el).style.display= 'block';
} 
function hideDiv(el) {
	document.getElementById(el).style.display= 'none';
}



// function getStyleObject(string) -> returns style object
//  given a string containing the id of an object
//  the function returns the stylesheet of that object
//  or false if it can't find a stylesheet.  Handles
//  cross-browser compatibility issues.

function getStyleObject(objectId) {
		  // checkW3C DOM, then MSIE 4, then NN 4.
		  //
		  if(document.getElementById && document.getElementById(objectId)) {
			return document.getElementById(objectId).style;
		   }
		   else if (document.all && document.all(objectId)) {
			return document.all(objectId).style;
		   }
		   else if (document.layers && document.layers[objectId]) {
			return document.layers[objectId];
		   } else {
			return false;
		   }
		}

function changeObjectVisibility(objectId, newVisibility) {
		    // first get a reference to the cross-browser style object
		    // and make sure the object exists
		    var styleObject = getStyleObject(objectId);
		    if(styleObject) {
			//styleObject.visibility = newVisibility;
				if (newVisibility=='hidden')
				{
					styleObject.display = 'none';
				} else
				{
					styleObject.display = 'block';
				}
				return true;
		    } else {
			// we couldn't find the object, so we can't change its visibility
			return false;
		    }
}
function cleanField(myFieldname) {
			//var btnName=document.getElementsByName(myFieldname)[0].name+"Btn";
			//document.getElementsByName(btnName)[0].focus();
			if (SA) curField=document.getElementsByName(myFieldname)[0];
			else curField=getElem("name",myFieldname,0);
			if (curField.value == curField.defaultValue)
				curField.value='';
		}

function restoreField(myFieldname) {
			if (SA){
				curField=document.getElementsByName(myFieldname)[0];
			} else {
				curField=getElem("name",myFieldname,0);
			}
			if (curField.value == "") curField.value=curField.defaultValue;
		}

function SaveRecord() {
	var recordid = document.getElementById("recordid").firstChild.data;
	var db       = document.getElementById("db").firstChild.data;
	var title    = document.getElementById("title").firstChild.data;
	var author   = document.getElementById("author").firstChild.data;
	
	alert(author);
	alert(recordid);
	alert(db);
	alert(title);
	
	/*document.data.recordid.value = recordid;
	document.data.db.value = db;
	document.data.title.value = title;
	document.data.author.value = author;
	*/
}
function loading(el) {
	var elm = el;
	
	document.getElementById(elm).innerHTML = '<img src="/image/throbber.gif">';
	
}

function get_dbs () {
	var fields = document.forms['search'].elements['db'];
	//var namen = ("ft","ft","ibero","iaicat");
	
	
}

function getRecords() {
       var url = '';
       for(i=0;i<FIELDS.length;i++) {
       	var html = myTest(FIELDS[i]);
         var field = FIELDS[i].toLowerCase();
       	if (html != '') {
         	//alert(html);
         	url = url + field + "=" + html + "&";
         }
       }
       //alert(url);
       window.location.href='http://wwww.cibera.de/test.html?' + url;
}

function myTest (element) {



	   var test = document.getElementById(element) ? 'true' : 'false';

            if ( test ) {

                 return  document.getElementById(element).innerHTML;
            } else {
            	return '';
            }
}