var ie4                 = false;
var ie5                 = false;
var ns4                 = false;
var ns6                 = false;
var mac                 = false;
var running             = false;
var timerId             = null;
var running2            = false; //added for 2nd level menus on LM
var timerId2            = null;  //added for 2nd level menus on LM
var delay               = 300;
var currentMenu         = null;
var previousMenu        = null;
var previousSubMenu     = null;  //added for 2nd level menus on LM
var loaded              = false;
var testing             = false;
var allopened           = false;
var homepage            = false;
var dir_images          = 'images/';

// modified for 2nd level menus on LM
function StartTimer(event, secondlevel){
  running = true; timerId = setTimeout(event,delay);
  if (secondlevel) {running2 = true; timerId2 = setTimeout(secondlevel,delay); }
}
// modified for 2nd level menus on LM
function StopTimer(both){
  running = false; clearTimeout(timerId);
  if (both) {running2 = false; clearTimeout(timerId2); }
}
function safemail(name,domain,subject,display,css) {
  css       = (css)     ? ' class="' + css + '"' : '';
  subject   = (subject) ? '?subject=' + subject : '';
  displayed = (display) ? display : name + '@' + domain;
  mailto    = name + '@' + domain + subject;
  document.write('<a href="mailto:' + mailto + '"' + css + '>' + displayed + '</a>');
}
function Popup(title,filename,w,h,scroll,resizable){if (title == ''){ title = 'popup'; }if (scroll == 'scroll'){ scroll = 'yes'; }else{ scroll = 'no'; }if (resizable == 'lock'){ resizable = 'no'; }else{ resizable = 'yes'; }winOptions = eval("'width="+w+",height="+h+",toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars="+scroll+",resizable="+resizable+",copyhistory=no'");window.open(filename,title,winOptions);return;}
function SetFocus(fieldname,formname){if (formname == ''){ formname = 'form'; }if (eval("document."+formname+".elements[fieldname].value == ''")){ eval("document."+formname+".elements[fieldname].focus();"); }}
function DisableButton(obj) {
 obj.src = 'images/btn_processing.gif';
 obj.disabled = true;
 obj.style.border='none';
}
function charCount(field, cnt, limit) {
  if (field.value.length > limit) {
    field.value = field.value.substring(0, limit);
  } else {
    cnt.value = limit - field.value.length;
  }
}

function SetElementPosition(id,top,left){
  if (testing) { alert("SetElementPosition\nid = "+id+"\ntop = "+top+"\nleft = "+left); }
  if (ns4) {
    eval('document.'+id).top = top;
    eval('document.'+id).left = left;
  } else if (ns6) {
    document.getElementById(id).style.top = top;
    document.getElementById(id).style.left = left;
  } else {
    eval(id).style.top  = top;
    eval(id).style.left = left;
  }
}
function SetVisibility(id,flag) {
  if (ns4) {
    var str = (flag) ? 'show' : 'hide';
    eval("document."+id).visibility = str;
  } else if (ns6) {
    var str = (flag) ? 'visible' : 'hidden';
    document.getElementById(id).style.visibility = str;
  } else {
    var str = (flag) ? 'visible' : 'hidden';
    eval("document.all."+id).style.visibility = str;
  }
}
function getImageTop(imgID) {
  if (ns4) return eval(imgID).y;
  else return getRealTop(imgID);
}
function getImageLeft(imgID) {
  if (ns4) return eval(imgID).x
  else return getRealLeft(imgID);
}
function getRealTop(imgElem) {
  yPos = eval(imgElem).offsetTop;
  tempEl = eval(imgElem).offsetParent;
  while (tempEl != null) {
    yPos += tempEl.offsetTop;
    tempEl = tempEl.offsetParent;
  }
  return yPos;
}
function getRealLeft(imgObj) {
  xPos = eval(imgObj).offsetLeft;
  tempObj = eval(imgObj).offsetParent;
  while (tempObj != null){
    xPos   += tempObj.offsetLeft;
    tempObj = tempObj.offsetParent;
  }
  return xPos;
}
function getImageWidth(id) {
  if (ie4){
    return eval('document.all.'+id).style.pixelWidth;
  } else if (ns4) {
    return eval('document.'+id).width;
  } else {
    return document.getElementById(id).offsetWidth;
  }
}
function getElementWidth(id) {
  if      (ie4){ return eval('document.all.'+id).offsetWidth; }
  else if (ns4){ return eval('document.'+id).clip.width; }
  else         { return document.getElementById(id).offsetWidth; }
}
function getElementHeight(id) {
  if      (ie4){ return eval('document.all.'+id).offsetHeight; }
  else if (ns4){ return eval('document.'+id).clip.height; }
  else         { return document.getElementById(id).offsetHeight; }
}
function layerWrite(id,text) {
  if (ns4) {
    var lyr = document.layers[id].document;
    lyr.open();
    lyr.write(text);
    lyr.close();
  } else if (ns6) {
    rng = document.createRange();
    el = document.getElementById(id);
    rng.setStartBefore(el);
    htmlFrag = rng.createContextualFragment(text);
    while (el.hasChildNodes()) el.removeChild(el.lastChild);
    el.appendChild(htmlFrag);
  } else if (ie4 || ie5) {
    document.all[id].innerHTML = text;
  }
}
function in_array(needle,haystack) {
  for (i=0; i<haystack.length; i++) {
    if (haystack[i] == needle) { return true; }
  }
  return false;
}
///////////////////////////
///////////////////////////

