// ---------------------------------------------------------------------
// Browser Detection 
// 
// ---------------------------------------------------------------------
isMac = (navigator.appVersion.indexOf("Mac")!=-1) ? true : false; 
isDOM=(document.getElementById)?true:false
isOpera=isOpera5=window.opera && isDOM
isOpera6=isOpera && window.print
isOpera7=isOpera && navigator.userAgent.indexOf("Opera 7") > 0 || navigator.userAgent.indexOf("Opera/7") >= 0
isMSIE=isIE=document.all && document.all.item && !isOpera
isMSIE4 = ((document.all)&&(navigator.appVersion.indexOf("MSIE 4.")!=-1)) ? true : false; 
isMSIEmac = ((document.all)&&(isMac)) ? true : false; 
isNC=navigator.appName=="Netscape"
isNC4=isNC && !isDOM
isNC6=isNC && isDOM



// ---------------------------------------------------------------------
// Safe loading into window.onload
//
// Body onload utility (supports multiple onload functions) 
// ---------------------------------------------------------------------
var gSafeOnload = new Array(); 
function SafeAddOnload(f) 
{ 
  if (isMSIEmac && isMSIE4)  // IE 4.5 blows out on testing window.onload 
  { 
    window.onload = SafeOnload; 
    gSafeOnload[gSafeOnload.length] = f; 
  } 
  else if  (window.onload) 
  { 
    if (window.onload != SafeOnload) 
    { 
      gSafeOnload[0] = window.onload; 
      window.onload = SafeOnload; 
    } 
    gSafeOnload[gSafeOnload.length] = f; 
  } 
  else 
    window.onload = f; 
} 
function SafeOnload() 
{ 
  for (var i=0;i<gSafeOnload.length;i++) 
    gSafeOnload[i](); 
} 



// ---------------------------------------------------------------------
// Set a layer opacity
// 
// ---------------------------------------------------------------------
function SetLayerOpacity(layername, opacitylevel) {
  if (!isDOM) {
    return false;
  }
  if(isMSIE) {
    document.getElementById(layername).style.filter='alpha(opacity='+opacitylevel+')';
  }
	if(isNC6) {
    document.getElementById(layername).style.MozOpacity = opacitylevel/100;
  }
}



// ---------------------------------------------------------------------
// Set a cookie
// 
// ---------------------------------------------------------------------
function SetCookie(cookieName, cookieValue, nDays) {
  var today = new Date();
  var expire = new Date();
  if (nDays==null || nDays==0) {
    nDays=1;
  }
   expire.setTime(today.getTime() + 3600000*24*nDays);
   document.cookie = cookieName+"="+escape(cookieValue) + ";expires="+expire.toGMTString();
}


// ---------------------------------------------------------------------
// Smooth opacity changer from 0 to 100
// 
// Requires Walterzorn DHTML Library
// ---------------------------------------------------------------------

var opacity = new Array();
var opacitytimeout = new Array();

function OpacityChanger() {
}


OpacityChanger.Init = function(layername) {
  if (!dd.elements) {
    SET_DHTML();
  }
  if (!dd.elements[layername]) {
    ADD_DHTML(layername + RESET_Z);
  }

  dd.elements[layername].hide();
  dd.elements[layername].setDraggable(false);
}


OpacityChanger.Start = function(layername) {
  clearTimeout(opacitytimeout[layername]);
  
  if (opacity[layername] <= 0 || isNaN(opacity[layername])) {
    dd.elements[layername].show();
    dd.elements[layername].maximizeZ();
    opacity[layername] = 0;
  }
  
  if (opacity[layername] < 99) {
    SetLayerOpacity(layername, opacity[layername]);
    opacity[layername] += 15;
    opacitytimeout[layername] = setTimeout("OpacityChanger.Start('"+layername+"')", 1);
  }
  else {
    opacity[layername] = 99;
    SetLayerOpacity(layername, 99);
  }
}


OpacityChanger.Stop = function(layername) {
  clearTimeout(opacitytimeout[layername]);
  
  if (opacity[layername] > 0) {
    SetLayerOpacity(layername, opacity[layername]);
    opacity[layername] -= 45;
    opacitytimeout[layername] = setTimeout("OpacityChanger.Stop('"+layername+"')", 1);
  }
  else {
    opacity[layername] = 0;
    SetLayerOpacity(layername, 1);
    dd.elements[layername].hide();
  }
}
