Scan your site now

Security Report Summary
C
Site:
Scanned Site(s):
1
IP Address:
50.16.185.39
Report Time:
01 Apr 2020 15:28:05 UTC
Checks:
Window Referrer
Window Opener
Comments
Enabled Debugging
Unsafe Functions
Warning:
Please have a look at the security issues / warnings in the report.
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.
  • /* * jQuery JavaScript Library v1.3.2 * http://jquery.com/ * * Copyright (c) 2009 John Resig * Dual licensed under the MIT and GPL licenses. * http://docs.jquery.com/License * * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009) * Revision: 6246 */[https://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js]
  • /* * Sizzle CSS Selector Engine - v0.9.3 * Copyright 2009, The Dojo Foundation * Released under the MIT, BSD, and GPL Licenses. * More information: http://sizzlejs.com/ */[https://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js]
  • /*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */[https://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js]
  • /* * jQuery UI 1.7.3 * * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT (MIT-LICENSE.txt) * and GPL (GPL-LICENSE.txt) licenses. * * http://docs.jquery.com/UI */[https://ajax.googleapis.com/ajax/libs/jqueryui/1.7.3/jquery-ui.min.js]
  • /** * Override jQuery.fn.init to guard against XSS attacks. * * See http://bugs.jquery.com/ticket/9521 */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Set the variable that indicates if JavaScript behaviors should be applied */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Attach all registered behaviors to a page element. * * Behaviors are event-triggered actions that attach to page elements, enhancing * default non-Javascript UIs. Behaviors are registered in the Drupal.behaviors * object as follows: * @code * Drupal.behaviors.behaviorName = function () { * ... * }; * @endcode * * Drupal.attachBehaviors is added below to the jQuery ready event and so * runs on initial page load. Developers implementing AHAH/AJAX in their * solutions should also call this function after new page content has been * loaded, feeding in an element to be processed, in order to attach all * behaviors to the new content. * * Behaviors should use a class in the form behaviorName-processed to ensure * the behavior is attached only once to a given element. (Doing so enables * the reprocessing of given elements, which may be needed on occasion despite * the ability to limit behavior attachment to a particular element.) * * @param context * An element to attach behaviors to. If none is given, the document element * is used. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Encode special characters in a plain-text string for display as HTML. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Translate strings to the page language or a given language. * * See the documentation of the server-side t() function for further details. * * @param str * A string containing the English string to translate. * @param args * An object of replacements pairs to make after translation. Incidences * of any key in this array are replaced with the corresponding value. * Based on the first character of the key, the value is escaped and/or themed: * - !variable: inserted as is * - @variable: escape plain text to HTML (Drupal.checkPlain) * - %variable: escape text and theme as a placeholder for user-submitted * content (checkPlain + Drupal.theme('placeholder')) * @return * The translated string. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Format a string containing a count of items. * * This function ensures that the string is pluralized correctly. Since Drupal.t() is * called by this function, make sure not to pass already-localized strings to it. * * See the documentation of the server-side format_plural() function for further details. * * @param count * The item count to display. * @param singular * The string for the singular case. Please make sure it is clear this is * singular, to ease translation (e.g. use "1 new comment" instead of "1 new"). * Do not use @count in the singular string. * @param plural * The string for the plural case. Please make sure it is clear this is plural, * to ease translation. Use @count in place of the item count, as in "@count * new comments". * @param args * An object of replacements pairs to make after translation. Incidences * of any key in this array are replaced with the corresponding value. * Based on the first character of the key, the value is escaped and/or themed: * - !variable: inserted as is * - @variable: escape plain text to HTML (Drupal.checkPlain) * - %variable: escape text and theme as a placeholder for user-submitted * content (checkPlain + Drupal.theme('placeholder')) * Note that you do not need to include @count in this array. * This replacement is done automatically for the plural case. * @return * A translated string. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Generate the themed representation of a Drupal object. * * All requests for themed output must go through this function. It examines * the request and routes it to the appropriate theme function. If the current * theme does not provide an override function, the generic theme function is * called. * * For example, to retrieve the HTML that is output by theme_placeholder(text), * call Drupal.theme('placeholder', text). * * @param func * The name of the theme function to call. * @param ... * Additional arguments to pass along to the theme function. * @return * Any data the theme function returns. This could be a plain HTML string, * but also a complex object. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Parse a JSON response. * * The result is either the JSON object, or an object with 'status' 0 and 'data' an error message. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Freeze the current body height (as minimum height). Used to prevent * unnecessary upwards scrolling when doing DOM manipulations. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Unfreeze the body height */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Wrapper around encodeURIComponent() which avoids Apache quirks (equivalent of * drupal_urlencode() in PHP). This function should only be used on paths, not * on query string arguments. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Get the text selection in a textarea. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Build an error message from ahah response. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * The default themes. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Formats text for emphasized display in a placeholder inside a sentence. * * @param str * The text to format (plain-text). * @return * The formatted text (html). */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Adds the custom autocomplete widget behavior. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /* * jQuery Autocomplete plugin 1.1 * * Copyright (c) 2009 Jörn Zaefferer * * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html * */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /* * if dealing w/local data and matchContains than we must make sure * to loop through all the data collections looking for matches */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** @license * * SoundManager 2: JavaScript Sound for the Web * ---------------------------------------------- * http://schillmania.com/projects/soundmanager2/ * * Copyright (c) 2007, Scott Schiller. All rights reserved. * Code provided under the BSD License: * http://schillmania.com/projects/soundmanager2/license.txt * * V2.97a.20131201 */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /*global window, SM2_DEFER, sm2Debugger, console, document, navigator, setTimeout, setInterval, clearInterval, Audio, opera */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /*jslint regexp: true, sloppy: true, white: true, nomen: true, plusplus: true, todo: true */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * About this file * ------------------------------------------------------------------------------------- * This is the fully-commented source version of the SoundManager 2 API, * recommended for use during development and testing. * * See soundmanager2-nodebug-jsmin.js for an optimized build (~11KB with gzip.) * http://schillmania.com/projects/soundmanager2/doc/getstarted/#basic-inclusion * Alternately, serve this file with gzip for 75% compression savings (~30KB over HTTP.) * * You may notice <d> and </d> comments in this source; these are delimiters for * debug blocks which are removed in the -nodebug builds, further optimizing code size. * * Also, as you may note: Whoa, reliable cross-platform/device audio support is hard! ;) */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * The SoundManager constructor. * * @constructor * @param {string} smURL Optional: Path to SWF files * @param {string} smID Optional: The ID to use for the SWF container element * @this {SoundManager} * @return {SoundManager} The new SoundManager instance */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * soundManager configuration options list * defines top-level configuration properties to be applied to the soundManager instance (eg. soundManager.flashVersion) * to set these properties, use the setup() method - eg., soundManager.setup({url: '/swf/', flashVersion: 9}) */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * the default configuration for sound objects made with createSound() and related methods * eg., volume, auto-load behaviour and so forth */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * flash 9-only options, * merged into defaultOptions if flash 9 is being used */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * flash 9.0r115+ MPEG4 audio options, * merged into defaultOptions if flash 9+movieStar mode is enabled */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * determines HTML5 support + flash requirements. * if no support (via flash and/or HTML5) for a "required" format, SM2 will fail to start. * flash fallback is used for MP3 or MP4 if HTML5 can't play it (or if preferFlash = true) */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * format support (html5/flash) * stores canPlayType() results based on audioFormats. * eg. { mp3: boolean, mp4: boolean } * treat as read-only. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * a few private internals (OK, a lot. :D) */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * basic HTML5 Audio() support test * try...catch because of IE 9 "not implemented" nonsense * https://github.com/Modernizr/Modernizr/issues/224 */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Public SoundManager API * ----------------------- */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Configures top-level soundManager properties. * * @param {object} options Option parameters, eg. { flashVersion: 9, url: '/path/to/swfs/' } * onready and ontimeout are also accepted parameters. call soundManager.setup() to see the full list. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Creates a SMSound sound object instance. * * @param {object} oOptions Sound options (at minimum, id and url parameters are required.) * @return {object} SMSound The new SMSound object. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Destroys a SMSound sound object instance. * * @param {string} sID The ID of the sound to destroy */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Calls the load() method of a SMSound object by ID. * * @param {string} sID The ID of the sound * @param {object} oOptions Optional: Sound options */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Calls the unload() method of a SMSound object by ID. * * @param {string} sID The ID of the sound */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Calls the onPosition() method of a SMSound object by ID. * * @param {string} sID The ID of the sound * @param {number} nPosition The position to watch for * @param {function} oMethod The relevant callback to fire * @param {object} oScope Optional: The scope to apply the callback to * @return {SMSound} The SMSound object */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Calls the clearOnPosition() method of a SMSound object by ID. * * @param {string} sID The ID of the sound * @param {number} nPosition The position to watch for * @param {function} oMethod Optional: The relevant callback to fire * @return {SMSound} The SMSound object */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Calls the play() method of a SMSound object by ID. * * @param {string} sID The ID of the sound * @param {object} oOptions Optional: Sound options * @return {SMSound} The SMSound object */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Calls the setPosition() method of a SMSound object by ID. * * @param {string} sID The ID of the sound * @param {number} nMsecOffset Position (milliseconds) * @return {SMSound} The SMSound object */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Calls the stop() method of a SMSound object by ID. * * @param {string} sID The ID of the sound * @return {SMSound} The SMSound object */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Stops all currently-playing sounds. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Calls the pause() method of a SMSound object by ID. * * @param {string} sID The ID of the sound * @return {SMSound} The SMSound object */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Pauses all currently-playing sounds. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Calls the resume() method of a SMSound object by ID. * * @param {string} sID The ID of the sound * @return {SMSound} The SMSound object */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Resumes all currently-paused sounds. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Calls the togglePause() method of a SMSound object by ID. * * @param {string} sID The ID of the sound * @return {SMSound} The SMSound object */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Calls the setPan() method of a SMSound object by ID. * * @param {string} sID The ID of the sound * @param {number} nPan The pan value (-100 to 100) * @return {SMSound} The SMSound object */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Calls the setVolume() method of a SMSound object by ID. * * @param {string} sID The ID of the sound * @param {number} nVol The volume value (0 to 100) * @return {SMSound} The SMSound object */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Calls the mute() method of either a single SMSound object by ID, or all sound objects. * * @param {string} sID Optional: The ID of the sound (if omitted, all sounds will be used.) */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Mutes all sounds. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Calls the unmute() method of either a single SMSound object by ID, or all sound objects. * * @param {string} sID Optional: The ID of the sound (if omitted, all sounds will be used.) */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Unmutes all sounds. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Calls the toggleMute() method of a SMSound object by ID. * * @param {string} sID The ID of the sound * @return {SMSound} The SMSound object */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Retrieves the memory used by the flash plugin. * * @return {number} The amount of memory in use */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Undocumented: NOPs soundManager and all SMSound objects. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Determines playability of a MIME type, eg. 'audio/mp3'. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Determines playability of a URL based on audio support. * * @param {string} sURL The URL to test * @return {boolean} URL playability */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Determines playability of an HTML DOM <a> object (or similar object literal) based on audio support. * * @param {object} oLink an HTML DOM <a> object or object literal including href and/or type attributes * @return {boolean} URL playability */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Retrieves a SMSound object by ID. * * @param {string} sID The ID of the sound * @return {SMSound} The SMSound object */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Queues a callback for execution when SoundManager has successfully initialized. * * @param {function} oMethod The callback method to fire * @param {object} oScope Optional: The scope to apply to the callback */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Queues a callback for execution when SoundManager has failed to initialize. * * @param {function} oMethod The callback method to fire * @param {object} oScope Optional: The scope to apply to the callback */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Writes console.log()-style debug output to a console or in-browser element. * Applies when debugMode = true * * @param {string} sText The console message * @param {object} nType Optional log level (number), or object. Number case: Log type/style where 0 = 'info', 1 = 'warn', 2 = 'error'. Object case: Object to be dumped. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Provides debug / state information on all SMSound objects. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Restarts and re-initializes the SoundManager instance. * * @param {boolean} resetEvents Optional: When true, removes all registered onready and ontimeout event callbacks. * @param {boolean} excludeInit Options: When true, does not call beginDelayedInit() (which would restart SM2). * @return {object} soundManager The soundManager instance. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Shuts down and restores the SoundManager instance to its original loaded state, without an explicit reboot. All onready/ontimeout handlers are removed. * After this call, SM2 may be re-initialized via soundManager.beginDelayedInit(). * @return {object} soundManager The soundManager instance. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Undocumented: Determines the SM2 flash movie's load progress. * * @return {number or null} Percent loaded, or if invalid/unsupported, null. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Interesting syntax notes... * Flash/ExternalInterface (ActiveX/NPAPI) bridge methods are not typeof "function" nor instanceof Function, but are still valid. * Additionally, JSLint dislikes ('PercentLoaded' in flash)-style syntax and recommends hasOwnProperty(), which does not work in this case. * Furthermore, using (flash && flash.PercentLoaded) causes IE to throw "object doesn't support this property or method". * Thus, 'in' syntax must be used. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Additional helper for manually invoking SM2's init process after DOM Ready / window.onload(). */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Destroys the SoundManager instance and all SMSound instances. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * SMSound() (sound object) constructor * ------------------------------------ * * @param {object} oOptions Sound options (id and url are required attributes) * @return {SMSound} The new SMSound object */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * SMSound() public methods * ------------------------ */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Writes SMSound object parameters to debug console */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Begins loading a sound per its *url*. * * @param {object} oOptions Optional: Sound options * @return {SMSound} The SMSound object */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Unloads a sound, canceling any open HTTP requests. * * @return {SMSound} The SMSound object */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Unloads and destroys a sound. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Begins playing a sound. * * @param {object} oOptions Optional: Sound options * @return {SMSound} The SMSound object */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Streams will pause when their buffer is full if they are being loaded. * In this case paused is true, but the song hasn't started playing yet. * If we just call resume() the onplay() callback will never be called. * So only call resume() if the position is > 0. * Another reason is because options like volume won't have been applied yet. * For normal sounds, just resume. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Stops playing a sound (and optionally, all sounds) * * @param {boolean} bAll Optional: Whether to stop all sounds * @return {SMSound} The SMSound object */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Undocumented/internal: Sets autoPlay for RTMP. * * @param {boolean} autoPlay state */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Undocumented/internal: Returns the autoPlay boolean. * * @return {boolean} The current autoPlay value */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Sets the position of a sound. * * @param {number} nMsecOffset Position (milliseconds) * @return {SMSound} The SMSound object */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * DOM/JS errors/exceptions to watch out for: * if seek is beyond (loaded?) position, "DOM exception 11" * "INDEX_SIZE_ERR": DOM exception 1 */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Pauses sound playback. * * @return {SMSound} The SMSound object */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Resumes sound playback. * * @return {SMSound} The SMSound object */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * When auto-loaded streams pause on buffer full they have a playState of 0. * We need to make sure that the playState is set to 1 when these streams "resume". * When a paused stream is resumed, we need to trigger the onplay() callback if it * hasn't been called already. In this case since the sound is being played for the * first time, I think it's more appropriate to call onplay() rather than onresume(). */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Toggles sound playback. * * @return {SMSound} The SMSound object */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Sets the panning (L-R) effect. * * @param {number} nPan The pan value (-100 to 100) * @return {SMSound} The SMSound object */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Sets the volume. * * @param {number} nVol The volume value (0 to 100) * @return {SMSound} The SMSound object */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Note: Setting volume has no effect on iOS "special snowflake" devices. * Hardware volume control overrides software, and volume * will always return 1 per Apple docs. (iOS 4 + 5.) * http://developer.apple.com/library/safari/documentation/AudioVideo/Conceptual/HTML-canvas-guide/AddingSoundtoCanvasAnimations/AddingSoundtoCanvasAnimations.html */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Mutes the sound. * * @return {SMSound} The SMSound object */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Unmutes the sound. * * @return {SMSound} The SMSound object */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Toggles the muted state of a sound. * * @return {SMSound} The SMSound object */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Registers a callback to be fired when a sound reaches a given position during playback. * * @param {number} nPosition The position to watch for * @param {function} oMethod The relevant callback to fire * @param {object} oScope Optional: The scope to apply the callback to * @return {SMSound} The SMSound object */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Removes registered callback(s) from a sound, by position and/or callback. * * @param {number} nPosition The position to clear callback(s) for * @param {function} oMethod Optional: Identify one callback to be removed when multiple listeners exist for one position * @return {SMSound} The SMSound object */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * SMSound() private internals * -------------------------------- */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Pseudo-private SMSound internals * -------------------------------- */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * HTML5-only _whileplaying() etc. * called from both HTML5 native events, and polling/interval-based timers * mimics flash and fires only when time/duration change, so as to be polling-friendly */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /* else { // sm2._wD('_onTimer: Warn for "'+s.id+'": '+(!s._a?'Could not find element. ':'')+(s.playState === 0?'playState bad, 0?':'playState = '+s.playState+', OK')); return false; }*/[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * boolean instead of "loop", for webkit? - spec says string. http://www.w3.org/TR/html-markup/audio.html#audio.attrs.loop * note that loop is either off or infinite under HTML5, unlike Flash which allows arbitrary loop counts to be specified. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * "First things first, I, Poppa..." (reset the previous state of the old sound, if playing) * Fixes case with devices that can only play one sound at a time * Otherwise, other sounds in mid-play will be terminated without warning and in a stuck state */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Pseudo-private event internals * ------------------------------ */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Playback may have stopped due to buffering, or related reason. * This state can be encountered on iOS < 6 when auto-play is blocked. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * flash 9/movieStar + RTMP-only method, should fire only once at most * at this point we just recreate failed sounds rather than trying to reconnect */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * internal: flash 9 + NetStream (MovieStar/RTMP-only) feature * * @param {object} oData */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * internal: flash 9 + NetStream (MovieStar/RTMP-only) feature * RTMP may include song title, MovieStar content may include encoding info * * @param {array} oMDProps (names) * @param {array} oMDData (values) */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * internal: flash 8 + flash 9 ID3 feature * may include artist, song title etc. * * @param {array} oID3Props (names) * @param {array} oID3Data (values) */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Private SoundManager internals * ------------------------------ */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * 03/03/2013: Fix for Flash Player 11.6.602.171 + Flash 8 (flashVersion = 8) SWF issue * setTimeout() fix for certain SMSound callbacks like onload() and onfinish(), where subsequent calls like play() and load() fail when Flash Player 11.6.602.171 is installed, and using soundManager with flashVersion = 8 (which is the default). * Not sure of exact cause. Suspect race condition and/or invalid (NaN-style) position argument trickling down to the next JS -> Flash _start() call, in the play() case. * Fix: setTimeout() to yield, plus safer null / NaN checking on position argument provided to Flash. * https://getsatisfaction.com/schillmania/topics/recent_chrome_update_seems_to_have_broken_my_sm2_audio_player */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * recursive assignment of properties, soundManager.setup() helper * allows property assignment based on whitelist */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * valid extraOptions (bonusOptions) parameter. * is it a method, like onready/ontimeout? call it. * multiple parameters should be in an array, eg. soundManager.setup({onready: [myHandler, myScope]}); */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Internal DOM2-level event helpers * --------------------------------- */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Internal HTML5 event handling * ----------------------------- */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /* emptied: html5_event(function() { sm2._wD(this._s.id + ': emptied'); }), */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * HTML5 error codes, per W3C * Error 1: Client aborted download at user's request. * Error 2: Network error after load started. * Error 3: Decoding issue. * Error 4: Media (audio file) not supported. * Reference: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#error-codes */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Internal method: Unload media, and cancel any current/pending network requests. * Firefox can load an empty URL, which allegedly destroys the decoder and stops the download. * https://developer.mozilla.org/En/Using_audio_and_video_in_Firefox#Stopping_the_download_of_media * However, Firefox has been seen loading a relative URL from '' and thus requesting the hosting page on unload. * Other UA behaviour is unclear, so everyone else gets an about:blank-style URL. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Try to find MIME, test and return truthiness * o = { * url: '/path/to/an.mp3', * type: 'audio/mp3' * } */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Internal: Iterates over audioFormats, determining support eg. audio/mp3, audio/mpeg and so on * assigns results to html5[] and flash[]. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Internal: Finds and returns the first playable URL (or failing that, the first URL.) * @param {string or array} url A single URL string, OR, an array of URL strings or {url:'/path/to/resource', type:'audio/mp3'} objects. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * attach a timer to this sound, and start an interval if needed */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * detach a timer */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * manual polling for HTML5 progress events, ie., whileplaying() (can achieve greater precision than conservative default HTML5 interval) */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Pseudo-private flash/ExternalInterface methods * ---------------------------------------------- */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Private initialization helpers * ------------------------------ */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * extra-special case: movie doesn't load until scrolled into view when using wmode = anything but 'window' here * does not apply when using high performance (position:fixed means on-screen), OR infinite flash load timeout * wmode breaks IE 8 on Vista + Win7 too in some cases, as of January 2011 (?) */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Something isn't right - we've reached init, but the soundManager url property has not been set. * User has not called setup({url: ...}), or has not set soundManager.url (legacy use case) directly before init time. * Notify and exit. If user calls setup() with a url: property, init will be restarted as in the deferred loading case. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * apply top-level setupOptions object as local properties, eg., this.setupOptions.flashVersion -> this.flashVersion (soundManager.flashVersion) * this maintains backward compatibility, and allows properties to be defined separately for use by soundManager.setup(). */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Temporary feature: allow force of HTML5 via URL params: sm2-usehtml5audio=0 or 1 * Ditto for sm2-preferFlash, too. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * miscellaneous run-time, pre-init stuff */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * SoundManager public interfaces * ------------------------------ */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Gestion de l'affichage du volume */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Cookie plugin * * Copyright (c) 2006 Klaus Hartl (stilbuero.de) * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html * */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Create a cookie with the given name and value and other optional parameters. * * @example $.cookie('the_cookie', 'the_value'); * @desc Set the value of a cookie. * @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true }); * @desc Create a cookie with all available options. * @example $.cookie('the_cookie', 'the_value'); * @desc Create a session cookie. * @example $.cookie('the_cookie', null); * @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain * used when the cookie was set. * * @param String name The name of the cookie. * @param String value The value of the cookie. * @param Object options An object literal containing key/value pairs to provide optional cookie attributes. * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object. * If a negative value is specified (e.g. a date in the past), the cookie will be deleted. * If set to null or omitted, the cookie will be a session cookie and will not be retained * when the the browser exits. * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie). * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie). * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will * require a secure protocol (like HTTPS). * @type undefined * * @name $.cookie * @cat Plugins/Cookie * @author Klaus Hartl/klaus.hartl@stilbuero.de */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Get the value of a cookie with the given name. * * @example $.cookie('the_cookie'); * @desc Get the value of a cookie. * * @param String name The name of the cookie. * @return The value of the cookie. * @type String * * @name $.cookie * @cat Plugins/Cookie * @author Klaus Hartl/klaus.hartl@stilbuero.de */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * mixdown_player */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /*jslint white: false, onevar: true, undef: true, nomen: false, eqeqeq: true, plusplus: false, bitwise: true, regexp: true, newcap: true, immed: true, regexp: false */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /*global window, soundManager, alert, console, document, navigator, setTimeout, setInterval, clearInterval */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Toggle the visibility of a fieldset using smooth animations */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Scroll a given fieldset into view as much as possible. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * JQuery ajax pager Plugin * Copyright © David ROBIN for Ohm Force 2011 */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /* links. var isInternalSpecial = new RegExp("(\/go\/.*)$", "i"); // Expression to check for download links. var isDownload = new RegExp("\\.(" + ga.trackDownloadExtensions + ")$", "i"); // Is the clicked URL internal? if (isInternal.test(this.href)) { // Skip 'click' tracking, if custom tracking events are bound. if ($(this).is('.colorbox')) { // Do nothing here. The custom event will handle all tracking. } // Is download tracking activated and the file extension configured for download tracking? else if (ga.trackDownload && isDownload.test(this.href)) { // Download link clicked. var extension = isDownload.exec(this.href); _gaq.push(["_trackEvent", "Downloads", extension[1].toUpperCase(), this.href.replace(isInternal, '')]); } else if (isInternalSpecial.test(this.href)) { // Keep the internal URL for Google Analytics website overlay intact. _gaq.push(["_trackPageview", this.href.replace(isInternal, '')]); } } else { if (ga.trackMailto && $(this).is("a[href^='mailto:'],area[href^='mailto:']")) { // Mailto link clicked. _gaq.push(["_trackEvent", "Mails", "Click", this.href.substring(7)]); } else if (ga.trackOutbound && this.href.match(/^\w+:\/\//i)) { // External link clicked. _gaq.push(["_trackEvent", "Outbound links", "Click", this.href]); } } }); }); // Colorbox: This event triggers when the transition has completed and the // newly loaded content has been revealed. $(document).bind("cbox_complete", function() { var href = $.colorbox.element().attr("href"); if (href) { _gaq.push(["_trackPageview", href.replace(isInternal, '')]); } });});;(function ($) { Drupal.Panels = {}; Drupal.Panels.autoAttach = function() { if ($.browser.msie) { // If IE, attach a hover event so we can see our admin links. $("div.panel-pane").hover( function() { $('div.panel-hide', this).addClass("panel-hide-hover"); return true; }, function() { $('div.panel-hide', this).removeClass("panel-hide-hover"); return true; } ); $("div.admin-links").hover( function() { $(this).addClass("admin-links-hover"); return true; }, function(){ $(this).removeClass("admin-links-hover"); return true; } ); } }; $(Drupal.Panels.autoAttach);})(jQuery);;/** * @file * Enables and disables expiration fields to prevent invalid configurations. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Disables duration amount when its type is "never". */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Switch between relative and absolute expiration durations. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Set the default state for expiration duration. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * Override the expiration duration default state. */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * jQuery.ScrollTo - Easy element scrolling using jQuery. * Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com * Dual licensed under MIT and GPL. * Date: 3/9/2009 * @author Ariel Flesler * @version 1.4.1 * * http://flesler.blogspot.com/2007/10/jqueryscrollto.html */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * jQuery.LocalScroll - Animated scrolling navigation, using anchors. * Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com * Dual licensed under MIT and GPL. * Date: 3/11/2009 * @author Ariel Flesler * @version 1.2.7 **/[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /** * showcase custom player */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /*jslint white: false, onevar: true, undef: true, nomen: false, eqeqeq: true, plusplus: false, bitwise: true, regexp: true, newcap: true, immed: true, regexp: false */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /*global window, soundManager, alert, console, document, navigator, setTimeout, setInterval, clearInterval */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /* $( '#'+that.htmlID+' .showcase_navigation' ).width( that.waveWidth ); $( '#'+that.htmlID+' .showcase_navigation' ).width( that.waveWidth );*/[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /* $('#'+that.htmlID+' .showcase_navigation').localScroll({ target: '#'+that.htmlID+' .mixdown_info', queue:true, duration:700, hash:false, onBefore:function( e, anchor, target ){ }, onAfter:function(anchor, settings){ var mixdown_id = anchor.id.substr(7,anchor.id.length); that.setMixdown(mixdown_id); } });*/[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /*** jQuery.noticeAdd() and jQuery.noticeRemove()* These functions create and remove growl-like notices* * Copyright (c) 2009 Tim Benniks** Permission is hereby granted, free of charge, to any person obtaining a copy* of this software and associated documentation files (the "Software"), to deal* in the Software without restriction, including without limitation the rights* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell* copies of the Software, and to permit persons to whom the Software is* furnished to do so, subject to the following conditions:** The above copyright notice and this permission notice shall be included in* all copies or substantial portions of the Software.** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN* THE SOFTWARE.* * @author Tim Benniks <tim@timbenniks.com>* @copyright 2009 timbenniks.com* @version $Id: jquery.notice.js 1 2009-01-24 12:24:18Z timbenniks $**/[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /* tabSlideOUt v1.3 By William Paoli: http://wpaoli.building58.com To use you must have an image ready to go as your tab Make sure to pass in at minimum the path to the image and its dimensions: example: $('.slide-out-div').tabSlideOut({ tabHandle: '.handle', //class of the element that will be your tab -doesnt have to be an anchor pathToTabImage: 'images/contact_tab.gif', //relative path to the image for the tab imageHeight: '133px', //height of tab image imageWidth: '44px', //width of tab image }); or you can leave out these options and set the image properties using css */[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • /*** @name Elastic* @descripton Elastic is jQuery plugin that grow and shrink your textareas automatically* @version 1.6.11* @requires jQuery 1.2.6+** @author Jan Jarfalk* @author-email jan.jarfalk@unwrongest.com* @author-website http://www.unwrongest.com** @licence MIT License - http://www.opensource.org/licenses/mit-license.php*/[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
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(sText, sTypeOrObject);[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • console.log(sText);[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • console.log((b?'Enabling ':'Disabling ')+'useHTML5Audio via URL parameter');[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • console.log((b2?'Enabling ':'Disabling ')+'preferFlash via URL parameter');[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
  • console.log('request nid = '+ nid);[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
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(attrValue)}catch(err){inlineSettings[attrName]=attrValue}}}var nodeName=target.nodeName.toLowerCase();[https://ajax.googleapis.com/ajax/libs/jqueryui/1.7.3/jquery-ui.min.js]
  • eval('(' + data + ');[http://www.ohmstudio.com/sites/default/files/js/js_fbecab8439d42cdc2505b9f0a9fe6c59.js]
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)
ssiregar628ssiregar628 | Ohm Studio