function init_standard_form() {

  $('form.standard').each(function() {

    var form = $(this);

    $('div.has_errors', form).append('<img class="notice" src="/images/warn.gif" alt="" />');

    $('a.clear_form_link', form).click(function() {

      $('input[type="text"]:visible', form).val('');
      $('input[type="password"]:visible', form).val('');
      $('select:visible', form).attr('selectedIndex', 0);
      $('input[type="checkbox"]:visible', form).attr('checked', false);

      return false;

    });

  });

}

function init_step1_form() {

  $('input[name="client_type"]').each(function() {

    if (this.checked && $(this).val() == 'existing')
    {
      $('form#existing_client_fields').show();
    }
    else if (this.checked && $(this).val() == 'new')
    {
      $('form#new_client_fields').show();
    }

  });

  $('input[name="client_type"]').click(function()
  {
    if ($(this).val() == 'existing')
    {
      $('form#new_client_fields').hide();
      $('form#existing_client_fields').slideDown(200);

    }
    else
    {
      $('form#existing_client_fields').hide();
      $('form#new_client_fields').slideDown(400);

    }
  })


  var ffpassport_issue_date_min = parse_date(passport_issue_date_min);
  var ffpassport_issue_date_max = parse_date(passport_issue_date_max);

  $('input#fpassport_issue_date').datepicker('option', 'yearRange', ffpassport_issue_date_min.getFullYear() + ':' + ffpassport_issue_date_max.getFullYear());

  $('input#fpassport_issue_date').datepicker('option', 'minDate', ffpassport_issue_date_min);
  $('input#fpassport_issue_date').datepicker('option', 'maxDate', ffpassport_issue_date_max);


  var ffpassport_expire_date_min = parse_date(passport_expire_date_min);
  var ffpassport_expire_date_max = parse_date(passport_expire_date_max);

  $('input#fpassport_expire_date').datepicker('option', 'yearRange', ffpassport_expire_date_min.getFullYear() + ':' + ffpassport_expire_date_max.getFullYear());

  $('input#fpassport_expire_date').datepicker('option', 'minDate', ffpassport_expire_date_min);
  $('input#fpassport_expire_date').datepicker('option', 'maxDate', ffpassport_expire_date_max);


}

function init_step2_form() {

  var update_calendar_range = function(currency)
  {

    var min_date = parse_date(min_max_periods[currency]['min_term']);
    var max_date = parse_date(min_max_periods[currency]['max_term']);

    $('input#fterm').datepicker('option', 'minDate', min_date);
    $('input#fterm').datepicker('option', 'maxDate', max_date);

  }

  var selected_currency = $('select[name=currency]').val();

  update_calendar_range(selected_currency);

  $('div.scheme_table_wrap').each(function()
  {

    $('h3', this).hide();

    if ($(this).attr('id') != 'scheme_table_' + selected_currency)
    {
      $(this).hide();
    }

  });

  $('select[name=currency]').change(function()
  {

    var select = $(this);

    update_calendar_range(select.val());

    $('div.scheme_table_wrap').each(function()
    {

      if ($(this).attr('id') == 'scheme_table_' + select.val())
      {
        $(this).show();
      }
      else
      {
        $(this).hide();
      }

    });

  });

  var process_rows = function(amount, currency, term_in_days)
  {

    $('div#scheme_table_' + currency + ' table td.percent').each(function()
    {

      var td = $(this);

      td.removeClass('highlight');

      var cls = td.attr('class');

      var term_min = parseFloat(get_value_from_class(cls, 'term_min'));
      var term_max = parseFloat(get_value_from_class(cls, 'term_max'));
      var amount_min = parseFloat(get_value_from_class(cls, 'amount_min'));
      var amount_max = parseFloat(get_value_from_class(cls, 'amount_max'));

      if (term_min <= term_in_days && term_max >= term_in_days)
      {

        if (amount_max > 0 && amount_min <= amount && amount_max >= amount)
        {
          td.addClass('highlight');
        }
        else if (amount_max == 0 && amount_min <= amount)
        {
          td.addClass('highlight');
        }

      }


    });

  }

  var highlight_table = function()
  {

    var amount = $('input[name=amount]').val();
    var currency = $('select[name=currency]').val();
    var date_start =  $('strong.date_start').html();
    var term = $('input[name=term]').val();

    if (amount == '' || amount == 0 || currency == '' || term == '')
    {
      $('table.scheme_table td.percent').removeClass('highlight');
      return;
    }

    amount = parseFloat(amount);

    if (prev_term != term)
    {
      prev_term = term;
      componentPost(depcreate_cmp_name, 'calcContractTerm', {date_from : date_start, date_to : term}, {}, function(term_in_days)
      {
        prev_term_in_days = term_in_days;
        if (term_in_days > 0)
        {
          process_rows(amount, currency, term_in_days);
        }
      });
    }
    else
    {
      process_rows(amount, currency, prev_term_in_days);
    }


  }

  highlight_table();

  var last_amount = 0;

  var timeout_h = null;

  var prev_term = '';
  var prev_term_in_days = 0;

  var amount_change = function()
  {

    if (last_amount != $(this).val())
    {

      last_amount = $(this).val();

      clearTimeout(timeout_h);
      timeout_h = setTimeout(highlight_table, 300);

    }

  }

  $('input[name=amount], select[name=currency], input[name=term]').change(highlight_table);
  $('input[name=amount]').keyup(amount_change);

}

function get_value_from_class(cls_name, key)
{

    var regexp = new RegExp('\\b' + key + '-(\\d+)\\b');

    var value = regexp.exec(cls_name);

    if (value != null)
    {
      return value[1];
    }

    return null;

}

function parse_date(date) {

  var date_obj = false;

  try {

    var parts = date.split('.');

    var year = parts[2] * 1;
    var month = parts[1] * 1 - 1;
    var day = parts[0] * 1;

    date_obj = new Date(year, month, day, 1, 1, 1);

  } catch(e) {}

  return date_obj;

}


function init_date_fields() {

  var form_dates = $("input.form_date");

  form_dates.attr('autocomplete', 'off');

  form_dates.datepicker({
    dateFormat: "dd.mm.yy",
    buttonImageOnly: true,
    buttonImage: '/images/cal.gif',
    firstDay: 1,
    showAnim: 'slide',
    showOptions: { direction: 'up' },
    showOn: 'both',
    changeMonth: true,
    changeYear: true,
    showOtherMonths: true,
    dayNames: ['Svētdiena', 'Pirmdiena', 'Otrdiena', 'Trešdiena', 'Ceturtdiena', 'Piektdiena', 'Sestdiena'],
    dayNamesMin: ['Sv', 'Pr', 'Ot', 'Tr', 'Ce', 'Pk', 'Se'],
    dayNamesShort: ['Sv', 'Pr', 'Ot', 'Tr', 'Ce', 'Pk', 'Se'],
    monthNames: ['Janvāris', 'Februāris', 'Marts', 'Aprīlis', 'Maijs', 'Jūnijs', 'Jūlijs', 'Augusts', 'Septembris', 'Oktobris', 'Novembris', 'Decembris'],
    monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'Mai', 'Jūn', 'Jūl', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec'],
    currentText: 'Šodien'
  });

}

function init_help_tooltips() {

  $('span.help_tooltip_icon').wTooltip({
    className: "help_tooltip",
    offsetX: 10
  });

  $('span.help_tooltip_icon img').attr('alt', '');

}