function bmi_calc(f)
{
   if (parseInt(document.bmiform['ft'].value)>0)
   {
      f.cm.value = 2.54 * (12*parseInt(document.bmiform['ft'].value) + parseInt(document.bmiform['in'].value));
   }

   if (parseInt(f.cm.value)>0)
   {
      var bmi = Math.round(parseInt(f.kg.value) / ((parseInt(f.cm.value)/100)*(parseInt(f.cm.value)/100)));
      var output = '<H3>Your BMI is '+ bmi +'</H3>';
      output    += '<P>Under current guidelines your BMI falls into the following category:</P>';
      output    += '<P style="background:#e5e5e5;padding:3px;text-align:center">';
      if (bmi<18)           output += '<B>very underweight</B>';
      if (bmi>17 && bmi<20) output += '<B>underweight</B>';
      if (bmi>19 && bmi<26) output += '<B>healthy</B>';
      if (bmi>25 && bmi<31) output += '<B>overweight</B>';
      if (bmi>30 && bmi<36) output += '<B style="color:red">obese</B><BR>(high health risk)';
      if (bmi>35 && bmi<41) output += '<B style="color:red">obese</B><BR>(very high health risk)';
      if (bmi>40)          output += '<B style="color:red">morbidly obese</B><BR>(extremely high health risk)';             
      output += '</P>';
      output += '<P align="right"><A href="#" onClick="bmi_reset();return false;">again</A></P>';
      get_byId('bmiresult').innerHTML = output;
      get_byId('bmiresult').style.display='block';
      get_byId('bmicalculator').style.display='none';
   }
}

function bmi_reset()
{
   get_byId('bmicalculator').style.display='block';
   get_byId('bmiresult').style.display='none';
}

function bmi_switch(l)
{
   if(get_byId('bmiimperial').style.display=='block')
   {
      get_byId('bmiimperial').style.display='none';
      get_byId('bmimetric').style.display='block';
      l.innerHTML = 'Switch to ft / in';
      document.bmiform['cm'].value='';
      document.bmiform['cm'].focus();
   } else {
      get_byId('bmimetric').style.display='none';
      get_byId('bmiimperial').style.display='block';
      l.innerHTML = 'Switch to cm';
      document.bmiform['ft'].value='';
      document.bmiform['in'].value='';
      document.bmiform['ft'].focus();
   }
}

function get_byId(id)
{
   if (document.getElementById)
   {
      return document.getElementById(id);
   } else if (document.all) {
      return document.all[id];
   }
}

function popflash(v_src) {
   var popwin = window.open('http://www.weightlosssurgery.com.au/animations/popflash.php?src='+v_src,'popwin','height=450,width=540,top=50,left=70,scrollbars=no,resizable=no');
   popwin.focus();
}

function val(frm)
{
   var check = false;
   for (var i=0; i<frm.length; i++)
   {
      if (frm[i].name.indexOf('_')==0 && trim(frm[i].value).length==0)
      {
         frm[i].style.backgroundColor="#FDFCD4";
         check = true;
      }
   }
   if (check)
   {
      alert('Please fill in all required fields');
      return false;
   }
   return true;
}

function trim(v_src)
{
   var v_pat0   = new RegExp("^[ ]+");
   var v_pat1   = new RegExp("[ ]+$");
   v_src = v_src.replace(v_pat0,"");
   return v_src.replace(v_pat1,"");
}

var nTmr = false;

function nInit()
{
   if (dom('top-nav'))
   {
      var h = dom('top-nav');
      var c = h.childNodes;

      for (var i=0;i<c.length; i++)
      {
         if (c[i].nodeType==1)
         {
            domAddEventHandler(c[i], 'mouseover', nEnt);
            domAddEventHandler(c[i], 'mouseout', nExt);
            if (c[i].getElementsByTagName('ul').length>0)
            {
               var cc = c[i].getElementsByTagName('ul')[0].childNodes;
               for (var k=0; k<cc.length; k++)
               {
                   if (cc[k].nodeType==1 && cc[k].tagName.toLowerCase()=='li')
                   {
                      cc[k].style.width = c[i].offsetWidth +'px';
                      domAddEventHandler(cc[k], 'mouseover', nEnt);
                      domAddEventHandler(cc[k], 'mouseout', nExt);
                      if (cc[k].getElementsByTagName('ul').length>0)
                      {
                        cc[k].getElementsByTagName('ul')[0].style.left = c[i].offsetWidth +'px';
                        var ccc = cc[k].getElementsByTagName('ul')[0].childNodes;
                        for (var l=0; l<ccc.length; l++)
                        {
                            if (ccc[l].nodeType==1 && ccc[l].tagName.toLowerCase()=='li')
                            {
                                 domAddEventHandler(ccc[l], 'mouseover', nEnt);
                                 domAddEventHandler(ccc[l], 'mouseout', nExt);
                                 if (ccc[l].getElementsByTagName('ul').length>0)
                                 {
                                    var cccc = ccc[l].getElementsByTagName('ul')[0].childNodes;
                                    for (var m=0; m<cccc.length; m++)
                                    {
                                       if (cccc[m].nodeType==1 && cccc[m].tagName.toLowerCase()=='li')
                                       {
                                          domAddEventHandler(cccc[m], 'mouseover', nEnt);
                                          domAddEventHandler(cccc[m], 'mouseout', nExt);
                                       }
                                    }
                                 }
                            }
                        }
                      }
                   }
               }
            } else {
              domAddEventHandler(c[i], 'mouseout', nClr);
            }
         }
      }
   }
   preloadImages();
}

