function MM_findObj(n,d) {
  var p,i,x;
  if(!d) d=document;
  if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document;
    n=n.substring(0,p);
  }
  if(!(x=d[n])&&d.all) x=d.all[n];
  for(i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x&&d.getElementById) x=d.getElementById(n);
  return x;
}
function MM_swapImage() {
  var i,j=0,x,a=MM_swapImage.arguments;
  document.MM_sr=new Array;
  for(i=0;i<(a.length-2);i+=3)
  if((x=MM_findObj(a[i]))!=null) {
    document.MM_sr[j++]=x;
    if(!x.oSrc) x.oSrc=x.src;
    x.src=a[i+2];
  }
}
function MM_swapImgRestore() {
  var i,x,a=document.MM_sr;
  for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() {
  var d=document;
  if(d.images) {
    if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments;
    for(i=0;i<a.length;i++)
    if(a[i].indexOf("#")!=0) {
      d.MM_p[j]=new Image;
      d.MM_p[j++].src=a[i];
    }
  }
}
function MM_displayStatusMsg(msgStr) {
  window.status=msgStr;
  document.MM_returnValue=true;
}
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=='');
  }
}
