window.onresize=function(evt){
  fit();
}

function fit(){
  if( (window.innerHeight) && (typeof window.scrollMaxY != 'undefined') ) {
     // Firefox 
    pageWidth = window.innerWidth + window.scrollMaxX;
    pageHeight = window.innerHeight + window.scrollMaxY;
    clienth = document.documentElement.clientHeight;
    if(pageHeight < clienth) pageHeight = clienth;
  }else if( document.body.scrollHeight > document.body.offsetHeight ){
    // all but Explorer Mac
    pageWidth = document.body.scrollWidth;
    pageHeight = document.body.scrollHeight;
  }else{
    // works in Explorer 6 Strict, Mozilla (not FF) and Safari
    pageWidth = document.body.offsetWidth + document.body.offsetLeft; 
    pageHeight = document.documentElement.scrollHeight;
  }
  document.getElementById('content').style.height = pageHeight+'px';
  document.getElementById('keys_left').style.height = pageHeight+'px';
  document.getElementById('keys_right').style.height = pageHeight+'px';
}

function more(){
  var moreLink = document.getElementById('moreDiv');
  var lessLink = document.getElementById('lessDiv');
  var moreInfo = document.getElementById('moreInfo');

  moreLink.className = 'invisible';
  lessLink.className = '';
  moreInfo.className = '';  
  fit();
}

function less(){
  var moreLink = document.getElementById('moreDiv');
  var lessLink = document.getElementById('lessDiv');
  var moreInfo = document.getElementById('moreInfo');

  lessLink.className = 'invisible';
  moreLink.className = '';
  moreInfo.className = 'invisible';  
  fit();
}

function MM_validateForm() {
  if (document.getElementById){
    var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
    for (i=0; i<(args.length-2); i+=3) {
      test=args[i+2];
      val=document.getElementById(args[i]);
      if (val) {
        nm=val.name;
        if ((val=val.value)!="") {
          if (test.indexOf('isEmail')!=-1) {
            p=val.indexOf('@');
            if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
          } else if (test!='R') {
            num = parseFloat(val);
            if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
            if (test.indexOf('inRange') != -1) {
              p=test.indexOf(':');
              min=test.substring(8,p);
              max=test.substring(p+1);
              if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
            }
          }
        } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n';
      }
    }
    if (errors) alert('The following error(s) occurred:\n'+errors);
    document.MM_returnValue = (errors == '');
  }
}

/*
function MM_popupMsg(msg) {
  alert(msg);
}
*/


function dbwrite(msg){
  var db = document.getElementById('debug');
  db.innerHTML = db.innerHTML+'<br>'+msg;
}


