/* */ var srt = { Main: { device: window.deviceProfile, lastId: 1001, trainingImages: [ '1.png', '2.png', '3.png', '4.png', '5.png', '6.png', '7.png', '8.png', '9.png', '10.png', '11.png', '12.png', '13.png', '14.png', '15.png', '16.png', '17.png', '18.png', '19.png', '20.png', '21.png', '22.png', '23.png', '24.png', '25.png', '26.png', '27.png', '28.png', '29.png', '30.png', '31.png', '32.png', '33.png', '34.png', '35.png', '36.png', '37.png', '38.png', '39.png', '40.png', '41.png', '42.png', '43.png', '44.png', '45.png', '46.png', '47.png', '48.png', '49.png', '50.png', '51.png', '52.png', '53.png', '54.png', '55.png', '56.png', '57.png', '58.png', '59.png', '60.png', '61.png', '62.png', '63.png', '64.png', '65.png', '66.png', '67.png', '68.png', '69.png', '70.png', '71.png', '72.png', '73.png', '74.png', '75.png', '76.png' ], pageClickAudioElement1: null, pageClickAudioHtmlElement1: null, pageClickAudioElement2: null, pageClickAudioHtmlElement2: null, soundIsMuted: true, nextAudioPlayer: 1, trainingMessageCountdownTime: 7, /** * @returns {string} */ getDevice: function() { return this.device; }, /** * @returns {boolean} */ isTablet: function() { return this.getDevice() === 'tablet'; }, /** * @returns {boolean} */ isMobile: function() { return this.getDevice() === 'mobile'; }, /** * @returns {number} */ getUniqueId: function() { return this.lastId++; }, shuffleArray: function(o) { for (var j, x, i = o.length; i; j = parseInt(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x); return o; }, /** * @param from * @param to * @returns {number} */ getRandomInt: function (from, to) { return Math.floor(Math.random() * (to - from + 1) + from); }, /** * @param value * @param precision * @returns {number} */ round: function(value, precision) { var result = Number(value); if (typeof precision == 'number') { precision = Math.pow(10, precision); result = Math.round(value * precision) / precision; } return result; }, /** * @param number * @returns {Array} */ getTrainingImages: function(number) { this.shuffleArray(this.trainingImages); var output = []; forNumber: for (var i = 0; i < number; i++) { for (var j = 0; j < this.trainingImages.length; j++) { output.push(this.trainingImages[j]); if (output.length >= number) { break forNumber; } } } this.shuffleArray(output); return output; }, /** * @param number * @returns {Array} */ getRandomColors: function(number) { var availableColors = ['#db0000', '#00db00', '#4777ff', '#ffb521', '#007a16', '#0031c4', '#b24f34', '#3fffc1', '#bf2699', '#FFFF00']; var output = []; forNumber: for (var i = 0; i < number; i++) { for (var j = 0; j < availableColors.length; j++) { output.push(availableColors[j]); if (output.length >= number) { break forNumber; } } } this.shuffleArray(output); return output; }, registerAudioButton: function() { /* */ var me = this; var activeTrainingButtonsContainer = null; $('section.trainingSection > div.footer > div.textContainer2').each(function() { if($(this).css('visibility') === 'visible') activeTrainingButtonsContainer = $(this); }); if(activeTrainingButtonsContainer !== null) { activeTrainingButtonsContainer.prepend( '
' ); activeTrainingButtonsContainer.find('button.soundButton').click(function() { if(me.soundIsMuted) { $(this).removeClass('off'); } else { $(this).addClass('off'); } me.soundIsMuted = !me.soundIsMuted; $(this).blur(); }); this.soundIsMuted = false; } }, playClickAudio: function() { if(this.soundIsMuted) return; try { if (this.pageClickAudioHtmlElement1 === null && this.pageClickAudioHtmlElement2 === null) { if (typeof mejs === 'undefined') { var head = document.getElementsByTagName('head')[0]; var script = document.createElement('script'); script.setAttribute('type', 'text/javascript'); script.setAttribute('src', 'resources/js/mediaelement/mediaelement-and-player.min.js'); head.appendChild(script); } $('body').append( '' ); $('body').append( '' ); this.pageClickAudioHtmlElement1 = $('#clickAudio1')[0]; this.pageClickAudioHtmlElement1.volume = 1; var interval1 = window.setInterval(function() { if (typeof MediaElementPlayer !== 'undefined') { window.clearInterval(interval1); srt.Main.pageClickAudioElement1 = new MediaElementPlayer('#clickAudio1', { enablePluginDebug: false, plugins: ['flash','silverlight'], pluginPath: 'resources/js/mediaelement/', startVolume: 1, timerRate: 200, pauseOtherPlayers: false }); } }, 50); this.pageClickAudioHtmlElement2 = $('#clickAudio2')[0]; this.pageClickAudioHtmlElement2.volume = 1; var interval2 = window.setInterval(function() { if (typeof MediaElementPlayer !== 'undefined') { window.clearInterval(interval2); srt.Main.pageClickAudioElement2 = new MediaElementPlayer('#clickAudio2', { enablePluginDebug: false, plugins: ['flash','silverlight'], pluginPath: 'resources/js/mediaelement/', startVolume: 1, timerRate: 200, pauseOtherPlayers: false }); } }, 50); } if (this.pageClickAudioElement1 !== null && this.pageClickAudioElement2 !== null) { if(this.nextAudioPlayer == 1) { this.pageClickAudioElement1.setCurrentTime(0); this.pageClickAudioElement1.play(); this.nextAudioPlayer = 2; } else { this.pageClickAudioElement2.setCurrentTime(0); this.pageClickAudioElement2.play(); this.nextAudioPlayer = 1; } } } catch (e) {} }, /** * @param name * @param domain * @param ending * @param linktext */ antiSpamEmailLink: function(name, domain, ending, linktext) { document.write(''); if (typeof linktext === 'string') { document.write(linktext); } else { document.write(name); document.write('@'); document.write(domain); document.write('.'); document.write(ending); } document.write(''); }, /** * @param text * @returns {number} */ countWords: function(text) { var count = 0; text = text.replace('
', ' '); text = text.replace(/\s/g,' '); text = text.split(' '); for (var i = 0; i < text.length; i++) { if (text[i].length > 0) { count++; } } return count; }, /** * @param name * @param value * @param expires * @param path * @param domain * @param secure */ setCookie: function(name, value, expires, path, domain, secure) { if (value === null) { if (this.getCookie(name) !== null) { document.cookie = name + '=' + ((path) ? ';path=' + path : '') + ((domain) ? ';domain=' + domain : '') + ';expires=Thu, 01-Jan-1970 00:00:01 GMT'; } return; } var today = new Date(); today.setTime(today.getTime()); if (expires) { expires = expires * 1000 * 60 * 60 * 24; } var expires_date = new Date(today.getTime() + (expires)); document.cookie = name + '=' +escape(value) + (expires ? ';expires=' + expires_date.toGMTString() : '') + (path ? ';path=' + path : '') + (domain ? ';domain=' + domain : '') + (secure ? ';secure' : ''); }, /** * @param cookieName * @returns {*} */ getCookie: function(cookieName) { var a_all_cookies = document.cookie.split(';'); var a_temp_cookie = ''; var cookie_name = ''; var cookie_value = ''; var i = ''; for (i = 0; i < a_all_cookies.length; i++) { a_temp_cookie = a_all_cookies[i].split('='); cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, ''); if (cookie_name == cookieName) { if (a_temp_cookie.length > 1) { cookie_value = unescape(a_temp_cookie[1].replace(/^\s+|\s+$/g, '')); } return cookie_value; } } return null; }, /** * @param email * @returns {boolean} */ validateEmail: function(email) { var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; return filter.test(email) === true; }, /** * @param name * @returns {*} */ getGETParameterByName: function(name) { name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"), results = regex.exec(location.search); return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " ")); } } }; srt.trainings = {}; if (!Array.prototype.indexOf) { /** * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf * @param searchElement * @returns {number} */ Array.prototype.indexOf = function (searchElement /*, fromIndex */ ) { 'use strict'; if (this == null) { throw new TypeError(); } var n, k, t = Object(this), len = t.length >>> 0; if (len === 0) { return -1; } n = 0; if (arguments.length > 1) { n = Number(arguments[1]); if (n != n) { // shortcut for verifying if it's NaN n = 0; } else if (n != 0 && n != Infinity && n != -Infinity) { n = (n > 0 || -1) * Math.floor(Math.abs(n)); } } if (n >= len) { return -1; } for (k = n >= 0 ? n : Math.max(len - Math.abs(n), 0); k < len; k++) { if (k in t && t[k] === searchElement) { return k; } } return -1; }; }