var oldonDOMReady_contact=phocus.DOM.onDOMReady;
phocus.DOM.onDOMReady=function()
{
	if(typeof oldonDOMReady_contact == 'function') { oldonDOMReady_contact(); }
	
	var _form = phocus.DOM.getnodes("form#contactform");
	if(_form.length>0)
	{
		_form.node(0).setevent('submit',subscribecheck);
	}
}

function subscribecheck(e)
{
	removeerror();

	var f=phocus.DOM.getNode(phocus.DOM.getETarget(e));
	var valid=false;
	var error='';
	var errorfield;
	
	var name=f.getnodes('#name');
	var email=f.getnodes('#email');
	var comments=f.getnodes('#Comments');
	
	if(name.length<=0 || email.length<=0 || comments.length<=0)
	{
		error = 'Something\'s wrong with the form, please try again later.';
	} else
	{
		name=name.node(0);
		email=email.node(0);
		comments=comments.node(0);
		
		nameval=name.get('value');
		emailval=email.get('value');
		commentsval=comments.get('value');
	}

	if(!regexps['filled'].test(nameval))
	{
		error='You need to enter your name';
		errorfield=name;
	} else if(!regexps['filled'].test(emailval) || !regexps['email'].test(emailval))
	{
		error='You must enter a valid email address';
		errorfield=email;
	} else if(!regexps['filled'].test(commentsval))
	{
		error='You need to enter a comment';
		errorfield=comments;
	} else
	{
		valid = true;
	}
	
	com.saltcollective.Phocus.debug(' ');
	com.saltcollective.Phocus.debug('form error');
	com.saltcollective.Phocus.debug(errorfield);
	com.saltcollective.Phocus.debug(error);
	
	if(!valid)
	{
		errorfield.animateprop('borderColor', 0xCCCCCC, 0xFFBB00, 50);
		errorfield.animateprop('backgroundColor', 0xFFFFFF, 0xFFBB00, 50);
		errorfield.context.focus();

		var pos=errorfield.get('pos');
		pos.add(new phocus.Point(210,-30));
		attacherror(error,pos);
		
		phocus.DOM.stopEvent(e);
	}
}
function attacherror(err,pos)
{
	var b=phocus.DOM.getnodes('body').node(0);
	var errorfield=b.getnodes('div#errorfield');
	
	if(errorfield.length>0)
	{
		errorfield=errorfield.node(0);
	} else
	{
		errorfield=b.addnode('div','END',{id:'errorfield',className:'errorbox'});
		errorfield.setevent('mousedown',removeerror);
	}

	errorfield.set('innerHTML',err);
	errorfield.set('pos',pos);
}
function removeerror()
{
	var b=phocus.DOM.getnodes('body').node(0);
	var errorfield=b.getnodes('div#errorfield');
	if(errorfield.length>0)
	{
		errorfield.deletenode();
	}
}

regexps={};
regexps['filled'] = /^\s*\S/;
regexps['email'] = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]{2,})+$/;