var replaceDefaultHandlers = new Array();
replaceDefaultHandlers["bookingForm"] = new DefaultBookingMailHandler();
replaceDefaultHandlers["publicationOrderForm"] = new DefaultOrderMailHandler();
replaceDefaultHandlers["contactForm"] = new DefaultContactMailHandler();
replaceDefaultHandlers["fileUploadForm"] = new DefaultRecipeUploadHandler();

var defaultOrderMailFields = new DefaultOrderMailValues("Name", "Email", "Address", "Telephone", "Number of leaflets");
var defaultContactMailFields = new DefaultContactValues("Name", "Email");
var defaultUploadFormFields = new DefaultRecipeUploadValues("Name", "Email");
var defaultBookingValues = new DefaultBookingValues("School name", "Contact teachers' name", "School phone",
    "Second phone / mobile number", "School Address", "", "postcode", "Number of children (Key Stage 2 only)");

function submitFormGetResult(divId, url, formName) {
  replaceDefaultHandlers[formName].replaceDefaultValues();
  jQuery("#" + divId).html("");
  jQuery.ajax({
    url:  url,
    type: "POST",
    data: jQuery("#" + formName).serialize(),
    success: function(data) {
      jQuery("#" + divId).html(data);
    }
  });
}


////////////////////////////////////////
// 
////////////////////////////////////////
function DefaultBookingMailHandler() {
  this.formName = "bookingForm";

  this.replaceDefaultValues = function() {
    var nameField = $("#" + this.formName + " " + '[name="name"]');
    var teacher = $("#" + this.formName + " " + '[name="teacher"]');
    var phone = $("#" + this.formName + " " + '[name="phone"]');
    var secondPhone = $("#" + this.formName + " " + '[name="secondPhone"]');
    var address = $("#" + this.formName + " " + '[name="address"]');
    var postcode = $("#" + this.formName + " " + '[name="postcode"]');
    var children = $("#" + this.formName + " " + '[name="children"]');


    if (nameField.val() == defaultBookingValues.name) {
      nameField.attr("value", "");
    }
    if (teacher.val() == defaultBookingValues.teacher) {
      teacher.attr("value", "");
    }
    if (phone.val() == defaultBookingValues.phone) {
      phone.attr("value", "");
    }
    if (address.val() == defaultBookingValues.address1) {
      address.attr("value", "");
    }
    if (secondPhone.val() == defaultBookingValues.secondPhone) {
      secondPhone.attr("value", "");
    }
    if (postcode.val() == defaultBookingValues.postcode) {
      postcode.attr("value", "");
    }
    if (children.val() == defaultBookingValues.children) {
      children.attr("value", "");
    }
  }
}

function DefaultContactMailHandler() {
  this.formName = "contactForm";

  this.replaceDefaultValues = function() {
    var nameField = $("#" + this.formName + " " + '[name="name"]');
    var emailField = $("#" + this.formName + " " + '[name="email"]');
    if (nameField.val() == defaultContactMailFields.name) {
      nameField.attr("value", "");
    }
    if (emailField.val() == defaultContactMailFields.email) {
      emailField.attr("value", "");
    }

  }
}

function DefaultOrderMailHandler() {
  this.formName = "publicationOrderForm";
  this.replaceDefaultValues = function () {
    var nameField = $("#" + this.formName + " " + '[name="name"]');
    var emailField = $("#" + this.formName + " " + '[name="email"]');
    var addressField = $("#" + this.formName + " " + '[name="address"]');
    var telephoneNumber = $("#" + this.formName +" " + '[name="telephone"]');
    var noOfLeaflets = $("#" + this.formName + " " + '[name="noOfLeaflets"]');
    if (nameField.val() == defaultOrderMailFields.name) {
      nameField.attr("value", "");
    }
    if (emailField.val() == defaultOrderMailFields.email) {
      emailField.attr("value", "");
    }
    if (addressField.val() == defaultOrderMailFields.address) {
      addressField.attr("value", "");
    }
    if (telephoneNumber.val() == defaultOrderMailFields.telephone) {
      telephoneNumber.attr("value", "");
    }
    if (noOfLeaflets.val() == defaultOrderMailFields.noOfLeaflets) {
      noOfLeaflets.attr("value", "");
    }
  }
}

function DefaultRecipeUploadHandler() {
  this.formName = "fileUploadForm";
  this.replaceDefaultValues = function () {
    var nameField = $("#" + this.formName + " " + '[name="name"]');
    var emailField = $("#" + this.formName + " " + '[name="email"]');
    if (nameField.val() == defaultUploadFormFields.name) {
      nameField.attr("value", "");
    }
    if (emailField.val() == defaultUploadFormFields.email) {
      emailField.attr("value", "");
    }
  }
}

function DefaultBookingValues(name, teacher, phone, secondPhone, address1, address2, postcode, children) {
  this.name = name;
  this.teacher = teacher;
  this.phone = phone;
  this.secondPhone = secondPhone;
  this.address1 = address1;
  this.address2 = address2;
  this.postcode = postcode;
  this.children = children;
}

function DefaultOrderMailValues(name, email, address, telephone, noOfLeaflets) {
  this.name = name;
  this.email = email;
  this.address = address;
  this.telephone = telephone;
  this.noOfLeaflets = noOfLeaflets;
}

function DefaultContactValues(name, email) {
  this.name = name;
  this.email = email;
}

function DefaultRecipeUploadValues(name, email) {
  this.name = name;
  this.email = email;
}

