/**
 * Order form automatics & validation
 */

var data_ok = false;
var minPasswdLength = 6;

$(document).ready(function() {

  li_display = $('li').eq(0).css('display');

  V.fuzzyMatch = false;

  // FORM FILTERS

  // ORDER DATA CHECKED
  V.triggers.data = function(x) {
    data_ok = x;
    if (x) $('li.order_consents').show();
    else $('li.order_consents').hide();
  };

  // LOGON SECTION
  V.addToForm('order', 'submit_logon', function() {
    V.addCheck('email', 'isEmail');
    V.addCheck('passwd', 'lengthAtLeast', [minPasswdLength, 0]);
    V.addFilter('email', V.fSpaceDisabled, 100);
  });

  // CONSENTS
  $('#a1, #a2, #a3').bind('click', function() {
    if (
      data_ok
      && $('#a1').attr('checked') && $('#a2').attr('checked') && $('#a3').attr('checked')
    ) $('li.order_comments, li.order_end_user, li.confirm_data').show();
    else $('li.order_comments, li.order_end_user, li.confirm_data').hide();
  });

  // HIDE LOGON
  $('li.logon_data button[name=hide_logon]').bind('click', function() {
    V.addToForm('order', 'submit_logon', function() {
      V.removeCheck('email', 'isEmail');
      V.removeCheck('passwd', 'lengthAtLeast', [6, 0]);
    });
    $('li.logon_data').hide();
    $('li.order_data').show();
    V.setTrigger = 'data';
    V.addToForm('order', 'submit_data', function() {
      V.addFilter('c_email', V.fSpaceDisabled, 100);
      V.addFilter('c_code', V.fDDigits, 6);
      V.addFilter('c_tel', V.fDigits, 9);
      V.addFilter('c_fax', V.fDigits, 9);
      V.addFilter('c_tax_no', V.fDDigits, 13);
      V.addCheck('c_name', 'lengthAtLeast', [2, 0]);
      V.addCheck('c_street', 'notEmpty');
      V.addCheck('c_code', 'isPostalCode');
      V.addCheck('c_city', 'notEmpty');
      V.addCheck('c_tax_no', 'isTaxNo', [1]);
      V.addCheck('c_contact', 'wordsAtLeast', [2, 0]);
      V.addCheck('c_tel', 'isPhone');
      V.addCheck('c_fax', 'isPhone', [1]);
      V.addCheck('c_email', 'isEmail');
      V.addCheck('c_passwd1', 'isEqual', ['c_passwd2', minPasswdLength, 0]);
      V.addCheck('c_passwd2', 'isEqual', ['c_passwd1', minPasswdLength, 0]);
    });
  });

  // PAYMENT DATA HIDDEN
  $('#ps0').bind('click', function() {
    $('fieldset.payment_data').hide();
    V.addToForm('order', 'submit_data', function() {
      V.removeCheck('p_name', 'notEmpty');
      V.removeCheck('p_street', 'notEmpty');
      V.removeCheck('p_code', 'isPostalCode');
      V.removeCheck('p_city', 'notEmpty');
      V.removeCheck('p_tax_no', 'isTaxNo');
    });
  });

  // PAYMENT DATA SHOWN
  $('#ps1').bind('click', function() {
    $('fieldset.payment_data').show();
    V.addToForm('order', 'submit_data', function() {
      V.addCheck('p_name', 'notEmpty');
      V.addCheck('p_street', 'notEmpty');
      V.addCheck('p_code', 'isPostalCode');
      V.addCheck('p_city', 'notEmpty');
      V.addCheck('p_tax_no', 'isTaxNo', [1]);
      V.addFilter('p_code', V.fDDigits, 6);
      V.addFilter('p_tax_no', V.fDDigits, 13);
    });
  });

});