Floppy/carbon-diet

View on GitHub
app/assets/javascripts/standard/prototype.js

Summary

Maintainability
F
1 mo
Test Coverage

File prototype.js has 4865 lines of code (exceeds 250 allowed). Consider refactoring.
Open

/*  Prototype JavaScript framework, version 1.7_rc3
 *  (c) 2005-2010 Sam Stephenson
 *
 *  Prototype is freely distributable under the terms of an MIT-style license.
 *  For details, see the Prototype web site: http://www.prototypejs.org/
Severity: Major
Found in app/assets/javascripts/standard/prototype.js - About 2 wks to fix

    Function Enumerable has 209 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

    var Enumerable = (function() {
      function each(iterator, context) {
        var index = 0;
        try {
          this._each(function(value) {
    Severity: Major
    Found in app/assets/javascripts/standard/prototype.js - About 1 day to fix

      Methods has 48 functions (exceeds 20 allowed). Consider refactoring.
      Open

      Element.Methods = {
        visible: function(element) {
          return $(element).style.display != 'none';
        },
      
      
      Severity: Minor
      Found in app/assets/javascripts/standard/prototype.js - About 6 hrs to fix

        Function addMethods has a Cognitive Complexity of 33 (exceeds 5 allowed). Consider refactoring.
        Open

        Element.addMethods = function(methods) {
          var F = Prototype.BrowserFeatures, T = Element.Methods.ByTag;
        
          if (!methods) {
            Object.extend(Form, Form.Methods);
        Severity: Minor
        Found in app/assets/javascripts/standard/prototype.js - About 4 hrs to fix

        Cognitive Complexity

        Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

        A method's cognitive complexity is based on a few simple rules:

        • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
        • Code is considered more complex for each "break in the linear flow of the code"
        • Code is considered more complex when "flow breaking structures are nested"

        Further reading

        Function update has a Cognitive Complexity of 31 (exceeds 5 allowed). Consider refactoring.
        Open

          update: (function(){
        
            var SELECT_ELEMENT_INNERHTML_BUGGY = (function(){
              var el = document.createElement("select"),
                  isBuggy = true;
        Severity: Minor
        Found in app/assets/javascripts/standard/prototype.js - About 4 hrs to fix

        Cognitive Complexity

        Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

        A method's cognitive complexity is based on a few simple rules:

        • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
        • Code is considered more complex for each "break in the linear flow of the code"
        • Code is considered more complex when "flow breaking structures are nested"

        Further reading

        Function Sizzle has 94 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

        var Sizzle = function(selector, context, results, seed) {
            results = results || [];
            var origContext = context = context || document;
        
            if ( context.nodeType !== 1 && context.nodeType !== 9 ) {
        Severity: Major
        Found in app/assets/javascripts/standard/prototype.js - About 3 hrs to fix

          Function Class has a Cognitive Complexity of 26 (exceeds 5 allowed). Consider refactoring.
          Open

          var Class = (function() {
          
            var IS_DONTENUM_BUGGY = (function(){
              for (var p in { toString: 1 }) {
                if (p === 'toString') return false;
          Severity: Minor
          Found in app/assets/javascripts/standard/prototype.js - About 3 hrs to fix

          Cognitive Complexity

          Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

          A method's cognitive complexity is based on a few simple rules:

          • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
          • Code is considered more complex for each "break in the linear flow of the code"
          • Code is considered more complex when "flow breaking structures are nested"

          Further reading

          Function Hash has 87 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

          var Hash = Class.create(Enumerable, (function() {
            function initialize(object) {
              this._object = Object.isHash(object) ? object.toObject() : Object.clone(object);
            }
          
          
          Severity: Major
          Found in app/assets/javascripts/standard/prototype.js - About 3 hrs to fix

            Function getStyle has a Cognitive Complexity of 22 (exceeds 5 allowed). Consider refactoring.
            Open

              Element.Methods.getStyle = function(element, style) {
                element = $(element);
                style = (style == 'float' || style == 'cssFloat') ? 'styleFloat' : style.camelize();
                var value = element.style[style];
                if (!value && element.currentStyle) value = element.currentStyle[style];
            Severity: Minor
            Found in app/assets/javascripts/standard/prototype.js - About 3 hrs to fix

            Cognitive Complexity

            Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

            A method's cognitive complexity is based on a few simple rules:

            • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
            • Code is considered more complex for each "break in the linear flow of the code"
            • Code is considered more complex when "flow breaking structures are nested"

            Further reading

            Function addMethods has 76 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

            Element.addMethods = function(methods) {
              var F = Prototype.BrowserFeatures, T = Element.Methods.ByTag;
            
              if (!methods) {
                Object.extend(Form, Form.Methods);
            Severity: Major
            Found in app/assets/javascripts/standard/prototype.js - About 3 hrs to fix

              Function _attributeTranslations has 75 lines of code (exceeds 25 allowed). Consider refactoring.
              Open

                Element._attributeTranslations = (function(){
              
                  var classProp = 'className',
                      forProp = 'for',
                      el = document.createElement('div');
              Severity: Major
              Found in app/assets/javascripts/standard/prototype.js - About 3 hrs to fix

                Function update has 73 lines of code (exceeds 25 allowed). Consider refactoring.
                Open

                  update: (function(){
                
                    var SELECT_ELEMENT_INNERHTML_BUGGY = (function(){
                      var el = document.createElement("select"),
                          isBuggy = true;
                Severity: Major
                Found in app/assets/javascripts/standard/prototype.js - About 2 hrs to fix

                  Function Enumerable has a Cognitive Complexity of 21 (exceeds 5 allowed). Consider refactoring.
                  Open

                  var Enumerable = (function() {
                    function each(iterator, context) {
                      var index = 0;
                      try {
                        this._each(function(value) {
                  Severity: Minor
                  Found in app/assets/javascripts/standard/prototype.js - About 2 hrs to fix

                  Cognitive Complexity

                  Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                  A method's cognitive complexity is based on a few simple rules:

                  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                  • Code is considered more complex for each "break in the linear flow of the code"
                  • Code is considered more complex when "flow breaking structures are nested"

                  Further reading

                  Function extend has a Cognitive Complexity of 20 (exceeds 5 allowed). Consider refactoring.
                  Open

                  Element.extend = (function() {
                  
                    function checkDeficiency(tagName) {
                      if (typeof window.Element != 'undefined') {
                        var proto = window.Element.prototype;
                  Severity: Minor
                  Found in app/assets/javascripts/standard/prototype.js - About 2 hrs to fix

                  Cognitive Complexity

                  Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                  A method's cognitive complexity is based on a few simple rules:

                  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                  • Code is considered more complex for each "break in the linear flow of the code"
                  • Code is considered more complex when "flow breaking structures are nested"

                  Further reading

                  Function _attributeTranslations has a Cognitive Complexity of 20 (exceeds 5 allowed). Consider refactoring.
                  Open

                    Element._attributeTranslations = (function(){
                  
                      var classProp = 'className',
                          forProp = 'for',
                          el = document.createElement('div');
                  Severity: Minor
                  Found in app/assets/javascripts/standard/prototype.js - About 2 hrs to fix

                  Cognitive Complexity

                  Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                  A method's cognitive complexity is based on a few simple rules:

                  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                  • Code is considered more complex for each "break in the linear flow of the code"
                  • Code is considered more complex when "flow breaking structures are nested"

                  Further reading

                  Function Class has 59 lines of code (exceeds 25 allowed). Consider refactoring.
                  Open

                  var Class = (function() {
                  
                    var IS_DONTENUM_BUGGY = (function(){
                      for (var p in { toString: 1 }) {
                        if (p === 'toString') return false;
                  Severity: Major
                  Found in app/assets/javascripts/standard/prototype.js - About 2 hrs to fix

                    Function extend has 59 lines of code (exceeds 25 allowed). Consider refactoring.
                    Open

                    Element.extend = (function() {
                    
                      function checkDeficiency(tagName) {
                        if (typeof window.Element != 'undefined') {
                          var proto = window.Element.prototype;
                    Severity: Major
                    Found in app/assets/javascripts/standard/prototype.js - About 2 hrs to fix

                      Function filter has 58 lines of code (exceeds 25 allowed). Consider refactoring.
                      Open

                      Sizzle.filter = function(expr, set, inplace, not){
                          var old = expr, result = [], curLoop = set, match, anyFound,
                              isXMLFilter = set && set[0] && isXML(set[0]);
                      
                          while ( expr && set.length ) {
                      Severity: Major
                      Found in app/assets/javascripts/standard/prototype.js - About 2 hrs to fix

                        Function request has a Cognitive Complexity of 17 (exceeds 5 allowed). Consider refactoring.
                        Open

                          request: function(url) {
                            this.url = url;
                            this.method = this.options.method;
                            var params = Object.isString(this.options.parameters) ?
                                  this.options.parameters :
                        Severity: Minor
                        Found in app/assets/javascripts/standard/prototype.js - About 2 hrs to fix

                        Cognitive Complexity

                        Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                        A method's cognitive complexity is based on a few simple rules:

                        • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                        • Code is considered more complex for each "break in the linear flow of the code"
                        • Code is considered more complex when "flow breaking structures are nested"

                        Further reading

                        Function insert has a Cognitive Complexity of 16 (exceeds 5 allowed). Consider refactoring.
                        Open

                          insert: function(element, insertions) {
                            element = $(element);
                        
                            if (Object.isString(insertions) || Object.isNumber(insertions) ||
                                Object.isElement(insertions) || (insertions && (insertions.toElement || insertions.toHTML)))
                        Severity: Minor
                        Found in app/assets/javascripts/standard/prototype.js - About 2 hrs to fix

                        Cognitive Complexity

                        Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                        A method's cognitive complexity is based on a few simple rules:

                        • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                        • Code is considered more complex for each "break in the linear flow of the code"
                        • Code is considered more complex when "flow breaking structures are nested"

                        Further reading

                        Function Str has 48 lines of code (exceeds 25 allowed). Consider refactoring.
                        Open

                          function Str(key, holder, stack) {
                            var value = holder[key],
                                type = typeof value;
                        
                            if (Type(value) === OBJECT_TYPE && typeof value.toJSON === 'function') {
                        Severity: Minor
                        Found in app/assets/javascripts/standard/prototype.js - About 1 hr to fix

                          Function getStyle has a Cognitive Complexity of 15 (exceeds 5 allowed). Consider refactoring.
                          Open

                              function(proceed, element, style) {
                                switch (style) {
                                  case 'left': case 'top': case 'right': case 'bottom':
                                    if (proceed(element, 'position') === 'static') return null;
                                  case 'height': case 'width':
                          Severity: Minor
                          Found in app/assets/javascripts/standard/prototype.js - About 1 hr to fix

                          Cognitive Complexity

                          Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                          A method's cognitive complexity is based on a few simple rules:

                          • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                          • Code is considered more complex for each "break in the linear flow of the code"
                          • Code is considered more complex when "flow breaking structures are nested"

                          Further reading

                          Function setOpacity has a Cognitive Complexity of 15 (exceeds 5 allowed). Consider refactoring.
                          Open

                            Element.Methods.setOpacity = function(element, value) {
                              element = $(element);
                              element.style.opacity = (value == 1 || value === '') ? '' :
                                (value < 0.00001) ? 0 : value;
                          
                          
                          Severity: Minor
                          Found in app/assets/javascripts/standard/prototype.js - About 1 hr to fix

                          Cognitive Complexity

                          Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                          A method's cognitive complexity is based on a few simple rules:

                          • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                          • Code is considered more complex for each "break in the linear flow of the code"
                          • Code is considered more complex when "flow breaking structures are nested"

                          Further reading

                          Function getPixelValue has 46 lines of code (exceeds 25 allowed). Consider refactoring.
                          Open

                            function getPixelValue(value, property, context) {
                              var element = null;
                              if (Object.isElement(value)) {
                                element = value;
                                value = element.getStyle(property);
                          Severity: Minor
                          Found in app/assets/javascripts/standard/prototype.js - About 1 hr to fix

                            Function _createResponder has 46 lines of code (exceeds 25 allowed). Consider refactoring.
                            Open

                              function _createResponder(element, eventName, handler) {
                                var registry = Element.retrieve(element, 'prototype_event_registry');
                            
                                if (Object.isUndefined(registry)) {
                                  CACHE.push(element);
                            Severity: Minor
                            Found in app/assets/javascripts/standard/prototype.js - About 1 hr to fix

                              Function _begin has 40 lines of code (exceeds 25 allowed). Consider refactoring.
                              Open

                                  _begin: function() {
                                    if (this._prepared) return;
                              
                                    var element = this.element;
                                    if (isDisplayed(element)) {
                              Severity: Minor
                              Found in app/assets/javascripts/standard/prototype.js - About 1 hr to fix

                                Function select has a Cognitive Complexity of 13 (exceeds 5 allowed). Consider refactoring.
                                Open

                                  select: function(element, value) {
                                    if (Object.isUndefined(value))
                                      return this[element.type == 'select-one' ?
                                        'selectOne' : 'selectMany'](element);
                                    else {
                                Severity: Minor
                                Found in app/assets/javascripts/standard/prototype.js - About 1 hr to fix

                                Cognitive Complexity

                                Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                                A method's cognitive complexity is based on a few simple rules:

                                • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                                • Code is considered more complex for each "break in the linear flow of the code"
                                • Code is considered more complex when "flow breaking structures are nested"

                                Further reading

                                Function setRequestHeaders has a Cognitive Complexity of 13 (exceeds 5 allowed). Consider refactoring.
                                Open

                                  setRequestHeaders: function() {
                                    var headers = {
                                      'X-Requested-With': 'XMLHttpRequest',
                                      'X-Prototype-Version': Prototype.Version,
                                      'Accept': 'text/javascript, text/html, application/xml, text/xml, */*'
                                Severity: Minor
                                Found in app/assets/javascripts/standard/prototype.js - About 1 hr to fix

                                Cognitive Complexity

                                Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                                A method's cognitive complexity is based on a few simple rules:

                                • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                                • Code is considered more complex for each "break in the linear flow of the code"
                                • Code is considered more complex when "flow breaking structures are nested"

                                Further reading

                                Function setStyle has a Cognitive Complexity of 13 (exceeds 5 allowed). Consider refactoring.
                                Open

                                  setStyle: function(element, styles) {
                                    element = $(element);
                                    var elementStyle = element.style, match;
                                    if (Object.isString(styles)) {
                                      element.style.cssText += ';' + styles;
                                Severity: Minor
                                Found in app/assets/javascripts/standard/prototype.js - About 1 hr to fix

                                Cognitive Complexity

                                Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                                A method's cognitive complexity is based on a few simple rules:

                                • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                                • Code is considered more complex for each "break in the linear flow of the code"
                                • Code is considered more complex when "flow breaking structures are nested"

                                Further reading

                                Function getElementsByClassName has a Cognitive Complexity of 13 (exceeds 5 allowed). Consider refactoring.
                                Open

                                if (!document.getElementsByClassName) document.getElementsByClassName = function(instanceMethods){
                                  function iter(name) {
                                    return name.blank() ? null : "[contains(concat(' ', @class, ' '), ' " + name + " ')]";
                                  }
                                
                                
                                Severity: Minor
                                Found in app/assets/javascripts/standard/prototype.js - About 1 hr to fix

                                Cognitive Complexity

                                Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                                A method's cognitive complexity is based on a few simple rules:

                                • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                                • Code is considered more complex for each "break in the linear flow of the code"
                                • Code is considered more complex when "flow breaking structures are nested"

                                Further reading

                                Function CHILD has 37 lines of code (exceeds 25 allowed). Consider refactoring.
                                Open

                                        CHILD: function(elem, match){
                                            var type = match[1], node = elem;
                                            switch (type) {
                                                case 'only':
                                                case 'first':
                                Severity: Minor
                                Found in app/assets/javascripts/standard/prototype.js - About 1 hr to fix

                                  Function stopObserving has 36 lines of code (exceeds 25 allowed). Consider refactoring.
                                  Open

                                    function stopObserving(element, eventName, handler) {
                                      element = $(element);
                                  
                                      var registry = Element.retrieve(element, 'prototype_event_registry');
                                      if (!registry) return element;
                                  Severity: Minor
                                  Found in app/assets/javascripts/standard/prototype.js - About 1 hr to fix

                                    Function dirCheck has 35 lines of code (exceeds 25 allowed). Consider refactoring.
                                    Open

                                    function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
                                        var sibDir = dir == "previousSibling" && !isXML;
                                        for ( var i = 0, l = checkSet.length; i < l; i++ ) {
                                            var elem = checkSet[i];
                                            if ( elem ) {
                                    Severity: Minor
                                    Found in app/assets/javascripts/standard/prototype.js - About 1 hr to fix

                                      Function update has 34 lines of code (exceeds 25 allowed). Consider refactoring.
                                      Open

                                          function update(element, content) {
                                            element = $(element);
                                            var purgeElement = Element._purgeElement;
                                      
                                            var descendants = element.getElementsByTagName('*'),
                                      Severity: Minor
                                      Found in app/assets/javascripts/standard/prototype.js - About 1 hr to fix

                                        Consider simplifying this complex logical expression.
                                        Open

                                                    if ( match[1] == "nth" ) {
                                                        var test = /(-?)(\d*)n((?:\+|-)?\d*)/.exec(
                                                            match[2] == "even" && "2n" || match[2] == "odd" && "2n+1" ||
                                                            !/\D/.test( match[2] ) && "0n+" + match[2] || match[2]);
                                        
                                        
                                        Severity: Critical
                                        Found in app/assets/javascripts/standard/prototype.js - About 1 hr to fix

                                          Consider simplifying this complex logical expression.
                                          Open

                                                  if (value != null && element.type != 'file' && (element.type != 'submit' || (!submitted &&
                                                      submit !== false && (!submit || key == submit) && (submitted = true)))) {
                                                    result = accumulator(result, key, value);
                                                  }
                                          Severity: Critical
                                          Found in app/assets/javascripts/standard/prototype.js - About 1 hr to fix

                                            Function request has 33 lines of code (exceeds 25 allowed). Consider refactoring.
                                            Open

                                              request: function(url) {
                                                this.url = url;
                                                this.method = this.options.method;
                                                var params = Object.isString(this.options.parameters) ?
                                                      this.options.parameters :
                                            Severity: Minor
                                            Found in app/assets/javascripts/standard/prototype.js - About 1 hr to fix

                                              Function respondToReadyState has a Cognitive Complexity of 11 (exceeds 5 allowed). Consider refactoring.
                                              Open

                                                respondToReadyState: function(readyState) {
                                                  var state = Ajax.Request.Events[readyState], response = new Ajax.Response(this);
                                              
                                                  if (state == 'Complete') {
                                                    try {
                                              Severity: Minor
                                              Found in app/assets/javascripts/standard/prototype.js - About 1 hr to fix

                                              Cognitive Complexity

                                              Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                                              A method's cognitive complexity is based on a few simple rules:

                                              • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                                              • Code is considered more complex for each "break in the linear flow of the code"
                                              • Code is considered more complex when "flow breaking structures are nested"

                                              Further reading

                                              Function setOpacity has a Cognitive Complexity of 11 (exceeds 5 allowed). Consider refactoring.
                                              Open

                                                Element.Methods.setOpacity = function(element, value) {
                                                  function stripAlpha(filter){
                                                    return filter.replace(/alpha\([^\)]*\)/gi,'');
                                                  }
                                                  element = $(element);
                                              Severity: Minor
                                              Found in app/assets/javascripts/standard/prototype.js - About 1 hr to fix

                                              Cognitive Complexity

                                              Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                                              A method's cognitive complexity is based on a few simple rules:

                                              • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                                              • Code is considered more complex for each "break in the linear flow of the code"
                                              • Code is considered more complex when "flow breaking structures are nested"

                                              Further reading

                                              Function Selector has 29 lines of code (exceeds 25 allowed). Consider refactoring.
                                              Open

                                              Prototype.Selector = (function() {
                                              
                                                function select() {
                                                  throw new Error('Method "Prototype.Selector.select" must be defined.');
                                                }
                                              Severity: Minor
                                              Found in app/assets/javascripts/standard/prototype.js - About 1 hr to fix

                                                Function dirNodeCheck has 28 lines of code (exceeds 25 allowed). Consider refactoring.
                                                Open

                                                function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
                                                    var sibDir = dir == "previousSibling" && !isXML;
                                                    for ( var i = 0, l = checkSet.length; i < l; i++ ) {
                                                        var elem = checkSet[i];
                                                        if ( elem ) {
                                                Severity: Minor
                                                Found in app/assets/javascripts/standard/prototype.js - About 1 hr to fix

                                                  Function ATTR has 28 lines of code (exceeds 25 allowed). Consider refactoring.
                                                  Open

                                                          ATTR: function(elem, match){
                                                              var name = match[1],
                                                                  result = Expr.attrHandle[ name ] ?
                                                                      Expr.attrHandle[ name ]( elem ) :
                                                                      elem[ name ] != null ?
                                                  Severity: Minor
                                                  Found in app/assets/javascripts/standard/prototype.js - About 1 hr to fix

                                                    Function serializeElements has 28 lines of code (exceeds 25 allowed). Consider refactoring.
                                                    Open

                                                      serializeElements: function(elements, options) {
                                                        if (typeof options != 'object') options = { hash: !!options };
                                                        else if (Object.isUndefined(options.hash)) options.hash = true;
                                                        var key, value, submitted = false, submit = options.submit, accumulator, initial;
                                                    
                                                    
                                                    Severity: Minor
                                                    Found in app/assets/javascripts/standard/prototype.js - About 1 hr to fix

                                                      Function readAttribute has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
                                                      Open

                                                        readAttribute: function(element, name) {
                                                          element = $(element);
                                                          if (Prototype.Browser.IE) {
                                                            var t = Element._attributeTranslations.read;
                                                            if (t.values[name]) return t.values[name](element, name);
                                                      Severity: Minor
                                                      Found in app/assets/javascripts/standard/prototype.js - About 1 hr to fix

                                                      Cognitive Complexity

                                                      Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                                                      A method's cognitive complexity is based on a few simple rules:

                                                      • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                                                      • Code is considered more complex for each "break in the linear flow of the code"
                                                      • Code is considered more complex when "flow breaking structures are nested"

                                                      Further reading

                                                      Function replace has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
                                                      Open

                                                        Element.Methods.replace = function(element, content) {
                                                          element = $(element);
                                                      
                                                          if (content && content.toElement) content = content.toElement();
                                                          if (Object.isElement(content)) {
                                                      Severity: Minor
                                                      Found in app/assets/javascripts/standard/prototype.js - About 1 hr to fix

                                                      Cognitive Complexity

                                                      Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                                                      A method's cognitive complexity is based on a few simple rules:

                                                      • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                                                      • Code is considered more complex for each "break in the linear flow of the code"
                                                      • Code is considered more complex when "flow breaking structures are nested"

                                                      Further reading

                                                      Function getElementsByClassName has 26 lines of code (exceeds 25 allowed). Consider refactoring.
                                                      Open

                                                      if (!document.getElementsByClassName) document.getElementsByClassName = function(instanceMethods){
                                                        function iter(name) {
                                                          return name.blank() ? null : "[contains(concat(' ', @class, ' '), ' " + name + " ')]";
                                                        }
                                                      
                                                      
                                                      Severity: Minor
                                                      Found in app/assets/javascripts/standard/prototype.js - About 1 hr to fix

                                                        Consider simplifying this complex logical expression.
                                                        Open

                                                            if (element && isPercentage) {
                                                              context = context || element.parentNode;
                                                              var decimal = toDecimal(value);
                                                              var whole = null;
                                                              var position = element.getStyle('position');
                                                        Severity: Major
                                                        Found in app/assets/javascripts/standard/prototype.js - About 1 hr to fix

                                                          Function Hash has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
                                                          Open

                                                          var Hash = Class.create(Enumerable, (function() {
                                                            function initialize(object) {
                                                              this._object = Object.isHash(object) ? object.toObject() : Object.clone(object);
                                                            }
                                                          
                                                          
                                                          Severity: Minor
                                                          Found in app/assets/javascripts/standard/prototype.js - About 55 mins to fix

                                                          Cognitive Complexity

                                                          Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                                                          A method's cognitive complexity is based on a few simple rules:

                                                          • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                                                          • Code is considered more complex for each "break in the linear flow of the code"
                                                          • Code is considered more complex when "flow breaking structures are nested"

                                                          Further reading

                                                          Function setOpacity has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
                                                          Open

                                                            Element.Methods.setOpacity = function(element, value) {
                                                              element = $(element);
                                                              element.style.opacity = (value == 1) ? 0.999999 :
                                                                (value === '') ? '' : (value < 0.00001) ? 0 : value;
                                                              return element;
                                                          Severity: Minor
                                                          Found in app/assets/javascripts/standard/prototype.js - About 55 mins to fix

                                                          Cognitive Complexity

                                                          Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                                                          A method's cognitive complexity is based on a few simple rules:

                                                          • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                                                          • Code is considered more complex for each "break in the linear flow of the code"
                                                          • Code is considered more complex when "flow breaking structures are nested"

                                                          Further reading

                                                          Function getStyle has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
                                                          Open

                                                            getStyle: function(element, style) {
                                                              element = $(element);
                                                              style = style == 'float' ? 'cssFloat' : style.camelize();
                                                              var value = element.style[style];
                                                              if (!value || value == 'auto') {
                                                          Severity: Minor
                                                          Found in app/assets/javascripts/standard/prototype.js - About 55 mins to fix

                                                          Cognitive Complexity

                                                          Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                                                          A method's cognitive complexity is based on a few simple rules:

                                                          • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                                                          • Code is considered more complex for each "break in the linear flow of the code"
                                                          • Code is considered more complex when "flow breaking structures are nested"

                                                          Further reading

                                                          Function writeAttribute has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
                                                          Open

                                                            writeAttribute: function(element, name, value) {
                                                              element = $(element);
                                                              var attributes = { }, t = Element._attributeTranslations.write;
                                                          
                                                              if (typeof name == 'object') attributes = name;
                                                          Severity: Minor
                                                          Found in app/assets/javascripts/standard/prototype.js - About 55 mins to fix

                                                          Cognitive Complexity

                                                          Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                                                          A method's cognitive complexity is based on a few simple rules:

                                                          • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                                                          • Code is considered more complex for each "break in the linear flow of the code"
                                                          • Code is considered more complex when "flow breaking structures are nested"

                                                          Further reading

                                                          Function Selector has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
                                                          Open

                                                          Prototype.Selector = (function() {
                                                          
                                                            function select() {
                                                              throw new Error('Method "Prototype.Selector.select" must be defined.');
                                                            }
                                                          Severity: Minor
                                                          Found in app/assets/javascripts/standard/prototype.js - About 55 mins to fix

                                                          Cognitive Complexity

                                                          Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                                                          A method's cognitive complexity is based on a few simple rules:

                                                          • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                                                          • Code is considered more complex for each "break in the linear flow of the code"
                                                          • Code is considered more complex when "flow breaking structures are nested"

                                                          Further reading

                                                          Avoid deeply nested control flow statements.
                                                          Open

                                                                              if ( !anyFound ) {
                                                                                  return [];
                                                                              }
                                                          Severity: Major
                                                          Found in app/assets/javascripts/standard/prototype.js - About 45 mins to fix

                                                            Avoid deeply nested control flow statements.
                                                            Open

                                                                    if (value[1]) return parseFloat(value[1]) / 100;
                                                            Severity: Major
                                                            Found in app/assets/javascripts/standard/prototype.js - About 45 mins to fix

                                                              Avoid deeply nested control flow statements.
                                                              Open

                                                                          if ( a == b ) {
                                                                              hasDuplicate = true;
                                                                          }
                                                              Severity: Major
                                                              Found in app/assets/javascripts/standard/prototype.js - About 45 mins to fix

                                                                Avoid deeply nested control flow statements.
                                                                Open

                                                                                if (!attribute) return null;
                                                                Severity: Major
                                                                Found in app/assets/javascripts/standard/prototype.js - About 45 mins to fix

                                                                  Avoid deeply nested control flow statements.
                                                                  Open

                                                                                      if ( !match ) {
                                                                                          anyFound = found = true;
                                                                                      } else if ( match === true ) {
                                                                                          continue;
                                                                                      }
                                                                  Severity: Major
                                                                  Found in app/assets/javascripts/standard/prototype.js - About 45 mins to fix

                                                                    Function ATTR has 6 arguments (exceeds 4 allowed). Consider refactoring.
                                                                    Open

                                                                            ATTR: function(match, curLoop, inplace, result, not, isXML){
                                                                    Severity: Minor
                                                                    Found in app/assets/javascripts/standard/prototype.js - About 45 mins to fix

                                                                      Avoid deeply nested control flow statements.
                                                                      Open

                                                                            if (element.tagName.toUpperCase() == 'IMG' && element.width) {
                                                                              element.width++; element.width--;
                                                                            } else try {
                                                                              var n = document.createTextNode(' ');
                                                                              element.appendChild(n);
                                                                      Severity: Major
                                                                      Found in app/assets/javascripts/standard/prototype.js - About 45 mins to fix

                                                                        Avoid deeply nested control flow statements.
                                                                        Open

                                                                                            for ( var i = 0; (item = curLoop[i]) != null; i++ ) {
                                                                                                if ( item ) {
                                                                                                    found = filter( item, match, i, curLoop );
                                                                                                    var pass = not ^ !!found;
                                                                        
                                                                        
                                                                        Severity: Major
                                                                        Found in app/assets/javascripts/standard/prototype.js - About 45 mins to fix

                                                                          Avoid deeply nested control flow statements.
                                                                          Open

                                                                                    if (Element.getStyle(element, 'position') == 'absolute') break;
                                                                          Severity: Major
                                                                          Found in app/assets/javascripts/standard/prototype.js - About 45 mins to fix

                                                                            Function CLASS has 6 arguments (exceeds 4 allowed). Consider refactoring.
                                                                            Open

                                                                                    CLASS: function(match, curLoop, inplace, result, not, isXML){
                                                                            Severity: Minor
                                                                            Found in app/assets/javascripts/standard/prototype.js - About 45 mins to fix

                                                                              Function dirNodeCheck has 6 arguments (exceeds 4 allowed). Consider refactoring.
                                                                              Open

                                                                              function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
                                                                              Severity: Minor
                                                                              Found in app/assets/javascripts/standard/prototype.js - About 45 mins to fix

                                                                                Function dirCheck has 6 arguments (exceeds 4 allowed). Consider refactoring.
                                                                                Open

                                                                                function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
                                                                                Severity: Minor
                                                                                Found in app/assets/javascripts/standard/prototype.js - About 45 mins to fix

                                                                                  Function updateContent has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
                                                                                  Open

                                                                                    updateContent: function(responseText) {
                                                                                      var receiver = this.container[this.success() ? 'success' : 'failure'],
                                                                                          options = this.options;
                                                                                  
                                                                                      if (!options.evalScripts) responseText = responseText.stripScripts();
                                                                                  Severity: Minor
                                                                                  Found in app/assets/javascripts/standard/prototype.js - About 45 mins to fix

                                                                                  Cognitive Complexity

                                                                                  Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                                                                                  A method's cognitive complexity is based on a few simple rules:

                                                                                  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                                                                                  • Code is considered more complex for each "break in the linear flow of the code"
                                                                                  • Code is considered more complex when "flow breaking structures are nested"

                                                                                  Further reading

                                                                                  Avoid deeply nested control flow statements.
                                                                                  Open

                                                                                            if (node.tagName !== "!") // Filter out comment nodes.
                                                                                              results.push(node);
                                                                                  Severity: Major
                                                                                  Found in app/assets/javascripts/standard/prototype.js - About 45 mins to fix

                                                                                    Avoid deeply nested control flow statements.
                                                                                    Open

                                                                                                        if ( typeof cur !== "string" ) {
                                                                                                            if ( elem === cur ) {
                                                                                                                match = true;
                                                                                                                break;
                                                                                                            }
                                                                                    Severity: Major
                                                                                    Found in app/assets/javascripts/standard/prototype.js - About 45 mins to fix

                                                                                      Avoid deeply nested control flow statements.
                                                                                      Open

                                                                                                          if ( !isXML ) {
                                                                                                              elem.sizcache = doneName;
                                                                                                              elem.sizset = i;
                                                                                                          }
                                                                                      Severity: Major
                                                                                      Found in app/assets/javascripts/standard/prototype.js - About 45 mins to fix

                                                                                        Avoid deeply nested control flow statements.
                                                                                        Open

                                                                                                            if ( !inplace ) {
                                                                                                                curLoop = result;
                                                                                                            }
                                                                                        Severity: Major
                                                                                        Found in app/assets/javascripts/standard/prototype.js - About 45 mins to fix

                                                                                          Consider simplifying this complex logical expression.
                                                                                          Open

                                                                                              if (Object.isString(insertions) || Object.isNumber(insertions) ||
                                                                                                  Object.isElement(insertions) || (insertions && (insertions.toElement || insertions.toHTML)))
                                                                                                    insertions = {bottom:insertions};
                                                                                          Severity: Major
                                                                                          Found in app/assets/javascripts/standard/prototype.js - About 40 mins to fix

                                                                                            Consider simplifying this complex logical expression.
                                                                                            Open

                                                                                                    if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML &&
                                                                                                            Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) {
                                                                                                        var ret = Sizzle.find( parts.shift(), context, contextXML );
                                                                                                        context = ret.expr ? Sizzle.filter( ret.expr, ret.set )[0] : ret.set[0];
                                                                                                    }
                                                                                            Severity: Major
                                                                                            Found in app/assets/javascripts/standard/prototype.js - About 40 mins to fix

                                                                                              Consider simplifying this complex logical expression.
                                                                                              Open

                                                                                                  if (/\d/.test(value) && element && element.runtimeStyle && !(isPercentage && isViewport)) {
                                                                                                    var style = element.style.left, rStyle = element.runtimeStyle.left;
                                                                                                    element.runtimeStyle.left = element.currentStyle.left;
                                                                                                    element.style.left = value || 0;
                                                                                                    value = element.style.pixelLeft;
                                                                                              Severity: Major
                                                                                              Found in app/assets/javascripts/standard/prototype.js - About 40 mins to fix

                                                                                                Consider simplifying this complex logical expression.
                                                                                                Open

                                                                                                      if (child.className && (cn = ' ' + child.className + ' ') && (cn.include(className) ||
                                                                                                          (classNames && classNames.all(function(name) {
                                                                                                            return !name.toString().blank() && cn.include(' ' + name + ' ');
                                                                                                          }))))
                                                                                                        elements.push(Element.extend(child));
                                                                                                Severity: Major
                                                                                                Found in app/assets/javascripts/standard/prototype.js - About 40 mins to fix

                                                                                                  Function PSEUDO has 5 arguments (exceeds 4 allowed). Consider refactoring.
                                                                                                  Open

                                                                                                          PSEUDO: function(match, curLoop, inplace, result, not){
                                                                                                  Severity: Minor
                                                                                                  Found in app/assets/javascripts/standard/prototype.js - About 35 mins to fix

                                                                                                    Function request has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
                                                                                                    Open

                                                                                                      request: function(form, options) {
                                                                                                        form = $(form), options = Object.clone(options || { });
                                                                                                    
                                                                                                        var params = options.parameters, action = form.readAttribute('action') || '';
                                                                                                        if (action.blank()) action = window.location.href;
                                                                                                    Severity: Minor
                                                                                                    Found in app/assets/javascripts/standard/prototype.js - About 35 mins to fix

                                                                                                    Cognitive Complexity

                                                                                                    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                                                                                                    A method's cognitive complexity is based on a few simple rules:

                                                                                                    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                                                                                                    • Code is considered more complex for each "break in the linear flow of the code"
                                                                                                    • Code is considered more complex when "flow breaking structures are nested"

                                                                                                    Further reading

                                                                                                    Avoid too many return statements within this function.
                                                                                                    Open

                                                                                                                            return diff == 0;
                                                                                                    Severity: Major
                                                                                                    Found in app/assets/javascripts/standard/prototype.js - About 30 mins to fix

                                                                                                      Avoid too many return statements within this function.
                                                                                                      Open

                                                                                                          if (!responder) return element;
                                                                                                      Severity: Major
                                                                                                      Found in app/assets/javascripts/standard/prototype.js - About 30 mins to fix

                                                                                                        Avoid too many return statements within this function.
                                                                                                        Open

                                                                                                            return 0;
                                                                                                        Severity: Major
                                                                                                        Found in app/assets/javascripts/standard/prototype.js - About 30 mins to fix

                                                                                                          Avoid too many return statements within this function.
                                                                                                          Open

                                                                                                                                  return ( diff % first == 0 && diff / first >= 0 );
                                                                                                          Severity: Major
                                                                                                          Found in app/assets/javascripts/standard/prototype.js - About 30 mins to fix

                                                                                                            Avoid too many return statements within this function.
                                                                                                            Open

                                                                                                                return element;
                                                                                                            Severity: Major
                                                                                                            Found in app/assets/javascripts/standard/prototype.js - About 30 mins to fix

                                                                                                              Avoid too many return statements within this function.
                                                                                                              Open

                                                                                                                  return $(document.body);
                                                                                                              Severity: Major
                                                                                                              Found in app/assets/javascripts/standard/prototype.js - About 30 mins to fix

                                                                                                                Avoid too many return statements within this function.
                                                                                                                Open

                                                                                                                    return value;
                                                                                                                Severity: Major
                                                                                                                Found in app/assets/javascripts/standard/prototype.js - About 30 mins to fix

                                                                                                                  Avoid too many return statements within this function.
                                                                                                                  Open

                                                                                                                                          return true;
                                                                                                                  Severity: Major
                                                                                                                  Found in app/assets/javascripts/standard/prototype.js - About 30 mins to fix

                                                                                                                    Function next has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
                                                                                                                    Open

                                                                                                                      next: function(element, expression, index) {
                                                                                                                        element = $(element);
                                                                                                                        if (Object.isNumber(expression)) index = expression, expression = false;
                                                                                                                        if (!Object.isNumber(index)) index = 0;
                                                                                                                    
                                                                                                                    
                                                                                                                    Severity: Minor
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js - About 25 mins to fix

                                                                                                                    Cognitive Complexity

                                                                                                                    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                                                                                                                    A method's cognitive complexity is based on a few simple rules:

                                                                                                                    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                                                                                                                    • Code is considered more complex for each "break in the linear flow of the code"
                                                                                                                    • Code is considered more complex when "flow breaking structures are nested"

                                                                                                                    Further reading

                                                                                                                    Function initialize has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
                                                                                                                    Open

                                                                                                                      initialize: function(request){
                                                                                                                        this.request = request;
                                                                                                                        var transport  = this.transport  = request.transport,
                                                                                                                            readyState = this.readyState = transport.readyState;
                                                                                                                    
                                                                                                                    
                                                                                                                    Severity: Minor
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js - About 25 mins to fix

                                                                                                                    Cognitive Complexity

                                                                                                                    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                                                                                                                    A method's cognitive complexity is based on a few simple rules:

                                                                                                                    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                                                                                                                    • Code is considered more complex for each "break in the linear flow of the code"
                                                                                                                    • Code is considered more complex when "flow breaking structures are nested"

                                                                                                                    Further reading

                                                                                                                    Function getStorage has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
                                                                                                                    Open

                                                                                                                      getStorage: function(element) {
                                                                                                                        if (!(element = $(element))) return;
                                                                                                                    
                                                                                                                        var uid;
                                                                                                                        if (element === window) {
                                                                                                                    Severity: Minor
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js - About 25 mins to fix

                                                                                                                    Cognitive Complexity

                                                                                                                    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                                                                                                                    A method's cognitive complexity is based on a few simple rules:

                                                                                                                    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                                                                                                                    • Code is considered more complex for each "break in the linear flow of the code"
                                                                                                                    • Code is considered more complex when "flow breaking structures are nested"

                                                                                                                    Further reading

                                                                                                                    Function clonePosition has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
                                                                                                                    Open

                                                                                                                      clonePosition: function(element, source) {
                                                                                                                        var options = Object.extend({
                                                                                                                          setLeft:    true,
                                                                                                                          setTop:     true,
                                                                                                                          setWidth:   true,
                                                                                                                    Severity: Minor
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js - About 25 mins to fix

                                                                                                                    Cognitive Complexity

                                                                                                                    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                                                                                                                    A method's cognitive complexity is based on a few simple rules:

                                                                                                                    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                                                                                                                    • Code is considered more complex for each "break in the linear flow of the code"
                                                                                                                    • Code is considered more complex when "flow breaking structures are nested"

                                                                                                                    Further reading

                                                                                                                    Function ObjectRange has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
                                                                                                                    Open

                                                                                                                    var ObjectRange = Class.create(Enumerable, (function() {
                                                                                                                      function initialize(start, end, exclusive) {
                                                                                                                        this.start = start;
                                                                                                                        this.end = end;
                                                                                                                        this.exclusive = exclusive;
                                                                                                                    Severity: Minor
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js - About 25 mins to fix

                                                                                                                    Cognitive Complexity

                                                                                                                    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                                                                                                                    A method's cognitive complexity is based on a few simple rules:

                                                                                                                    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                                                                                                                    • Code is considered more complex for each "break in the linear flow of the code"
                                                                                                                    • Code is considered more complex when "flow breaking structures are nested"

                                                                                                                    Further reading

                                                                                                                    Function getInputs has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
                                                                                                                    Open

                                                                                                                      getInputs: function(form, typeName, name) {
                                                                                                                        form = $(form);
                                                                                                                        var inputs = form.getElementsByTagName('input');
                                                                                                                    
                                                                                                                        if (!typeName && !name) return $A(inputs).map(Element.extend);
                                                                                                                    Severity: Minor
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js - About 25 mins to fix

                                                                                                                    Cognitive Complexity

                                                                                                                    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                                                                                                                    A method's cognitive complexity is based on a few simple rules:

                                                                                                                    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                                                                                                                    • Code is considered more complex for each "break in the linear flow of the code"
                                                                                                                    • Code is considered more complex when "flow breaking structures are nested"

                                                                                                                    Further reading

                                                                                                                    Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                    Open

                                                                                                                          'height': function(element) {
                                                                                                                            if (!this._preComputing) this._begin();
                                                                                                                    
                                                                                                                            var bHeight = this.get('border-box-height');
                                                                                                                            if (bHeight <= 0) {
                                                                                                                    Severity: Major
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js and 1 other location - About 7 hrs to fix
                                                                                                                    app/assets/javascripts/standard/prototype.js on lines 3400..3418

                                                                                                                    Duplicated Code

                                                                                                                    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                    Tuning

                                                                                                                    This issue has a mass of 175.

                                                                                                                    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                    Refactorings

                                                                                                                    Further Reading

                                                                                                                    Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                    Open

                                                                                                                          'width': function(element) {
                                                                                                                            if (!this._preComputing) this._begin();
                                                                                                                    
                                                                                                                            var bWidth = this.get('border-box-width');
                                                                                                                            if (bWidth <= 0) {
                                                                                                                    Severity: Major
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js and 1 other location - About 7 hrs to fix
                                                                                                                    app/assets/javascripts/standard/prototype.js on lines 3380..3398

                                                                                                                    Duplicated Code

                                                                                                                    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                    Tuning

                                                                                                                    This issue has a mass of 175.

                                                                                                                    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                    Refactorings

                                                                                                                    Further Reading

                                                                                                                    Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                    Open

                                                                                                                        if (eventName.include(':')) {
                                                                                                                          if (element.addEventListener)
                                                                                                                            element.addEventListener("dataavailable", responder, false);
                                                                                                                          else {
                                                                                                                            element.attachEvent("ondataavailable", responder);
                                                                                                                    Severity: Major
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js and 1 other location - About 4 hrs to fix
                                                                                                                    app/assets/javascripts/standard/prototype.js on lines 5562..5575

                                                                                                                    Duplicated Code

                                                                                                                    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                    Tuning

                                                                                                                    This issue has a mass of 117.

                                                                                                                    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                    Refactorings

                                                                                                                    Further Reading

                                                                                                                    Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                    Open

                                                                                                                        if (eventName.include(':')) {
                                                                                                                          if (element.removeEventListener)
                                                                                                                            element.removeEventListener("dataavailable", responder, false);
                                                                                                                          else {
                                                                                                                            element.detachEvent("ondataavailable", responder);
                                                                                                                    Severity: Major
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js and 1 other location - About 4 hrs to fix
                                                                                                                    app/assets/javascripts/standard/prototype.js on lines 5516..5530

                                                                                                                    Duplicated Code

                                                                                                                    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                    Tuning

                                                                                                                    This issue has a mass of 117.

                                                                                                                    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                    Refactorings

                                                                                                                    Further Reading

                                                                                                                    Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                    Open

                                                                                                                      function min(iterator, context) {
                                                                                                                        iterator = iterator || Prototype.K;
                                                                                                                        var result;
                                                                                                                        this.each(function(value, index) {
                                                                                                                          value = iterator.call(context, value, index);
                                                                                                                    Severity: Major
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js and 1 other location - About 2 hrs to fix
                                                                                                                    app/assets/javascripts/standard/prototype.js on lines 933..942

                                                                                                                    Duplicated Code

                                                                                                                    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                    Tuning

                                                                                                                    This issue has a mass of 91.

                                                                                                                    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                    Refactorings

                                                                                                                    Further Reading

                                                                                                                    Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                    Open

                                                                                                                      function max(iterator, context) {
                                                                                                                        iterator = iterator || Prototype.K;
                                                                                                                        var result;
                                                                                                                        this.each(function(value, index) {
                                                                                                                          value = iterator.call(context, value, index);
                                                                                                                    Severity: Major
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js and 1 other location - About 2 hrs to fix
                                                                                                                    app/assets/javascripts/standard/prototype.js on lines 944..953

                                                                                                                    Duplicated Code

                                                                                                                    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                    Tuning

                                                                                                                    This issue has a mass of 91.

                                                                                                                    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                    Refactorings

                                                                                                                    Further Reading

                                                                                                                    Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                    Open

                                                                                                                      function pointerY(event) {
                                                                                                                        var docElement = document.documentElement,
                                                                                                                         body = document.body || { scrollTop: 0 };
                                                                                                                    
                                                                                                                        return  event.pageY || (event.clientY +
                                                                                                                    Severity: Major
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js and 1 other location - About 2 hrs to fix
                                                                                                                    app/assets/javascripts/standard/prototype.js on lines 5338..5345

                                                                                                                    Duplicated Code

                                                                                                                    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                    Tuning

                                                                                                                    This issue has a mass of 82.

                                                                                                                    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                    Refactorings

                                                                                                                    Further Reading

                                                                                                                    Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                    Open

                                                                                                                      function pointerX(event) {
                                                                                                                        var docElement = document.documentElement,
                                                                                                                         body = document.body || { scrollLeft: 0 };
                                                                                                                    
                                                                                                                        return event.pageX || (event.clientX +
                                                                                                                    Severity: Major
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js and 1 other location - About 2 hrs to fix
                                                                                                                    app/assets/javascripts/standard/prototype.js on lines 5347..5354

                                                                                                                    Duplicated Code

                                                                                                                    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                    Tuning

                                                                                                                    This issue has a mass of 82.

                                                                                                                    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                    Refactorings

                                                                                                                    Further Reading

                                                                                                                    Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                    Open

                                                                                                                          'bottom': function(element) {
                                                                                                                            var offset = element.positionedOffset(),
                                                                                                                             parent = element.getOffsetParent(),
                                                                                                                             pHeight = parent.measure('height');
                                                                                                                    
                                                                                                                    
                                                                                                                    Severity: Major
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js and 1 other location - About 2 hrs to fix
                                                                                                                    app/assets/javascripts/standard/prototype.js on lines 3490..3498

                                                                                                                    Duplicated Code

                                                                                                                    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                    Tuning

                                                                                                                    This issue has a mass of 80.

                                                                                                                    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                    Refactorings

                                                                                                                    Further Reading

                                                                                                                    Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                    Open

                                                                                                                          'right': function(element) {
                                                                                                                            var offset = element.positionedOffset(),
                                                                                                                             parent = element.getOffsetParent(),
                                                                                                                             pWidth = parent.measure('width');
                                                                                                                    
                                                                                                                    
                                                                                                                    Severity: Major
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js and 1 other location - About 2 hrs to fix
                                                                                                                    app/assets/javascripts/standard/prototype.js on lines 3475..3483

                                                                                                                    Duplicated Code

                                                                                                                    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                    Tuning

                                                                                                                    This issue has a mass of 80.

                                                                                                                    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                    Refactorings

                                                                                                                    Further Reading

                                                                                                                    Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                    Open

                                                                                                                          'right': function(element) {
                                                                                                                            var parent = hasLayout(element.getOffsetParent());
                                                                                                                            var rect = element.getBoundingClientRect(),
                                                                                                                             pRect = parent.getBoundingClientRect();
                                                                                                                    
                                                                                                                    
                                                                                                                    Severity: Major
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js and 1 other location - About 2 hrs to fix
                                                                                                                    app/assets/javascripts/standard/prototype.js on lines 3560..3566

                                                                                                                    Duplicated Code

                                                                                                                    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                    Tuning

                                                                                                                    This issue has a mass of 77.

                                                                                                                    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                    Refactorings

                                                                                                                    Further Reading

                                                                                                                    Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                    Open

                                                                                                                          'bottom': function(element) {
                                                                                                                            var parent = hasLayout(element.getOffsetParent());
                                                                                                                            var rect = element.getBoundingClientRect(),
                                                                                                                             pRect = parent.getBoundingClientRect();
                                                                                                                    
                                                                                                                    
                                                                                                                    Severity: Major
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js and 1 other location - About 2 hrs to fix
                                                                                                                    app/assets/javascripts/standard/prototype.js on lines 3552..3558

                                                                                                                    Duplicated Code

                                                                                                                    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                    Tuning

                                                                                                                    This issue has a mass of 77.

                                                                                                                    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                    Refactorings

                                                                                                                    Further Reading

                                                                                                                    Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                    Open

                                                                                                                          'margin-box-height': function(element) {
                                                                                                                            var bHeight = this.get('border-box-height'),
                                                                                                                             mTop = this.get('margin-top'),
                                                                                                                             mBottom = this.get('margin-bottom');
                                                                                                                    
                                                                                                                    
                                                                                                                    Severity: Major
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js and 1 other location - About 1 hr to fix
                                                                                                                    app/assets/javascripts/standard/prototype.js on lines 3460..3468

                                                                                                                    Duplicated Code

                                                                                                                    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                    Tuning

                                                                                                                    This issue has a mass of 74.

                                                                                                                    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                    Refactorings

                                                                                                                    Further Reading

                                                                                                                    Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                    Open

                                                                                                                          'margin-box-width': function(element) {
                                                                                                                            var bWidth = this.get('border-box-width'),
                                                                                                                             mLeft = this.get('margin-left'),
                                                                                                                             mRight = this.get('margin-right');
                                                                                                                    
                                                                                                                    
                                                                                                                    Severity: Major
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js and 1 other location - About 1 hr to fix
                                                                                                                    app/assets/javascripts/standard/prototype.js on lines 3450..3458

                                                                                                                    Duplicated Code

                                                                                                                    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                    Tuning

                                                                                                                    This issue has a mass of 74.

                                                                                                                    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                    Refactorings

                                                                                                                    Further Reading

                                                                                                                    Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                    Open

                                                                                                                            if (key in hash) {
                                                                                                                              if (!Object.isArray(hash[key])) hash[key] = [hash[key]];
                                                                                                                              hash[key].push(value);
                                                                                                                            }
                                                                                                                            else hash[key] = value;
                                                                                                                    Severity: Major
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js and 1 other location - About 1 hr to fix
                                                                                                                    app/assets/javascripts/standard/prototype.js on lines 4909..4912

                                                                                                                    Duplicated Code

                                                                                                                    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                    Tuning

                                                                                                                    This issue has a mass of 73.

                                                                                                                    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                    Refactorings

                                                                                                                    Further Reading

                                                                                                                    Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                    Open

                                                                                                                            if (key in result) {
                                                                                                                              if (!Object.isArray(result[key])) result[key] = [result[key]];
                                                                                                                              result[key].push(value);
                                                                                                                            } else result[key] = value;
                                                                                                                    Severity: Major
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js and 1 other location - About 1 hr to fix
                                                                                                                    app/assets/javascripts/standard/prototype.js on lines 628..632

                                                                                                                    Duplicated Code

                                                                                                                    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                    Tuning

                                                                                                                    This issue has a mass of 73.

                                                                                                                    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                    Refactorings

                                                                                                                    Further Reading

                                                                                                                    Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                    Open

                                                                                                                          'border-box-width': function(element) {
                                                                                                                            if (!this._preComputing) this._begin();
                                                                                                                            var width = element.offsetWidth;
                                                                                                                            if (!this._preComputing) this._end();
                                                                                                                            return width;
                                                                                                                    Severity: Major
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js and 1 other location - About 1 hr to fix
                                                                                                                    app/assets/javascripts/standard/prototype.js on lines 3436..3441

                                                                                                                    Duplicated Code

                                                                                                                    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                    Tuning

                                                                                                                    This issue has a mass of 65.

                                                                                                                    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                    Refactorings

                                                                                                                    Further Reading

                                                                                                                    Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                    Open

                                                                                                                          'border-box-height': function(element) {
                                                                                                                            if (!this._preComputing) this._begin();
                                                                                                                            var height = element.offsetHeight;
                                                                                                                            if (!this._preComputing) this._end();
                                                                                                                            return height;
                                                                                                                    Severity: Major
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js and 1 other location - About 1 hr to fix
                                                                                                                    app/assets/javascripts/standard/prototype.js on lines 3443..3448

                                                                                                                    Duplicated Code

                                                                                                                    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                    Tuning

                                                                                                                    This issue has a mass of 65.

                                                                                                                    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                    Refactorings

                                                                                                                    Further Reading

                                                                                                                    Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                    Open

                                                                                                                          'padding-box-width': function(element) {
                                                                                                                            var width = this.get('width'),
                                                                                                                             pLeft = this.get('padding-left'),
                                                                                                                             pRight = this.get('padding-right');
                                                                                                                    
                                                                                                                    
                                                                                                                    Severity: Major
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js and 1 other location - About 1 hr to fix
                                                                                                                    app/assets/javascripts/standard/prototype.js on lines 3420..3426

                                                                                                                    Duplicated Code

                                                                                                                    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                    Tuning

                                                                                                                    This issue has a mass of 63.

                                                                                                                    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                    Refactorings

                                                                                                                    Further Reading

                                                                                                                    Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                    Open

                                                                                                                          'padding-box-height': function(element) {
                                                                                                                            var height = this.get('height'),
                                                                                                                             pTop = this.get('padding-top'),
                                                                                                                             pBottom = this.get('padding-bottom');
                                                                                                                    
                                                                                                                    
                                                                                                                    Severity: Major
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js and 1 other location - About 1 hr to fix
                                                                                                                    app/assets/javascripts/standard/prototype.js on lines 3428..3434

                                                                                                                    Duplicated Code

                                                                                                                    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                    Tuning

                                                                                                                    This issue has a mass of 63.

                                                                                                                    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                    Refactorings

                                                                                                                    Further Reading

                                                                                                                    Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                    Open

                                                                                                                    Form.Element.Observer = Class.create(Abstract.TimedObserver, {
                                                                                                                      getValue: function() {
                                                                                                                        return Form.Element.getValue(this.element);
                                                                                                                      }
                                                                                                                    });
                                                                                                                    Severity: Major
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js and 1 other location - About 1 hr to fix
                                                                                                                    app/assets/javascripts/standard/prototype.js on lines 5240..5244

                                                                                                                    Duplicated Code

                                                                                                                    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                    Tuning

                                                                                                                    This issue has a mass of 58.

                                                                                                                    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                    Refactorings

                                                                                                                    Further Reading

                                                                                                                    Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                    Open

                                                                                                                    Form.Element.EventObserver = Class.create(Abstract.EventObserver, {
                                                                                                                      getValue: function() {
                                                                                                                        return Form.Element.getValue(this.element);
                                                                                                                      }
                                                                                                                    });
                                                                                                                    Severity: Major
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js and 1 other location - About 1 hr to fix
                                                                                                                    app/assets/javascripts/standard/prototype.js on lines 5187..5191

                                                                                                                    Duplicated Code

                                                                                                                    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                    Tuning

                                                                                                                    This issue has a mass of 58.

                                                                                                                    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                    Refactorings

                                                                                                                    Further Reading

                                                                                                                    Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                    Open

                                                                                                                    Form.Observer = Class.create(Abstract.TimedObserver, {
                                                                                                                      getValue: function() {
                                                                                                                        return Form.serialize(this.element);
                                                                                                                      }
                                                                                                                    });
                                                                                                                    Severity: Minor
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js and 1 other location - About 40 mins to fix
                                                                                                                    app/assets/javascripts/standard/prototype.js on lines 5246..5250

                                                                                                                    Duplicated Code

                                                                                                                    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                    Tuning

                                                                                                                    This issue has a mass of 49.

                                                                                                                    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                    Refactorings

                                                                                                                    Further Reading

                                                                                                                    Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                    Open

                                                                                                                    Form.EventObserver = Class.create(Abstract.EventObserver, {
                                                                                                                      getValue: function() {
                                                                                                                        return Form.serialize(this.element);
                                                                                                                      }
                                                                                                                    });
                                                                                                                    Severity: Minor
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js and 1 other location - About 40 mins to fix
                                                                                                                    app/assets/javascripts/standard/prototype.js on lines 5193..5197

                                                                                                                    Duplicated Code

                                                                                                                    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                    Tuning

                                                                                                                    This issue has a mass of 49.

                                                                                                                    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                    Refactorings

                                                                                                                    Further Reading

                                                                                                                    Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                    Open

                                                                                                                        if (el.className !== 'x') {
                                                                                                                          el.setAttribute('class', 'x');
                                                                                                                          if (el.className === 'x') {
                                                                                                                            classProp = 'class';
                                                                                                                          }
                                                                                                                    Severity: Minor
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js and 1 other location - About 40 mins to fix
                                                                                                                    app/assets/javascripts/standard/prototype.js on lines 2561..2566

                                                                                                                    Duplicated Code

                                                                                                                    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                    Tuning

                                                                                                                    This issue has a mass of 49.

                                                                                                                    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                    Refactorings

                                                                                                                    Further Reading

                                                                                                                    Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                    Open

                                                                                                                        if (el.htmlFor !== 'x') {
                                                                                                                          el.setAttribute('htmlFor', 'x');
                                                                                                                          if (el.htmlFor === 'x') {
                                                                                                                            forProp = 'htmlFor';
                                                                                                                          }
                                                                                                                    Severity: Minor
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js and 1 other location - About 40 mins to fix
                                                                                                                    app/assets/javascripts/standard/prototype.js on lines 2551..2556

                                                                                                                    Duplicated Code

                                                                                                                    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                    Tuning

                                                                                                                    This issue has a mass of 49.

                                                                                                                    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                    Refactorings

                                                                                                                    Further Reading

                                                                                                                    Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                    Open

                                                                                                                          do {
                                                                                                                            valueT += element.offsetTop  || 0;
                                                                                                                            valueL += element.offsetLeft || 0;
                                                                                                                            element = element.offsetParent;
                                                                                                                          } while (element);
                                                                                                                    Severity: Minor
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js and 1 other location - About 40 mins to fix
                                                                                                                    app/assets/javascripts/standard/prototype.js on lines 3694..3698

                                                                                                                    Duplicated Code

                                                                                                                    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                    Tuning

                                                                                                                    This issue has a mass of 48.

                                                                                                                    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                    Refactorings

                                                                                                                    Further Reading

                                                                                                                    Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                    Open

                                                                                                                        do {
                                                                                                                          valueT += element.scrollTop  || 0;
                                                                                                                          valueL += element.scrollLeft || 0;
                                                                                                                          element = element.parentNode;
                                                                                                                        } while (element);
                                                                                                                    Severity: Minor
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js and 1 other location - About 40 mins to fix
                                                                                                                    app/assets/javascripts/standard/prototype.js on lines 3662..3666

                                                                                                                    Duplicated Code

                                                                                                                    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                    Tuning

                                                                                                                    This issue has a mass of 48.

                                                                                                                    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                    Refactorings

                                                                                                                    Further Reading

                                                                                                                    Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                    Open

                                                                                                                        for (var i = 0, length = elements.length; i < length; i++) {
                                                                                                                          Element.extend(elements[i]);
                                                                                                                        }
                                                                                                                    Severity: Minor
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js and 1 other location - About 35 mins to fix
                                                                                                                    app/assets/javascripts/standard/prototype.js on lines 4583..4585

                                                                                                                    Duplicated Code

                                                                                                                    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                    Tuning

                                                                                                                    This issue has a mass of 47.

                                                                                                                    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                    Refactorings

                                                                                                                    Further Reading

                                                                                                                    Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                    Open

                                                                                                                        if (options.setLeft)   element.style.left  = (p[0] - delta[0] + options.offsetLeft) + 'px';
                                                                                                                    Severity: Minor
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js and 1 other location - About 35 mins to fix
                                                                                                                    app/assets/javascripts/standard/prototype.js on lines 2438..2438

                                                                                                                    Duplicated Code

                                                                                                                    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                    Tuning

                                                                                                                    This issue has a mass of 47.

                                                                                                                    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                    Refactorings

                                                                                                                    Further Reading

                                                                                                                    Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                    Open

                                                                                                                        if (options.setTop)    element.style.top   = (p[1] - delta[1] + options.offsetTop) + 'px';
                                                                                                                    Severity: Minor
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js and 1 other location - About 35 mins to fix
                                                                                                                    app/assets/javascripts/standard/prototype.js on lines 2437..2437

                                                                                                                    Duplicated Code

                                                                                                                    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                    Tuning

                                                                                                                    This issue has a mass of 47.

                                                                                                                    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                    Refactorings

                                                                                                                    Further Reading

                                                                                                                    Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                    Open

                                                                                                                                    for ( var i = 0, l = array.length; i < l; i++ ) {
                                                                                                                                        ret.push( array[i] );
                                                                                                                                    }
                                                                                                                    Severity: Minor
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js and 1 other location - About 35 mins to fix
                                                                                                                    app/assets/javascripts/standard/prototype.js on lines 3879..3881

                                                                                                                    Duplicated Code

                                                                                                                    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                    Tuning

                                                                                                                    This issue has a mass of 47.

                                                                                                                    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                    Refactorings

                                                                                                                    Further Reading

                                                                                                                    Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                    Open

                                                                                                                          var keys = (args.length === 0) ? Element.Layout.PROPERTIES :
                                                                                                                           args.join(' ').split(' ');
                                                                                                                    Severity: Minor
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js and 1 other location - About 30 mins to fix
                                                                                                                    app/assets/javascripts/standard/prototype.js on lines 3337..3338

                                                                                                                    Duplicated Code

                                                                                                                    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                    Tuning

                                                                                                                    This issue has a mass of 45.

                                                                                                                    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                    Refactorings

                                                                                                                    Further Reading

                                                                                                                    Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                    Open

                                                                                                                          var keys = (args.length === 0) ? Element.Layout.PROPERTIES :
                                                                                                                           args.join(' ').split(' ');
                                                                                                                    Severity: Minor
                                                                                                                    Found in app/assets/javascripts/standard/prototype.js and 1 other location - About 30 mins to fix
                                                                                                                    app/assets/javascripts/standard/prototype.js on lines 3355..3356

                                                                                                                    Duplicated Code

                                                                                                                    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                    Tuning

                                                                                                                    This issue has a mass of 45.

                                                                                                                    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                    Refactorings

                                                                                                                    Further Reading

                                                                                                                    There are no issues that match your filters.

                                                                                                                    Category
                                                                                                                    Status