function opacity(id, opacStart, opacEnd, millisec)
{
 var speed = Math.round(millisec / 100);
 var timer = 0;
 if(opacStart > opacEnd)
 {
  for(i = opacStart; i >= opacEnd; i--)
  {
   setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
   timer++;
  }
 }
 else if(opacStart < opacEnd)
 {
  for(i = opacStart; i <= opacEnd; i++)
  {
   setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
   timer++;
  }
 }
}

function shiftOpacity(id, millisec)
{
 if(document.getElementById(id).style.opacity == 0)
 {
  opacity(id, 0, 100, millisec);
 }
 else
 {
  opacity(id, 100, 0, millisec);
 }
}

function currentOpac(id, opacEnd, millisec)
{
 var currentOpac = 100;
 if(document.getElementById(id).style.opacity < 100)
 {
  currentOpac = document.getElementById(id).style.opacity * 100;
 }
 opacity(id, currentOpac, opacEnd, millisec)
}

function changeImage(direction, change)
{
 if(direction == "new") current=change;
 else
 {
  if(direction == "down") current=current-1;
  else current=current+1;
  if(current < first) current=last;
  if(current > last) current=first;
 }
 currentimage=image + current + filetype;
 if(current < first || current > last) document.getElementById('buttons').style.display='none';
 else document.getElementById('buttons').style.display='block';
 if(current > last) document.getElementById('email').style.display='block';
 else document.getElementById('email').style.display='none';
 if((BrowserDetect2.browser == 'Explorer' && BrowserDetect2.version < 6) || (BrowserDetect2.browser == 'Mozilla' && BrowserDetect2.OS == 'Mac'))
 {
  document.getElementById("blenddiv").style.backgroundImage = "url(" + currentimage + ")";
  document.getElementById("blendimage").src = currentimage;
 }
 else 
 {
  blendimage('blenddiv','blendimage', currentimage, current, 600);
  setTimeout('document.getElementById("blenddiv").style.backgroundImage = "url(" + currentimage + ")"',600);
 }
}

function fadeImage(background, foreground, current, next)
{
 if(BrowserDetect2.browser == 'Explorer' && BrowserDetect2.version < 7)
 {
  document.getElementById(foreground).src = current;
  document.getElementById(background).style.backgroundImage = "url(" + document.getElementById(foreground).src + ")";
 }
 else if(BrowserDetect2.browser == 'Mozilla' && BrowserDetect2.OS == 'Mac')
 {
  document.getElementById(foreground).src = current;
  document.getElementById(background).style.backgroundImage = "url(" + document.getElementById(foreground).src + ")";
 }
 else { blendimage(background, foreground, current, next, 200); }
}

function blendimage(divid, imageid, imagefile, change, millisec)
{
 var speed = Math.round(millisec / 100);
 var timer = 0;
 document.getElementById(divid).style.backgroundImage = "url(" + document.getElementById(imageid).src + ")";
 changeOpac(0, imageid);
 document.getElementById(imageid).src = imagefile;
 for(i = 0; i <= 100; i++)
 {
  setTimeout("changeOpac(" + i + ",'" + imageid + "')",(timer * speed));
  timer++;
 }
}

function changeOpac(opacity, id)
{
 var object = document.getElementById(id).style;
 object.opacity = (opacity / 101);
 object.MozOpacity = (opacity / 101);
 object.KhtmlOpacity = (opacity / 101);
 object.filter = "alpha(opacity=" + opacity + ")";
}

function initMaps()
{
 if (document.getElementById)
 {
  var mapIds = initMaps.arguments;
  var i, j, area, areas;
  for (i = 0; i < mapIds.length; i++)
  {
   areas = document.getElementById(mapIds[i]).getElementsByTagName("area");
   for (j = 0; j < areas.length; j++)
   {
    area = areas[j];
    area.onmousedown = imgSwap;
    area.onmouseout = imgSwap;
    area.onmouseover = imgSwap;
    area.onmouseup = imgSwap;
   }
  }
 }
}

function imgSwap(evt)
{
 evt = (evt) ? evt : event;
 var elem = (evt.target) ? evt.target : evt.srcElement;
 var imgClass = elem.parentNode.name;
 var coords = elem.coords.split(",");
 if(coords.length == 3)
 {
  var x1 = parseInt(coords[0]) - parseInt(coords[2]);
  var x2 = parseInt(coords[0]) + parseInt(coords[2]);
  var y1 = parseInt(coords[1]) - parseInt(coords[2]);
  var y2 = parseInt(coords[1]) + parseInt(coords[2]);
  var clipVal = "rect(" + y1 + "px " + x2 + "px " + y2 + "px " + x1 + "px)";
 }
 else
 {
  var clipVal = "rect(" + coords[1] + "px " + coords[2] + "px " + coords[3] + "px " + coords[0] + "px)";
 }
 var imgStyle;
 switch (evt.type)
 {
  case "mousedown" :
    imgStyle = document.getElementById(imgClass + "Down").style;
    imgStyle.clip = clipVal;
    imgStyle.visibility = "visible";
    break;
  case "mouseout" :
    document.getElementById(imgClass + "Over").style.visibility = "hidden";
    document.getElementById(imgClass + "Down").style.visibility = "hidden";
    break;
  case "mouseover" :
    imgStyle = document.getElementById(imgClass + "Over").style;
    imgStyle.clip = clipVal;
    imgStyle.visibility = "visible";
    break;
  case "mouseup" :
    document.getElementById(imgClass + "Down").style.visibility = "hidden";
    if (elem.click)
    {
     //elem.click();
    }
    break;
 }
 evt.cancelBubble = true;
 return false;
}

