// JavaScript Document


window.addEvent('load', function(){
									 
	function isEmail(str){
		return str.contains('.') && str.contains('@') ? true : false;
	}
									 
	function resetStyles(el){
		if( el.nodeName == 'LABEL' ){el.setStyles({'color':''});
		}else{
			el.setStyles({'border':'2px solid #e6e6e6', 'background-color':''});
		}
	}
	
	function labelErrorStyles(el){
		el.setStyle('color', '#CF2020');
	}
	
	function inputErrorStyles(el){
		el.setStyles({'border' : '2px solid #CF2020', 'background-color':'#FFC4C4'});
	}
	
	function submitCallback(){
		var i = $$('#contact-form .submit').getElement('input')[0];
		i.src = 'http://oceans-events.com/themes/site_themes/ocean/images/2.gif';
		i.disabled = true;
	}
	
	function completeCallback(){
		var i = $$('#contact-form .submit').getElement('input')[0];
		i.src = 'http://oceans-events.com/themes/site_themes/ocean/images/send_btn.png';
		i.disabled = false;
	}
	
	function errorCallback(){
		alert('Error: please try again');
	}
	
	function successCallback(){
		var s = $('success-message');
		s.setStyles({
					'opacity' : 0,
					'display' : 'block',
					'height' : 0,
					'background-color' : '#00b8f1'
					});
		s.morph({
				'opacity' : 1,
				'height' : 100,
				'background-color' : '#FFFFFF'
				});			
		$('contact-form').morph({
			'opacity' : 0
		});
	}
	
	function returnToForm(){
		var s = $('success-message');
		s.morph({
				'opacity' : 0
				});			
		$('contact-form').morph({
			'opacity' : 1
		});
	}
	


$('contact-form').getElement('form').addEvent( 'submit', function(e){
	new Event(e).stop();
	var passed = true;
	$('return-to-form').addEvent('click', returnToForm);
	$$('#contact-form input, #contact-form textarea, #contact-form label').each( resetStyles );
	this.getElements('label').each( function(el){
		if( el.get('text').contains('*') ){
			if( el.getNext().value.trim() == "" ){
				passed = false;
				labelErrorStyles(el);
				inputErrorStyles( el.getNext() );
			}
		}
		if( el.getNext().name == 'email' && !isEmail(el.getNext().value) ){
				passed = false;
				labelErrorStyles(el);
				inputErrorStyles( el.getNext() );
		}
			
	});
	if( passed ){
		this.set('send', {
			onSend: submitCallback,
			onComplete: completeCallback,
			onSuccess: successCallback,
			onFailure: errorCallback
		});
		this.__send();
		
	}
});

});

