function validateRequest(){
	var RE_txt = /\S+/;
	var RE_email = /^[0-9A-Za-z._-]{1,}@[0-9A-Za-z._-]{1,}$/;	
	var msg = 'Please complete\n\n';
	var ret = true;

	if (! RE_email.test(document.getElementById("rd_email").value)){
		msg += '-the email address\n';
		ret = false;
	}
	
	if (! RE_txt.test(document.getElementById("rd_company").value)){
		msg += '-the company name\n';
		ret = false;
	}
	
	if (!ret) alert(msg);
	return ret;	
}

function hideShowOther(obj){
	var odiv = document.getElementById("learn_other");
	if (obj.options[obj.selectedIndex].value == 'other'){
		odiv.style.display = 'block';
	}else{
		odiv.style.display = 'none';
	}
	return true;
}

var http = getHTTPObject();

var lkf= '';
var lk=0;
var force=false;
var valmsg = new Array();
var validationResult = true;
var allowEmpty = true;

valmsg["rd_email"] = "Please complete your email address";
valmsg["rd_company"] = "Please complete your company name";
valmsg["rd_fname"] = "Please complete your first name";
valmsg["rd_lname"] = "Please complete your last name";

function enterField(fieldObj){
	//initialize things
	lkf = fieldObj.id;
	lk= new Date().getTime();
	return true;
}

function leaveField(fieldObj){
	if (fieldObj.value != '') {
		force=true;
		performValidation();
		force=false;
	}
	lkf='';
	lk=0;
	return true;
}

function typeField(fieldObj){
	lk = new Date().getTime();
	return true;
}

function performValidation(){	
	var RE_email = /^[0-9A-Za-z._-]{1,}@[0-9A-Za-z_-]{1,}\.[0-9A-Za-z_.-]{2,}$/;
    var RE_txt = /\S\S+/;
    var dt=new Date().getTime();
	var nothing = false;
		    
    if (!force && (lkf == '' || lk==0 || dt-lk < 1000)){
    	//window.status = 'Lk=' + lk + ' Dt='+dt+' Lkf='+lkf;
		return true;    	
    }
    
    var fieldObj = document.getElementById(lkf);
    if (! fieldObj) {
    	//window.status = 'No obj:'+lkf;
		return true;
	}

	var fieldObjId = fieldObj.id;

	var lblObj = document.getElementById("lbl_" + fieldObjId);
	var expObj = document.getElementById("exp_" + fieldObjId);
	var imgObj = document.getElementById("img_" + fieldObjId);
		
	if (fieldObj.value == '' && allowEmpty) {
		lblObj.className='formlabel';
		imgObj.innerHTML='';
		expObj.innerHTML='&nbsp;';
		expObj.style.display='none';
		return true;
	}		

	    
	var valid=true;
	if (fieldObjId == 'rd_email'){
		valid = RE_email.test(fieldObj.value);
	}else{
		valid = RE_txt.test(fieldObj.value);
	}
	
	if (nothing){
		lblObj.className='formlabel';
		imgObj.innerHTML='';
		expObj.innerHTML='&nbsp;';		
	}else if (valid){
		if (lblObj.className != 'formlabel' || imgObj.innerHTML==''){
			lblObj.className='formlabel';
			imgObj.innerHTML='<img src="images/pub/grn_check.png" border=0 width=16 height=16>';				
			expObj.innerHTML='&nbsp;';
			expObj.style.display='none';
		}
	}else{
		if (lblObj.className != 'formlabel_error'){
			lblObj.className = 'formlabel_error';
			imgObj.innerHTML = '<img src="images/pub/red_cross.png" border=0 width=16 height=16>';
			expObj.innerHTML = valmsg[fieldObjId];
			expObj.style.display = 'block';
		}		
	}
		
	validationResult = valid;	
	return true;
}

var scrField = new Array ('rd_email','rd_fname','rd_lname');

function validateForm(){
	var invalid=0;
	var firstInvalid='';
	var doValidation=true;
	allowEmpty = false;

	for(var i=0; doValidation && i < scrField.length ; i++){
		lkf = scrField[i];
		force=true;
		performValidation();
		force=false;
		if (! validationResult) {
			invalid++;
			if (invalid == 1){
				firstInvalid = lkf;
			}
		}
	}
	allowEmpty = true;
	if (invalid > 0){
		document.getElementById(firstInvalid).focus();
		return false;
	}
	return true;
}

setInterval('performValidation()',500);