function BrowserDetect()
{
 var ua = navigator.userAgent.toLowerCase();
 if(ua.indexOf('gecko') != -1 && ua.indexOf('safari') == -1) Browser="Gecko";
 if(ua.indexOf('applewebkit') != -1) Browser="AppleWebKit";
 if(ua.indexOf('konqueror') != -1) Browser="Konqueror"; 
 if(ua.indexOf('safari') != - 1) Browser="Safari";
 if(ua.indexOf('omniweb') != - 1) Browser="Omniweb";
 if(ua.indexOf('opera') != -1) Browser="Opera";
 if(ua.indexOf('icab') != -1) Browser="Icab"; 
 if(ua.indexOf('aol') != -1) Browser="Aol"; 
 if(ua.indexOf('msie') != -1) Browser="IE";
 if(ua.indexOf('msie 5') != -1) Browser="IE5"; 
 if(Browser == 'Gecko' && ua.indexOf('gecko/') + 14 == ua.length) Browser="Mozilla";
 if(ua.indexOf('firebird/') != -1) Browser="Firebird";
}

var BrowserDetect2 = 
{
 init: function ()
 {
  this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
  this.version = this.searchVersion(navigator.userAgent) || this.searchVersion(navigator.appVersion) || "an unknown version";
  this.OS = this.searchString(this.dataOS) || "an unknown OS";
 },
 searchString: function (data)
 {
  for (var i=0;i<data.length;i++)
  {
   var dataString = data[i].string;
   var dataProp = data[i].prop;
   this.versionSearchString = data[i].versionSearch || data[i].identity;
   if (dataString)
   {
    if (dataString.indexOf(data[i].subString) != -1) return data[i].identity;
   }
   else if (dataProp) return data[i].identity;
  }
 },
 searchVersion: function (dataString)
 {
  var index = dataString.indexOf(this.versionSearchString);
  if (index == -1) return;
  return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
 },
 dataBrowser: 
 [
  { string: navigator.userAgent, subString: "OmniWeb", versionSearch: "OmniWeb/", identity: "OmniWeb" },
  { string: navigator.vendor, subString: "Apple", identity: "Safari" },
  { prop: window.opera, identity: "Opera" },
  { string: navigator.vendor, subString: "iCab", identity: "iCab" },
  { string: navigator.vendor, subString: "KDE", identity: "Konqueror" },
  { string: navigator.userAgent, subString: "Firefox", identity: "Firefox" },
  { string: navigator.vendor, subString: "Camino", identity: "Camino" },
  { string: navigator.userAgent, subString: "Netscape", identity: "Netscape" },
  { string: navigator.userAgent, subString: "MSIE", identity: "Explorer", versionSearch: "MSIE" },
  { string: navigator.userAgent, subString: "Gecko", identity: "Mozilla", versionSearch: "rv" },
  { string: navigator.userAgent, subString: "Mozilla", identity: "Netscape", versionSearch: "Mozilla" }
 ],
 dataOS : 
 [
  { string: navigator.platform, subString: "Win", identity: "Windows" },
  { string: navigator.platform, subString: "Mac", identity: "Mac" },
  { string: navigator.platform, subString: "Linux", identity: "Linux" }
 ]
};

function centerLayout()
{
 if (navigator.appName == 'Netscape')
 {
  var bodyWidth = self.innerWidth;
  var bodyHeight = self.innerHeight;
  var offsetLeft = Math.round((bodyWidth - layoutWidth)/2);
  var offsetTop = Math.round((bodyHeight - layoutHeight)/2);
  if (offsetLeft > 0) document.getElementById("maindiv").style.left = offsetLeft;
  if (offsetTop > 0) document.getElementById("maindiv").style.top = offsetTop;
 }
 else
 {
  var bodyWidth = document.body.offsetWidth;
  var bodyHeight = document.body.offsetHeight;
  var offsetLeft = Math.round((bodyWidth - layoutWidth)/2);
  var offsetTop = Math.round((bodyHeight - layoutHeight)/2);
  if (offsetLeft > 0) document.all.tags('DIV')['maindiv'].style.left=offsetLeft;
  if (offsetTop > 0) document.all.tags('DIV')['maindiv'].style.top=offsetTop;
 }
}
