source: branches/comu/html/js/layout_design.js @ 11730

Revision 11730, 16.9 KB checked in by nanasess, 17 years ago (diff)

r11729 の変更を取消

Line 
1/*
2 * Copyright(c) 2000-2007 LOCKON CO.,LTD. All Rights Reserved.
3 *
4 * http://www.lockon.co.jp/
5 */
6// ¥µ¥¤¥º´ÉÍý¥¯¥é¥¹¤ÎÄêµÁ
7function 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// ÊÑ¿ôÀë¸À
19var defUnused = 500;    // ̤»ÈÍÑÎΰè¤Î¥Ç¥Õ¥©¥ë¥È¤Î¹â¤µ
20var defNavi   = 400;    // º¸±¦¥Ê¥Ó¤Î¥Ç¥Õ¥©¥ë¥È¤Î¹â¤µ
21var defMainNavi  = 100; // ¥á¥¤¥ó¾å²¼¤Î¥Ç¥Õ¥©¥ë¥È¤Î¹â¤µ
22var defMain   = 200;    // ¥á¥¤¥ó¤Î¥Ç¥Õ¥©¥ë¥È¤Î¹â¤µ
23
24var NowMaxHeight = 0;       // ¸½ºß¤ÎºÇÂç¤Î¹â¤µ
25var MainHeight = 200;
26
27var marginUnused    = 688;  // ̤»ÈÍÑÎΰè¤Îº¸¥Þ¡¼¥¸¥ó
28var marginLeftNavi  = 180;  // º¸¥Ê¥Ó¤Îº¸¥Þ¡¼¥¸¥ó
29var marginRightNavi = 512;  // ±¦¥Ê¥Ó¤Îº¸¥Þ¡¼¥¸¥ó
30var marginMain      = 348;  // ¥á¥¤¥ó¾å²¼¤Îº¸¥Þ¡¼¥¸¥ó
31var marginMainFootTop= 595; // ¥á¥¤¥ó²¼¤Î¾å¥Þ¡¼¥¸¥ó
32
33var gDragged = "";          // ¥É¥é¥Ã¥°Ã楪¥Ö¥¸¥§¥¯¥È
34var gDropTarget = "";       // ¥É¥é¥Ã¥°³«»Ï»þ¤ÎDropTarget
35
36var arrObj = new Object();  // ¥Ö¥í¥Ã¥¯¥ª¥Ö¥¸¥§¥¯¥È³ÊǼÍÑ
37
38var mouseFlg = false;
39
40var all_elms;               // div¥¿¥°¥ª¥Ö¥¸¥§¥¯¥È³ÊǼÍÑ
41
42// ¥¦¥£¥ó¥É¥¦¥µ¥¤¥º
43var scrX;
44var scrY;
45
46// ¥¤¥Ù¥ó¥È¤Î´ØÏ¢ÉÕ¤±¤ò¹Ô¤¦
47function 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// ¥¤¥Ù¥ó¥È¤Î´ØÏ¢ÉÕ¤±¤ò²ò½ü
69function 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// ¥Þ¥¦¥¹¥«¡¼¥½¥ë¤òÊѹ¹
92function setCursor ( elm, curtype ) {
93    elm.style.cursor = curtype;
94}
95
96// ¥ª¥Ö¥¸¥§¥¯¥È¤ÎÆ©ÌÀÅÙ¤òÊѹ¹   
97function 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¤òÊѹ¹¤¹¤ë¡ÊÁ°ÌÌɽ¼¨ÀÚÂØ¡Ë
107function setZindex(node, val) {
108    node.style.zIndex = val;
109//  alert(val);
110}
111
112// Ãͤò¼èÆÀ
113function 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// Ãͤò¥»¥Ã¥È
145function setAttrValue ( elm, attrname, val ) {
146    elm.attributes[ attrname ].nodeValue = val;
147}
148
149// ¥ª¥Ö¥¸¥§¥¯¥È¤ÎXºÂɸ¤ò¼èÆÀ
150function getX ( elm ) {
151//   return parseInt(elm.style.left);
152    return parseInt(elm.offsetLeft);
153}
154
155// ¥ª¥Ö¥¸¥§¥¯¥È¤ÎYºÂɸ¤ò¼èÆÀ
156function getY ( elm ) {
157    return parseInt(elm.offsetTop);
158//    return parseInt(elm.style.top);
159}
160
161// XºÂɸ¤ò¼èÆÀ
162function getEventX ( evt ) {
163    return evt.clientX ? evt.clientX : evt.pageX;
164}
165
166// YºÂɸ¤ò¼èÆÀ
167function getEventY ( evt ) {
168    return evt.clientY ? evt.clientY : evt.pageY;
169}
170
171// ¥ª¥Ö¥¸¥§¥¯¥È¤ÎÉý¤ò¼èÆÀ
172function getWidth ( elm ) {
173    return parseInt( elm.style.width );
174}
175
176// ¥ª¥Ö¥¸¥§¥¯¥È¤Î¹â¤µ¤ò¼èÆÀ
177function getHeight ( elm ) {
178//    return parseInt( elm.style.height );
179    return parseInt( elm.offsetHeight );
180}
181
182// ¥Ú¡¼¥¸¤Î²Ä»ëÎΰè¤ÎXºÂɸ¤ò¼èÆÀ¤¹¤ë
183function 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ºÂɸ¤ò¼èÆÀ¤¹¤ë
201function 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// ¥ª¥Ö¥¸¥§¥¯¥È¤ÎºÂɸ¤ò¥»¥Ã¥È
220function moveElm ( elm, x, y ) {
221    elm.style.left = x + 'px';
222    elm.style.top = y + 'px';
223}
224
225// ¥Þ¥¦¥¹¥À¥¦¥ó¥¤¥Ù¥ó¥È
226function 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// ¥Þ¥¦¥¹¥à¡¼¥Ö¥¤¥Ù¥ó¥È
271function 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// ¥Þ¥¦¥¹¥¢¥Ã¥×¥¤¥Ù¥ó¥È       
312function 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¾å¤Ë¥ª¥Ö¥¸¥§¥¯¥È¤¬Í褿¤«¤òȽÃǤ¹¤ë
353function 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}
364function 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// ¥ª¥Ö¥¸¥§¥¯¥È¤ÎʤÓÂؤ¨¤ò¹Ô¤¦
390function 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
407function alerttest(msg, x, y){
408    alert(msg);
409}
410
411// ÇÛÎó¤ÎºîÀ®
412function 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// ÇÛÎó¤ÎʤÓÂؤ¨ (¥Ð¥Ö¥ë¥½¡¼¥È¤ÇʤÓÂؤ¨¤ò¹Ô¤¦)
462function 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// ÇÛÃÖ
476function 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// ¥É¥í¥Ã¥×¥¿¡¼¥²¥Ã¥È¤Î¹â¤µÄ´À°
509function 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//¥¦¥¤¥ó¥É¥¦¥µ¥¤¥º¼èÆÀ
598function 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// ¥¦¥£¥ó¥É¥¦¥µ¥¤¥º¤¬Êѹ¹¤Ë¤Ê¤Ã¤¿¤È¤­¤ÏÁ´¤Æ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤â°ÜÆ°¤¹¤ë
641function 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// ²èÌÌ¤Î¥í¡¼¥É¥¤¥Ù¥ó¥È¤Ë´ØÏ¢ÉÕ¤±
680addEvent ( window, 'load', init, false );
Note: See TracBrowser for help on using the repository browser.