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 P7_Snap() { //v2.65 by PVII
 var x,y,ox,bx,oy,p,tx,a,b,k,d,da,e,el,tw,q0,xx,yy,w1,pa='px',args=P7_Snap.arguments;a=parseInt(a);
 if(document.layers||window.opera){pa='';}for(k=0;k<(args.length);k+=4){
 if((g=MM_findObj(args[k]))!=null){if((el=MM_findObj(args[k+1]))!=null){
 a=parseInt(args[k+2]);b=parseInt(args[k+3]);x=0;y=0;ox=0;oy=0;p="";tx=1;
 da="document.all['"+args[k]+"']";if(document.getElementById){
 d="document.getElementsByName('"+args[k]+"')[0]";if(!eval(d)){
 d="document.getElementById('"+args[k]+"')";if(!eval(d)){d=da;}}
 }else if(document.all){d=da;}if(document.all||document.getElementById){while(tx==1){
 p+=".offsetParent";if(eval(d+p)){x+=parseInt(eval(d+p+".offsetLeft"));y+=parseInt(eval(d+p+".offsetTop"));
 }else{tx=0;}}ox=parseInt(g.offsetLeft);oy=parseInt(g.offsetTop);tw=x+ox+y+oy;
 if(tw==0||(navigator.appVersion.indexOf("MSIE 4")>-1&&navigator.appVersion.indexOf("Mac")>-1)){
  ox=0;oy=0;if(g.style.left){x=parseInt(g.style.left);y=parseInt(g.style.top);}else{
  w1=parseInt(el.style.width);bx=(a<0)?-5-w1:-10;a=(Math.abs(a)<1000)?0:a;b=(Math.abs(b)<1000)?0:b;
  x=document.body.scrollLeft+event.clientX+bx;y=document.body.scrollTop+event.clientY;}}
 }else if(document.layers){x=g.x;y=g.y;q0=document.layers,dd="";for(var s=0;s<q0.length;s++){
  dd='document.'+q0[s].name;if(eval(dd+'.document.'+args[k])){x+=eval(dd+'.left');y+=eval(dd+'.top');
  break;}}}e=(document.layers)?el:el.style;xx=parseInt(x+ox+a),yy=parseInt(y+oy+b);
 if(navigator.appVersion.indexOf("MSIE 5")>-1 && navigator.appVersion.indexOf("Mac")>-1){
  xx+=parseInt(document.body.leftMargin);yy+=parseInt(document.body.topMargin);}
 e.left=xx+pa;e.top=yy+pa;}}}
}
function P7_hideEl(evt) { //v1.5 by PVII-www.projectseven.com
 var b,r,m=false;if(document.layers){b=evt.target;if(b.p7aHide){
 b.visibility="hidden";}else{routeEvent(evt);}
 }else if(document.all&&!window.opera){b=event.srcElement;while(b){
 if(b.p7aHide){break;}b=b.parentElement;}if(!b.contains(event.toElement)){
 b.style.visibility="hidden";}}else if(document.getElementById){
 b=evt.currentTarget;r=evt.relatedTarget;while(r){if(b==r){m=true;
 break;}r=r.parentNode;}if(!m){b.style.visibility="hidden";}}
}
function P7_autoHide() { //v1.5 by PVII-www.projectseven.com
 var i,g;for(i=0;i<arguments.length;i++){
 if((g=MM_findObj(arguments[i]))!=null){g.p7aHide=true;if(document.layers){
 g.captureEvents(Event.MOUSEOUT);}g.onmouseout=P7_hideEl;}}
}


	
	// return today's date in human-readable format.
	function today(){
		var d = new Date(); 
		var day = new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"); 
		var month = new Array("January","February","March","April","May","June","July","August","September","October","November","December"); 
		var time = "";
		var hours = d.getHours();
		var ampm = " am";
		var mins = d.getMinutes();
		if(hours > 12) {
			hours = hours-12;
			ampm = " pm";
		} else if (hours == 12) {
			ampm = " pm";
		} else if(hours == 0) {
			hours = 12;
		}
		if(mins < 10) {
			mins = "0" + mins;
		}
		return day[d.getDay()]+", "+month[d.getMonth()]+" "+d.getDate()+", "+d.getFullYear();
	};
