function sts_forms_submit(el)
{
  $(el).parents('form').submit();
}

function sts_forms_toggle(el)
{
  if(!delay)
  {
    var delay = 350;
  }

  el = $(el);
  el.parents('fieldset').children('*:not(legend)').slideToggle(delay);
  
  if(el.text() == '+')
  {
    el.text('-');
    el.attr('class', 'rf-shown');
  }
  else
  {
    el.text('+');
    el.attr('class', 'rf-hidden');
  }
}

function sts_forms_validate(el)
{
  sts_differ_markups();
  
  el = $(el);
  el.find('input').removeClass('error-fld');

  var err = false;
  var tmp;  
  
  tmp = el.find('[name=rf_email]');  
  if(!tmp.val().match(/^[^@]+@([a-z0-9]+\.)+[a-z]{2,4}$/i))
  {    
    err = true;
    tmp.addClass('error-fld');
    tmp.focus();
  }
  
  tmp = el.find('[name=rf_phone]');
  if(!tmp.val().match(/^(\+[0-9]{3} ?)?([0-9]{3} ?){2}[0-9]{3}$/i))
  {
    err = true;
    tmp.addClass('error-fld');
    tmp.focus();
  }
  
  tmp = el.find('[name=rf_birth]');
  if(!tmp.val().match(/^[0-9]{1,2}\.[0-9]{1,2}\.[0-9]{4}$/i))
  {
    err = true;
    tmp.addClass('error-fld');
    tmp.focus();
  }
  
  el.find('[name=rf_firstname],[name=rf_surename]').each(function()
  {
    tmp = $(this);
    if(tmp.val() == '')
    {
      err = true;
      tmp.addClass('error-fld');
      tmp.focus();  
    }
  }
  ); 
  
  return !err;
}

function sts_forms_clone(el)
{
  var fs = $(el).parents('fieldset');

  var form = fs.parents('form');

  var clone = fs.clone();
  if(clone.find('a.rf-delete').length == 0)
  {
    clone.append('<a href="" class="rf-delete" onclick="sts_forms_delete(this);return false;">Odebrat</a>');
  }
  var lastFs = form.find('fieldset:last');
  var firstText = lastFs.find('input:text:first');
  var itsNameAttr = firstText.attr('name');
  var match = itsNameAttr.match(/[0-9]+/);
  var i = parseInt(match[0]);
  i++;
  clone.find('[name]').each(function()
  {
    var c = $(this);

    var name = c.attr('name');
    name = name.replace(/[0-9]+/,i);

    c.attr('name',name);
    c.attr('id',name);
    c.prev('label').attr('for',name);
  });

  var texts = clone.find('input:text');
  texts.val('');  

  form.find('input[type=submit]').before(clone);
}

function sts_forms_delete(el)
{
  $(el).parents('fieldset').remove();
}

function sts_invoice_change()
{
  $('.rf-controlledBySelect').slideToggle(350);
}

function sts_differ_markups()
{
  $('[name=fs_start_],[name=fs_end_]').each(function(i)
  {
    var el = $(this);
    var a = el.attr('name');
    el.attr('name', a + i);
  });
}

$('.rf-hidden').parents('fieldset').children('*:not(legend)').hide();

$('.rf-controlledBySelect').hide();

$('[name=rf_firstname],[name=rf_surename],[name=rf_email],[name=rf_birth],[name=rf_phone]').after('<span class="asterisk">*</span>');