function checkEmail(str) {
	/* Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/) */
	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)

	if (str.indexOf(at)==-1) return false
	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr) return false
	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr) return false
	if (str.indexOf(at,(lat+1))!=-1) return false
	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot) return false
	if (str.indexOf(dot,(lat+2))==-1) return false
	if (str.indexOf(" ")!=-1) return false
	if (str.length - str.indexOf(dot,(lat+2)) < 2) return false;
	return true;
}

function checkSender()
{
	var target = $('myemail');
	if(!checkEmail(target.getValue()))
	{
		target.addClassName('ierror');
		target.removeClassName('correct');
		
		return false;
	} else {
		target.removeClassName('ierror');
		target.addClassName('correct');
		
		return $('rulesaccepted').getValue();
	}
}

function senderTrigger(event)
{
	var result = checkSender();
	return result;
}

function showError()
{
	target = $('error_modal');
	var modal = new Control.Modal(target,{
		overlayOpacity: 0.75,  
		className: 'advice',
		closeOnClick: true,
		fade: true
	});
	modal.open();
	$('setfocus').focus();
}

function startScript()
{
	var target = $('myemail');
	if(target)
	{
		if(target.getValue() != "") checkSender();
		Event.observe(target, 'keyup', senderTrigger.bind(target));
		Event.observe(target, 'keypress', senderTrigger.bind(target));
		Event.observe(target, 'change', senderTrigger.bind(target));
		
		Event.observe($('finishbutton'), (Prototype.Browser.IE)? 'mouseup' : 'click', function(event) {
			if(event.isLeftClick()) {
				var result = checkSender();
				if(!result)
					showError();
				else {
					Event.stopObserving($('finishbutton'), 'click');
					$('formdata').submit();
				}
			}
		});
	}
}



Event.observe(document, 'dom:loaded', startScript);
