////////////////////////////////////////////////////////////////////
// MOUSEOVERS
///////////////////////////////////////////////////////////////////
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];}
}

///////////////////////////////////////////////////////////////////
// OPEN NEW WINDOWS
///////////////////////////////////////////////////////////////////
function openWindow(url, w, h, sb) {
  var options = "width=" + w + ",height=" + h + ",";
  options += "resizable=no, status=no,";
  options += "menubar=no, toolbar=no, location=no, directories=no,";
  options += "scrollbars=" + sb;
  var newWin = window.open(url, 'newWin', options);
}

function openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function MyPopUp(url, height, width)
{
  thewindow = window.open(url, 'anew', config='height='+ height + ',width=' + width + ',toolbar=no,menubar=no,scrollbars=yes,resizable=no,location=no,directories=no,status=yes');
}

///////////////////////////////////////////////////////////////////
// FOCUS ON SEARCH PAGE
///////////////////////////////////////////////////////////////////

function setFocus() {
  document.xSEARCHFORM.xSEARCHTEXT.focus(); 
}

//////////////////////////
//  Email
//////////////////////////

// Email.js version 5
var tld_ = new Array()
tld_[0] = "com";
tld_[1] = "org";
tld_[2] = "net";
tld_[3] = "ws";
tld_[4] = "info";
tld_[10] = "co.uk";
tld_[11] = "org.uk";
tld_[12] = "gov.uk";
tld_[13] = "ac.uk";
var topDom_ = 13;
var m_ = "mailto:";
var a_ = "@";
var d_ = ".";

function mail2(box, dom, tld, display)
{
  var ref = box + "@" + dom + "." + tld;
  if(display.length == 0) display = ref;
  document.write("<a" + " href" + "=mail" + "to:" + ref + ">Email " + display + "</a> ");  // 'Email' ADDED AS SPECIAL VOP FORMATTING
}

function MakeContact(obj, mb, dmn, tld, sbj)
{
  var fin;
  fin = '';
  fin += 'mail';
  fin += 'to';
  fin += ':';
  fin += mb;
  fin += '@';
  fin += dmn;
  fin += '.';
  fin += tld;
  if(sbj > '')
  {
    fin += '?';
    fin += 'subject';
    fin += '=';
    fin += sbj;
  }
  obj.href = fin;
}

//////////////////////////
// Return all elements having a given class name
//////////////////////////

function GetElementsByClassName(classname)
{
  var found = Array();
  var expression = new RegExp('\\b' + classname + '\\b');
  var bodyelement = document.getElementsByTagName("body")[0];

  var elements = bodyelement.getElementsByTagName("*");
  for(var cnt = 0; cnt < elements.length; cnt++)
  {
    if(expression.test(elements[cnt].className))
    {
      found.push(elements[cnt]);
    }
  }

  return found;
}

////////////////////////////////////////////////////////////////////
// INSTRUCTOR DIV FADE ROLLOVERS
///////////////////////////////////////////////////////////////////

var fade_all_fading_objects = new Array();
var fade_transition_millisecs = 20;

function FadeIn(id)
{
  var pending = FadeSearch(id);
  if(pending < 0)
  {
    fade_all_fading_objects.push(id);
    Fading(id, 10);
  }
  else
  {
    setTimeout("FadeIn('" + id + "')", fade_transition_millisecs);
  }
}

function FadeOut(id)
{
  var pending = FadeSearch(id);
  if(pending < 0)
  {
    fade_all_fading_objects.push(id);
    Fading(id, 0);
  }
  else
  {
    setTimeout("FadeOut('" + id + "')", fade_transition_millisecs);
  }
}

function FadeSearch(id)
{
  var found = -1;
  var length = fade_all_fading_objects.length;

  for(var cnt = 0; cnt < length; cnt++)
  {
    if(fade_all_fading_objects[cnt] == id)
    {
      found = cnt;
      break;
    }
  }

  return found;
}

function FadingComplete(id)
{
  var list = new Array();
  var length = fade_all_fading_objects.length;

  for(var cnt = 0; cnt < length; cnt++)
  {
    if(fade_all_fading_objects[cnt] != id)
    {
      list.push(fade_all_fading_objects[cnt]);
    }
  }

  fade_all_fading_objects = list;
}

function Fading(id, target)
{
  // Use do...while(0) to make a break-able "if" statement
  do
  {
    // The object must exist
    var element = document.getElementById(id);
    if(!element)
    {
      FadingComplete(id);
      break;
    }

    // Cancel if the target fading value as has already been reached
    var current = (element.style.opacity) ? Math.round(element.style.opacity * 10) : 0;
    if(current == target)
    {
      FadingComplete(id);
      break;
    }

    // Take the next step toward the target opacity
    var next = (target == 0) ? (current - 1) : (current + 1);
    element.style.opacity = (next / 10);
    element.style.filter = "alpha(opacity=" + (next * 10) + ")";

    // Issue timer to continue fading
    setTimeout("Fading('" + id + "', " + target + ")", fade_transition_millisecs);
  }
  while(0);
}

//////////////////////////
// Email Obfuscator
// <a href="/site_map.phtml" onMouseOver="SetHREF(this, 'kyle', 'firstnetimpressions', 'com', 'FNI - Website Inquiry')" onFocus="SetHREF(this, 'kyle', 'firstnetimpressions', 'com', 'FNI - Website Inquiry')"><script>address("kyle", "firstnetimpressions", "com");< /script></a>
//////////////////////////

function address(name, dom, tld)
{
  var addr = name + '@' + dom + '.' + tld;
  document.write(addr);
}

function SetHREF(obj, box, dom, tld, sbj)
{
  var addr = 'mailto:' + box + '@' + dom + '.' + tld;
  addr = (sbj != null) ? addr + '?subject=' + sbj : addr;
  obj.href = addr;
}