function Init() {
  SetBrowser();
  if (ie5 || ns6) { LoadMenus(); }
  loaded = true;
}

function SetBrowser() {
  agent = navigator.userAgent.toLowerCase();
  mac   = (agent.indexOf("mac")!=-1);
  ie4   = (document.all && !document.getElementById) ? true : false;
  ie5   = (document.all && document.getElementById)  ? true : false;
  ns4   = (document.layers)                          ? true : false;
  ns6   = (document.getElementById && !document.all) ? true : false;
  if (testing){ alert("agent: "+agent+"\nmac: "+mac+"\nie4: "+ie4+"\nie5: "+ie5+"\nns4: "+ns4+"\nns6: "+ns6+"\n"); }
}

function LoadMenu(id, level) {
  imgId    = 'nav'+id;
  menuId   = 'menu'+id+'Div';
  shadowId = 'menubg'+id+'Div';
  
  //get anchor image
  if (ns6){ anchorObj = eval('document.getElementById("'+imgId+'")'); }
  else    { anchorObj = eval('document.images["'+imgId+'"]'); }
  
  // anchor object found?
  if (anchorObj) {
    //set position
    t = getImageTop(anchorObj);
    l = getImageLeft(anchorObj);
    w = getImageWidth(imgId);
    
    //set top and left
    if (level == 0 && id == 0) {
      menuTop = t + 36;
      menuLeft = l + 11;
    } else if (level == 0 && id == 5) {
      menuTop = t + 36;
      menuLeft = l - 106;
    } else if (level == 0) {
      menuTop = t + 36;
      menuLeft = l + 0;
    } else if (level == 1) {
      menuTop = t - 1;
      menuLeft = l + 148;
    } else if (level == 2) {
      menuTop = t - 2;
      menuLeft = l + 169;
    } else if (level == 3) {
      menuTop = t;
      menuLeft = l;
    }
    
    //set
    SetElementPosition(menuId,menuTop,menuLeft);
    
    //shadow
    menuWidth  = getElementWidth(menuId);
    menuHeight = getElementHeight(menuId);
    if (menuWidth > 1 && menuHeight > 1) {
      var tempstring,writestring;
      tempstring = '<img src="'+dir_images+'shadow.gif" width="'+menuWidth+'" height="'+menuHeight+'" alt="" border="0">';
      writestring =  (!(mac && (ie4 || ie5))) ? '<table cellpadding="0" cellspacing="0" border="0"><tr><td class="transparent">'+tempstring+'</td></tr></table>' : tempstring;
      layerWrite(shadowId,writestring);
      shadowTop  = menuTop + 3;
      shadowLeft = menuLeft + 3; 
      SetElementPosition(shadowId,shadowTop,shadowLeft);
    }
  }
}

