PluginProbe
VikBooking Hotel Booking Engine & PMS / 1.8.16
VikBooking Hotel Booking Engine & PMS v1.8.16
1.8.16 1.8.15 1.8.14 1.8.13 1.8.12 1.8.11 1.8.10 1.8.9 1.8.6 1.8.7 1.8.8 trunk 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 All 37 releases
← All changes | admin/resources/js_upload/utils.js +252 -0 1.6.2 → 1.8.16 View file →
@@ -1,0 +1,252 @@
1 +/**
2 + *
3 + * Utilities
4 + * Author: Stefan Petre www.eyecon.ro
5 + *
6 + */
7 +(function($) {
8 +EYE.extend({
9 + getPosition : function(e, forceIt)
10 + {
11 + var x = 0;
12 + var y = 0;
13 + var es = e.style;
14 + var restoreStyles = false;
15 + if (forceIt && jQuery.curCSS(e,'display') == 'none') {
16 + var oldVisibility = es.visibility;
17 + var oldPosition = es.position;
18 + restoreStyles = true;
19 + es.visibility = 'hidden';
20 + es.display = 'block';
21 + es.position = 'absolute';
22 + }
23 + var el = e;
24 + if (el.getBoundingClientRect) { // IE
25 + var box = el.getBoundingClientRect();
26 + x = box.left + Math.max(document.documentElement.scrollLeft, document.body.scrollLeft) - 2;
27 + y = box.top + Math.max(document.documentElement.scrollTop, document.body.scrollTop) - 2;
28 + } else {
29 + x = el.offsetLeft;
30 + y = el.offsetTop;
31 + el = el.offsetParent;
32 + if (e != el) {
33 + while (el) {
34 + x += el.offsetLeft;
35 + y += el.offsetTop;
36 + el = el.offsetParent;
37 + }
38 + }
39 + if (jQuery.browser.safari && jQuery.curCSS(e, 'position') == 'absolute' ) {
40 + x -= document.body.offsetLeft;
41 + y -= document.body.offsetTop;
42 + }
43 + el = e.parentNode;
44 + while (el && el.tagName.toUpperCase() != 'BODY' && el.tagName.toUpperCase() != 'HTML')
45 + {
46 + if (jQuery.curCSS(el, 'display') != 'inline') {
47 + x -= el.scrollLeft;
48 + y -= el.scrollTop;
49 + }
50 + el = el.parentNode;
51 + }
52 + }
53 + if (restoreStyles == true) {
54 + es.display = 'none';
55 + es.position = oldPosition;
56 + es.visibility = oldVisibility;
57 + }
58 + return {x:x, y:y};
59 + },
60 + getSize : function(e)
61 + {
62 + var w = parseInt(jQuery.curCSS(e,'width'), 10);
63 + var h = parseInt(jQuery.curCSS(e,'height'), 10);
64 + var wb = 0;
65 + var hb = 0;
66 + if (jQuery.curCSS(e, 'display') != 'none') {
67 + wb = e.offsetWidth;
68 + hb = e.offsetHeight;
69 + } else {
70 + var es = e.style;
71 + var oldVisibility = es.visibility;
72 + var oldPosition = es.position;
73 + es.visibility = 'hidden';
74 + es.display = 'block';
75 + es.position = 'absolute';
76 + wb = e.offsetWidth;
77 + hb = e.offsetHeight;
78 + es.display = 'none';
79 + es.position = oldPosition;
80 + es.visibility = oldVisibility;
81 + }
82 + return {w:w, h:h, wb:wb, hb:hb};
83 + },
84 + getClient : function(e)
85 + {
86 + var h, w;
87 + if (e) {
88 + w = e.clientWidth;
89 + h = e.clientHeight;
90 + } else {
91 + var de = document.documentElement;
92 + w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
93 + h = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;
94 + }
95 + return {w:w,h:h};
96 + },
97 + getScroll : function (e)
98 + {
99 + var t=0, l=0, w=0, h=0, iw=0, ih=0;
100 + if (e && e.nodeName.toLowerCase() != 'body') {
101 + t = e.scrollTop;
102 + l = e.scrollLeft;
103 + w = e.scrollWidth;
104 + h = e.scrollHeight;
105 + } else {
106 + if (document.documentElement) {
107 + t = document.documentElement.scrollTop;
108 + l = document.documentElement.scrollLeft;
109 + w = document.documentElement.scrollWidth;
110 + h = document.documentElement.scrollHeight;
111 + } else if (document.body) {
112 + t = document.body.scrollTop;
113 + l = document.body.scrollLeft;
114 + w = document.body.scrollWidth;
115 + h = document.body.scrollHeight;
116 + }
117 + if (typeof pageYOffset != 'undefined') {
118 + t = pageYOffset;
119 + l = pageXOffset;
120 + }
121 + iw = self.innerWidth||document.documentElement.clientWidth||document.body.clientWidth||0;
122 + ih = self.innerHeight||document.documentElement.clientHeight||document.body.clientHeight||0;
123 + }
124 + return { t: t, l: l, w: w, h: h, iw: iw, ih: ih };
125 + },
126 + getMargins : function(e, toInteger)
127 + {
128 + var t = jQuery.curCSS(e,'marginTop') || '';
129 + var r = jQuery.curCSS(e,'marginRight') || '';
130 + var b = jQuery.curCSS(e,'marginBottom') || '';
131 + var l = jQuery.curCSS(e,'marginLeft') || '';
132 + if (toInteger)
133 + return {
134 + t: parseInt(t, 10)||0,
135 + r: parseInt(r, 10)||0,
136 + b: parseInt(b, 10)||0,
137 + l: parseInt(l, 10)
138 + };
139 + else
140 + return {t: t, r: r, b: b, l: l};
141 + },
142 + getPadding : function(e, toInteger)
143 + {
144 + var t = jQuery.curCSS(e,'paddingTop') || '';
145 + var r = jQuery.curCSS(e,'paddingRight') || '';
146 + var b = jQuery.curCSS(e,'paddingBottom') || '';
147 + var l = jQuery.curCSS(e,'paddingLeft') || '';
148 + if (toInteger)
149 + return {
150 + t: parseInt(t, 10)||0,
151 + r: parseInt(r, 10)||0,
152 + b: parseInt(b, 10)||0,
153 + l: parseInt(l, 10)
154 + };
155 + else
156 + return {t: t, r: r, b: b, l: l};
157 + },
158 + getBorder : function(e, toInteger)
159 + {
160 + var t = jQuery.curCSS(e,'borderTopWidth') || '';
161 + var r = jQuery.curCSS(e,'borderRightWidth') || '';
162 + var b = jQuery.curCSS(e,'borderBottomWidth') || '';
163 + var l = jQuery.curCSS(e,'borderLeftWidth') || '';
164 + if (toInteger)
165 + return {
166 + t: parseInt(t, 10)||0,
167 + r: parseInt(r, 10)||0,
168 + b: parseInt(b, 10)||0,
169 + l: parseInt(l, 10)||0
170 + };
171 + else
172 + return {t: t, r: r, b: b, l: l};
173 + },
174 + traverseDOM : function(nodeEl, func)
175 + {
176 + func(nodeEl);
177 + nodeEl = nodeEl.firstChild;
178 + while(nodeEl){
179 + EYE.traverseDOM(nodeEl, func);
180 + nodeEl = nodeEl.nextSibling;
181 + }
182 + },
183 + getInnerWidth : function(el, scroll) {
184 + var offsetW = el.offsetWidth;
185 + return scroll ? Math.max(el.scrollWidth,offsetW) - offsetW + el.clientWidth:el.clientWidth;
186 + },
187 + getInnerHeight : function(el, scroll) {
188 + var offsetH = el.offsetHeight;
189 + return scroll ? Math.max(el.scrollHeight,offsetH) - offsetH + el.clientHeight:el.clientHeight;
190 + },
191 + getExtraWidth : function(el) {
192 + if($.boxModel)
193 + return (parseInt($.curCSS(el, 'paddingLeft'))||0)
194 + + (parseInt($.curCSS(el, 'paddingRight'))||0)
195 + + (parseInt($.curCSS(el, 'borderLeftWidth'))||0)
196 + + (parseInt($.curCSS(el, 'borderRightWidth'))||0);
197 + return 0;
198 + },
199 + getExtraHeight : function(el) {
200 + if($.boxModel)
201 + return (parseInt($.curCSS(el, 'paddingTop'))||0)
202 + + (parseInt($.curCSS(el, 'paddingBottom'))||0)
203 + + (parseInt($.curCSS(el, 'borderTopWidth'))||0)
204 + + (parseInt($.curCSS(el, 'borderBottomWidth'))||0);
205 + return 0;
206 + },
207 + isChildOf: function(parentEl, el, container) {
208 + if (parentEl == el) {
209 + return true;
210 + }
211 + if (!el || !el.nodeType || el.nodeType != 1) {
212 + return false;
213 + }
214 + if (parentEl.contains && !$.browser.safari) {
215 + return parentEl.contains(el);
216 + }
217 + if ( parentEl.compareDocumentPosition ) {
218 + return !!(parentEl.compareDocumentPosition(el) & 16);
219 + }
220 + var prEl = el.parentNode;
221 + while(prEl && prEl != container) {
222 + if (prEl == parentEl)
223 + return true;
224 + prEl = prEl.parentNode;
225 + }
226 + return false;
227 + },
228 + centerEl : function(el, axis)
229 + {
230 + var clientScroll = EYE.getScroll();
231 + var size = EYE.getSize(el);
232 + if (!axis || axis == 'vertically')
233 + $(el).css(
234 + {
235 + top: clientScroll.t + ((Math.min(clientScroll.h,clientScroll.ih) - size.hb)/2) + 'px'
236 + }
237 + );
238 + if (!axis || axis == 'horizontally')
239 + $(el).css(
240 + {
241 + left: clientScroll.l + ((Math.min(clientScroll.w,clientScroll.iw) - size.wb)/2) + 'px'
242 + }
243 + );
244 + }
245 +});
246 +if (!$.easing.easeout) {
247 + $.easing.easeout = function(p, n, firstNum, delta, duration) {
248 + return -delta * ((n=n/duration-1)*n*n*n - 1) + firstNum;
249 + };
250 +}
251 +
252 +})(jQuery);