function highlight_field(f,fieldname,s){
    if (s=='on'){
       eval('document.'+f+'.'+fieldname+'.style.border="2px solid #f00";');
       eval('document.'+f+'.'+fieldname+'.focus();');
		}else{
			 eval('document.'+f+'.'+fieldname+'.style.border="2px inset #808080";');
		}
}
function validate(f){
   var AtSym = id2elem('email').value.indexOf('@');
	 var dot = id2elem('email').value.lastIndexOf('.');
	 var space = id2elem('email').value.indexOf(' ');
	 var length = id2elem('email').value.length - 1;
   //id2elem('debug').innerHTML = 'atsym:'+AtSym+'<br />dot:'+dot+'<br />space:'+space+'<br />length:'+length;

   if (id2elem('firstname').value==''){
       highlight_field(f,'firstname','on');
       id2elem('form_msg').style.display = 'block';
       id2elem('form_msg').innerHTML = 'Please enter your first name.';       
       return false;
   }else{
       highlight_field(f,'firstname','off');
       id2elem('form_msg').style.display = 'none';
   }
   
   if (id2elem('lastname').value==''){
       highlight_field(f,'lastname','on');
       id2elem('form_msg').style.display = 'block';
       id2elem('form_msg').innerHTML = 'Please enter your last name.';       
       return false;
   }else{
       highlight_field(f,'lastname','off');
       id2elem('form_msg').style.display = 'none';
   }
   
   if ((AtSym < 1 ) ||   // '@' can't be first
    	 (dot <= AtSym +1 ) || //one char between '@' and '.'
	     (dot == length - 1) ||  //one char after '.'
	     (space  != -1))  //no spaces allowed
	 {   
       highlight_field(f,'email','on');
       id2elem('form_msg').style.display = 'block';
       id2elem('form_msg').innerHTML = 'Please enter a valid e-mail address.';       
       return false;
   }else{
       highlight_field(f,'email','off');
       id2elem('form_msg').style.display = 'none';
   }
   eval('document.'+f+'.submit();');
}

function check_email(f){
    var AtSym = id2elem('email').value.indexOf('@');
	  var dot = id2elem('email').value.lastIndexOf('.');
	  var space = id2elem('email').value.indexOf(' ');
	  var length = id2elem('email').value.length - 1;
    if ((AtSym < 1 ) ||   // '@' can't be first
    	 (dot <= AtSym +1 ) || //one char between '@' and '.'
	     (dot == length - 1) ||  //one char after '.'
	     (space  != -1))  //no spaces allowed
	  {   
       highlight_field(f,'email','on');
       id2elem('form_msg').style.display = 'block';
       id2elem('form_msg').innerHTML = 'Please enter a valid e-mail address.';       
       return false;
    }else{
       highlight_field(f,'email','off');
       id2elem('form_msg').style.display = 'none';
    }
    eval('document.'+f+'.submit();');
}

function id2elem(id) {
	if (typeof(id) != 'string') {
		return id;
	}
	if (document.getElementById) {
		id = document.getElementById(id);
	} else if (document.all) {
		id=document.all[id];
	} else {
		id = null;
	}
	return id;
}

function filterNonNumeric(field) {
var result = new String();
var numbers = "0123456789";
var chars = field.value.split(""); // create array 
for (i = 0; i < chars.length; i++) {
if (numbers.indexOf(chars[i]) != -1) result += chars[i];
}
if (field.value != result) field.value = result;
}
