source: temp/trunk/html/js/layout_design.js @ 4549

Revision 4549, 17.2 KB checked in by kakinaka, 20 years ago (diff)

blank

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