function formHandler(form){
  var URL = form.site.options[form.site.selectedIndex].value;
  window.location.href = URL;
}

function formsectionHandler(form){
  var URL = form.sectionnav.options[form.sectionnav.selectedIndex].value;
  window.location.href = URL;
}

/* Check if Flash can play */
var MM_FlashCanPlay = checkFlash();
var checkFlashCookieDomain='.lfcs.org'

function checkFlash(){
  var MM_contentVersion = 6;
  var plugin = (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"]) ? navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin : 0;
  if (plugin) {
    var words = navigator.plugins["Shockwave Flash"].description.split(" ");
    for (var i = 0; i < words.length; ++i)
    {
      if (isNaN(parseInt(words[i])))
      continue;
      var MM_PluginVersion = words[i]; 
    }
    var MM_FlashCanPlay = MM_PluginVersion >= MM_contentVersion;
  }
  else if (navigator.userAgent && navigator.userAgent.indexOf("MSIE")>=0 
    && (navigator.appVersion.indexOf("Win") != -1)) {
    oFlash = eval("new ActiveXObject('ShockwaveFlash.ShockwaveFlash." + MM_contentVersion + "');");
    if(oFlash) { MM_FlashCanPlay = true; }
  }

  expires = new Date();
  expires.setFullYear(expires.getFullYear()+1);
  if(window.location.search == "?noflash=1"){ 
  	MM_FlashCanPlay = 0; 
  	// set no flash cookie
  	document.cookie="flash=0; expires="+ expires.toGMTString() +"; domain="+ checkFlashCookieDomain
  }
  else if(window.location.search == "?noflash=0" || window.location.search == "?flash=1"){
    // delete no flash cookie
  	document.cookie="flash=1; expires="+ expires.toGMTString() +"; domain="+ checkFlashCookieDomain
  }
  else {
  	var c 	= document.cookie;
  	var pos = c.indexOf("flash=");
  	if(pos != -1){
  		var start = pos + 6;
  		var end   = c.indexOf(";",start);
  		if (end == -1){ end = c.length; }
  		var val = c.substring(start,end);
  		
  		if(val == "0"){
  			MM_FlashCanPlay = 0;
  		}
  	}
  }
  return MM_FlashCanPlay;
}

var PNMGFlash=[];
function Flash(file,width,height,div,image,flashCanPlay){
  this.file = file;
  this.width = width;
  this.height = height;
  this.div = div;
  this.image = image;
  this.flashCanPlay = flashCanPlay;
  
  if(this.flashCanPlay){ this.register(); }
}
Flash.prototype.getObject = function(){
  return '<object type="application/x-shockwave-flash" data="'+ this.file +'" width="'+ this.width +'" height="'+ this.height +'">'+
    '<param name="movie" value="'+ this.file +'" /></object>';
}
Flash.prototype.register = function(){
  if(addLoadEvent){
    PNMGFlash[PNMGFlash.length]=this;
  }
  else { alert("PNMGFlash error: Could not show the flash because the function addLoadEvent() does not exist."); }
}
Flash.prototype.show = function(){
  if(document.getElementById){
    var e = getElement(this.div);
    if(e){
      showElement(e);
      if(getElement(this.image)){
        setElementClass(this.image,'printOnly');
        h=e.innerHTML + this.getObject();
        e.innerHTML='';
        e.innerHTML=h;
      }
      else { alert("PNMGFlash error: The image '"+ this.image +"' does not exist."); }
    }
    else { alert("PNMGFlash error: The flash div '"+ this.div +"' does not exist.");  }
  }
}
addLoadEvent(function(){
  for(var i=0;i<PNMGFlash.length;i++){
    PNMGFlash[i].show();
  }
});

Menu = {
  _menu : [],
  addMenu : function(name, link, div, imageID, image1, image2){
    Menu._menu[Menu._menu.length] = {'id':name,
      'link':link,
      'div':div,
      'imageID':imageID,
      'image1':image1,
      'image2':image2,
      'inMenu':0,
      'height':0,
      'timer':null}
  },
  hide : function(menu){
    if(typeof menu == 'object'){ var mname = menu.id }
    else { var mname = menu; }
    for(i=0;i<Menu._menu.length;i++){ if(Menu._menu[i]['link'] == mname || Menu._menu[i]['div'] == mname){ hideElement(Menu._menu[i]['div']); break } }
  },
  init : function(){
    for(i=0;i<Menu._menu.length;i++){
      e=getElement(Menu._menu[i]['div'])
      if(e){
        l=getElement(Menu._menu[i]['link'])
        if(l){
          l.onmouseover=function(){Menu.inMenu(this);Menu.toggleMenu(this)}
          l.onmousemove=function(){Menu.inMenu(this);Menu.toggleMenu(this)}
          l.onmouseout=function(){Menu.outMenu(this);}
          e.onmouseover=function(){Menu.inMenu(this);Menu.toggleMenu(this)}
          e.onmousemove=function(){Menu.inMenu(this);Menu.toggleMenu(this)}
          e.onmouseout=function(){Menu.outMenu(this);}
        }
      }
    }
  },
  inMenu : function(menu){
    if(typeof menu == 'object'){ var mname = menu.id }
    else { var mname = menu; }
    for(i=0;i<Menu._menu.length;i++){ if(Menu._menu[i]['link'] == mname || Menu._menu[i]['div'] == mname){ Menu._menu[i]['inMenu'] = 1; break } }
  },
  outMenu : function(menu){
    if(typeof menu == 'object'){ var mname = menu.id }
    else { var mname = menu; }
    for(i=0;i<Menu._menu.length;i++){ if(Menu._menu[i]['link'] == mname || Menu._menu[i]['div'] == mname){ 
      Menu._menu[i]['inMenu'] = 0
      Menu._menu[i]['timer']  = window.setTimeout('Menu.toggleMenu("'+mname+'")',1000)
      break
    } }
  },
  show : function(menu){
    if(typeof menu == 'object'){ var mname = menu.id }
    else { var mname = menu; }
    for(i=0;i<Menu._menu.length;i++){ if(Menu._menu[i]['link'] == mname || Menu._menu[i]['div'] == mname){ showElement(Menu._menu[i]['div']); break } }
  },
  toggleMenu : function(menu){
    if(typeof menu == 'object'){ var mname = menu.id }
    else { var mname = menu;  }
    if(menu == undefined){ return; }
    for(i=0;i<Menu._menu.length;i++){ if(Menu._menu[i]['link'] == mname || Menu._menu[i]['div'] == mname){
      var m = Menu._menu[i]
      if(m['inMenu'] == 1){
        for(i=0;i<Menu._menu.length;i++){ Menu.hide(Menu._menu[i]['link']); }
        Menu.show(mname)
        img=getElement(m['imageID'])
        if(img){ img.src=m['image2']; }
      }
      else {
        Menu.hide(mname) 
        img=getElement(m['imageID'])
        if(img){ img.src=m['image1'] }
      }
      break
    } }
  }
}

addLoadEvent(function(){
  d=getElement('dirsearch')
  if(d){
    d.onmouseover=Menu.show;
    d.onmouseout=Menu.outMenu;
    m = getElement('directoryMenu')
    m.onmouseover = function(){ Menu.inMenu(); }
    m.onmouseout  = function(){ Menu.outMenu(); }
  }
})

/*=================================================
  checkPageForms()
  
  Version 0.5
  Updated: 02.13.04
  
  -------------------------------------------------
  This script causes all forms to pass the
  "checkPageForms" function before being submitted.
  
  How to use:
  
  Be sure your forms have both the name attribute
  and the id attribute.
  
  All required fields must have a label
  with the class "required" for this to work. Also,
  the label must point to the ID of the input
  element in the for attribute. For example:
  
  <label for="example" class="required">Example</label>
  <input type="text" name="example" id="example" />
  
  And that should be it.
  
  NOTE: THIS ONLY VALIDATES THE COMPLETION OF
  THE INPUT FIELDS, NOT THE VALUE OF THOSE FIELDS.
===================================================*/

var cancelForm=false; // buttons like "cancel" set
                      // this to true so the form
                      // is not validated when it
                      // does not need to be

/*-------------------------------------------------
  checkPageForms()
  -------------------------------------------------
  Cycles through the elements of a form. The
  function actually checks for labels with the
  class "required". When a "required" label is
  found, the script checks that a value has been
  filled out for that input.
---------------------------------------------------*/
function checkPageForms(frm, formName){
  // Check if the form element exists
  if(!frm){ return false; }
  // Browser must pass this basic test to proceed
  if(document.getElementById && !cancelForm){
    var id = frm.getAttribute('id');
    if(id == null){ id = frm.attributes['id'].value; }
    // If a form name is passed to this function, then
    // it must equal the value of the ID of this form
    // (this is so multiple forms can be checked on a
    // single page)
    if(id == formName || formName == ""){
      var labels = frm.getElementsByTagName('label');
      var error  = false;
      var errorMsg = "";
      for(var i=0; i<labels.length;i++){
        var l = labels[i];
        if(l.className == "required" || l.className == "error"){
          //if(typeof(elemID.value) != "undefined"){ elemID = elemID.value; }
          var elemID = l.getAttribute('for');
          if(elemID == null){ elemID = l.attributes['for'].value; }
          var e = document.getElementById(elemID);
          if(e){
            // Process the different input types
            var nodeName = e.nodeName;
            if(nodeName.toLowerCase() == "input"){
              // Input elements
              var eType = e.getAttribute('type');
              if(eType == null){ eType = e.attributes['type'].value; }
              if(eType == "text"){
                // Text type inputs
                if(qTrim(e.value) == ""){ l.className = "error"; error = true; }
                else { l.className = "required"; }
              }
              else if(eType == "radio"){
                if(e.checked !== true){ l.className = "error"; error = true; }
              }
            }
            else if(nodeName.toLowerCase() == "select"){
              // Select elements
              var ix = e.selectedIndex;
              var o = qTrim(e.options[ix].value);
              if(o == "#" || o == "-" || o == "" || o == "--" || o == "##" || o == "---" || o == " "){ l.className = "error"; error = true; }
              else { l.className = "required"; }
            }
            else if(nodeName.toLowerCase() == "textarea"){
              // Textarea elements
              if(qTrim(e.value) == ""){ l.className = "error"; error = true; }
              else { l.className = "required"; }
            }
          }
        }
      }
      if(id == "signup"){
        /*if(frm.bankRouting){
          if(frm.bankRouting.value.length != 9){
            error = true;
            errorMsg = "The bank routing number is a 9-digit number. Please be sure you filled in the correct number.";
          }
        }*/
      }
      if(error){
        var m = "There was an error with the form. Please enter a value for all the fields marked in red.";
        if(errorMsg != ""){ m += "\n\n"+ errorMsg; }
        alert(m);
        error = false;
        if(document.getElementById){
          var emsg = document.getElementById("errorMsg");
          if(emsg){
            emsg.innerHTML="";
            h="<p class=\"error\">There was an error with the form. Please review the following issues:</p>"
            h+="<ul><li class=\"error\">You may have left one or more fields blank. These fields are marked in red.</li>";
            if(errorMsg != ""){ h += "<li class=\"error\">"+ errorMsg +"</li>"; }
            h+="</ul>";
            emsg.innerHTML=h;
            window.scrollTo(0,0);
            emsg.style.display="block";
          }
        }
        return false;
      }
      else {
        if(document.getElementById){
          var emsg = document.getElementById("errorMsg");
          if(emsg){
            emsg.innerHTML="";
            emsg.innerHTML="&nbsp;"
            emsg.style.display="none";
          }
        }
      }
    }
    else { return true; }
  }
  return true;
}
function qTrim(value) { return value.replace(/\n/,"").replace(/\r/,"").replace(" ",""); }

addLoadEvent(function(){
  if(!document.getElementsByTagName){ return }
  forms=document.getElementsByTagName('FORM');

  for(var i=0;i<forms.length;i++){
    forms[i].onsubmit=function(){ return checkPageForms(this,''); }
  }
})