var ContactMe = new Class(
{
  subject: null,

  initialize: function ()
  {
    window.addEvent('domready', this.boot.bind( this ) );
  },

  boot: function ()
  {
    $$('a.Contact-me').addEvent( 'click', this.show.bind( this ) );
  },

  show: function( event )
  {
    event = new Event( event );
    event.preventDefault();

    var target = $( event.target );
    if( target.get('title') ) this.subject = target.get('title');

    SqueezeBox.open( "/service/html/ContactMe/view.html", { size: { x: 520, y: 290 } });
  },

  close: function() {
    SqueezeBox.close();
  },
  
  send: function( form )
  {
    form = $(form);
    form.getElement('input[name=subject]').set('value', this.subject );
    form.getElement('button').set('text', "Bezig met verzenden...");
    form.getElement('button').set('disabled', true );

    var jsonRequest = new Request.JSON({ url: "/service/json/ContactMe/view.html", onSuccess: function( response ) {
      if( response.success ) {
        $$( "div.contact-me-form" ).setStyle( "display", "none" );
        $$( "p.contact-me-success" ).setStyle( "display", "block" );
      } else {
        $each( response.error, function ( fieldName ) {
        	if( form.getElement( 'input[name=' + fieldName + ']' ) ) {
        		form.getElement( 'input[name=' + fieldName + ']' ).addClass( "invalid" );
          }
        });
        form.getElement('button').set('text', "Verzenden");
        form.getElement('button').set('disabled', false );
      }
    }}).post( form );
  return false;
  }
});
var contactme = new ContactMe();
