
	iona.contact = (function(){
		var api = {};
		var form;
		var init = function(){
			form = $("form#contact-form");
			if(form.length == 0)
				return;
			form.find('a.send-btn').click(function(){
				form.submit();
				return false;
			});
			form.submit(onSubmit);
			
			form.find("div.checkboxes a").click(function(){
				if($(this).hasClass("active"))
					$(this).removeClass("active");
				else
					$(this).addClass("active");
				return false;
			});
		};
		
		var onSubmit = function(){
			var data = {};
			data.email = $.trim(form.find("input#email-input").val());
			data.subject = $.trim(form.find("input#subject-input").val());
			data.message = $.trim(form.find("textarea#message-input").val());
			data.name = $.trim(form.find("input#name-input").val());
			data.address = $.trim(form.find("input#address-input").val());
			data.phone = $.trim(form.find("input#phone-input").val());
									
			var error = !(data.email /*&& data.subject && data.message*/);
			
			if(!data.email)
				form.find("input#email-input").val("").blur().parent().addClass("error");
			//if(!data.subject)
			//	form.find("input#subject-input").val("").blur().parent().addClass("error");
			//if(!data.message)
			//	form.find("textarea#message-input").val("").blur().parent().addClass("error");
			
			data.target_email = form.find("input#target-email").val();
			
			if(!error)
				sendCall(data);
			
			return false;
		};
		
		var sendCall=function(d){
			form.find("a.send-btn").hide();
			d.subject = "A Message from the IONA Contact Page: " + d.subject;
			d.message = "Message sent from: " + d.name + " - " + d.email + "\n\n" + d.message + "\n\n" + d.address + "\n\n" + d.phone;
			d.message += "\n\nWants to hear about: ";
			var hearAbouts = form.find("div.checkboxes a.active");
			for(var i=0; i<hearAbouts.length; i++)
				d.message += $(hearAbouts[i]).html() + ", ";
			d.email = d.target_email;
			delete d.target_email;
			$.ajax({
				'url':"/send_email",
				'data':d,
				'complete':sentCall,
				'type': "POST"
			});
		};
		
		var sentCall = function(){
			var height = form.height();
			form.hide().parent().find('div#sent-state').show().css('height',height);
		};
		
		init();
		return api;
	})();

