text: /*
    Форма: работа стилизованного input[type="file"]
    Автор: Osvaldas Valutis, www.osvaldas.info (адаптировано под используемую разметку)
    Available for use under the MIT License
  */
  
  ;( function ()
  {
    function closest(el, selector) {
      var matchesFn;
  
      // find vendor prefix
      ['matches','webkitMatchesSelector','mozMatchesSelector','msMatchesSelector','oMatchesSelector'].some(function(fn) {
        if (typeof document.body[fn] == 'function') {
          matchesFn = fn;
          return true;
        }
        return false;
      })
  
      var parent;
  
      // traverse parents
      while (el) {
        parent = el.parentElement;
        if (parent && parent[matchesFn](selector)) {
          return parent;
        }
        el = parent;
      }
  
      return null;
    }
  
    var inputs = document.querySelectorAll( '.field-file__input' );
    Array.prototype.forEach.call( inputs, function( input )
    {
      var label  = closest(input, '.field-file').querySelector( '.field-file__name-text' ),
          labelVal = label.innerHTML;
  
      input.addEventListener( 'change', function( e ) {
        var fileName = '';
  
        if( this.files && this.files.length > 1 ) {
          fileName = ( this.getAttribute( 'data-multiple-caption' ) || '' ).replace( '{count}', this.files.length );
        }
        else {
          fileName = e.target.value.split( '\\' ).pop();
        }
  
        label.classList.toggle('notempty');
  
        if( fileName ) {
          label.innerHTML = fileName;
        }
        else {
          label.innerHTML = labelVal;
        }
      });
    });
  }());
  