// modified for 2nd level menus on LM
function Show(id, pid) {
  if (running) { StopTimer(); }
  parentMenu  = pid;
  currentMenu = id;
  if (currentMenu != previousMenu && previousMenu != parentMenu && previousMenu != null) { Hide(previousMenu); }
  if (currentMenu != previousSubMenu && previousSubMenu != null) { Hide(previousSubMenu); }
  eval('document.getElementById("menu'+id+'Div").style.visibility = "visible"');
  eval('document.getElementById("menubg'+id+'Div").style.visibility = "visible"');
  previousMenu = (parentMenu) ? parentMenu : currentMenu;
  previousSubMenu = (parentMenu) ? currentMenu : null;
}

function Hide(id) {
  if (id == null) { return; }
  eval('document.getElementById("menu'+id+'Div").style.visibility = "hidden"');
  eval('document.getElementById("menubg'+id+'Div").style.visibility = "hidden"');
}

//phone format code
var areacodeLength  = 3;
var firstThree      = 3;
var previousLength  = null;
var thisInput       = null;
var originalLength  = null;
var thisAreacode    = null;
var thisFirstThree  = null;
var thisLastFour    = null;
var phone_test      = false;
var international   = false;
function autoFormat(input,type) {
  //lock out NS4
  if (!document.layers) {
    if (type == 'phone') {
      //var temp_selection = input.selectionStart;
      //alert("selectionStart=" + input.selectionStart);
      var addFirstParen   = false;
      var addSecondParen  = false;
      var addDash         = false;
      thisInput           = input.value.replace(/[. ()-\/]/gi,'');
      //if first input is a "+" assume its an international number and do not format
      if (input.value.length == 1 && input.value == '+') { international = true; return true;}
      else if (input.value.length == 1 && input.value == '(') { previousLength = 1; return true;}
      //dont do anything on backspace
      else if (input.value.length >= previousLength && international == false) {
        thisAreacode    = thisInput.substr(0,3);
        thisFirstThree  = thisInput.substr(3,3);
        thisLastFour    = thisInput.substr(6,4);
        
        //add '('
        if (thisInput.length > 0) { addFirstParen = true; }
        //add ') '
        if (thisAreacode.length == areacodeLength) { addSecondParen = true; }
        //add '-'
        if (thisFirstThree.length == firstThree) { addDash = true; }
        
        //add everything, assign to field
        if (addFirstParen) { thisAreacode = '(' + thisAreacode; }
        if (addSecondParen) { thisAreacode += ') '; }
        if (addDash) { thisFirstThree += '-'; }
        if (phone_test) { alert('writing'); }
        input.value = thisAreacode + thisFirstThree + thisLastFour;
      }
      previousLength = input.value.length
      //if (temp_selection && temp_selection != 'undefined') { input.selectionStart = temp_selection; input.selectionEnd = temp_selection; }
    }
  }
}

function ShowContact(id) {
  var target = document.getElementById(id);
  if (target.style.display == "none") {
    target.style.display = "block";
  } else {
    target.style.display = "none";
  }
}

// image mouse-over script

function init() {
  if (!document.getElementById) return
  var imgOriginSrc;
  var imgTemp = new Array();
  var imgarr = document.getElementsByTagName('img');
  for (var i = 0; i < imgarr.length; i++) {
    if (imgarr[i].getAttribute('hsrc')) {
        imgTemp[i] = new Image();
        imgTemp[i].src = imgarr[i].getAttribute('hsrc');
        imgarr[i].onmouseover = function() {
            imgOriginSrc = this.getAttribute('src');
						var imagetest=new Image()
						imagetest.src=this.getAttribute('hsrc')
						if (imagetest.complete)
            this.setAttribute('src',this.getAttribute('hsrc'))
        }
        imgarr[i].onmouseout = function() {
						var imagetest=new Image()
						imagetest.src=imgOriginSrc
						if (imagetest.complete)
            this.setAttribute('src',imgOriginSrc)
        }
    }
  }
}

function ShowHide(id) {
  var target = document.getElementById(id);
  if (target.style.display != "block") {
    target.style.display = "block";
  } else {
    target.style.display = "none";
  }
}


onload=init;


