function showerr(errdata)
{
	document.getElementById(errdata).style.display = 'block';
	document.forms['frmquery'].submit.disabled = true;
	document.forms['frmquery'].submit.style.backgroundColor = '#f00';
	document.forms['frmquery'].submit.style.border = '#f00';	
}

function hiderr(errdata)
{
	document.getElementById(errdata).style.display = 'none';
	if (document.forms['frmquery'].realname.value.length >0 && document.forms['frmquery'].email.value.length >0 && document.forms['frmquery'].query.value.length >0)
	{
		document.forms['frmquery'].submit.disabled = false;
		document.forms['frmquery'].submit.style.backgroundColor = '#fff';
		document.forms['frmquery'].submit.style.border = 'solid 1px #d18c06';		
	}
}

function validate(data)
{
	//pull the name and value from the field that is supplied as a parameter
	var dataid=data.name;
	var dataval=data.value;
	var errdata ;

	//get rid of extrawhite space either side of the data.
	dataval = dataval.replace(/^\s+|\s+$/g, '') ;
	//update the field to have no extra whitespace.
	document.getElementById(dataid).value = dataval;

	//depending on which field is retrieved, identify the error to display
	switch (dataid)
	{
		case 'realname':
			errdata='errname';
			if (dataval.length == 0)
			{
				showerr(errdata);
			}
			else
			{
				hiderr(errdata);
				
			}
			break;
			
		case 'email':
			errdata='erremail';
			var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
			if(reg.test(dataval) == false)
			{
				showerr(errdata);
			}
			else
			{
				hiderr(errdata);		
			}
			break;

		case 'query':
			errdata='errquery';	
			if (dataval.length == 0)
			{
				showerr(errdata);
			}
			else
			{
				hiderr(errdata);
				
			}		
			break;			
	}
}