var ie4          = false;
var ie5          = false;
var ns4          = false;
var ns6          = false;
var mac          = false;
var running      = false;
var timerId      = null;
var delay        = 500;
var currentMenu  = null;
var previousMenu = null;
var currentSub   = null;
var previousSub  = null;
var pageId       = null;
var loaded       = false;
var testing      = false;
var allopened    = false;
var shadows      = new Array();
var dir_images   = 'images/';

// add load event
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}


function safemail(name,domain,subject,display,css_class) {displayed_class = (typeof(css_class) == "undefined") ? '' : ' class="' + css_class + '"'; subject = (subject) ? '?subject='+subject : ''; displayed = (typeof(display) == "undefined") ? name+"@"+domain : display; document.write('<a href=mailto:'+name+'@'+domain+subject+displayed_class+'>'+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.value = 'Processing...'; obj.disabled = true; }
function StartTimer(event){running = true; timerId = setTimeout(event,delay);}
function StopTimer(){running = false; clearTimeout(timerId);}

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 Init(id) {
  SetBrowser();
  if (id == 'home') {
    LoadImages(id);
    id = null;
  } else {
    LoadImages();
  }
  if (id != -1 && (ie5 || ns6)) { LoadMenus(); }
  pageId = id;
  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 LoadMenus() {
  // menus
  for (var i=0; i<5; i++) {
    imgId    = 'menu'+i;
    menuId   = 'menu'+i+'Div';
    shadowId = 'menubg'+i+'Div';
    
    // get anchor image
    if (ns6){ anchorObj = eval('document.getElementById("'+imgId+'")'); }
    else    { anchorObj = eval('document.images["'+imgId+'"]'); }
    
    // set position
    t = getImageTop(anchorObj);
    l = getImageLeft(anchorObj);
    w = getImageWidth(imgId);
    menuTop  = t + 50;
    menuLeft = l;
    
    SetElementPosition(menuId,menuTop,menuLeft);
  }
}
function LoadImages(id) {
  var num_images = 60;
  NavOff = new Array(num_images);
  for (var i=0; i<=num_images; i++){ NavOff[i] = new Image(); }
  // mainnav
  if (id == "home") {
    NavOff[0].src = "images/hmnav_about_a.gif";
    NavOff[1].src = "images/hmnav_learning_a.gif";
    NavOff[2].src = "images/hmnav_support_a.gif";
    NavOff[3].src = "images/hmnav_members_a.gif";
    NavOff[4].src = "images/hmnav_contact_a.gif";
  } else {
    NavOff[0].src = "images/nav_about_a.gif";
    NavOff[1].src = "images/nav_learning_a.gif";
    NavOff[2].src = "images/nav_support_a.gif";
    NavOff[3].src = "images/nav_members_a.gif";
    NavOff[4].src = "images/nav_contact_a.gif";
  }
  // auxnav
  NavOff[5].src  = "images/aux_login_a.gif";
  NavOff[6].src  = "images/aux_providers_a.gif";
  NavOff[7].src  = "images/aux_news_a.gif";
  NavOff[8].src  = "images/aux_events_a.gif";
  NavOff[9].src  = "images/aux_store_a.gif";
  // subnav
  NavOff[10].src = "images/subnav_halo-overview_a.gif";
  NavOff[11].src = "images/subnav_soma-tito_a.gif";
  NavOff[12].src = "images/subnav_tito-writing_a.gif";
  NavOff[13].src = "images/subnav_our-leadership_a.gif";
  NavOff[14].src = "images/subnav_halo-board_a.gif";
  NavOff[15].src = "images/subnav_testimonials_a.gif";
  NavOff[16].src = "images/subnav_rpm-overview_a.gif";
  NavOff[17].src = "images/subnav_11rpmsession_a.gif";
  NavOff[18].src = "images/subnav_methodology_a.gif";
  NavOff[19].src = "images/subnav_casestudies_a.gif";
  NavOff[20].src = "images/subnav_resources_a.gif";
  NavOff[21].src = "images/subnav_faq_a.gif";
  NavOff[22].src = "images/subnav_rpm-certification_a.gif";
  NavOff[23].src = "images/subnav_request-clinic_a.gif";
  NavOff[24].src = "images/subnav_support-halo_a.gif";
  NavOff[25].src = "images/subnav_become-member_a.gif";
  NavOff[26].src = "images/subnav_donate_a.gif";
  NavOff[27].src = "images/subnav_donor_recognition_a.gif";
  NavOff[28].src = "images/aux_members_a.gif";
  NavOff[29].src = "images/subnav_forum_a.gif";
  NavOff[30].src = "images/subnav_success-stories_a.gif";
  NavOff[53].src = "images/subnav_renew-membership_a.gif";
  NavOff[54].src = "images/subnav_view-cart_a.gif";
  NavOff[55].src = "images/subnav_checkout_a.gif";
  NavOff[59].src = "images/aux_photo_a.gif";
  // dhtml
  NavOff[31].src = "images/subnav_halo-overview_a.gif";
  NavOff[32].src = "images/subnav_soma-tito_a.gif";
  NavOff[33].src = "images/subnav_tito-writing_a.gif";
  NavOff[34].src = "images/subnav_our-leadership_a.gif";
  NavOff[35].src = "images/subnav_halo-board_a.gif";
  NavOff[36].src = "images/subnav_testimonials_a.gif";
  NavOff[37].src = "images/subnav_rpm-overview_a.gif";
  NavOff[38].src = "images/subnav_11rpmsession_a.gif";
  NavOff[39].src = "images/subnav_methodology_a.gif";
  NavOff[40].src = "images/subnav_casestudies_a.gif";
  NavOff[41].src = "images/subnav_resources_a.gif";
  NavOff[42].src = "images/subnav_faq_a.gif";
  NavOff[43].src = "images/aux_rpm_train_a.gif";
  NavOff[44].src = "images/subnav_request-clinic_a.gif";
  NavOff[45].src = "images/subnav_support-halo_a.gif";
  NavOff[46].src = "images/subnav_become-member_a.gif";
  NavOff[47].src = "images/subnav_donate_a.gif";
  NavOff[48].src = "images/subnav_donor_recognition_a.gif";
  NavOff[49].src = "images/aux_members_a.gif";
  NavOff[50].src = "images/subnav_forum_a.gif";
  NavOff[51].src = "images/subnav_success-stories_a.gif";
  NavOff[52].src = "images/subnav_renew-membership_a.gif";
	NavOff[58].src = "images/subnav_appointments_a.gif";
  
  // added forum
  NavOff[56].src = "images/subnav_member_forum_c.gif";
	NavOff[57].src = "images/aux_appoint_a.gif";
  
  NavOn = new Array(num_images);
  for (var i=0; i<num_images; i++){ NavOn[i] = new Image(); }
  // mainnav
  if (id == "home") {
    NavOn[0].src = "images/hmnav_about_b.gif";
    NavOn[1].src = "images/hmnav_learning_b.gif";
    NavOn[2].src = "images/hmnav_support_b.gif";
    NavOn[3].src = "images/hmnav_members_b.gif";
    NavOn[4].src = "images/hmnav_contact_b.gif";
  } else {
    NavOn[0].src = "images/nav_about_b.gif";
    NavOn[1].src = "images/nav_learning_b.gif";
    NavOn[2].src = "images/nav_support_b.gif";
    NavOn[3].src = "images/nav_members_b.gif";
    NavOn[4].src = "images/nav_contact_b.gif";
  }
  // auxnav
  NavOn[5].src  = "images/aux_login_b.gif";
  NavOn[6].src  = "images/aux_providers_b.gif";
  NavOn[7].src  = "images/aux_news_b.gif";
  NavOn[8].src  = "images/aux_events_b.gif";
  NavOn[9].src  = "images/aux_store_b.gif";
  // subnav
  NavOn[10].src = "images/subnav_halo-overview_b.gif";
  NavOn[11].src = "images/subnav_soma-tito_b.gif";
  NavOn[12].src = "images/subnav_tito-writing_b.gif";
  NavOn[13].src = "images/subnav_our-leadership_b.gif";
  NavOn[14].src = "images/subnav_halo-board_b.gif";
  NavOn[15].src = "images/subnav_testimonials_b.gif";
  NavOn[16].src = "images/subnav_rpm-overview_b.gif";
  NavOn[17].src = "images/subnav_11rpmsession_b.gif";
  NavOn[18].src = "images/subnav_methodology_b.gif";
  NavOn[19].src = "images/subnav_casestudies_b.gif";
  NavOn[20].src = "images/subnav_resources_b.gif";
  NavOn[21].src = "images/subnav_faq_b.gif";
  NavOn[22].src = "images/subnav_rpm-certification_b.gif";
  NavOn[23].src = "images/subnav_request-clinic_b.gif";
  NavOn[24].src = "images/subnav_support-halo_b.gif";
  NavOn[25].src = "images/subnav_become-member_b.gif";
  NavOn[26].src = "images/subnav_donate_b.gif";
  NavOn[27].src = "images/subnav_donor_recognition_b.gif";
  NavOn[28].src = "images/aux_members_b.gif";
  NavOn[29].src = "images/subnav_forum_b.gif";
  NavOn[30].src = "images/subnav_success-stories_b.gif";
  NavOn[53].src = "images/subnav_renew-membership_b.gif";
  NavOn[54].src = "images/subnav_view-cart_b.gif";
  NavOn[55].src = "images/subnav_checkout_b.gif";
  NavOn[59].src = "images/aux_photo_b.gif";
  // dhtml
  NavOn[31].src = "images/subnav_halo-overview_b.gif";
  NavOn[32].src = "images/subnav_soma-tito_b.gif";
  NavOn[33].src = "images/subnav_tito-writing_b.gif";
  NavOn[34].src = "images/subnav_our-leadership_b.gif";
  NavOn[35].src = "images/subnav_halo-board_b.gif";
  NavOn[36].src = "images/subnav_testimonials_b.gif";
  NavOn[37].src = "images/subnav_rpm-overview_b.gif";
  NavOn[38].src = "images/subnav_11rpmsession_b.gif";
  NavOn[39].src = "images/subnav_methodology_b.gif";
  NavOn[40].src = "images/subnav_casestudies_b.gif";
  NavOn[41].src = "images/subnav_resources_b.gif";
  NavOn[42].src = "images/subnav_faq_b.gif";
  NavOn[43].src = "images/aux_rpm_train_b.gif";
  NavOn[44].src = "images/subnav_request-clinic_b.gif";
  NavOn[45].src = "images/subnav_support-halo_b.gif";
  NavOn[46].src = "images/subnav_become-member_b.gif";
  NavOn[47].src = "images/subnav_donate_b.gif";
  NavOn[48].src = "images/subnav_donor_recognition_b.gif";
  NavOn[49].src = "images/aux_members_b.gif";
  NavOn[50].src = "images/subnav_forum_b.gif";
  NavOn[51].src = "images/subnav_success-stories_b.gif";
  NavOn[52].src = "images/subnav_renew-membership_b.gif";
	NavOn[58].src = "images/subnav_appointments_b.gif";
  
  NavOn[56].src = "images/subnav_member_forum_b.gif";
	NavOn[57].src = "images/aux_appoint_b.gif";
}
function MakeShadow(id){
  imgId    = 'menu'+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+'"]'); }
  
  //set position
  t = getImageTop(anchorObj);
  l = getImageLeft(anchorObj);
  w = getImageWidth(imgId);
  
  menuTop = t + 50;
  menuLeft = l + 30;
  
  //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 + 4;
    shadowLeft = menuLeft + 4; 
    SetElementPosition(shadowId,shadowTop,shadowLeft);
    shadows[id] = true;
  }
}
function Show(id) {
  if (running) { StopTimer(); }
  currentMenu = id;
  if (currentMenu != previousMenu && previousMenu != null) { Hide(previousMenu); }
  if (ie4) {
    eval('document.images["menu'+id+'"].src = NavOn[id].src');
  } else if (ns4) {
    eval('document.images["menu'+id+'"].src = NavOn[id].src');
  } else {
    eval('document.getElementById("menu'+id+'").src = NavOn[id].src');
    eval('document.getElementById("menu'+id+'Div").style.display = "block"');
    // create shadow if not made
    if (!(shadows[id] == true)) { MakeShadow(id); }
    eval('document.getElementById("menubg'+id+'Div").style.display = "block"');
  }
  previousMenu = currentMenu;
}
function Hide(id) {
  if (id == null) { return; }
  if (ie4) {
    if (id != pageId){ eval('document.images["menu'+id+'"].src = NavOff[id].src'); }
  } else if (ns4) {
    if (id != pageId){ eval('document.images["menu'+id+'"].src = NavOff[id].src'); }
  } else {
    if (id != pageId){ eval('document.getElementById("menu'+id+'").src = NavOff[id].src'); }
    eval('document.getElementById("menu'+id+'Div").style.display = "none"');
    eval('document.getElementById("menubg'+id+'Div").style.display = "none"');
  }
}
function Roll(id) {
  if (ie4) {
    eval('document.images["menu'+id+'"].src = NavOn[id].src');
  } else if (ns4) {
    eval('document.images["menu'+id+'"].src = NavOn[id].src');
  } else {
    eval('document.getElementById("menu'+id+'").src = NavOn[id].src');
  }
}
function UnRoll(id) {
  if (id == null) { return; }
  if (ie4) {
    eval('document.images["menu'+id+'"].src = NavOff[id].src');
  } else if (ns4) {
    eval('document.images["menu'+id+'"].src = NavOff[id].src');
  } else {
    eval('document.getElementById("menu'+id+'").src = NavOff[id].src');
  }
}

//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; }
    } else if (type == 'money') {
      // set decimal places
      var places = 2;
      
      // clean number
      var regex  = /[^.0-9]/g;
      num = new String(input);
      num = num.replace(regex, '');
      
      // preserve zeros
      decimalPos = num.indexOf('.');
      if (decimalPos == -1 && places > 0) {
        difference = places;
        num += '.';
      } else if (decimalPos == -1) {
        difference = 0;
      } else {
        actualDecimals = (num.length - 1) - decimalPos;
        difference = places - actualDecimals;
      }
      for (i=0; i<difference; i++) {
        num += '0';
      }
      
      // format
      if (isNaN(num) || num == '') {
        num = 0;
      } else {
        var regex = new RegExp('([0-9])([0-9][0-9][0-9][,.])');
        arrNumber = num.split('.');
        arrNumber[0] += '.';
        do {
          arrNumber[0] = arrNumber[0].replace(regex, '$1,$2');
        }
        while (regex.test(arrNumber[0]));
        if (arrNumber.length > 1) {
          return '$' + arrNumber.join('');
        } else {
          return '$' + arrNumber[0].split('.')[0];
        }
      }
    }
  }
}
