Project

General

Profile

« Previous | Next » 

Revision 5d20692e

Added by Andreas Kohlbecker over 8 years ago

Normalize all the line endings

View differences:

themes/zen_dataportal/js/colorpicker/js/utils.js
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
	
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 252
})(jQuery);

Also available in: Unified diff