text: angular.module("jlUtil",[]).factory("util",["$log","jlWindow","$timeout","$document",function(a,b,c){return{element:function(a){if("window"==a)return b;var c=jQuery(a);return 0===c.length?null:c},bind:function(a,b){return function(){b.apply(a,arguments)}},onTransitionEnd:function(a,b){a.on("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd",b)},debounce:function(a,b){var d=0,e=null;return function(){var f=(new Date).getTime(),g=arguments;if(e&&(c.cancel(e),e=null),f-d>=b)a.apply(void 0,g),d=f;else{var h=d;e=c(function(){a.apply(void 0,g),d=h+b},b-(f-d))}}},isWindow:function(a){var b=a.get(0);return $.isWindow(b)},posWithinParent:function(a,b){return this.isWindow(b)?{x:a.offset().left,y:a.offset().top}:{x:a.offset().left-b.offset().left+b.scrollLeft(),y:a.offset().top-b.offset().top+b.scrollTop()}},relativePos:function(a,b){return this.isWindow(b)?{x:a.offset().left-b.scrollLeft(),y:a.offset().top-b.scrollTop()}:{x:a.offset().left-b.offset().left,y:a.offset().top-b.offset().top}},shallowCopy:function(a){var b={};for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b},setYWithinParent:function(b,c,d){var e=parseInt(d);return isNaN(e)?void a.error("Error parsing int expression in util.setYWithinParent"):void b.offset(this.isWindow(c)?{top:e}:{top:c.offset().top+e-c.scrollTop()})},setRelativeY:function(b,c,d){return y=parseInt(d),isNaN(y)?void a.error("Error parsing int expression in util.setRelativeY"):void b.offset(this.isWindow(c)?{top:y+c.scrollTop()}:{top:c.offset().top+y})}}}]).factory("jlWindow",["$window",function(a){return jQuery(a)}]).factory("jlDocument",["$document",function(a){return jQuery(a)}]);