Guest User

Untitled

a guest
May 26th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.95 KB | None | 0 0
  1. var noop = function(){};
  2. var console = window['console'] || {log: noop, debug: noop, info: noop, warn: noop, error: function(args){alert(args);}};
  3. var loadScriptTag = function(src, loaded, callback) {
  4. if(loaded()){
  5. callback();
  6. return;
  7. }
  8. console.log("Loading missing javascript.", "swfobject", src);
  9. var scriptTag=document.createElement('scr'+'ipt');
  10. scriptTag.type = 'text/javascript';
  11. scriptTag.src=src;
  12. var head = document.getElementsByTagName("head")[0];
  13. head.appendChild(scriptTag);
  14. function check(){
  15. if(loaded()){
  16. callback();
  17. } else {
  18. setTimeout(check, 50);
  19. }
  20. };
  21. check();
  22. };
  23. var hasClassName = function(element, className) {
  24. var elementClassName = element.className;
  25. return (elementClassName.length > 0 && (elementClassName == className ||
  26. new RegExp("(^|\\s)" + className + "(\\s|$)").test(elementClassName)));
  27. };
  28. var addClassName = function(element, className) {
  29. if (!hasClassName(element, className))
  30. element.className += (element.className ? ' ' : '') + className;
  31. return element;
  32. };
  33. var removeClassName = function(element, className) {
  34. element.className = element.className.replace(
  35. new RegExp("(^|\\s+)" + className + "(\\s+|$)"), ' ').strip();
  36. return element;
  37. };
  38. var lower = function(obj){
  39. return obj.toString().toLowerCase();
  40. };
  41. var collect = function(list,func){
  42. var x = [];
  43. for(var i=0; i<list.length; i++){
  44. if(func(list[i])){
  45. x.push(list[i]);
  46. }
  47. }
  48. return x;
  49. }
  50. var each = function(list,func){
  51. var x = [];
  52. for(var i=0; i<list.length; i++){
  53. x.push(func(list[i]));
  54. }
  55. return x;
  56. }
  57. var first = function(list,func){
  58. var x;
  59. for(var i=0; i<list.length; i++){
  60. x = func(list[i]);
  61. if(x){
  62. return list[i];
  63. }
  64. }
  65. }
  66. var merge = function(a,b){
  67. obj = {};
  68. for(prop in a){
  69. obj[prop] = a[prop];
  70. }
  71. for(prop in b){
  72. obj[prop] = b[prop];
  73. }
  74. return obj;
  75. }
  76. var deferUntilReady = function(callback){
  77. var readyRun = false;
  78. var ready = function(){
  79. if(readyRun){
  80. return;
  81. }
  82. readyRun = true;
  83. callback();
  84. }
  85. var domReady = null;
  86. if ( document.addEventListener ) {
  87. domReady = function() {
  88. document.removeEventListener( "DOMContentLoaded", domReady, false );
  89. ready();
  90. };
  91. } else if ( document.attachEvent ) {
  92. domReady = function() {
  93. if ( document.readyState === "complete" ) {
  94. document.detachEvent( "onreadystatechange", domReady );
  95. ready();
  96. }
  97. };
  98. }
  99. var bindRun = false;
  100. var bind = function() {
  101. if(bindRun) {
  102. return;
  103. }
  104. bindRun = true;
  105. if ( document.readyState === "complete" ) {
  106. return ready();
  107. }
  108. if ( document.addEventListener ) {
  109. document.addEventListener( "DOMContentLoaded", domReady, false );
  110. window.addEventListener( "load", ready, false );
  111. } else if ( document.attachEvent ) {
  112. document.attachEvent("onreadystatechange", domReady);
  113. window.attachEvent( "onload", ready );
  114. }
  115. };
  116. bind();
  117. }
  118. var dispatchEvent = function(obj, type, bubble, canCancel){
  119. if(bubble == undefined){
  120. bubble = true;
  121. }
  122. if(canCancel == undefined){
  123. canCancel = true;
  124. }
  125. if(document.createEvent){
  126. var e = document.createEvent('HTMLEvents');
  127. if(e.initEvent){
  128. e.initEvent(type, bubble, canCancel);
  129. }
  130. if(obj.dispatchEvent){
  131. obj.dispatchEvent(e);
  132. }
  133. } else if(obj.fireEvent){
  134. obj.fireEvent('on'+type);
  135. }
  136. };
  137. var setData = function(obj, data){
  138. for(var prop in data){
  139. obj.setAttribute('data-'+prop, data[prop]);
  140. }
  141. };
  142. var getData = function(obj){
  143. var data = {};
  144. for(var i=0; i<obj.attributes.length; i++){
  145. if(obj.attributes[i].nodeName.indexOf('data-')==0){
  146. data[obj.attributes[i].nodeName.split("data-")[1]] = obj.attributes[i].nodeValue;
  147. }
  148. }
  149. return data;
  150. };
  151. var randId = function(){
  152. return "rand_"+Math.random().toString().replace('.','');
  153. };
  154. var validElementId = function(element){
  155. if(element.id){
  156. return element.id;
  157. } else {
  158. element.id = randId();
  159. return element.id;
  160. }
  161. };
  162. if(!document.getElementsByClassName){
  163. document.getElementsByClassName = function(className, parentElement) {
  164. if (Prototype.BrowserFeatures.XPath) {
  165. var q = ".//*[contains(concat(' ', @class, ' '), ' " + className + " ')]";
  166. return document._getElementsByXPath(q, parentElement);
  167. } else {
  168. var children = ($(parentElement) || document.body).getElementsByTagName('*');
  169. var elements = [], child;
  170. for (var i = 0, length = children.length; i < length; i++) {
  171. child = children[i];
  172. if (Element.hasClassName(child, className))
  173. elements.push(Element.extend(child));
  174. }
  175. return elements;
  176. }
  177. };
  178. }
Add Comment
Please, Sign In to add comment