function gE( i ) { return document.getElementById( i ); }
function gN( i ) { return document.getElementsByTagName( i ); }

function validateEmail(obj){
   var str = obj.value;

   if ((str==null)||(str=="")){
      alert("Please Enter your Email Address");
      obj.focus();
      return false;
   }

   var at="@"
   var dot="."
   var lat=str.indexOf(at)
   var lstr=str.length
   var ldot=str.indexOf(dot);
   var alertERROR="Invalid E-mail Address";

   if (str.indexOf(at)==-1){
      alert(alertERROR);
      obj.value='';
      obj.focus();
      return false;
   }

   if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
      alert(alertERROR);
      obj.value='';
      obj.focus();
      return false;
   }

   if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
      alert(alertERROR);
      obj.value='';
      obj.focus();
      return false;
   }

   if (str.indexOf(at,(lat+1))!=-1){
      alert(alertERROR);
      obj.value='';
      obj.focus();
      return false;
   }

   if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
      alert(alertERROR);
      obj.value='';
      obj.focus();
      return false;
   }

   if (str.indexOf(dot,(lat+2))==-1){
      alert(alertERROR);
      obj.value='';
      obj.focus();
      return false;
   }
		
   if (str.indexOf(" ")!=-1){
      alert(alertERROR);
      obj.value='';
      obj.focus();
      return false;
   }
      return true;				
}

function getInput( ) {
   var allInput = document.getElementsByTagName("input");
  
   for (var x=0;x< allInput.length;x++) {
      if((allInput[x].className == "required" && allInput[x].value == "")) {
         allInput[x].focus();
	 alert(allInput[x].title);
	 return false;
      }
   }

   var allInput = document.getElementsByTagName("textarea");
  
   for (var x=0;x< allInput.length;x++) {
      if((allInput[x].className == "required" && allInput[x].value == "")) {
         allInput[x].focus();
	 alert(allInput[x].title);
	 return false;
      }
   }
}

function randomPassword() {
  chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
  pass = "";
  maxChars = "6";

  for( x=0; x<maxChars; x++ ) {
     i = Math.floor(Math.random() * 62);
     pass += chars.charAt(i);
  }
  return pass;
}

function validateForm( obj ) {
   if(getInput() == false) return false;
   if(validateEmail(gE('From')) == false) return false;

   var inStr = gE( "CID" ).innerHTML;
   var urStr = gE( "urStr" ).value;

   if( inStr == urStr ) {
	obj.submit();
   } else {
        gE( "urStr" ).value = "";
	gE( "urStr" ).focus();
        alert("Please enter validating text as it appears in the red-outlined, yellow box.");
   }
   gE( "CID" ).innerHTML = randomPassword();
   return false;
}

function init() {
   gE( "CID" ).innerHTML = randomPassword();
}

if( window.attachEvent ) { // IE
  window.attachEvent( "onload", init );
} else if( window.addEventListener ) { // W3, Gecko
  window.addEventListener( "load", init, false );
}

