1// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2// @license: Mad4Media Javascipt License - copyright Mad4Media - Fahrettin Kutyol - All rights reserved ++ 3// (re-) publishing or forking for any purpose of commercial or non-commercial use is not allowed. ++ 4// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5 6 7var m4jScrollConfirm = { 8 fields: [], 9 submitShows: 1, 10 length: 0, 11 init: function(){ 12 var self = m4jScrollConfirm; 13 var fields = dojo.query(".m4jScrollConfirm"); 14 15 fields.forEach(dojo.hitch(this,function(node){ 16 node.scrollTop = 0; 17 node.bounds = dojo.coords(node); 18 var isScroll = node.bounds.h - node.scrollHeight - dojo._getBorderExtents(node).h; 19 if(isScroll){ 20 node.scrolledToEnd = 0; 21 node.onscroll = function(el){m4jScrollConfirm.scrollPosition(this);}; 22 self.fields.push(node); 23 }else{ 24 var hiColor = node.getAttribute("lang"); 25 if(hiColor) dojo.style(node,{borderColor: hiColor}); 26 } 27 })); 28 self.length = self.fields.length; 29 if( self.length ){ 30 self.submitShows = 0; 31 var wrap = dojo.byId("m4jSubmitWrap"); 32 wrap.oldDisplay = wrap.style.display; 33 dojo.style(wrap,{display:"none"}); 34 m4jCancelSubmit = true; 35 } 36 }, 37 38 check: function(){ 39 if(this.submitShows) return false; 40 var count = 0; 41 var length = this.length; 42 dojo.forEach(this.fields,dojo.hitch(this,function(node){ 43 if(node.scrolledToEnd) count++; 44 })); 45 if(!(length - count)){ 46 var wrap = dojo.byId("m4jSubmitWrap"); 47 var displayValue = wrap.oldDisplay ? wrap.oldDisplay : "block"; 48 dojo.style(wrap,{display: displayValue, opacity: 0}); 49 dojo.anim(wrap,{opacity: 1}); 50 m4jCancelSubmit = false; 51 this.submitShows = 1; 52 } 53 }, 54 55 scrollPosition: function(node){ 56 var bounds = node.bounds; 57 var isEndMath = node.scrollHeight - bounds.h - node.scrollTop; 58 if(isEndMath <= 0){ 59 var hiColor = node.getAttribute("lang"); 60 if(hiColor) dojo.style(node,{borderColor: hiColor}); 61 node.scrolledToEnd = 1; 62 m4jScrollConfirm.check(); 63 } 64 65 } 66} 67 68 69 70dojo.addOnLoad(m4jScrollConfirm.init);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.