// This is a hack for IE's load error when modifying the DOM from a child node.

Event.observe(window, 'load', function ()
{
  if(document.getElementById('u_password') != undefined)
  {
    var u_password = new LiveValidation('u_password', {onlyOnSubmit: true });
    u_password.add( Validate.Presence, { failureMessage: "Can't be empty"} );
  }
  
  if(document.getElementById('u_email') != undefined)
  {
    var u_email = new LiveValidation('u_email', {onlyOnSubmit: true });
    u_email.add( Validate.Email, { failureMessage: "Must be a valid email address"} );
    u_email.add( Validate.Presence, { failureMessage: "Can't be empty"});
  }
  
  if(document.getElementById('firstname') != undefined)
  {
    var firstname = new LiveValidation( "firstname", { validMessage: "", onlyOnSubmit: true } );
  firstname.add( Validate.Presence, { failureMessage: "Please include your first name" } );
  }
  
  if(document.getElementById('lastname') != undefined)
  {
    var lastname = new LiveValidation( "lastname", { validMessage: "", onlyOnSubmit: true } );
    lastname.add( Validate.Presence, { failureMessage: "Please include your last name" } );
  }
  
  if(document.getElementById('email3') != undefined)
  {
    var email = new LiveValidation( "email3", {onlyOnSubmit: true});
    email.add( Validate.Email, { failureMessage: "We need your email address to send your password" } );
    email.add( Validate.Presence, { failureMessage: "We need your email address to send your password" } );
  }
  
  if(document.getElementById('date') != undefined)
  {
    var date = new LiveValidation( "date", { validMessage: "", onlyOnSubmit: true } );
    date.add( Validate.Presence, { failureMessage: "This should look like dd/mm/yyyy" } );
    date.add( Validate.Format, { pattern: /\d{2}\/\d{2}\/\d{4}/i, failureMessage: "This should look like dd/mm/yyyy" } );
  }
  
  if(document.getElementById('magento_city') != undefined)
  {
    var magento_city = new LiveValidation( "magento_city", {onlyOnSubmit: true});
    magento_city.add( Validate.Presence, { failureMessage: "Please enter your city" } );
  }
  
  if(document.getElementById('accept_terms') != undefined)
  {
    var accept_terms = new LiveValidation('accept_terms', {onlyOnSubmit: true });
    accept_terms.add( Validate.Acceptance,  { failureMessage: " "});
    accept_terms.add( Validate.Presence, { failureMessage: " "} );
  }
  
  if(document.getElementById('name') != undefined && document.getElementById('name').type != 'hidden')
  {
    var name = new LiveValidation( "name", { validMessage: "", onlyOnSubmit: true } );
    name.add( Validate.Presence, { failureMessage: "" } );
  }
  
  if(document.getElementById('from') != undefined)
  {
    var from = new LiveValidation( "from", { validMessage: "", onlyOnSubmit: true } );
    from.add( Validate.Presence, { failureMessage: "" } );
    from.add(Validate.Email);
  }
	
	if(document.getElementById('to') != undefined)
  {
    var to = new LiveValidation( "to", { validMessage: "", onlyOnSubmit: true } );
    to.add( Validate.Presence, { failureMessage: "" } );
    to.add(Validate.Email);
  }
  
  if(document.getElementById('message') != undefined)
  {
    var message = new LiveValidation('message', {onlyOnSubmit: true });
    message.add( Validate.Presence, { failureMessage: "Don't be shy, say something!" });
  }
  
  if(document.getElementById('report_comment') != undefined)
  {
    var report_comment = new LiveValidation( "report_comment", { validMessage: "", onlyOnSubmit: true } );
		report_comment.add( Validate.Presence, { failureMessage: "" } );
  }
  
  if(document.getElementById('report_email') != undefined && document.getElementById('report_email').type != 'hidden')
  {
    var report_email = new LiveValidation( "report_email", { validMessage: "", onlyOnSubmit: true } );
  	report_email.add( Validate.Presence, { failureMessage: "" } );
  	report_email.add(Validate.Email);
  }
  
  if(document.getElementById('magento_firstname') != undefined)
  {
    var magento_firstname = new LiveValidation( "magento_firstname", {onlyOnSubmit: true});
    magento_firstname.add( Validate.Presence );
  }
  
  if(document.getElementById('magento_lastname') != undefined)
  {
    var magento_lastname= new LiveValidation( "magento_lastname", {onlyOnSubmit: true });
    magento_lastname.add( Validate.Presence );
  }
  
  if(document.getElementById('y_email') != undefined)
  {
    var y_email= new LiveValidation( "y_email", {onlyOnSubmit: true });
    y_email.add( Validate.Email );
    y_email.add( Validate.Presence );
  }
  
  if(document.getElementById('magento_street') != undefined)
  {
    var magento_street = new LiveValidation( "magento_street", {onlyOnSubmit: true});
    magento_street.add( Validate.Presence );
  }
  
  if(document.getElementById('magento_city1') != undefined)
  {
    var magento_city1 = new LiveValidation( "magento_city1", {onlyOnSubmit: true});
    magento_city1.add( Validate.Presence );
  }
  
  if(document.getElementById('magento_postcode') != undefined)
  {
    var magento_postcode = new LiveValidation( "magento_postcode", {onlyOnSubmit: true});
    magento_postcode.add( Validate.Presence );
  }
  
  if(document.getElementById('magento_telephone') != undefined)
  {
    var magento_telephone = new LiveValidation('magento_telephone', {onlyOnSubmit: true });
    magento_telephone.add( Validate.Presence );
  }
  
  if(document.getElementById('y_pass_confirm') != undefined)
  {
    var y_pass_confirm = new LiveValidation('y_pass_confirm', {onlyOnSubmit: true });
		y_pass_confirm.add(Validate.Confirmation, { match: 'y_pass_new'} );
		y_pass_confirm.add(Validate.Presence);
  }
  
  if(document.getElementById('y_comment') != undefined)
  {
    var comment = new LiveValidation( "y_comment", { validMessage: "", onlyOnSubmit: true } );
    comment.add( Validate.Presence, { failureMessage: "Can't be blank" } );
  }
  
  // Cannot get to work on IE
  if(document.getElementById('entry_description') != undefined)
  {
    var description = new LiveValidation( "entry_description", { validMessage: "", onlyOnSubmit: "true" } );
    description.add( Validate.Presence, { failureMessage: "" } );
  }
  
  if(document.getElementById('file1') != undefined)
  {
    var file1 = new LiveValidation( "file1", { validMessage: "", onlyOnSubmit: "true" } );
    file1.add( Validate.Presence, { failureMessage: "" } );
  }
  
  if(document.getElementById('title') != undefined)
  {
    var title = new LiveValidation( "title", { validMessage: "", onlyOnSubmit: "true" } );
    title.add( Validate.Presence, { failureMessage: "" } );
  }
  
  if(document.getElementById('email_forgot') != undefined)
  {
    var email = new LiveValidation( "email_forgot", {onlyOnSubmit: true});
		email.add( Validate.Email, { failureMessage: "Must be a valid email address" } );
		email.add( Validate.Presence, { failureMessage: "This field can't be blank" } );
  }
  
  if(document.getElementById('rating_check') != undefined)
  {
    var rating_check = new LiveValidation( "rating_check", { validMessage: "Thanks!" } );
    rating_check.add( Validate.Presence, { failureMessage: "Please give us a rating" } );
  }
  
  if(document.getElementById('email') != undefined)
  {
    var email = new LiveValidation( "email", { validMessage: "", onlyOnSubmit: "true" } );
    email.add( Validate.Presence, { failureMessage: "" } );
    email.add( Validate.Email, { failureMessage: "" } );
  }
  
  if(document.getElementById('captcha_field') != undefined)
  {
    var captcha = new LiveValidation( "captcha_field", { validMessage: "", onlyOnSubmit: "true" } );
	  captcha.add( Validate.Presence, { failureMessage: "" } );
  }

}, false);