/*
on load:
- put cursor into textbox with class "default"
- hide all divs with class "formrow optionalX" where X is any no. of digits
- insert matching toggle links (saying "show" or "hide") into any span with class "toggleX"
*/
window.onload=function(){
  if (document.getElementById){

    // hide long walk entries
    tmp=document.getElementsByTagName('div');
    for(var i=0;i<tmp.length;i++){
      if(tmp[i].className.match(/longentry\d*/)){
        tmp[i].style.display='none';
      }
    }

    // show short walk entries
    tmp=document.getElementsByTagName('div');
    for(var i=0;i<tmp.length;i++){
      if(tmp[i].className.match(/shortentry\d*/)){
        tmp[i].style.display='block';
      }
    }

    // show divs containing "show/hide" commands
    tmp=document.getElementsByTagName('div');
    for(var i=0;i<tmp.length;i++){
      if(tmp[i].className.match(/toggle\d*/)){
        tmp[i].style.display='block';
      }
    }

    // give focus to textbox with class "default"
    var tmp=document.getElementsByTagName('input');
    for(var i=0;i<tmp.length;i++){
      if(tmp[i].className.match(/default/)){
        tmp[i].focus();
      }
    }

    // hide all optional divs
    var tmp=document.getElementsByTagName('div');
    for(var i=0;i<tmp.length;i++){
      if(tmp[i].className.match(/form(info)?row optional\d*/)){
        tmp[i].style.display='none';
      }
    }

    // insert "show/hide" links
    tmp=document.getElementsByTagName('span');
    for(var i=0;i<tmp.length;i++){
      var classmatch;
      if(classmatch=tmp[i].className.match(/toggle\d*/)){
        var togglelink = tmp[i].appendChild(document.createElement('a'));
        togglelink.href='javascript:toggle('+classmatch[0].replace('toggle','')+');';
        togglelink.appendChild(document.createTextNode('show'));
      }
    }

    // show any manually inserted "show/hide" links
    tmp=document.getElementsByTagName('a');
    for(var i=0;i<tmp.length;i++){
      if(tmp[i].className.match(/toggle\d*/)){
        tmp[i].style.display='inline';
      }
    }

  }
}

/*
function to toggle show/hide status of divs with class "formrow optionalX"
or "forminforow optionalX" where X is any no. of digits
*/
function toggle(number) {
  if (document.getElementById) {
    // show / hide "formrow optionalX" divs
    var tmp=document.getElementsByTagName('div');
    for(var i=0;i<tmp.length;i++){
      if(tmp[i].className=='formrow optional'+number || tmp[i].className=='forminforow optional'+number){
        tmp[i].style.display=(tmp[i].style.display=='none')?'block':'none';
      }
    }
    // change toggle link to "show" or "hide"
    tmp=document.getElementsByTagName('span');
    for(var i=0;i<tmp.length;i++){
      if(tmp[i].className=='toggle'+number){
        tmp[i].lastChild.firstChild.nodeValue=(tmp[i].lastChild.firstChild.nodeValue=='show')?'hide':'show';
      }
    }
  }
}

function show(number) {
  var tmp = document.getElementById('shortentry'+number.toString());
  tmp.style.display='none';
  tmp = document.getElementById('longentry'+number.toString());
  tmp.style.display='block';
}

function hide(number) {
  var tmp = document.getElementById('longentry'+number.toString());
  tmp.style.display='none';
  tmp = document.getElementById('shortentry'+number.toString());
  tmp.style.display='block';
}

