// Single Sign On User Details
var SSOUserDebug=false, ssodstyle='overflow:auto; width:95%; padding:10px; border:1px dotted #ccc;';
var ob_user_name=new String, httpProtocol=window.location.protocol.toLowerCase();
/* Get document information */
var escRef=escape(window.document.referrer), uniqueNum=Date.parse(new Date())+Math.floor(Math.random()*1000);
var escKeywords=new String, meta=false;
if(document.getElementsByTagName) meta=document.getElementsByTagName("META"); // W3CDOM
else if(document.all) meta=document.all.tags("META"); // DHTML DOM
if(meta) for(var i=0;i<meta.length;i++) if(meta[i].name.toUpperCase()=="KEYWORDS") escKeywords=escape(meta[i].content.toLowerCase());
/* Get USER DETAILS */


//************
//  helpers (generic implementations) - REVIEW
//************
//returns an object correctly referenced for Netscape4, IE4 & W3C compliant browsers
function getElement(id, path) {  //path only needed by netscape4
  var obj,i; if(!path)path=document;
  if(document.getElementById) obj=document.getElementById(id); //W3C DOM
  else if(document.all) obj=document.all[id]; //DHTML DOM
  else if (!(obj=path.id)&&document.layers) for(i=0;!obj&&path.layers&&i<path.layers.length;i++) obj=getElement(id,path.layers[i].document); //NS4 DOM
  if(!obj) for(i=0;!obj&&i<path.forms.length;i++)obj=path.forms[i].elements[id]; //Last resort: check form elements
  return obj;
}

// Sets the text of a layer for Netscape4, IE4 & W3C compliant browsers
function layerHTML(layer,html) {
  if(getElement(layer) != null) {
	  obj=getElement(layer);
	  if(document.layers) {
		obj.document.write(html);
		obj.document.close();
	  } else {
		obj.innerHTML = html;
	  }
  }
}

/* sets an element's css display property to block or none
 * usage: displayElement('elementId','off') */
function displayElement(elemId,v){
  if(v=='undefined' || v==null) v='1';
  dVal=(v=='hide' || v=='none' || v=='off' || ((v-0)<1) || v===false)?'none':'block';
  if(getElement(elemId)){ 
	var styleObj=getElement(elemId).style;
	styleObj.display=dVal; 
	return true; 
  }
  else return false;
}

function toggleDisplayElement(elemId){
  if(getElement(elemId)){ 
	var styleObj=getElement(elemId).style;
    if(styleObj.display!='none') displayElement(elemId,0);
	else displayElement(elemId,1);
	return true; 
  }
  else return false;
}

//positions layer (div) in relation to a marker graphic of same name+"Marker"
function positionToMarker(divId, offsetTop, offsetLeft) {
  marker=getElement(divId+'Marker','document.images');
  if (marker==null || marker+''=='undefined') return;  //exit if no marker;
  target=getElement(divId,'document.layers');
  if (document.layers) {  //NS4
    target.visibility='visible';
    target.top=marker.y+offsetTop;
    target.left=marker.x+offsetLeft;
  }
  else {  //W3C (test for IE4)
    while (marker.offsetParent) {  //add all parent offsets together to give total offset
      offsetTop+=marker.offsetTop;
      offsetLeft+=marker.offsetLeft;
      marker=marker.offsetParent;
    }
    target.style.visibility='visible';
    target.style.top=offsetTop;
    target.style.left=offsetLeft;
  }
}

//*************
//  Header
//*************
//checks form field - used in Header Search form
function IsString(sVal,sMsg){ if(sVal==""){ alert(sMsg); return false; } return true; }

//***************
// window Pop-ups
//***************
function screenOffset(axis,pixels){
  var percentOffset=(10/100); // percent offset from axis
  var axisDimension=new Number;
  if(axis=='x')axisDimension=screen.availWidth;
  if(axis=='y')axisDimension=screen.availHeight;
  return Math.ceil((axisDimension-pixels)*percentOffset);
}

function popWin(URL,winWidth,winHeight,winType,strWinName){
  var winOpts=new String,oNewWin=new Object,oDate=new Date;
  var xPos=new Number,yPos=new Number;
  (!winWidth)?winWidth=680:winWidth-=0;
  (!winHeight)?winHeight=520:winHeight-=0;
  switch(winType){
    case "console":
      winOpts="resizable";
      if(!strWinName)strWinName='newConsoleWin';
      break;
    case "fixed":
      winOpts="status";
      if(!strWinName)strWinName='newFixedWin';
      break;
    case "noFeatures":
      winOpts="scrollbars";
      if(!strWinName)strWinName="noFeatures";
      break;
    case "elastic":
      winOpts="menubar,scrollbars,resizable,status";
      if(!strWinName)strWinName='newElasticWin';
      break;
    default:
      winOpts="toolbar,menubar,scrollbars,resizable,location,status,directories";
      if(!strWinName)strWinName='ourbrisbaneWin';
      break;
  }
  if(window.screenX){
    xPos=screenOffset('x',window.screenX)+window.screenX;
    yPos=screenOffset('y',window.screenY)+window.screenY;
  }else if(window.screenLeft){
    xPos=screenOffset('x',window.screenLeft)+window.screenLeft;
    yPos=screenOffset('y',window.screenTop)+window.screenTop;
  }
  if(screen.availWidth<(xPos+winWidth))xPos=screen.availWidth-winWidth;
  if(screen.availHeight<(yPos+winHeight))yPos=screen.availHeight-winHeight;
  winOpts+=",x="+xPos+",left="+xPos+",y="+yPos+",top="+yPos+",height="+winHeight+",width="+winWidth;
  oNewWin=window.open(URL,strWinName,winOpts);
  oNewWin.focus();
  return false;
}

/* DEPRECATED FUNCTIONS - delete when all references are removed
 * used on some pages - find and remove */
function popUp(URL, height, width, name, properties) { if (!name)name=false; return popWin(URL,width-0,height-0,'',name); }
function MM_openBrWindow(URL, name, properties){ return popWin(URL,0,0,'',name); }
function OB_openBrWindow(URL, name, properties){ return popWin(URL,0,0,'',name); }

//***************
//  MM Functions
//***************
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

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_setTextOfLayer(objName,x,newText) { //v4.01
  if ((obj=MM_findObj(objName))!=null) with (obj)
    if (document.layers) {document.write(unescape(newText)); document.close();}
    else innerHTML = unescape(newText);
}
