1 | /* |
---|
2 | * Copyright(c) 2000-2007 LOCKON CO.,LTD. All Rights Reserved. |
---|
3 | * |
---|
4 | * http://www.lockon.co.jp/ |
---|
5 | */ |
---|
6 | // ¥µ¥¤¥º´ÉÍý¥¯¥é¥¹¤ÎÄêµÁ |
---|
7 | function SC_Size() { |
---|
8 | this.id = ''; // ID |
---|
9 | this.left = 0; // ÇÛÃÖ¤¹¤ëY¼´ºÂɸ |
---|
10 | this.top = 0; // ÇÛÃÖ¤¹¤ëX¼´ºÂɸ |
---|
11 | this.width = 0; // ¥ª¥Ö¥¸¥§¥¯¥È¤ÎÉý |
---|
12 | this.height = 0; // ¥ª¥Ö¥¸¥§¥¯¥È¤Î¹â¤µ |
---|
13 | this.target_id = ''; // ÇÛÃÖ¾ì½ê¡Êº¸¥Ê¥Ó¤È¤«¡Ë |
---|
14 | this.margin = 10; // ¾å¤Î¥ª¥Ö¥¸¥§¥¯¥È¤È¤ÎÉý |
---|
15 | this.obj; |
---|
16 | }; |
---|
17 | |
---|
18 | // ÊÑ¿ôÀë¸À |
---|
19 | var defUnused = 500; // ̤»ÈÍÑÎΰè¤Î¥Ç¥Õ¥©¥ë¥È¤Î¹â¤µ |
---|
20 | var defNavi = 400; // º¸±¦¥Ê¥Ó¤Î¥Ç¥Õ¥©¥ë¥È¤Î¹â¤µ |
---|
21 | var defMainNavi = 100; // ¥á¥¤¥ó¾å²¼¤Î¥Ç¥Õ¥©¥ë¥È¤Î¹â¤µ |
---|
22 | var defMain = 200; // ¥á¥¤¥ó¤Î¥Ç¥Õ¥©¥ë¥È¤Î¹â¤µ |
---|
23 | |
---|
24 | var NowMaxHeight = 0; // ¸½ºß¤ÎºÇÂç¤Î¹â¤µ |
---|
25 | var MainHeight = 200; |
---|
26 | |
---|
27 | var marginUnused = 688; // ̤»ÈÍÑÎΰè¤Îº¸¥Þ¡¼¥¸¥ó |
---|
28 | var marginLeftNavi = 180; // º¸¥Ê¥Ó¤Îº¸¥Þ¡¼¥¸¥ó |
---|
29 | var marginRightNavi = 512; // ±¦¥Ê¥Ó¤Îº¸¥Þ¡¼¥¸¥ó |
---|
30 | var marginMain = 348; // ¥á¥¤¥ó¾å²¼¤Îº¸¥Þ¡¼¥¸¥ó |
---|
31 | var marginMainFootTop= 595; // ¥á¥¤¥ó²¼¤Î¾å¥Þ¡¼¥¸¥ó |
---|
32 | |
---|
33 | var gDragged = ""; // ¥É¥é¥Ã¥°Ã楪¥Ö¥¸¥§¥¯¥È |
---|
34 | var gDropTarget = ""; // ¥É¥é¥Ã¥°³«»Ï»þ¤ÎDropTarget |
---|
35 | |
---|
36 | var arrObj = new Object(); // ¥Ö¥í¥Ã¥¯¥ª¥Ö¥¸¥§¥¯¥È³ÊǼÍÑ |
---|
37 | |
---|
38 | var mouseFlg = false; |
---|
39 | |
---|
40 | var all_elms; // div¥¿¥°¥ª¥Ö¥¸¥§¥¯¥È³ÊǼÍÑ |
---|
41 | |
---|
42 | // ¥¦¥£¥ó¥É¥¦¥µ¥¤¥º |
---|
43 | var scrX; |
---|
44 | var scrY; |
---|
45 | |
---|
46 | // ¥¤¥Ù¥ó¥È¤Î´ØÏ¢ÉÕ¤±¤ò¹Ô¤¦ |
---|
47 | function addEvent( elm, evtType, fn, useCapture) { |
---|
48 | |
---|
49 | if (elm.addEventListener) { |
---|
50 | elm.addEventListener(evtType, fn, useCapture); |
---|
51 | return true; |
---|
52 | |
---|
53 | } |
---|
54 | else if (elm.attachEvent) { |
---|
55 | |
---|
56 | var r = elm.attachEvent('on' + evtType, fn); |
---|
57 | return r; |
---|
58 | |
---|
59 | } |
---|
60 | else { |
---|
61 | elm['on'+evtType] = fn; |
---|
62 | |
---|
63 | } |
---|
64 | |
---|
65 | } |
---|
66 | |
---|
67 | |
---|
68 | // ¥¤¥Ù¥ó¥È¤Î´ØÏ¢ÉÕ¤±¤ò²ò½ü |
---|
69 | function removeEvent( elm, evtType, fn, useCapture) { |
---|
70 | |
---|
71 | if (elm.removeEventListener) { |
---|
72 | |
---|
73 | elm.removeEventListener(evtType, fn, useCapture); |
---|
74 | return true; |
---|
75 | |
---|
76 | } |
---|
77 | else if (elm.detachEvent) { |
---|
78 | |
---|
79 | var r = elm.detachEvent('on' + evtType, fn); |
---|
80 | return r; |
---|
81 | |
---|
82 | } |
---|
83 | else { |
---|
84 | |
---|
85 | elm['on'+evtType] = fn; |
---|
86 | |
---|
87 | } |
---|
88 | |
---|
89 | } |
---|
90 | |
---|
91 | // ¥Þ¥¦¥¹¥«¡¼¥½¥ë¤òÊѹ¹ |
---|
92 | function setCursor ( elm, curtype ) { |
---|
93 | elm.style.cursor = curtype; |
---|
94 | } |
---|
95 | |
---|
96 | // ¥ª¥Ö¥¸¥§¥¯¥È¤ÎÆ©ÌÀÅÙ¤òÊѹ¹ |
---|
97 | function setOpacity(node,val) { |
---|
98 | |
---|
99 | if (node.filters) { |
---|
100 | node.filters["alpha"].opacity = val*100; |
---|
101 | } else if (node.style.opacity) { |
---|
102 | node.style.opacity = val; |
---|
103 | } |
---|
104 | } |
---|
105 | |
---|
106 | // Zindex¤òÊѹ¹¤¹¤ë¡ÊÁ°ÌÌɽ¼¨ÀÚÂØ¡Ë |
---|
107 | function setZindex(node, val) { |
---|
108 | node.style.zIndex = val; |
---|
109 | // alert(val); |
---|
110 | } |
---|
111 | |
---|
112 | // Ãͤò¼èÆÀ |
---|
113 | function getAttrValue ( elm, attrname ) { |
---|
114 | |
---|
115 | if (typeof(elm.attributes[ attrname ]) != 'undefined') { |
---|
116 | return elm.attributes[ attrname ].nodeValue; |
---|
117 | } |
---|
118 | |
---|
119 | /* |
---|
120 | // if (typeof(elm.attributes.getNamedItem(attrname)) != 'object'){ |
---|
121 | val = ""; |
---|
122 | if((typeof ScriptEngineMajorVersion)=='function') |
---|
123 | { |
---|
124 | if( Math.floor(ScriptEngineMajorVersion()) == 5 && |
---|
125 | navigator.userAgent.indexOf("Win")!=-1) //win-e5Âбþ |
---|
126 | { |
---|
127 | val = elm.attributes.item(attrname) |
---|
128 | } |
---|
129 | else |
---|
130 | { |
---|
131 | val = elm.attributes.getNamedItem(attrname) |
---|
132 | } |
---|
133 | } else { |
---|
134 | val = elm.attributes.getNamedItem(attrname) |
---|
135 | } |
---|
136 | |
---|
137 | alert(val.value); |
---|
138 | |
---|
139 | return val.value; |
---|
140 | // } |
---|
141 | */ |
---|
142 | } |
---|
143 | |
---|
144 | // Ãͤò¥»¥Ã¥È |
---|
145 | function setAttrValue ( elm, attrname, val ) { |
---|
146 | elm.attributes[ attrname ].nodeValue = val; |
---|
147 | } |
---|
148 | |
---|
149 | // ¥ª¥Ö¥¸¥§¥¯¥È¤ÎXºÂɸ¤ò¼èÆÀ |
---|
150 | function getX ( elm ) { |
---|
151 | // return parseInt(elm.style.left); |
---|
152 | return parseInt(elm.offsetLeft); |
---|
153 | } |
---|
154 | |
---|
155 | // ¥ª¥Ö¥¸¥§¥¯¥È¤ÎYºÂɸ¤ò¼èÆÀ |
---|
156 | function getY ( elm ) { |
---|
157 | return parseInt(elm.offsetTop); |
---|
158 | // return parseInt(elm.style.top); |
---|
159 | } |
---|
160 | |
---|
161 | // XºÂɸ¤ò¼èÆÀ |
---|
162 | function getEventX ( evt ) { |
---|
163 | return evt.clientX ? evt.clientX : evt.pageX; |
---|
164 | } |
---|
165 | |
---|
166 | // YºÂɸ¤ò¼èÆÀ |
---|
167 | function getEventY ( evt ) { |
---|
168 | return evt.clientY ? evt.clientY : evt.pageY; |
---|
169 | } |
---|
170 | |
---|
171 | // ¥ª¥Ö¥¸¥§¥¯¥È¤ÎÉý¤ò¼èÆÀ |
---|
172 | function getWidth ( elm ) { |
---|
173 | return parseInt( elm.style.width ); |
---|
174 | } |
---|
175 | |
---|
176 | // ¥ª¥Ö¥¸¥§¥¯¥È¤Î¹â¤µ¤ò¼èÆÀ |
---|
177 | function getHeight ( elm ) { |
---|
178 | // return parseInt( elm.style.height ); |
---|
179 | return parseInt( elm.offsetHeight ); |
---|
180 | } |
---|
181 | |
---|
182 | // ¥Ú¡¼¥¸¤Î²Ä»ëÎΰè¤ÎXºÂɸ¤ò¼èÆÀ¤¹¤ë |
---|
183 | function getPageScrollX() |
---|
184 | { |
---|
185 | var x = 0; |
---|
186 | |
---|
187 | if (document.body && document.body.scrollLeft != null) { |
---|
188 | x = document.body.scrollLeft; |
---|
189 | } else if (document.documentElement && document.documentElement.scrollLeft != null) { |
---|
190 | x = document.documentElement.scrollLeft; |
---|
191 | } else if (window.scrollX != null) { |
---|
192 | x = window.scrollX; |
---|
193 | } else if (window.pageXOffset != null) { |
---|
194 | x = window.pageXOffset; |
---|
195 | } |
---|
196 | |
---|
197 | return x; |
---|
198 | } |
---|
199 | |
---|
200 | // ¥Ú¡¼¥¸¤Î²Ä»ëÎΰè¤ÎYºÂɸ¤ò¼èÆÀ¤¹¤ë |
---|
201 | function getPageScrollY() |
---|
202 | { |
---|
203 | var y = 0; |
---|
204 | |
---|
205 | if (document.body && document.body.scrollTop != null) { |
---|
206 | y = document.body.scrollTop; |
---|
207 | } else if (document.documentElement && document.documentElement.scrollTop != null) { |
---|
208 | y = document.documentElement.scrollTop; |
---|
209 | } else if (window.scrollY != null) { |
---|
210 | y = window.scrollY; |
---|
211 | } else if (window.pageYOffset != null) { |
---|
212 | y = window.pageYOffset; |
---|
213 | } |
---|
214 | |
---|
215 | return y; |
---|
216 | } |
---|
217 | |
---|
218 | |
---|
219 | // ¥ª¥Ö¥¸¥§¥¯¥È¤ÎºÂɸ¤ò¥»¥Ã¥È |
---|
220 | function moveElm ( elm, x, y ) { |
---|
221 | elm.style.left = x + 'px'; |
---|
222 | elm.style.top = y + 'px'; |
---|
223 | } |
---|
224 | |
---|
225 | // ¥Þ¥¦¥¹¥À¥¦¥ó¥¤¥Ù¥ó¥È |
---|
226 | function onMouseDown (evt) { |
---|
227 | |
---|
228 | var target = evt.target ? evt.target : evt.srcElement; |
---|
229 | var x = getEventX ( evt ); |
---|
230 | var y = getEventY ( evt ); |
---|
231 | |
---|
232 | // |
---|
233 | // Save Information to Globals |
---|
234 | // |
---|
235 | if (mouseFlg == false) { |
---|
236 | |
---|
237 | gDragged = target; |
---|
238 | |
---|
239 | gDeltaX = x - getX(gDragged); |
---|
240 | gDeltaY = y - getY(gDragged); |
---|
241 | |
---|
242 | gDraggedId = getAttrValue ( gDragged, 'did' ); |
---|
243 | setCursor ( gDragged, 'move' ); |
---|
244 | |
---|
245 | gOrgX = getX ( gDragged ); |
---|
246 | gOrgY = getY ( gDragged ); |
---|
247 | gtarget_id = getAttrValue ( gDragged, 'target_id' ); |
---|
248 | |
---|
249 | // |
---|
250 | // Set |
---|
251 | // |
---|
252 | |
---|
253 | // ¥É¥é¥Ã¥°Ãæ¤ÏȾƩÌÀ |
---|
254 | setOpacity ( gDragged, 0.6 ); |
---|
255 | |
---|
256 | // ¥É¥é¥Ã¥°Ãæ¤ÏºÇÁ°ÌÌɽ¼¨ |
---|
257 | setZindex ( gDragged , 2); |
---|
258 | |
---|
259 | addEvent ( document, 'mousemove', onMouseMove, false ); |
---|
260 | addEvent ( document, 'mouseup', onMouseUp, false ); |
---|
261 | |
---|
262 | // ¥É¥é¥Ã¥°¤ò³«»Ï¤·¤¿¤È¤¤Ï¹â¤µ¤ò°ìÅÙ½é´ü²½¤¹¤ë¡£ |
---|
263 | NowMaxHeight = defNavi; |
---|
264 | |
---|
265 | mouseFlg = true; |
---|
266 | } |
---|
267 | } |
---|
268 | |
---|
269 | |
---|
270 | // ¥Þ¥¦¥¹¥à¡¼¥Ö¥¤¥Ù¥ó¥È |
---|
271 | function onMouseMove(evt) { |
---|
272 | |
---|
273 | // ¸½ºß¤ÎºÂɸ¤ò¼èÆÀ |
---|
274 | var x = getEventX ( evt ) + document.body.scrollLeft; // ¥Þ¥¦¥¹ºÂɸ X |
---|
275 | var y = getEventY ( evt ) + document.body.scrollTop; // ¥Þ¥¦¥¹ºÂɸ Y |
---|
276 | var nowleft = getEventX ( evt ) - gDeltaX; // ¥ª¥Ö¥¸¥§¥¯¥ÈºÂɸ LEFT |
---|
277 | var nowtop = getEventY ( evt ) - gDeltaY; // ¥ª¥Ö¥¸¥§¥¯¥ÈºÂɸ TOP |
---|
278 | |
---|
279 | // ¥ª¥Ö¥¸¥§¥¯¥È¤ò°ÜÆ° |
---|
280 | moveElm ( gDragged, nowleft, nowtop ); |
---|
281 | |
---|
282 | for ( var i = 0; i < all_elms.length; i++ ) { |
---|
283 | // drop_target¾å¤Ë¤¤¿¾ì¹ç¤Ë¤Î¤ß½èÍý¤ò¹Ô¤¦ |
---|
284 | if ( isEventOnElm ( evt, all_elms[i].id ) ) { |
---|
285 | if ( all_elms[i].attributes['tid'] ) { |
---|
286 | var tid = getAttrValue ( all_elms[i], 'tid' ); |
---|
287 | |
---|
288 | // ÇØ·Ê¿§¤ÎÊѹ¹ ̤»ÈÍÑÎΰè¤ÏÊѹ¹¤·¤Ê¤¤ |
---|
289 | all_elms[i].style.background="#ffffdd"; |
---|
290 | |
---|
291 | // target_id ¤Î½ñ¤´¹¤¨ |
---|
292 | setAttrValue ( gDragged, 'target_id', tid ); |
---|
293 | |
---|
294 | //objCheckLine.style.top = parseInt(nowtop) + parseInt(gDragged.style.height) / 2 + 'px'; |
---|
295 | //objCheckLine.style.top = y; |
---|
296 | |
---|
297 | // ÇÛÎó¤ÎºÆºîÀ® |
---|
298 | fnCreateArr(1, y, x); |
---|
299 | // ÇÛÎó¤ÎʤÓÂؤ¨ |
---|
300 | fnChangeObj(tid); |
---|
301 | } |
---|
302 | }else{ |
---|
303 | if ( all_elms[i].attributes['tid'] && all_elms[i].style.background!="#ffffff") { |
---|
304 | // ÇØ·Ê¿§¤ÎÊѹ¹ |
---|
305 | all_elms[i].style.background="#ffffff"; |
---|
306 | } |
---|
307 | } |
---|
308 | } |
---|
309 | } |
---|
310 | |
---|
311 | // ¥Þ¥¦¥¹¥¢¥Ã¥×¥¤¥Ù¥ó¥È |
---|
312 | function onMouseUp(evt) { |
---|
313 | // ¥¤¥Ù¥ó¥È¤Î´ØÏ¢ÉÕ¤±²ò½ü |
---|
314 | if (mouseFlg == true) { |
---|
315 | removeEvent ( document, 'mousemove', onMouseMove, false ); |
---|
316 | removeEvent ( document, 'mouseup', onMouseUp, false ); |
---|
317 | mouseFlg = false; |
---|
318 | } |
---|
319 | |
---|
320 | if ( !isOnDropTarget (evt) ) { |
---|
321 | // ¸µ¤Î°ÌÃÖ¤ËÌ᤹ |
---|
322 | moveElm ( gDragged, gOrgX, gOrgY ); |
---|
323 | setAttrValue ( gDragged, 'target_id', gtarget_id ); |
---|
324 | |
---|
325 | // ÇÛÎó¤ÎºÆºîÀ® |
---|
326 | fnCreateArr(1, gOrgY, gOrgX); |
---|
327 | } |
---|
328 | |
---|
329 | // hiddenÍ×ÁǤνñ¤´¹¤¨ |
---|
330 | var did = getAttrValue( gDragged, 'did' ); |
---|
331 | var target_id = "target_id_"+did; |
---|
332 | document.form1[target_id].value = getAttrValue( gDragged, 'target_id' ); |
---|
333 | |
---|
334 | // ȾƩÌÀ¡¢¥Þ¥¦¥¹¥Ý¥¤¥ó¥¿¡¢ºÇÁ°Ì̽èÍý¤òÌ᤹ |
---|
335 | setOpacity( gDragged, 1); |
---|
336 | setCursor ( gDragged, 'move' ); |
---|
337 | setZindex ( gDragged , 1); |
---|
338 | |
---|
339 | // ʤÓÂؤ¨ |
---|
340 | fnSortObj(); |
---|
341 | |
---|
342 | // ÇØ·Ê¿§¤òÌ᤹ |
---|
343 | for ( var i = 0; i < all_elms.length; i++ ) { |
---|
344 | // drop_target¾å¤Ë¤¤¿¾ì¹ç¤Ë¤Î¤ß½èÍý¤ò¹Ô¤¦ |
---|
345 | if ( isEventOnElm ( evt, all_elms[i].id ) && all_elms[i].attributes['tid']) { |
---|
346 | // ÇØ·Ê¿§¤ÎÊѹ¹ |
---|
347 | all_elms[i].style.background="#ffffff"; |
---|
348 | } |
---|
349 | } |
---|
350 | } |
---|
351 | |
---|
352 | // DropTarget¾å¤Ë¥ª¥Ö¥¸¥§¥¯¥È¤¬Í褿¤«¤òȽÃǤ¹¤ë |
---|
353 | function isOnDropTarget ( evt ) { |
---|
354 | |
---|
355 | for ( var i=0; i<all_elms.length; i++ ) { |
---|
356 | if ( isEventOnElm ( evt, all_elms[i].id ) ) { |
---|
357 | if ( all_elms[i].attributes['tid'] ) { |
---|
358 | return true; |
---|
359 | } |
---|
360 | } |
---|
361 | } |
---|
362 | return false; |
---|
363 | } |
---|
364 | function isEventOnElm (evt, drop_target_id) { |
---|
365 | |
---|
366 | if (drop_target_id == '') { |
---|
367 | return ''; |
---|
368 | } |
---|
369 | |
---|
370 | var evtX = getEventX(evt) + getPageScrollX(); |
---|
371 | var evtY = getEventY(evt) + getPageScrollY(); |
---|
372 | |
---|
373 | var drop_target = document.getElementById( drop_target_id ); |
---|
374 | |
---|
375 | drp_left = getX( drop_target ); |
---|
376 | drp_top = getY( drop_target ); |
---|
377 | |
---|
378 | var x = drp_left; |
---|
379 | var y = drp_top; |
---|
380 | |
---|
381 | var width = getWidth ( drop_target ); |
---|
382 | var height = getHeight ( drop_target ); |
---|
383 | |
---|
384 | // alert(evtX +" / "+ x +" / "+ evtY +" / "+ y +" / "+ width +" / "+ height); |
---|
385 | |
---|
386 | return evtX > x && evtY > y && evtX < x + width && evtY < y + height; |
---|
387 | } |
---|
388 | |
---|
389 | // ¥ª¥Ö¥¸¥§¥¯¥È¤ÎʤÓÂؤ¨¤ò¹Ô¤¦ |
---|
390 | function fnSortObj(){ |
---|
391 | fnSetTargetHeight(); |
---|
392 | for ( var cnt = 0; cnt < all_elms.length; cnt++ ) { |
---|
393 | |
---|
394 | // class¤¬ drop_target ¤Î¾ì¹ç¤Î¤ß½èÍý¤ò¹Ô¤¦ |
---|
395 | if ( getAttrValue ( all_elms[cnt], 'class' ) == 'drop_target' ) { |
---|
396 | var tid = getAttrValue ( all_elms[cnt], 'tid' ); |
---|
397 | |
---|
398 | // ÇÛÎó¤ÎʤÓÂؤ¨ |
---|
399 | fnChangeObj(tid); |
---|
400 | |
---|
401 | // ÇÛÃÖ |
---|
402 | fnSetObj( tid, cnt ); |
---|
403 | } |
---|
404 | } |
---|
405 | } |
---|
406 | |
---|
407 | function alerttest(msg, x, y){ |
---|
408 | alert(msg); |
---|
409 | } |
---|
410 | |
---|
411 | // ÇÛÎó¤ÎºîÀ® |
---|
412 | function fnCreateArr( addEvt , top , left ){ |
---|
413 | |
---|
414 | var arrObjtmp = new Object(); |
---|
415 | arrObjtmp['LeftNavi'] = Array(); |
---|
416 | arrObjtmp['RightNavi'] = Array(); |
---|
417 | arrObjtmp['MainHead'] = Array(); |
---|
418 | arrObjtmp['MainFoot'] = Array(); |
---|
419 | arrObjtmp['Unused'] = Array(); |
---|
420 | |
---|
421 | for ( var i = 1; i < all_elms.length; i++ ) { |
---|
422 | // class¤¬ dragged_elm ¤Î¾ì¹ç¤Î¤ß½èÍý¤ò¹Ô¤¦ |
---|
423 | if ( getAttrValue ( all_elms[i], 'class' ) == 'dragged_elm' ) { |
---|
424 | |
---|
425 | // ¥Þ¥¦¥¹¥À¥¦¥ó¥¤¥Ù¥ó¥È¤È´ØÏ¢ÉÕ¤±¤ò¹Ô¤¦ |
---|
426 | if (addEvt == 0) { |
---|
427 | addEvent ( all_elms[i], 'mousedown', onMouseDown, false ); |
---|
428 | } |
---|
429 | |
---|
430 | var target_id = getAttrValue ( all_elms[i], 'target_id' ); |
---|
431 | var len = arrObjtmp[target_id].length; |
---|
432 | var did = getAttrValue ( all_elms[i], 'did' ); |
---|
433 | |
---|
434 | arrObjtmp[target_id][len] = new SC_Size(); |
---|
435 | arrObjtmp[target_id][len].id = did; |
---|
436 | arrObjtmp[target_id][len].obj = all_elms[i]; |
---|
437 | arrObjtmp[target_id][len].width = getWidth( all_elms[i] ); |
---|
438 | arrObjtmp[target_id][len].height = getHeight( all_elms[i] ); |
---|
439 | |
---|
440 | // ¥É¥é¥Ã¥°Ãæ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤¬Â¸ºß¤¹¤ì¤Ð¡¢¤½¤Î¥ª¥Ö¥¸¥§¥¯¥È¤À¤±¥Þ¥¦¥¹¥Ý¥¤¥ó¥¿¤ÎºÂɸ¤ò»ØÄꤹ¤ë¡£ |
---|
441 | if (gDragged != "") { |
---|
442 | if (did != getAttrValue ( gDragged, 'did' )) { |
---|
443 | // top ¤Ï¾ï¤Ë¥ª¥Ö¥¸¥§¥¯¥È¤ÎÃæ¿´¤ò¼èÆÀ¤¹¤ë¤è¤¦¤Ë¤¹¤ë |
---|
444 | arrObjtmp[target_id][len].top = (parseInt(getY( all_elms[i] )) + arrObjtmp[target_id][len].height / 2 ); |
---|
445 | arrObjtmp[target_id][len].left = getX( all_elms[i] ); |
---|
446 | }else { |
---|
447 | arrObjtmp[target_id][len].top = top; |
---|
448 | arrObjtmp[target_id][len].left = left; |
---|
449 | } |
---|
450 | } else { |
---|
451 | // top ¤Ï¾ï¤Ë¥ª¥Ö¥¸¥§¥¯¥È¤ÎÃæ¿´¤ò¼èÆÀ¤¹¤ë¤è¤¦¤Ë¤¹¤ë |
---|
452 | arrObjtmp[target_id][len].top = i; |
---|
453 | arrObjtmp[target_id][len].left = getX( all_elms[i] ); |
---|
454 | } |
---|
455 | } |
---|
456 | } |
---|
457 | |
---|
458 | arrObj = arrObjtmp; |
---|
459 | } |
---|
460 | |
---|
461 | // ÇÛÎó¤ÎʤÓÂؤ¨ (¥Ð¥Ö¥ë¥½¡¼¥È¤ÇʤÓÂؤ¨¤ò¹Ô¤¦) |
---|
462 | function fnChangeObj( tid ){ |
---|
463 | for ( var i = 0; i < arrObj[tid].length-1; i++ ) { |
---|
464 | for ( var j = arrObj[tid].length-1; j > i; j-- ) { |
---|
465 | if ( arrObj[tid][j].top < arrObj[tid][i].top ) { |
---|
466 | var arrTemp = new Array(); |
---|
467 | arrTemp = arrObj[tid][j]; |
---|
468 | arrObj[tid][j] = arrObj[tid][i]; |
---|
469 | arrObj[tid][i] = arrTemp; |
---|
470 | } |
---|
471 | } |
---|
472 | } |
---|
473 | } |
---|
474 | |
---|
475 | // ÇÛÃÖ |
---|
476 | function fnSetObj( tid, cnt ){ |
---|
477 | var target_height = 0; |
---|
478 | |
---|
479 | drp_left = getX(all_elms[cnt]); //all_elms[cnt].offsetLeft; |
---|
480 | drp_top = getY(all_elms[cnt]); //all_elms[cnt].offsetTop; |
---|
481 | |
---|
482 | for ( var j = 0; j < arrObj[tid].length; j++ ) { |
---|
483 | // ÇÛÃÖ¤¹¤ëºÂɸ¤Î¼èÆÀ |
---|
484 | var left = parseInt(drp_left) + parseInt(all_elms[cnt].style.width) / 2 - parseInt(arrObj[tid][j].width) / 2; |
---|
485 | if (j == 0){ |
---|
486 | var top = drp_top + arrObj[tid][j].margin; |
---|
487 | }else{ |
---|
488 | var top = arrObj[tid][j-1].top + arrObj[tid][j].margin + arrObj[tid][j-1].height |
---|
489 | } |
---|
490 | |
---|
491 | // ºÂɸ¤òÊÝ»ý |
---|
492 | arrObj[tid][j].top = top; |
---|
493 | arrObj[tid][j].left = left; |
---|
494 | |
---|
495 | // ÇÛÃÖ¤ò¹Ô¤¦ |
---|
496 | moveElm ( arrObj[tid][j].obj, left ,top); |
---|
497 | |
---|
498 | // ¹â¤µ·×»» |
---|
499 | target_height = target_height + arrObj[tid][j].margin + arrObj[tid][j].height; |
---|
500 | |
---|
501 | // hidden¤ÎÃͤò½ñ¤´¹¤¨ |
---|
502 | var top_id = "top_" + arrObj[tid][j].id; |
---|
503 | document.form1[top_id].value = top; |
---|
504 | |
---|
505 | } |
---|
506 | } |
---|
507 | |
---|
508 | // ¥É¥í¥Ã¥×¥¿¡¼¥²¥Ã¥È¤Î¹â¤µÄ´À° |
---|
509 | function fnSetTargetHeight(){ |
---|
510 | |
---|
511 | var NaviHeight = defNavi; |
---|
512 | var MainHeadHeight = defMainNavi; |
---|
513 | var MainFootHeight = defMainNavi; |
---|
514 | var UnusedHeight = defUnused; |
---|
515 | |
---|
516 | // ¹â¤µ·×»» |
---|
517 | for ( var cnt = 0; cnt < all_elms.length; cnt++ ) { |
---|
518 | var target_height = 0; |
---|
519 | |
---|
520 | // class¤¬ drop_target ¤Î¾ì¹ç¤Î¤ß½èÍý¤ò¹Ô¤¦ |
---|
521 | if ( getAttrValue ( all_elms[cnt], 'class' ) == 'drop_target' ) { |
---|
522 | var tid = getAttrValue ( all_elms[cnt], 'tid' ); |
---|
523 | |
---|
524 | for ( var j = 0; j < arrObj[tid].length; j++ ) { |
---|
525 | target_height = target_height + arrObj[tid][j].margin + arrObj[tid][j].height; |
---|
526 | } |
---|
527 | |
---|
528 | // ²¼¤ÎÉý |
---|
529 | target_height = target_height + 20; |
---|
530 | |
---|
531 | // º¸±¦¥Ê¥Ó¡¢Ì¤»ÈÍÑÎΰè¤Î¹â¤µ¤òÊÝ»ý |
---|
532 | if (tid == 'LeftNavi' || tid == 'RightNavi' || tid == 'Unused') { |
---|
533 | if (NaviHeight < target_height) { |
---|
534 | NaviHeight = target_height; |
---|
535 | } |
---|
536 | } |
---|
537 | |
---|
538 | // ¥á¥¤¥ó¾åÉôÎΰè¤Î¹â¤µ¤òÊÝ»ý |
---|
539 | if (tid == 'MainHead') { |
---|
540 | if (target_height > defMainNavi) { |
---|
541 | MainHeadHeight = target_height; |
---|
542 | } |
---|
543 | } |
---|
544 | |
---|
545 | // ¥á¥¤¥ó²¼ÉôÎΰè¤Î¹â¤µ¤òÊÝ»ý |
---|
546 | if (tid == 'MainFoot') { |
---|
547 | if (target_height > defMainNavi) { |
---|
548 | MainFootHeight = target_height; |
---|
549 | } |
---|
550 | } |
---|
551 | } |
---|
552 | } |
---|
553 | |
---|
554 | // ¥á¥¤¥óÎΰè¤Î¹â¤µ¤òÊÝ»ý |
---|
555 | // alert(NaviHeight+"/"+MainHeadHeight+"/"+MainFootHeight); |
---|
556 | MainHeight = NaviHeight - ( MainHeadHeight + MainFootHeight ); |
---|
557 | if (MainHeight < defMain) { |
---|
558 | MainHeight = defMain; |
---|
559 | } |
---|
560 | |
---|
561 | // ¥á¥¤¥óÉôʬ¤Î¤Û¤¦¤¬Â礤¤¾ì¹ç¤Ë¤Ïº¸±¦¥Ê¥Ó¤âÂ礤¯¤¹¤ë |
---|
562 | if (NaviHeight < MainHeadHeight + MainFootHeight + MainHeight) { |
---|
563 | NaviHeight = MainHeadHeight + MainFootHeight + MainHeight; |
---|
564 | } |
---|
565 | // Êѹ¹ |
---|
566 | for ( var cnt = 0; cnt < all_elms.length; cnt++ ) { |
---|
567 | var target_height = 0; |
---|
568 | |
---|
569 | // class¤¬ drop_target ¤Î¾ì¹ç¤Î¤ß½èÍý¤ò¹Ô¤¦ |
---|
570 | if ( getAttrValue ( all_elms[cnt], 'class' ) == 'drop_target' ) { |
---|
571 | var tid = getAttrValue ( all_elms[cnt], 'tid' ); |
---|
572 | |
---|
573 | // tid¤Ë¤è¤Ã¤Æ½èÍý¤òʬ¤±¤ë |
---|
574 | if (tid == 'LeftNavi' || tid == 'RightNavi') { |
---|
575 | target_height = NaviHeight; |
---|
576 | }else if (tid == 'MainHead' ) { |
---|
577 | target_height = MainHeadHeight; |
---|
578 | }else if (tid == 'MainFoot') { |
---|
579 | target_height = MainFootHeight; |
---|
580 | }else if (tid == 'Unused'){ |
---|
581 | target_height = NaviHeight+100; |
---|
582 | } |
---|
583 | |
---|
584 | all_elms[cnt].style.height = target_height; |
---|
585 | } |
---|
586 | } |
---|
587 | |
---|
588 | // ¥á¥¤¥ó¥Æ¡¼¥Ö¥ë¤Î¹â¤µ¤âÊѹ¹ |
---|
589 | for (var i = 0; i < all_td.length; i++) { |
---|
590 | name = getAttrValue ( all_td[i], 'name' ); |
---|
591 | if (name == 'Main') { |
---|
592 | all_td[i].height = MainHeight-2; |
---|
593 | } |
---|
594 | } |
---|
595 | } |
---|
596 | |
---|
597 | //¥¦¥¤¥ó¥É¥¦¥µ¥¤¥º¼èÆÀ |
---|
598 | function GetWindowSize(type){ |
---|
599 | var ua = navigator.userAgent; // ¥æ¡¼¥¶¡¼¥¨¡¼¥¸¥§¥ó¥È |
---|
600 | var nWidth, nHeight; // ¥µ¥¤¥º |
---|
601 | var nHit = ua.indexOf("MSIE"); // ¹çÃפ·¤¿Éôʬ¤ÎÀèƬʸ»ú¤Îź¤¨»ú |
---|
602 | var bIE = (nHit >= 0); // IE ¤«¤É¤¦¤« |
---|
603 | var bVer6 = (bIE && ua.substr(nHit+5, 1) == "6"); // ¥Ð¡¼¥¸¥ç¥ó¤¬ 6 ¤«¤É¤¦¤« |
---|
604 | var bStd = (document.compatMode && document.compatMode=="CSS1Compat"); // ɸ½à¥â¡¼¥É¤«¤É¤¦¤« |
---|
605 | |
---|
606 | switch(type){ |
---|
607 | case "width": |
---|
608 | if(bIE){ |
---|
609 | if (bVer6 && bStd) { |
---|
610 | return document.documentElement.clientWidth; |
---|
611 | } else { |
---|
612 | return document.body.clientWidth; |
---|
613 | } |
---|
614 | }else if(document.layers){ |
---|
615 | return(innerWidth); |
---|
616 | }else{ |
---|
617 | return(-1); |
---|
618 | } |
---|
619 | break; |
---|
620 | case "height": |
---|
621 | if(bIE){ |
---|
622 | if (bVer6 && bStd) { |
---|
623 | return document.documentElement.clientHeight; |
---|
624 | } else { |
---|
625 | return document.body.clientHeight; |
---|
626 | } |
---|
627 | return(document.body.clientHeight); |
---|
628 | }else if(document.layers){ |
---|
629 | return(innerHeight); |
---|
630 | }else{ |
---|
631 | return(-1); |
---|
632 | } |
---|
633 | break; |
---|
634 | default: |
---|
635 | return(-1); |
---|
636 | break; |
---|
637 | } |
---|
638 | } |
---|
639 | |
---|
640 | // ¥¦¥£¥ó¥É¥¦¥µ¥¤¥º¤¬Êѹ¹¤Ë¤Ê¤Ã¤¿¤È¤¤ÏÁ´¤Æ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤â°ÜÆ°¤¹¤ë |
---|
641 | function fnMoveObject() { |
---|
642 | |
---|
643 | // ¥¦¥£¥ó¥É¥¦¤ÎÉýÊѹ¹ÈæΨ¤ò¼èÆÀ |
---|
644 | var moveX = GetWindowSize("width") - scrX; |
---|
645 | var BlankX = ( GetWindowSize("width") - 878 ) / 2 |
---|
646 | |
---|
647 | for ( var i = 0; i < all_elms.length; i++) { |
---|
648 | if (all_elms[i].style.left != "" ) { |
---|
649 | |
---|
650 | var elm_class = getAttrValue ( all_elms[i], 'class' ); |
---|
651 | |
---|
652 | if (elm_class == 'drop_target') { |
---|
653 | var tid = getAttrValue ( all_elms[i], 'tid' ); |
---|
654 | |
---|
655 | if (tid == 'LeftNavi') { |
---|
656 | LeftMargin = marginLeftNavi; |
---|
657 | }else if (tid == 'RightNavi') { |
---|
658 | LeftMargin = marginRightNavi; |
---|
659 | }else if (tid == 'MainHead' || tid == 'MainFoot') { |
---|
660 | LeftMargin = marginMain; |
---|
661 | }else{ |
---|
662 | LeftMargin = marginUnused; |
---|
663 | } |
---|
664 | |
---|
665 | if (BlankX > 0) { |
---|
666 | all_elms[i].style.left = BlankX + LeftMargin + 'px'; |
---|
667 | }else{ |
---|
668 | all_elms[i].style.left = LeftMargin + 'px'; |
---|
669 | } |
---|
670 | } |
---|
671 | } |
---|
672 | } |
---|
673 | |
---|
674 | scrX = GetWindowSize("width"); |
---|
675 | scrY = GetWindowSize("height"); |
---|
676 | |
---|
677 | fnSortObj(); |
---|
678 | } |
---|
679 | // ²èÌÌ¤Î¥í¡¼¥É¥¤¥Ù¥ó¥È¤Ë´ØÏ¢ÉÕ¤± |
---|
680 | addEvent ( window, 'load', init, false ); |
---|