
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";

}



