
function has_id(id)
{
	try
	{
		var tmp=document.getElementById(id).value;
	}
	catch(e)
	{
		return false;
	}
return true;
}
function validatesec(elem)
{
	var str=elem.value;
	if(str.length==0)
	{
		alert("Please enter captcha");
		return false;
	}
	else
	{
	if (window.XMLHttpRequest)
  	{// code for IE7+, Firefox, Chrome, Opera, Safari
  		xmlhttp=new XMLHttpRequest();
  	}
	else
  	{// code for IE6, IE5
  		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  	}
	xmlhttp.onreadystatechange=function()
  	{
  		if (xmlhttp.readyState==4 && xmlhttp.status==200)
    	{
			if(xmlhttp.responseText != "1") 
			{
				alert("Invalid captcha");
				elem.value="";
				elem.focus();
				return false;
			}
    	}
  	}
	xmlhttp.open("GET","checkdata.php?q="+str,true);
	xmlhttp.send();
	}
}
function has_name(nm)
{
	try
	{
		var tmp=cfrm.nm.type;
	}
	catch(e)
	{
		return false;
	}
return true;
}
function $$(id)
{
	if(!has_id(id)&&!has_name(id))
	{
		alert("Field "+id+" does not exist!\n Form validation configuration error.");
		return false;
	}
	if(has_id(id))
	{
		return document.getElementById(id).value;
	}
	else
	{
		return;
	}
}
function $val(id)
{
	return document.getElementById(id);
}
function trim(id)
{
	$val(id).value=$val(id).value.replace(/^\s+/,'').replace(/\s+$/,'');
}
var required=
{
	field:[],add:function(name,type,mess)
	{
		this.field[this.field.length]=[name,type,mess];},out:function()
		{
			return this.field;
		},clear:function()
		{
			this.field=[];
		}
	};
var validate=
{
	check:function(cform)
	{
		var error_message='Please fix the following errors:\n\n';
		var mess_part='';
		var to_focus='';
		var tmp=true;
		for(var i=0;i<required.field.length;i++)
		{
			if(this.checkit(required.field[i][0],required.field[i][1],cform))
			{
			}
			else
			{
				error_message=error_message+required.field[i][2]+' must be supplied\n';if(has_id(required.field[i][0])&&to_focus.length===0){to_focus=required.field[i][0];
			}
			tmp=false;
		}
	}
	if(!tmp)
	{
		alert(error_message);
	}
	if(to_focus.length>0)
	{
		document.getElementById(to_focus).focus();
	}
return tmp;
},checkit:function(cvalue,ctype,cform)
{
	if(ctype=="NOT_EMPTY"){if(this.trim($$(cvalue)).length<1){return false;}else{return true;}}else if(ctype=="EMAIL"){exp=/^[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;if($$(cvalue).match(exp)==null){return false;}else{return true;}}},trim:function(s){if(s.length>0){return s.replace(/^\s+/,'').replace(/\s+$/,'');}else{return s;}
	}
};
