function toggle_status_inputs(event) {
  var button = Event.element(event);
  $('academicinfo').style.display = 'none';
  $('workinfo').style.display = 'none';
  $(button.getAttribute('rel')).style.display = 'block';
}

function resource_description_slider(event) {
  var container = Event.element(event);
  if (container.className == 'resource-description-content' || container.className == 'resource-description-toggle') {
    container = container.parentNode;
  }
  if (container.className == 'resource-description short-description') {
    container.className = 'resource-description';
  } else {
    container.className = 'resource-description short-description';
  }
}

function open_event_form(event, name) {
  io.fade_out_background(null, null, null, '50px 50px 0px 50px');

  var inlay = $(globals.transparent_inlay_class);
  var selektor = $('event-form');
  var cancel = proto.cancel_button();
  inlay.appendChild(selektor);
  selektor.style.display = 'block';
  $('event-form-event').value = $('open-booking-form').getAttribute('eventtitle');
  document.getElementsByClassName('event-status-radio').each(function(radio) {
      jsutil.event.add_event(radio, 'click', toggle_status_inputs.bindAsEventListener(this));
    }
  );
  
  selektor.appendChild(cancel);
}

function validate_event_form(form) {
  var errors = Array();
  
  // Ensure the required fields are filled in
  var required_fields = document.getElementsByClassName('event-form-required');
  for(i in required_fields) {
    var field = required_fields[i];
    try {
      var field_name = field.getAttribute('id');
      if(!$F(field_name)) {
        errors.push('Please enter a value for ' + field_name);
        field.style.borderColor = '#ec008c';
      } else {
        field.style.borderColor = '#000000';
        
        // Ensure the email address is in the correct format
        if(field_name=='email') {
          var email = $F('email')
          valid_email = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
          if(!valid_email.test(email)) {
            errors.push('Please enter a valid e-mail address');
            field.style.borderColor = '#ec008c';
          }
        }
      }
    } catch(e) {
      // pass
    }
  }
  
  return(errors);
  
}

function post_event_form(event) {
  var form = Event.element(event);
  var errors = validate_event_form(form);
  if(errors.length != 0) {
    
    // Render errors in form
    var str_errors = errors.join('</li><li>');
    $('form-errors').innerHTML = '<ul><li>' + str_errors + '</li></ul>';
    
  } else {
    // The request can take a while so lets let the user know whats going on
	  $('event-form').style.display = 'none';
	  $('event-form-success').style.display = 'none';
	  $('event-form-processing').style.display = 'block';
	  var inlay = $(globals.transparent_inlay_class);
    var selektor = $('event-form-processing');
    inlay.appendChild(selektor);
    selektor.style.display = 'block';
    
    var params = Form.serialize(form);
    var request = new Ajax.Request('/!book_event', 
			{
				method: 'post',
				parameters: params,
				onSuccess: function() {
				  $('event-form').style.display = 'none';
      	  $('event-form-processing').style.display = 'none';
				  $('event-form-success').style.display = 'block';
				  var inlay = $(globals.transparent_inlay_class);
          var selektor = $('event-form-success');
          inlay.appendChild(selektor);
          selektor.style.display = 'block';
				}
			}
		);
  }
}


function open_resource_form(event, name) {
  io.fade_out_background(null, null, null, '50px 50px 0px 50px');

  var inlay = $(globals.transparent_inlay_class);
  var selektor = $('resource-form');
  var cancel = proto.cancel_button();
  inlay.appendChild(selektor);
  selektor.style.display = 'block';
  // $('resource-form-resource').value = $('open-resource-form').getAttribute('resourcetitle');
  document.getElementsByClassName('event-status-radio').each(function(radio) {
      jsutil.event.add_event(radio, 'click', toggle_status_inputs.bindAsEventListener(this));
    }
  );
  
  selektor.appendChild(cancel);
}


function validate_resource_form(form) {
  var errors = Array();
  
  // Ensure the required fields are filled in
  var required_fields = document.getElementsByClassName('resource-form-required');
  for(i in required_fields) {
    var field = required_fields[i];
    try {
      var field_name = field.getAttribute('id');
      if(!$F(field_name)) {
        errors.push('Please enter a value for ' + field_name);
        field.style.borderColor = '#ec008c';
      } else {
        field.style.borderColor = '#000000';
        
        // Ensure the email address is in the correct format
        if(field_name=='email') {
          var email = $F('email')
          valid_email = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
          if(!valid_email.test(email)) {
            errors.push('Please enter a valid e-mail address');
            field.style.borderColor = '#ec008c';
          }
        }
      }
    } catch(e) {
      // pass
    }
  }
  
  return(errors);
  
}

function post_resource_form(resource) {
  var form = Event.element(resource);
  var errors = validate_resource_form(form);
  if(errors.length != 0) {
    
    // Render errors in form
    var str_errors = errors.join('</li><li>');
    $('form-errors').innerHTML = '<ul><li>' + str_errors + '</li></ul>';
    
  } else {
    // The request can take a while so lets let the user know whats going on
	  $('resource-form').style.display = 'none';
	  $('resource-form-success').style.display = 'none';
	  $('resource-form-processing').style.display = 'block';
	  var inlay = $(globals.transparent_inlay_class);
    var selektor = $('resource-form-processing');
    inlay.appendChild(selektor);
    selektor.style.display = 'block';
    
    var params = Form.serialize(form);
    var request = new Ajax.Request('/!order_resource', 
			{
				method: 'post',
				parameters: params,
				onSuccess: function() {
				  $('resource-form').style.display = 'none';
                                  $('resource-form-processing').style.display = 'none';
				  $('resource-form-success').style.display = 'block';
				  var inlay = $(globals.transparent_inlay_class);
                                  var selektor = $('resource-form-success');
                                  var cancel = proto.cancel_button();
                                  inlay.appendChild(selektor);
                                  selektor.style.display = 'block';

                                  selektor.appendChild(cancel);
				}
			}
		);
  }
}