// trim whitespace from beginning and end of strings.
	function trim(str) {
		str = this != window? this : str;
		return str.replace(/^\s+/g,'').replace(/\s+$/g,'');
	};
// remove empty ad units from the page flow
	function stripUnusedAds(){
		if(!document.getElementsByTagName) return false;
		var images = document.getElementsByTagName('img');
		for(var i=0; i<images.length; i++){
			if((images[i].getAttribute('width')=='2')&&(images[i].getAttribute('height')=='2')){
				var wrapper = images[i].parentNode.parentNode;
				wrapper.setAttribute('style','display:none');
			}
		}
	};
// functions that need to be called on page load go here
	// jquery functions need to be called here rather than using $(document).ready() to avoid the document.write clash
	// see http://jquery.com/discuss/2006-April/000578/
	window.onload=function(){
		P7_autoHide('aboutenews');
		/* ----- cygnus standard stuff ----- */
			P7_autoHide('cygnus_menu');
		/* ----- DOM stuff ----- */
			// remove empty ad units from the page, collapses the space as a whole.
//			stripUnusedAds();
			
			sfHover = function() {
	var sfEls = document.getElementById("navigation").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}
		/* ----- jQuery code ----- */
/*			// manage second level navigation drop-downs
			$('ul.subnav').hide();
			$('ul.subnav2').hide();
			
			$('ul#navigation li').hover(
				function(){ $('ul.subnav',this).css('left','auto').css('z-index','4').fadeIn('normal'); },
				function(){ $('ul.subnav',this).fadeOut('normal',function(){ $(this).hide().css('z-index','1').css('left','-999em'); });  }
		     );
			
			$('ul#navigation li ul.subnav li').hover(
				function(){ $('ul.subnav2',this).css('left','126px').css('position','absolute').css('top','-10px').css('z-index','4').fadeIn('normal'); },
				function(){ $('ul.subnav2',this).fadeOut('normal',function(){ $(this).hide().css('z-index','1').css('left','-999em'); }); }
			);
			
			

			// the menus were being a little wonky, this makes sure they go away when you're in the content area
			$('div#content').mouseover(function(){ $('ul.subnav').hide();$('ul.subnav2').hide(); });
			$('div#searchbar').mouseover(function(){ $('ul.subnav').hide();$('ul.subnav2').hide(); });
			$('div#branding').mouseover(function(){ $('ul.subnav').hide(); $('ul.subnav2').hide();});
*/			// auto clear search form field on focus, reset on blur, set the default value on pageload
			var defaultsearchtext='Search by keyword...';
			$('#q').set('value',defaultsearchtext);
			$('#q').focus(function(){
				if($(this).get(0).value==defaultsearchtext){ this.value=''; }
			});
			$('#q').blur(function(){
				if(trim($(this).get(0).value)==''){ this.value=defaultsearchtext; }
			});
			// do not submit the search form if it is blank or contains only the default text
			$('#searchform').submit(function(){
				if(($('#searchform #q').get(0).value==defaultsearchtext)||(trim($('#searchform #q').get(0).value)=='')){ return false; }
			});
			// if there is no text in the datestamp div, write in today's date.
			var isdate = trim($('div.datestamp').get(0).innerHTML);
			if(!isdate){
				$('div.datestamp').append(today());
			}
			// manage cygnus dropdown menu
			$('div#cygnusmenu a').mouseover(function(){
				P7_autoLayers(0,'cygnus_menu');
				P7_Snap('cygnuslink','cygnus_menu',0,15);
			});
			$('div#xref ul').mouseover(function(){ P7_autoLayers(0); });
			$('div#branding').mouseover(function(){ P7_autoLayers(0); });
	};
			
