// root javascript functions
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
//function openWindow(address,features,w,h)
//{
//	xLoc = (screen.width-w)/2;
//	yLoc = (screen.height-h)/2;
//	win_ref = window.open(address,'popup',features+',width='+w+',height='+h+',screenX='+xLoc+',screenY='+yLoc+',left='+xLoc+',top='+yLoc);        
//	return false;
//}

function goToURL(form)
  { var myindex=form.dropdownmenu.selectedIndex
    if(!myindex=="")
      { window.location.href=form.dropdownmenu.options[myindex].value; }
  }

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function MM_jumpMenuGo(selName,targ,restore){ //v3.0
  var selObj = MM_findObj(selName); if (selObj) MM_jumpMenu(targ,selObj,restore);
}
 
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') {
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (val<min || max<val) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}


function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}


function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function clearDefault(el) {
  if (el.defaultValue==el.value) el.value = ""
}

function swapStyle(param1, param2) {
	document.getElementById(param1).className= param2 ;
}

function followMouse(param1) {
	// Simple follow the mouse script
	var divName = param1; // div that is to follow the mouse
                       // (must be position:absolute)
	var offX = 15;          // X offset from mouse position
	var offY = 15;          // Y offset from mouse position

	function mouseX(evt) {if (!evt) evt = window.event; if (evt.pageX) return evt.pageX; else if (evt.clientX)return evt.clientX + (document.documentElement.scrollLeft ?  document.documentElement.scrollLeft : document.body.scrollLeft); else return 0;}
	function mouseY(evt) {if (!evt) evt = window.event; if (evt.pageY) return evt.pageY; else if (evt.clientY)return evt.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop); else return 0;}

	function follow(evt) {if (document.getElementById) {var obj = document.getElementById(divName).style; obj.visibility = 'visible';
	obj.left = (parseInt(mouseX(evt))+offX) + 'px';
	obj.top = (parseInt(mouseY(evt))+offY) + 'px';}}
	document.onmousemove = follow;
}

function showFloatBox(param1, param2) {
	swapStyle(param1, param2)
	followMouse(param1)
}


function ShowFormItem(param1,param2,param3)	{
	var objMatch = param3.split( "|" );
	var objDiv = param2.split( "|" );
	var counter = 0;
	var i = 0;
	
	for (counter = 0; counter < objMatch.length; counter++){
		if(param1 == objMatch[counter]) {
			for (i = 0; i < objDiv.length; i++){
				document.getElementById(objDiv[i]).style.display = 'block';
			}
			break;
		} else {
			for (i = 0; i < objDiv.length; i++){
				document.getElementById(objDiv[i]).style.display = 'none';	
			}
		}
	}
}

function HideFormItem(param1)	{
	var obj = param1.split( "|" );
	var counter = 0;
	for (counter = 0; counter < obj.length; counter++){
		
		if (document.getElementById(obj[counter])) { 
			document.getElementById(obj[counter]).style.display = 'none';
		}
	}
	
}


function confirmILL() { return confirm("Please look in the catalog (and Link+) before placing an ILL request." + '\n' + '\n' + "Click OK to continue and place an ILL request") } 


