
// Init BlackBox
if(!blackbox) window.blackbox = new BlackBox();

Event.observe(document, 'dom:loaded', function()
{
	// Email a friend
	if($('lightbox-link'))
	{
		Event.observe('lightbox-link', 'click', function(event)
		{
			// Stop propogation of event
			Event.stop(event);
			
			// Create the form
			var wrapper = new Element('div', {id:"modal-window"}).update(
				'<form id="modal-form" method="post" class="form" action="' + ajax_url + 'email-to-a-friend">' +
					'<div class="modal-heading">' + 
						'<a href="#" id="close-window" class="trigger-close">Close</a>' + 
						'<h1>Email to a Friend</h1>' + 
					'</div>' + 
					'<h2>Your Details:</h2>' + 
					'<div class="form-row"><label for="your_name">Name:</label><input name="your_name" type="text" /><div id="your_name_validation" class="validation" style="display:none;"><div>Please enter your name.</div></div></div>' +
					'<div class="form-row"><label for="your_email">Email:</label><input name="your_email" type="text" /><div id="your_email_validation" class="validation" style="display:none;"><div>Please enter a valid email address.</div></div></div>' +
					'<h2>Friend&rsquo;s Details:</h2>' +
					'<div class="form-row"><label for="friend_name">Name:</label><input name="friend_name" type="text" /><div id="friend_name_validation" class="validation" style="display:none;"><div>Please enter a name.</div></div></div>' +
					'<div class="form-row"><label for="friend_email">Email:</label><input name="friend_email" type="text" /><div id="friend_email_validation" class="validation" style="display:none;"><div>Please enter a valid email.</div></div></div>' +
					'<div class="form-row"><label for="message">Message:</label><textarea name="message" cols="" rows="10">I just saw this on the National Asthma Council Australia website and thought you might be interested.</textarea></div>' +
					'<div class="form-row buttons">' +
						'<input class="btn-email" name="submit" type="submit" value="" />' +
						'<a href="#" class="trigger-clear-form">Clear Form</a>' +
					'</div><div class="clear"></div>' +
				'</form>'
			);
			
			// Alias form
			var form = wrapper.down('form');
			
			// Set up form on submit handler
			Event.observe(form, 'submit', function(event)
			{
				// Serialise form data
				var parameters = this.serialize(true);
				
				// Do Ajax request here
				Event.stop(event);	// Remove this once ajax request is added\
        new Ajax.Request($('modal-form').action,
        {
          asynchronous: true,
          parameters: parameters,
          onSuccess: function(transport)
          {
            var resp = transport.responseJSON;
            if(resp.success)
            {
              var content = new Element('div', {id:"modal-window"}).update(
                '<div class="modal-heading">' +
                	'<a href="#" id="close-window" class="trigger-close">Close</a>' +
                  '<h1>Email to a Friend</h1>' +
                '</div>' +
                '<h2>Your message has been sent!</h2>' +
                '<p>You can close this window by clicking the X in the top right corner.</p>'
              );
              Event.observe(content.down('.trigger-close'), 'click', blackbox.hide.bindAsEventListener(blackbox));
              blackbox.write(content);
            }
            else
            {
              if(!$('your_name_validation').visible() && resp.errors.your_name) $('your_name_validation').slideDown({duration:0.3});
              else if($('your_name_validation').visible() && !resp.errors.your_name) $('your_name_validation').slideUp({duration:0.3});
              if(!$('your_email_validation').visible() && resp.errors.your_email) $('your_email_validation').slideDown({duration:0.3});
              else if($('your_email_validation').display && !resp.errors.your_email) $('your_email_validation').slideUp({duration:0.3});
              if(!$('friend_name_validation').visible() && resp.errors.friend_name) $('friend_name_validation').slideDown({duration:0.3});
              else if($('friend_name_validation').visible() && !resp.errors.friend_name) $('friend_name_validation').slideUp({duration:0.3});
              if(!$('friend_email_validation').visible() && resp.errors.friend_email) $('friend_email_validation').slideDown({duration:0.3});
              else if($('friend_email_validation').visible() && !resp.errors.friend_email) $('friend_email_validation').slideUp({duration:0.3});
            }
          }
        });
			}.bind(form));
			
			// Set up form element behaviours
			Event.observe(form.down('.trigger-close'), 'click', blackbox.hide.bindAsEventListener(blackbox));
			Event.observe(form.down('.trigger-clear-form'), 'click', function(event)
			{
				// Stop propogation
				Event.stop(event);
				
				// Reset form
				this.reset();
			}.bindAsEventListener(form));
			
			// Write to blackbox
			blackbox.write(wrapper);
		});
  }
});

