
	function ltrim( s ){return s.replace( /^\s*/, '' );}
	function rtrim( s ){return s.replace( /\s*$/, '' );}
	function trim ( s ){return rtrim(ltrim(s));}

	function verify_form(){
		var title = document.getElementById('title');	
		var url = document.getElementById('url');
		var desc = document.getElementById('desc');
		var name = document.getElementById('name');
		var category = document.getElementById('category');
		var email = document.getElementById('email');					
		var back_link = document.getElementById('back_link');	

		var err = new Array(); var i = 0;

		var email_str = trim(email.value);
		if (!email_str.match(/^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i))
			err[i++] = 'Invalid Email address';
		if (!trim(title.value))
			err[i++] = 'Fill out title';
		var url_str = trim(url.value);
		if (!url_str)
			err[i++] = 'Fill out URL';
		else
			if (!url_str.match(/^[http|https]+/))
				err[i++] = 'URL is invalid. URL must include http:// or https:// in the begining';
		var desc_str = trim(desc.value);
		if (!desc_str)
			err[i++] = 'Fill out Description';
		else
			if (desc_str.length>300)
				err[i++] = 'Description can contain upto 300 letters';
		if (!trim(name.value))
			err[i++] = 'Fill out your name';

		if(!isNaN(parseInt(category.value)))
			err[i++] = 'Select category (second level).';
		var back_link_str = trim(back_link.value);
		if (!back_link_str)
			err[i++] = 'Fill out Reciprocal Link URL';
		else
			if (!back_link_str.match(/^[http|https]+/))
				err[i++] = 'Reciprocal Link URL is invalid. URL must include http:// or https:// in the begining';
			
		if (err.length){
			var err_div = document.getElementById('err_div');
			err_div.innerHTML = '<div><b>Errors:</b><ul><li>'+err.join("</li><li>")+'</li></ul></div>';
			err_div.style.display = 'block';
		}
		else{
			document.getElementById('add_form').submit();
		}
	}
	
	function verify_search(){	
		var q = document.getElementById('q');
		if (trim(q.value))
			location = '/search&q='+trim(q.value);
		return false;
	}
