//************************************************//
//   Copyright 2005 All Rights Reserved	  	      //
//   standard.js                                  //
//   Ryan White 06-02-2006                        //
//************************************************//

function attachFormStyle() 
{
  if (window.attachEvent) 
  {
    var elements = new Array();
    
    elements[0] = document.getElementsByTagName("input");
    elements[1] = document.getElementsByTagName("textarea");
    elements[2] = document.getElementsByTagName("select");

    for (var i=0; i<elements.length; i++) 
    {
      for (var k=0; k<elements[i].length; k++) 
      {
        elements[i][k].onfocus=function()    { this.className+=" fs";};
  		elements[i][k].onblur=function()     { this.className=this.className.replace(new RegExp(" fs\\b"), "");};
  	    elements[i][k].onmouseover=function(){ this.className+=" hs";};
  		elements[i][k].onmouseout=function() { this.className=this.className.replace(new RegExp(" hs\\b"), "");};
      }
    }    
  }
}

var lastValidValue;

function attachTextLimit() 
{
  if (document.getElementById('Details'))
  {
    document.getElementById('Details').onkeyup=function(){ return validateTextArea( this, 200);};
    lastValidValue = document.getElementById('Details').value; 
  }
}

function validateTextArea(field, lengthConstraint)
{			
  if (field.value.length > lengthConstraint)
  {
    field.value = lastValidValue;
	return false;
  }
  
  lastValidValue = field.value;
  return true;
}


function attachFormValidation() 
{
  if (document.getElementById("form-contact"))
    document.getElementById("form-contact").onsubmit=function(){ return validate();};
}

function validate() 
{
  var validEmail = /^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;	
  var validTypes = new Array("General","Volunteering","Membership","Sponsorship","Suggestion","Report Site Problem");
  var required   = new Array();
  var errorText  = new Array();  
  var validType  = false;
  
  required.push(document.getElementById('Name'));
  required.push(document.getElementById('Email'));
  required.push(document.getElementById('Regarding'));
  required.push(document.getElementById('Details'));  

  for (var k=0; k<=required.length-1; k++) 	     	
    if (required[k].value=="" || required[k].value.length<1) 
      errorText.push("The "+required[k].name+" field must contain a value.");
  			
  for (var k=0; k<=validTypes.length-1; k++) 			     	
    if (validTypes[k].value==required[2].value); 
      validType = true;

  if (!validType) 
    errorText.push("Invalid Type Selection.");

  if (validEmail.test(required[1].value)==false) 
    errorText.push("You have entered an invalid Email Address.");

  if (errorText.length<=0) 
  {  
    if (document.getElementById('form-debug').firstChild)
    {	
      var element = document.getElementById('form-debug'); 
      while(element.firstChild) 
        element.removeChild(element.firstChild);
      var p = document.createElement("p");
      p.appendChild(document.createTextNode("Form Submitted Successfully, Thank You."));
      element.appendChild(p);
      element.className="";
    }
    else
    {
      alert("Form Submitted Successfully, Thank You.");
    }
    return true;
  }
  else
  { 
    if (document.getElementById('form-debug').firstChild)
    {
      var element = document.getElementById('form-debug');
      while(element.firstChild) 
        element.removeChild(element.firstChild);
      for (var k=0; k<=errorText.length-1; k++) 	 
      {
        var p = document.createElement("p");
        p.appendChild(document.createTextNode(errorText[k]));
        element.appendChild(p);
      }
      element.className=" err";
      return false;
    }
    else
    {
      alertText = "";
      for (var k=0; k<=errorText.length-1; k++) 	 
        alertText+= errorText[k]+"\n";
      alert(errorText);
    }  
    return false;
  }
  
  return false;
}


////////////////////////////////////////////////////