/*
-----------------------------------------------
Horizon Shutters Homepage
Author: Chad Spencer & Jeremy Boles
----------------------------------------------- */

window.addEvent('domready', function() {
  
  /* Handles the payment form in "My Account"
  ----------------------------------------------- */
  var form = $$('body.payment #payment');
  if (form.length == 1) {
    form = form[0];
    
    var first_name = $('first-name-field');
    var last_name = $('last-name-field');
    var business_name = $('business-name-field');
    var shipping_address = $('shipping-address-field');
    var shipping_city = $('shipping-city-field');
    var shipping_zip = $('shipping-zip-field');
    var shipping_state = $('shipping-state-field');
    var is_business_address = $('is-business-address');
    
    var fields = $$(first_name, last_name, business_name, shipping_address,
                    shipping_city, shipping_zip, shipping_state, is_business_address);
    
    var same_as_billing = $('same-as-billing');
    if (same_as_billing)
    {
      same_as_billing.addEvent('change', function() {
        if (same_as_billing.get('value')) {
          fields.set('disabled', true);
          var customer = window.retrieve('customer');
          first_name.set('value', customer.first_name);
          last_name.set('value', customer.last_name);
          business_name.set('value', customer.business_name);
          shipping_address.set('value', customer.address);
          shipping_city.set('value', customer.city);
          shipping_state.set('value', customer.state);
          shipping_zip.set('value', customer.zip_code);
          if (customer.is_business_address)
          {
            is_business_address.set('checked', true);
          }
        } else {
          fields.set('disabled', false);
          fields.set('value', '');
          is_business_address.set('checked', false);
        }
      });
    }
    
    
    var myFormValidator = new FormValidator(form, {
      onElementValidate : function(e)
      {
        
      },
      onElementFail : function(element, failures)
      {
        var message = '';
        if (failures.contains('required') || failures.contains('validate-required-check'))
        {
          message += 'This field is required';
        }
        else if (failures.contains('validate-email'))
        {
          message += 'Please provide a valid email address';
        }
        else if (failures.contains('validate-digits'))
        {
          message += 'Please provide a valid zip code';
        }
        
        if (!element.retrieve('error-message'))
        {
          var label = new Element('span', { 'class' : 'error', 'text' : message });
          element.store('error-message', label);
          label.inject(element, 'after');
        }
        
        element.retrieve('error-message').setStyle('display', 'block');
      },
      onElementPass : function(element)
      {
        var label = element.retrieve('error-message');
        if (label)
        {
          label.setStyle('display', 'none');
        }
      }
    });
    
  }
  
  /* Account history page
  ----------------------------------------------- */
  var links = $$('body.history #main h6 a');
  if (links.length > 0) {
    links.addEvent('click', function(event) {
      event = new Event(event);
      event.stop();
      var link = $(this);
      if (link.hasClass('expanded')) {
        link.removeClass('expanded');
        $$(link.get('href')).setStyle('display', 'none');
      } else {
        link.addClass('expanded');
        $$(link.get('href')).setStyle('display', 'block');
      }
    });
  }

});