function correctPNG() // correctly handle PNG transparency in Win IE 5.5 or higher.
   {
   for(var i=0; i<document.images.length; i++)
      {
	  var img = document.images[i]
	  var imgName = img.src.toUpperCase()
	  if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
	     {
		 var imgID = (img.id) ? "id='" + img.id + "' " : ""
		 var imgClass = (img.className) ? "class='" + img.className + "' " : ""
		 var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
		 var imgStyle = "display:inline-block;" + img.style.cssText 
		 if (img.align == "left") imgStyle = "float:left;" + imgStyle
		 if (img.align == "right") imgStyle = "float:right;" + imgStyle
		 if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle		
		 var strNewHTML = "<span " + imgID + imgClass + imgTitle
		 + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
	     + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
		 + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" 
		 img.outerHTML = strNewHTML
		 i = i-1
	     }
      }
   }


function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
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_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v3.0
  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); return x;
}

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 openPopupWindow(strURL, intWidth, intHeight, strPopupOptions)
{	
	var today = new Date();
	
	var timestamp = today.getTime();

	window.open(strURL,timestamp,"width="+intWidth+",height="+intHeight+","+strPopupOptions);
}

function securityPop(strUrl) {
	window.open(strUrl, "Security", "width=525px, height=600px, scrollbars=1, resizable=1");
}

function wPop(url,winName,wWidth,wHeight,scrll)
{
	var scrollB;
	if(!scrll)
	{
		scrollB='no';
		var pWidth=wWidth;
	}
	else
	{
		scrollB=scrll;
		wWidth=parseInt(wWidth)+20;
	}
	var iMyWidth;
	var iMyHeight;
	wHeight=wHeight+12;
	//Added twelve pixels to ALL popup heights to compensate for newer/larger popup header logo. 
	iMyWidth = (window.screen.width/2)-(wWidth/2+10);
	//half the screen width minus half the new window width (plus 5 pixel borders).
	iMyHeight=(window.screen.height/2)-(wHeight/2+15);
	//half the screen height minus half the new window height (plus title and status bars).
	var zWin=window.open(url,winName,"status=no,width="+wWidth+",height="+wHeight+",resizable=no,left="+iMyWidth+",top="+iMyHeight+",screenX="+iMyWidth+",screenY="+iMyHeight+",scrollbars="+scrollB);
	zWin.focus();
}


var toggleHistory = new Array();

function toggleExpandableImage( id ){
	teiObj = document.getElementById( id );

	teiObj.style.display = ( teiObj.style.display == "block" ? "none" : "block" );
	
	toggleHistory.push( id );
}

function goLink(ddl) {
	if (ddl.options[ddl.selectedIndex].value != "") {
		location.href = ddl.options[ddl.selectedIndex].value;
	}
}

function focusSearch(txt) {
	if (txt.value.toLowerCase() == "search") {
		txt.value = "";
	}
}

function changeSearch(e, searchPage) {
	var charCode;
	if (e && e.which) {
		charCode = e.which;
	}
	else {
		e = event;
		charCode = e.keyCode;
	}
	
	if (charCode == 13) {
		goSearch(searchPage);
		return false;
	}
	
	return true;
}

function changeGoogleSearch(e) {
	var charCode;
	if (e && e.which) {
		charCode = e.which;
	}
	else {
		e = event;
	
		charCode = e.keyCode;
	}
	
	if (charCode == 13) {
		goGoogleSearch();
		return false;
	}
	
	return true;
}

function goSearch(searchPage) {
	var txt = document.getElementById("search_text");
	location.href = searchPage + "?q=" + txt.value + "&output=xml&client=aflaccom_frontend&oe=UTF-8&ie=UTF-8&site=aflaccom_collection";
}

function goGoogleSearch() {
	var txt = document.getElementById("q");
	location.href = "search.aspx?q=" + txt.value + "&output=xml&client=aflaccom_frontend&oe=UTF-8&ie=UTF-8&site=aflaccom_collection";
}

function printPage() {
	window.print();
}

// UTILITY FUNCTIONS

function setCookie(name, value, expires, path, domain, secure) {
	// set time, it's in milliseconds
	var today = new Date();
	today.setTime(today.getTime());

	/*
	if the expires variable is set, make the correct 
	expires time, the current script below will set 
	it for x number of days, to make it for hours, 
	delete * 24, for minutes, delete * 60 * 24
	*/
	if (expires) {
		expires = expires * 1000 * 60 * 60 * 24;
	}

	var expires_date = new Date(today.getTime() + (expires));

	document.cookie = name + "=" +escape(value) +
	( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
	( ( path ) ? ";path=" + path : "" ) + 
	( ( domain ) ? ";domain=" + domain : "" ) +
	( ( secure ) ? ";secure" : "" );
}

// this function gets the cookie, if it exists
function getCookie(name) {	
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ((!start) && (name != document.cookie.substring(0, name.length))) {
		return null;
	}
	if (start == -1) {
		return null;
	}
	var end = document.cookie.indexOf( ";", len );
	if (end == -1) {
		end = document.cookie.length;
	}
	return unescape(document.cookie.substring(len, end));
}

// this function gets the cookie, if it exists
function getQueryParam(name) {	
	var start = location.search.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ((!start) && (name != location.search.substring(0, name.length))) {
		return null;
	}
	if (start == -1) {
		return null;
	}
	var end = location.search.indexOf( ";", len );
	if (end == -1) {
		end = location.search.length;
	}
	return unescape(location.search.substring(len, end));
}

function getElementsByClassName(val) {
	var all = document.all || document.getElementsByTagName("*");
	var arr = [];
	for (var k=0; k<all.length; k++) {
		if (all[k].className == val) {
			arr[arr.length] = all[k];
		}
	}
	
	return arr;
}