function dom(o)
{
   if (document.getElementById)
      return document.getElementById(o);
   else if (document.all)
      return document.all[o]
   else
      return false;
}


window.onload = nInit;

function domAddEventHandler(o, tp, f)
{
   if (o.addEventListener)
      o.addEventListener(tp, f, false);
   else if (o.attachEvent)
      o.attachEvent('on'+ tp, f );
}



function nEnt(e)
{
   if (nTmr)
      clearTimeout(nTmr);
   if (!e)
      var e = window.event;
   if (e.target)
      var obj = e.target;
   else if (e.srcElement)
      var obj = e.srcElement;
   if (obj)
   {
      if (obj.className.length>0)
      {
         nClr();
         if (obj.className.toString().indexOf('a')<0)
            obj.style.backgroundPosition = 'left -38px';
         if (obj.parentNode.getElementsByTagName('ul').length>0)
            obj.parentNode.getElementsByTagName('ul')[0].style.display='block';
      } else {
         var c = obj.parentNode.parentNode.childNodes;
         for (var i=0; i<c.length; i++)
         {
             if (c[i].nodeType==1)
               if (c[i].getElementsByTagName('ul').length>0)
                  c[i].getElementsByTagName('ul')[0].style.display='none';
         }
         if (obj.parentNode.getElementsByTagName('ul').length>0)
            obj.parentNode.getElementsByTagName('ul')[0].style.display='block';
      }
   }
}

function nClr()
{
   var h = dom('top-nav');
   var c = h.childNodes;
   for (var i=0; i<c.length; i++)
   {
      if (c[i].nodeType==1)
      {
         if (c[i].getElementsByTagName('a').length>0)
            if (c[i].getElementsByTagName('a')[0].className.toString().indexOf('a')<0)
               c[i].getElementsByTagName('a')[0].style.backgroundPosition = 'left top';
         if (c[i].getElementsByTagName('ul').length>0)
         {
            c[i].getElementsByTagName('ul')[0].style.display='none';
            if (c[i].getElementsByTagName('ul')[0].getElementsByTagName('ul').length>0)
            {
               var cc = c[i].getElementsByTagName('ul')[0].getElementsByTagName('ul');
               for (var k=0;k<cc.length; k++)
               {
                  cc[k].style.display='none';
                  if (cc[k].getElementsByTagName('ul').length>0)
                  {
                     var ccc = cc[k].getElementsByTagName('ul');
                     for (var l=0; l<ccc.length;l++)
                        ccc[l].style.display='none';
                  }
               }
            }
         }
      }
   }
}

function nExt()
{
   if (nTmr)
      clearTimeout(nTmr);
   nTmr = setTimeout("nClr()", 2000);
}

var preloadFlag = false;
function preloadImages() {
    if (document.images) {
        preload0  = newImage("tpl/aunz_map_01-AU_over.gif");
        preload1  = newImage("tpl/aunz_map_01-NZ_over.gif");
        preload2  = newImage("tpl/au_map_01-ACT-over.gif");
        preload3  = newImage("tpl/au_map_01-NSW-over.gif");
        preload4  = newImage("tpl/au_map_01-NT-over.gif");
        preload5  = newImage("tpl/au_map_01-QLD-over.gif");
        preload6  = newImage("tpl/au_map_01-SA-over.gif");
        preload7  = newImage("tpl/au_map_01-TAS-over.gif");
        preload8  = newImage("tpl/au_map_01-VIC-over.gif");
        preload9  = newImage("tpl/au_map_01-WA-over.gif");
        preload10 = newImage("tpl/nz_map_01-NI_over.gif");
        preload11 = newImage("tpl/nz_map_01-SI_over.gif");
        preloadFlag = true;
    }
}

function newImage(arg) {
    if (document.images) {
        rslt = new Image();
        rslt.src = arg;
        return rslt;
    }
}