Scan your site now

Security Report Summary
E
Site:
Scanned Site(s):
1
IP Address:
199.34.228.42
Report Time:
22 Nov 2019 12:22:30 UTC
Checks:
Window Referrer
Window Opener
Comments
Enabled Debugging
Unsafe Functions
Warning:
Please have a look at the security issues / warnings in the report.
Security Issues
Window Referrer
  • window.open(n,i.id,"top=0,left=0,width="+screen.availWidth+",height="+screen.availHeight+",resizable=yes,scrollbars=no,status=no,toolbar=no")}},250);[http://cdn2.editmysite.com/js/site/main.js?buildTime=1537293294]
  • window.open(n,i.id,"top=0,left=0,width="+screen.availWidth+",height="+screen.availHeight+",resizable=yes,scrollbars=no,status=no,toolbar=no");[http://cdn2.editmysite.com/js/site/main.js?buildTime=1537293294]
Warnings
Comments
Comments should be removed from the public code of a web application, since it can give an aggressor critical insights into the inner structure of the program. By using this information, the attacker could easier understand how the user session is handled by javascript or figure out the pathway data is sent to the server.
  • /* make sure z-index is higher than all chat apps */[http://www.limograndrapidsmi.com/gdpr/gdprscript.js?buildTime=1574294014&hasRemindMe=true&stealth=false]
  • /* make sure z-index is higher than all chat apps */[http://www.limograndrapidsmi.com/gdpr/gdprscript.js?buildTime=1537293294&hasRemindMe=true&stealth=false]
  • /*! jQuery v1.8.3 jquery.com | jquery.org/license */[https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js]
  • /*! Hammer.JS - v2.0.4 - 2014-09-28 * http://hammerjs.github.io/ * * Copyright (c) 2014 Jorik Tangelder; * Licensed under the MIT license */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * set a timeout with a given scope * @param {Function} fn * @param {Number} timeout * @param {Object} context * @returns {number} */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * if the argument is an array, we want to execute the fn on each entry * if it aint an array we don't want to do a thing. * this is used by all the methods that accept a single and array argument. * @param {*|Array} arg * @param {String} fn * @param {Object} [context] * @returns {Boolean} */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * walk objects and arrays * @param {Object} obj * @param {Function} iterator * @param {Object} context */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * extend object. * means that properties in dest will be overwritten by the ones in src. * @param {Object} dest * @param {Object} src * @param {Boolean} [merge] * @returns {Object} dest */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * merge the values from src in the dest. * means that properties that exist in dest will not be overwritten by src * @param {Object} dest * @param {Object} src * @returns {Object} dest */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * simple class inheritance * @param {Function} child * @param {Function} base * @param {Object} [properties] */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * simple function bind * @param {Function} fn * @param {Object} context * @returns {Function} */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * let a boolean value also be a function that must return a boolean * this first item in args will be used as the context * @param {Boolean|Function} val * @param {Array} [args] * @returns {Boolean} */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * use the val2 when val1 is undefined * @param {*} val1 * @param {*} val2 * @returns {*} */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * addEventListener with multiple events at once * @param {EventTarget} target * @param {String} types * @param {Function} handler */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * removeEventListener with multiple events at once * @param {EventTarget} target * @param {String} types * @param {Function} handler */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * find if a node is in the given parent * @method hasParent * @param {HTMLElement} node * @param {HTMLElement} parent * @return {Boolean} found */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * small indexOf wrapper * @param {String} str * @param {String} find * @returns {Boolean} found */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * split string on whitespace * @param {String} str * @returns {Array} words */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * find if a array contains the object using indexOf or a simple polyFill * @param {Array} src * @param {String} find * @param {String} [findByKey] * @return {Boolean|Number} false when not found, or the index */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * convert array-like objects to real arrays * @param {Object} obj * @returns {Array} */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * unique array with objects based on a key (like 'id') or just by the array's value * @param {Array} src [{id:1},{id:2},{id:1}] * @param {String} [key] * @param {Boolean} [sort=False] * @returns {Array} [{id:1},{id:2}] */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * get the prefixed property * @param {Object} obj * @param {String} property * @returns {String|Undefined} prefixed */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * get a unique id * @returns {number} uniqueId */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * get the window object of an element * @param {HTMLElement} element * @returns {DocumentView|Window} */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * create new input type manager * @param {Manager} manager * @param {Function} callback * @returns {Input} * @constructor */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * should handle the inputEvent data and trigger the callback * @virtual */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * bind the events */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * unbind the events */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * create new input type manager * called by the Manager constructor * @param {Hammer} manager * @returns {Input} */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * handle input events * @param {Manager} manager * @param {String} eventType * @param {Object} input */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * extend the data with some usable properties like scale, rotate, velocity etc * @param {Object} manager * @param {Object} input */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * velocity is calculated every x ms * @param {Object} session * @param {Object} input */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * create a simple clone from the input used for storage of firstInput and firstMultiple * @param {Object} input * @returns {Object} clonedInputData */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * get the center of all the pointers * @param {Array} pointers * @return {Object} center contains `x` and `y` properties */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * calculate the velocity between two points. unit is in px per ms. * @param {Number} deltaTime * @param {Number} x * @param {Number} y * @return {Object} velocity `x` and `y` */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * get the direction between two points * @param {Number} x * @param {Number} y * @return {Number} direction */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * calculate the absolute distance between two points * @param {Object} p1 {x, y} * @param {Object} p2 {x, y} * @param {Array} [props] containing x and y keys * @return {Number} distance */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * calculate the angle between two coordinates * @param {Object} p1 * @param {Object} p2 * @param {Array} [props] containing x and y keys * @return {Number} angle */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * calculate the rotation degrees between two pointersets * @param {Array} start array of pointers * @param {Array} end array of pointers * @return {Number} rotation */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * calculate the scale factor between two pointersets * no scale is 1, and goes down to 0 when pinched together, and bigger when pinched out * @param {Array} start array of pointers * @param {Array} end array of pointers * @return {Number} scale */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * Mouse events input * @constructor * @extends Input */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * handle mouse events * @param {Object} ev */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * Pointer events input * @constructor * @extends Input */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * handle mouse events * @param {Object} ev */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * Touch events input * @constructor * @extends Input */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * @this {TouchInput} * @param {Object} ev * @param {Number} type flag * @returns {undefined|Array} [all, changed] */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * Multi-user touch events input * @constructor * @extends Input */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * @this {TouchInput} * @param {Object} ev * @param {Number} type flag * @returns {undefined|Array} [all, changed] */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * Combined touch and mouse input * * Touch has a higher priority then mouse, and while touching no mouse events are allowed. * This because touch devices also emit mouse events while doing a touch. * * @constructor * @extends Input */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * handle mouse and touch events * @param {Hammer} manager * @param {String} inputEvent * @param {Object} inputData */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * remove the event listeners */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * Touch Action * sets the touchAction property or uses the js alternative * @param {Manager} manager * @param {String} value * @constructor */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * set the touchAction value on the element or enable the polyfill * @param {String} value */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * just re-set the touchAction value */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * compute the value for the touchAction property based on the recognizer's settings * @returns {String} value */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * this method is called on each input cycle and provides the preventing of the browser behavior * @param {Object} input */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * call preventDefault to prevent the browser's default behavior (scrolling in most cases) * @param {Object} srcEvent */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * when the touchActions are collected they are not a valid value, so we need to clean things up. * * @param {String} actions * @returns {*} */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * Recognizer flow explained; * * All recognizers have the initial state of POSSIBLE when a input session starts. * The definition of a input session is from the first input until the last input, with all it's movement in it. * * Example session for mouse-input: mousedown -> mousemove -> mouseup * * On each recognizing cycle (see Manager.recognize) the .recognize() method is executed * which determines with state it should be. * * If the recognizer has the state FAILED, CANCELLED or RECOGNIZED (equals ENDED), it is reset to * POSSIBLE to give it another change on the next cycle. * * Possible * | * +-----+---------------+ * | | * +-----+-----+ | * | | | * Failed Cancelled | * +-------+------+ * | | * Recognized Began * | * Changed * | * Ended/Recognized */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * Recognizer * Every recognizer needs to extend from this class. * @constructor * @param {Object} options */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * @virtual * @type {Object} */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * set options * @param {Object} options * @return {Recognizer} */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * recognize simultaneous with an other recognizer. * @param {Recognizer} otherRecognizer * @returns {Recognizer} this */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * drop the simultaneous link. it doesnt remove the link on the other recognizer. * @param {Recognizer} otherRecognizer * @returns {Recognizer} this */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * recognizer can only run when an other is failing * @param {Recognizer} otherRecognizer * @returns {Recognizer} this */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * drop the requireFailure link. it does not remove the link on the other recognizer. * @param {Recognizer} otherRecognizer * @returns {Recognizer} this */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * has require failures boolean * @returns {boolean} */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * if the recognizer can recognize simultaneous with an other recognizer * @param {Recognizer} otherRecognizer * @returns {Boolean} */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * You should use `tryEmit` instead of `emit` directly to check * that all the needed recognizers has failed before emitting. * @param {Object} input */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * Check that all the require failure recognizers has failed, * if true, it emits a gesture event, * otherwise, setup the state to FAILED. * @param {Object} input */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * can we emit? * @returns {boolean} */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * update the recognizer * @param {Object} inputData */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * return the state of the recognizer * the actual recognizing happens in this method * @virtual * @param {Object} inputData * @returns {Const} STATE */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * return the preferred touch-action * @virtual * @returns {Array} */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * called when the gesture isn't allowed to recognize * like when another is being recognized or it is disabled * @virtual */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * get a usable string, used as event postfix * @param {Const} state * @returns {String} state */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * direction cons to string * @param {Const} direction * @returns {String} */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * get a recognizer by name if it is bound to a manager * @param {Recognizer|String} otherRecognizer * @param {Recognizer} recognizer * @returns {Recognizer} */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * This recognizer is just used as a base for the simple attribute recognizers. * @constructor * @extends Recognizer */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * @namespace * @memberof AttrRecognizer */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * @type {Number} * @default 1 */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * Used to check if it the recognizer receives valid input, like input.distance > 10. * @memberof AttrRecognizer * @param {Object} input * @returns {Boolean} recognized */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * Process the input and return the state for the recognizer * @memberof AttrRecognizer * @param {Object} input * @returns {*} State */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * Pan * Recognized when the pointer is down and moved in the allowed direction. * @constructor * @extends AttrRecognizer */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * @namespace * @memberof PanRecognizer */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * Pinch * Recognized when two or more pointers are moving toward (zoom-in) or away from each other (zoom-out). * @constructor * @extends AttrRecognizer */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * @namespace * @memberof PinchRecognizer */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * Press * Recognized when the pointer is down for x ms without any movement. * @constructor * @extends Recognizer */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * @namespace * @memberof PressRecognizer */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * Rotate * Recognized when two or more pointer are moving in a circular motion. * @constructor * @extends AttrRecognizer */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * @namespace * @memberof RotateRecognizer */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * Swipe * Recognized when the pointer is moving fast (velocity), with enough distance in the allowed direction. * @constructor * @extends AttrRecognizer */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * @namespace * @memberof SwipeRecognizer */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * A tap is ecognized when the pointer is doing a small tap/click. Multiple taps are recognized if they occur * between the given interval and position. The delay option can be used to recognize multi-taps without firing * a single tap. * * The eventData from the emitted event contains the property `tapCount`, which contains the amount of * multi-taps being recognized. * @constructor * @extends Recognizer */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * @namespace * @memberof PinchRecognizer */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * Simple way to create an manager with a default set of recognizers. * @param {HTMLElement} element * @param {Object} [options] * @constructor */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * @const {string} */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * default settings * @namespace */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * set if DOM events are being triggered. * But this is slower and unused by simple implementations, so disabled by default. * @type {Boolean} * @default false */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * The value for the touchAction property/fallback. * When set to `compute` it will magically set the correct value based on the added recognizers. * @type {String} * @default compute */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * @type {Boolean} * @default true */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * EXPERIMENTAL FEATURE -- can be removed/changed * Change the parent input target element. * If Null, then it is being set the to main element. * @type {Null|EventTarget} * @default null */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * force an input class * @type {Null|Function} * @default null */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * Default recognizer setup when calling `Hammer()` * When creating a new Manager these will be skipped. * @type {Array} */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * Some CSS properties can be used to improve the working of Hammer. * Add them to this method and they will be set when creating a new Manager. * @namespace */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * Disables text selection to improve the dragging gesture. Mainly for desktop browsers. * @type {String} * @default 'none' */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * Disable the Windows Phone grippers when pressing an element. * @type {String} * @default 'none' */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * Disables the default callout shown when you touch and hold a touch target. * On iOS, when you touch and hold a touch target such as a link, Safari displays * a callout containing information about the link. This property allows you to disable that callout. * @type {String} * @default 'none' */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * Specifies whether zooming is enabled. Used by IE10> * @type {String} * @default 'none' */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * Specifies that an entire element should be draggable instead of its contents. Mainly for desktop browsers. * @type {String} * @default 'none' */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * Overrides the highlight color shown when the user taps a link or a JavaScript * clickable element in iOS. This property obeys the alpha value, if specified. * @type {String} * @default 'rgba(0,0,0,0)' */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * Manager * @param {HTMLElement} element * @param {Object} [options] * @constructor */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * set options * @param {Object} options * @returns {Manager} */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * stop recognizing for this session. * This session will be discarded, when a new [input]start event is fired. * When forced, the recognizer cycle is stopped immediately. * @param {Boolean} [force] */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * run the recognizers! * called by the inputHandler function on every movement of the pointers (touches) * it walks through all the recognizers and tries to detect the gesture that is being made * @param {Object} inputData */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * get a recognizer by its event name. * @param {Recognizer|String} recognizer * @returns {Recognizer|Null} */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * add a recognizer to the manager * existing recognizers with the same event name will be removed * @param {Recognizer} recognizer * @returns {Recognizer|Manager} */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * remove a recognizer by name or instance * @param {Recognizer|String} recognizer * @returns {Manager} */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * bind event * @param {String} events * @param {Function} handler * @returns {EventEmitter} this */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * unbind event, leave emit blank to remove all handlers * @param {String} events * @param {Function} [handler] * @returns {EventEmitter} this */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * emit event to the listeners * @param {String} event * @param {Object} data */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * destroy the manager and unbinds all events * it doesn't unbind dom events, that is the user own responsibility */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * add/remove the css properties as defined in manager.options.cssProps * @param {Manager} manager * @param {Boolean} add */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * trigger dom event * @param {String} event * @param {Object} data */[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /*!jQuery Waypoints - v2.0.5Copyright (c) 2011-2014 Caleb TroughtonLicensed under the MIT license.https://github.com/imakewebthings/jquery-waypoints/blob/master/licenses.txt*/[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /*Sticky Elements Shortcut for jQuery Waypoints - v2.0.5Copyright (c) 2011-2014 Caleb TroughtonLicensed under the MIT license.https://github.com/imakewebthings/jquery-waypoints/blob/master/licenses.txt*/[http://www.limograndrapidsmi.com/files/theme/plugins.js?1531150540]
  • /** * Add a css transition * * @param jquery $o object to animate * @param string property a css transitionable property * @param number speed the ms speed of animation * @param function cb callback function after animation completes * @return undefined */[http://www.limograndrapidsmi.com/files/theme/mobile.js?1531150540]
  • /** * Utility animate function for css transitions * * @param jquery $o object to animate * @param object from css properties to animate from * @param object to css properties to animate to * @param number speed the ms speed of animation * @param function cb callback function after animation completes * @return undefined */[http://www.limograndrapidsmi.com/files/theme/mobile.js?1531150540]
  • /** * Controls the menu effect when a menu button is tapped * * @param event e event handler * @return undefined */[http://www.limograndrapidsmi.com/files/theme/mobile.js?1531150540]
  • /** * Tweens the menu left or right * * @param jquery $oldSlide the current slide being moved out * @param jquery $newSlide the new slide being moved in * @param bool rightToLeft move to the right if true, left if false * @return undefined */[http://www.limograndrapidsmi.com/files/theme/mobile.js?1531150540]
  • /** * Adds a an active state css class so that button presses * can be styled * * @param jquery $element element(s) to add state to * @param string tagName selector to filter dom elemenets * @return undefined */[http://www.limograndrapidsmi.com/files/theme/mobile.js?1531150540]
  • /** * Measures the size of the content area to try and place footer * fixed at the bottom of the screen if the screen space is larger * * @return undefined */[http://www.limograndrapidsmi.com/files/theme/mobile.js?1531150540]
  • /** * Resizes the vertical height of the mobile menu * * @return undefined */[http://www.limograndrapidsmi.com/files/theme/mobile.js?1531150540]
  • /** * Inits the body to detect touch support * * @return undefined */[http://www.limograndrapidsmi.com/files/theme/mobile.js?1531150540]
  • /** * Inits the mobile menu structure * * @return undefined */[http://www.limograndrapidsmi.com/files/theme/mobile.js?1531150540]
  • /** * Close the menu * * @return undefined */[http://www.limograndrapidsmi.com/files/theme/mobile.js?1531150540]
  • /*# sourceURL="+i.sources[0]+" */[http://cdn2.editmysite.com/js/site/main-customer-accounts-site.js?buildTime=1537293294]
  • /*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */[http://cdn2.editmysite.com/js/site/main-customer-accounts-site.js?buildTime=1537293294]
  • /* [wrapped with "+t+"] */[http://cdn2.editmysite.com/js/site/main-customer-accounts-site.js?buildTime=1537293294]
Enabled Debugging
The JavaScript debugging functions should always removed after development stage, because they could expose informations on the inner workings of the code. In production, it is a loophole and could show a possible attacker where to find possibly exploitable vulnerabilities or interesting variables.
  • console.log("["+i+'] "'+n+'"',r)},tuneIn:function e(t){var i=r.channel(t);[http://cdn2.editmysite.com/js/site/main.js?buildTime=1537293294]
  • console.log("ScrollReveal is not supported in this browser.")}return r}s.prototype.defaults={origin:"bottom",distance:"20px",duration:500,delay:0,rotate:{x:0,y:0,z:0},opacity:0,scale:.9,easing:"cubic-bezier(0.6, 0.2, 0.1, 1)",container:window.document.documentElement,mobile:true,reset:false,useDelay:"always",viewFactor:.2,viewOffset:{top:0,right:0,bottom:0,left:0},beforeReveal:function(e){},afterReveal:function(e){},beforeReset:function(e){},afterReset:function(e){}};s.prototype.isSupported=function(){var e=document.documentElement.style;return"WebkitTransition"in e&&"WebkitTransform"in e||"transition"in e&&"transform"in e};s.prototype.reveal=function(e,t,i,n){var o;var s;var f;var h;var g;var y;if(t!==undefined&&typeof t==="number"){i=t;t={}}else if(t===undefined||t===null){t={}}o=a(t);[http://cdn2.editmysite.com/js/site/main.js?buildTime=1537293294]
  • console.log('ScrollReveal: reveal on "'+e+'" failed, no elements found.');[http://cdn2.editmysite.com/js/site/main.js?buildTime=1537293294]
  • console.log("ScrollReveal: sync failed, no reveals found.")}return r};function a(e){if(e&&e.container){if(typeof e.container==="string"){return window.document.documentElement.querySelector(e.container)}else if(r.tools.isNode(e.container)){return e.container}else{console.log('ScrollReveal: invalid container "'+e.container+'" provided.');[http://cdn2.editmysite.com/js/site/main.js?buildTime=1537293294]
  • console.log("ScrollReveal: falling back to default container.")}}return r.defaults.container}function l(e,t){if(typeof e==="string"){return Array.prototype.slice.call(t.querySelectorAll(e))}else if(r.tools.isNode(e)){return[e]}else if(r.tools.isNodeList(e)){return Array.prototype.slice.call(e)}return[]}function u(){return++r.uid}function c(e,t,i){if(t.container)t.container=i;if(!e.config){e.config=r.tools.extendClone(r.defaults,t)}else{e.config=r.tools.extendClone(e.config,t)}if(e.config.origin==="top"||e.config.origin==="bottom"){e.config.axis="Y"}else{e.config.axis="X"}}function d(e){var t=window.getComputedStyle(e.domEl);[http://cdn2.editmysite.com/js/site/main.js?buildTime=1537293294]
  • console.log(Array.prototype.slice.call(arguments))};u.Zc=function(e){var t,i;e.getBoundingClientRect&&e.parentNode&&(t=e.getBoundingClientRect());[http://cdn2.editmysite.com/js/site/main.js?buildTime=1537293294]
Unsafe Functions
eval() is eval! This functions and similar ones (document.write(), document.writeln(), element.innerHTML, element.outerHTML, element.insertAdjacentHTML()) should never be used in production stage of a website, because the parsing of the executable string is often not secure and result therefore often in a cross-site scripting vulnerability. Instead of these functions create html elements by script and add it to the DOM object.
  • eval("("+json+")")}catch(e){}throw new SyntaxError("Badly formed JSON string: "+json)};$.fn.up=function(e){return this.eq(0).parent().closest(e||"*")};$.fn.down=function(e){if(!e){return this.eq(0).children(":first")}return this.eq(0).find(e||"*").eq(0)};var idCounter=1;$.fn.identify=function(){var e=this.attr("id");[http://cdn2.editmysite.com/js/site/main.js?buildTime=1537293294]
  • eval("("+a+")"),"function"===typeof c?d({"":e},""):e;throw new SyntaxError("JSON.parse(): invalid or malformed JSON data")}}u.cc=function(){var e,t,i=document.getElementsByTagName("video");[http://cdn2.editmysite.com/js/site/main.js?buildTime=1537293294]
Additional Information
Link Opener
The window.open("https://example.com/", "_blanc", "noopener"); attribute should always be added to the window.open() function, which open a site in a new tab, to reduce the risk of reverse tabnabbing. Otherwise javascript on the new page has full control over the previous visited page, including permission to change the DOM object and possibly steal session cookies.
Link Referrer
The window.open("https://example.com/", "_blanc", "referrer"); attribute should always be added to the window.open() function to prevent reverse tabnabbing for older browser, which do not support the noopener attribute and to prevent phishing attacks.
Comments
Comments should be removed from the public code of a web application, since it can give an aggressor critical insights into the inner structure of the program. By using this information, the attacker could easier understand how the user session is handled by javascript or figure out the pathway data is sent to the server.
Enabled Debugging
The JavaScript debugging functions should always removed after development stage, because they could expose informations on the inner workings of the code. In production, it is a loophole and could show a possible attacker where to find possibly exploitable vulnerabilities or interesting variables.
Unsafe Functions
eval() is eval! This functions and similar ones (document.write(), document.writeln(), element.innerHTML, element.outerHTML, element.insertAdjacentHTML()) should never be used in production stage of a website, because the parsing of the executable string is often not secure and result therefore often in a cross-site scripting vulnerability. Instead of these functions create html elements by script and add it to the DOM object.
Scanned URL(s)
Limo Rental Grand Rapids, Kalamazoo, Lansing - Limousine Rental Service, Rent Limo, Grand Rapids MI