function checkRequired(el)
{
	return (el.value
		.replace(/^\s+/g, "")
		.replace(/\s+$/g, ""))==""?"Please enter a value":null; 
}
function checkEmail(c)
{
	return /^([\w\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/.test(c.value)?null:"Please enter valid e-mail";
}

function renderMessage(el, text)
{
	var errid = el.name+"_error";
	var err = document.getElementById(errid);
	if(text && !err)
	{
		err = document.createElement("div");
		err.id = errid;
		err.className = "error";
		el.parentNode.appendChild(err);
	}
	if(err)
	{
		err.innerHTML = "";
		if(text)
		{
			err.appendChild(document.createTextNode(text));
			err.style.display="";
			return 1;
		}
		else
		{
			err.style.display="none";
			return 0;
		}
	}
	return 0;
}

function checkForm(form)
{
	var errs = 0;
	for(var i = 0; i < form.elements.length; i++)
	{
		var el = form.elements[i];
		if(el.className.indexOf("req")>=0)
			errs += renderMessage(el, checkRequired(el));
		if(el.className.indexOf("email")>=0)
			errs += renderMessage(el, checkEmail(el));
	}
	if(errs) 
		return false;
}
var searchForm = {
	focus: function(i,f)
	{
		var p=i.getAttribute("prompt");
		if(f){if(i.value==p)i.value="";i.className="";}
		else{if(i.value==""||i.value==p){i.className="nodata";i.value=p;}}
	},
	validate: function(f)
	{
		var i=f["q"],p=i.getAttribute("prompt");
		return i.value!=p && i.value!="";
	},
	init: function(i)
	{
		var me=this,d=document,a=d.activeElement;
		i.onfocus=function(){me.focus(i,1);}
		i.onblur=function(){me.focus(i,0);}
		if(!a||a.id!=i.id) me.focus(i,0);
		d=a=null;
	}
}
window.onload = function()
{
	var f=document.forms["frmSearch"];
	if(f){searchForm.init(f["q"])}
}
