(function($){

  $.fn.pageCount = function(options) {

  options = $.extend({
    countOnly: false,
    counter: '#pages-count',
    forseMessage: '#force-basic-message',
    basicElm: '#basic',
    expressElm: '#express',
    expressLabel: '#express-label',
    maxExpressPages: 7,
    lettersPerPage: 1800
  }, options);

  var countable = this;

  var countCheck = function() {
    var count = 0; // pages count
    var chars;
//    chars = countable.val().length;
    chars = countable.val();
    chars = chars.replace(/\n/g, "");
    chars = chars.replace(/\r/g, "");
    chars = chars.replace(/\t/g, "");
    chars = chars.length;
    count = chars / options.lettersPerPage;
    count = (Math.ceil(10 * count)) / 10;
    count = (count == 0 && chars > 0) ? 0.1 : count;
    if (!options.countOnly) {
      if (count >= 7) {
        $(options.basicElm).attr('checked', 'checked');
        $(options.expressElm).attr('disabled', 'disabled');
        $(options.expressLabel).css('text-decoration', 'line-through');
        $(options.forseMessage).css('display', 'block');
      }
      else {
        if (!$(options.basicElm).attr('disabled')) {
          $(options.expressElm).removeAttr('disabled');
          $(options.expressLabel).css('text-decoration', 'none');
          $(options.forseMessage).css('display', 'none');
        }
      }
    }
    $(options.counter).text(count);
  };
  countCheck();
  countable.keyup(countCheck);
  }
})(jQuery);
