PluginProbe
VikBooking Hotel Booking Engine & PMS / trunk
VikBooking Hotel Booking Engine & PMS vtrunk
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 1.7.3 All 36 releases
vikbooking / admin / resources / js_upload / utils.js

utils.js in VikBooking Hotel Booking Engine & PMS trunk, at admin/resources/js_upload/utils.js

252 lines 6.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
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);