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

Revision 4553, 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  alert(123);
418  /*
419  syuuseiSpecified = t0a.specified
420  if(navigator.userAgent.indexOf('Safari')!=-1 ||
421     navigator.userAgent.indexOf('Konqueror')!=-1 )
422    syuuseiSpecified = !t0a.specified
423  */
424
425  alert(123);
426
427  //4 t0a¤Î³Æ¥¢¥È¥ê¥Ó¥å¡¼¥È¤ò¥À¥¤¥¢¥í¥°É½¼¨¤¹¤ë
428  alert( t0a.value )
429  alert(123);
430
431
432
433        // class¤¬ dragged_elm ¤Î¾ì¹ç¤Î¤ß½èÍý¤ò¹Ô¤¦
434        if ( getAttrValue ( all_elms[i], 'class' ) == 'dragged_elm' ) {
435       
436            // ¥Þ¥¦¥¹¥À¥¦¥ó¥¤¥Ù¥ó¥È¤È´ØÏ¢ÉÕ¤±¤ò¹Ô¤¦
437            if (addEvt == 0) {
438                addEvent ( all_elms[i], 'mousedown', onMouseDown, false );
439            }
440
441            var target_id = getAttrValue ( all_elms[i], 'target_id' ); 
442            var len = arrObjtmp[target_id].length;
443            var did = getAttrValue ( all_elms[i], 'did' );
444           
445            arrObjtmp[target_id][len] = new SC_Size();
446            arrObjtmp[target_id][len].id = did;
447            arrObjtmp[target_id][len].obj = all_elms[i];
448            arrObjtmp[target_id][len].width = getWidth( all_elms[i] );
449            arrObjtmp[target_id][len].height = getHeight( all_elms[i] );
450
451            // ¥É¥é¥Ã¥°Ãæ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤¬Â¸ºß¤¹¤ì¤Ð¡¢¤½¤Î¥ª¥Ö¥¸¥§¥¯¥È¤À¤±¥Þ¥¦¥¹¥Ý¥¤¥ó¥¿¤ÎºÂɸ¤ò»ØÄꤹ¤ë¡£
452            if (gDragged != "") {
453                if (did != getAttrValue ( gDragged, 'did' )) {
454                    // top ¤Ï¾ï¤Ë¥ª¥Ö¥¸¥§¥¯¥È¤ÎÃæ¿´¤ò¼èÆÀ¤¹¤ë¤è¤¦¤Ë¤¹¤ë
455                    arrObjtmp[target_id][len].top = (parseInt(getY( all_elms[i] )) + arrObjtmp[target_id][len].height / 2 );
456                    arrObjtmp[target_id][len].left = getX( all_elms[i] );
457                }else {
458                    arrObjtmp[target_id][len].top = top;
459                    arrObjtmp[target_id][len].left = left;
460                }
461            } else {
462                // top ¤Ï¾ï¤Ë¥ª¥Ö¥¸¥§¥¯¥È¤ÎÃæ¿´¤ò¼èÆÀ¤¹¤ë¤è¤¦¤Ë¤¹¤ë
463                arrObjtmp[target_id][len].top = i;
464                arrObjtmp[target_id][len].left = getX( all_elms[i] );
465            }
466        }
467    }
468   
469    arrObj = arrObjtmp;
470}
471
472// ÇÛÎó¤ÎʤÓÂØ¤¨ (¥Ð¥Ö¥ë¥½¡¼¥È¤ÇʤÓÂØ¤¨¤ò¹Ô¤¦)
473function fnChangeObj( tid ){
474    for ( var i = 0; i < arrObj[tid].length-1; i++ ) {
475        for ( var j = arrObj[tid].length-1; j > i; j-- ) {
476            if ( arrObj[tid][j].top < arrObj[tid][i].top ) {
477                var arrTemp = new Array();
478                arrTemp = arrObj[tid][j];
479                arrObj[tid][j] = arrObj[tid][i];
480                arrObj[tid][i] = arrTemp;
481            }
482        }
483    }
484}
485
486// ÇÛÃÖ
487function fnSetObj( tid, cnt ){
488    var target_height = 0;
489   
490    drp_left = getX(all_elms[cnt]); //all_elms[cnt].offsetLeft;
491    drp_top = getY(all_elms[cnt]); //all_elms[cnt].offsetTop;
492
493    for ( var j = 0; j < arrObj[tid].length; j++ ) {
494        // ÇÛÃÖ¤¹¤ëºÂɸ¤Î¼èÆÀ
495        var left = parseInt(drp_left) + parseInt(all_elms[cnt].style.width) / 2 - parseInt(arrObj[tid][j].width) / 2;
496        if (j == 0){
497            var top = drp_top + arrObj[tid][j].margin;
498        }else{
499            var top = arrObj[tid][j-1].top + arrObj[tid][j].margin + arrObj[tid][j-1].height
500        }
501
502        // ºÂɸ¤òÊÝ»ý
503        arrObj[tid][j].top = top;
504        arrObj[tid][j].left = left;
505
506        // ÇÛÃÖ¤ò¹Ô¤¦
507        moveElm ( arrObj[tid][j].obj, left ,top);
508
509        // ¹â¤µ·×»»
510        target_height = target_height + arrObj[tid][j].margin + arrObj[tid][j].height;
511
512        // hidden¤ÎÃͤò½ñ¤­´¹¤¨
513        var top_id = "top_" + arrObj[tid][j].id;
514        document.form1[top_id].value = top;
515
516    }
517}
518
519// ¥É¥í¥Ã¥×¥¿¡¼¥²¥Ã¥È¤Î¹â¤µÄ´À°
520function fnSetTargetHeight(){
521
522    var NaviHeight = defNavi;
523    var MainHeadHeight = defMainNavi;
524    var MainFootHeight = defMainNavi;
525    var UnusedHeight = defUnused;
526
527    // ¹â¤µ·×»»
528    for ( var cnt = 0; cnt < all_elms.length; cnt++ ) {
529        var target_height = 0;
530   
531        // class¤¬ drop_target ¤Î¾ì¹ç¤Î¤ß½èÍý¤ò¹Ô¤¦
532        if ( getAttrValue ( all_elms[cnt], 'class' ) == 'drop_target' ) {
533            var tid = getAttrValue ( all_elms[cnt], 'tid' );
534
535            for ( var j = 0; j < arrObj[tid].length; j++ ) {
536                target_height = target_height + arrObj[tid][j].margin + arrObj[tid][j].height;
537            }
538
539            // ²¼¤ÎÉý
540            target_height = target_height + 20;
541
542            // º¸±¦¥Ê¥Ó¡¢Ì¤»ÈÍÑÎΰè¤Î¹â¤µ¤òÊÝ»ý
543            if (tid == 'LeftNavi' || tid == 'RightNavi' || tid == 'Unused') {
544                if (NaviHeight < target_height) {
545                    NaviHeight = target_height;
546                }
547            }
548
549            // ¥á¥¤¥ó¾åÉôÎΰè¤Î¹â¤µ¤òÊÝ»ý
550            if (tid == 'MainHead') {
551                if (target_height > defMainNavi) {
552                    MainHeadHeight = target_height;
553                }
554            }
555
556            // ¥á¥¤¥ó²¼ÉôÎΰè¤Î¹â¤µ¤òÊÝ»ý
557            if (tid == 'MainFoot') {
558                if (target_height > defMainNavi) {
559                    MainFootHeight = target_height;
560                }
561            }   
562        }
563    }
564
565    // ¥á¥¤¥óÎΰè¤Î¹â¤µ¤òÊÝ»ý
566//  alert(NaviHeight+"/"+MainHeadHeight+"/"+MainFootHeight);
567    MainHeight = NaviHeight - ( MainHeadHeight + MainFootHeight );
568    if (MainHeight < defMain) {
569        MainHeight = defMain;
570    }
571
572    // ¥á¥¤¥óÉôʬ¤Î¤Û¤¦¤¬Â礭¤¤¾ì¹ç¤Ë¤Ïº¸±¦¥Ê¥Ó¤âÂ礭¤¯¤¹¤ë
573    if (NaviHeight < MainHeadHeight + MainFootHeight + MainHeight) {
574        NaviHeight = MainHeadHeight + MainFootHeight + MainHeight; 
575    }
576    // Êѹ¹
577    for ( var cnt = 0; cnt < all_elms.length; cnt++ ) {
578        var target_height = 0;
579
580        // class¤¬ drop_target ¤Î¾ì¹ç¤Î¤ß½èÍý¤ò¹Ô¤¦
581        if ( getAttrValue ( all_elms[cnt], 'class' ) == 'drop_target' ) {
582            var tid = getAttrValue ( all_elms[cnt], 'tid' );
583           
584            // tid¤Ë¤è¤Ã¤Æ½èÍý¤òʬ¤±¤ë
585            if (tid == 'LeftNavi' || tid == 'RightNavi') {
586                target_height = NaviHeight;
587            }else if (tid == 'MainHead' ) {
588                target_height = MainHeadHeight;
589            }else if (tid == 'MainFoot') {
590                target_height = MainFootHeight;
591            }else if (tid == 'Unused'){
592                target_height = NaviHeight+100;
593            }
594
595            all_elms[cnt].style.height = target_height;
596        }
597    }
598   
599    // ¥á¥¤¥ó¥Æ¡¼¥Ö¥ë¤Î¹â¤µ¤âÊѹ¹
600    for (var i = 0; i < all_td.length; i++) {
601        name = getAttrValue ( all_td[i], 'name' );
602        if (name == 'Main') {
603            all_td[i].height = MainHeight-2;
604        }
605    }
606}
607
608//¥¦¥¤¥ó¥É¥¦¥µ¥¤¥º¼èÆÀ
609function GetWindowSize(type){
610    var ua = navigator.userAgent;                                               // ¥æ¡¼¥¶¡¼¥¨¡¼¥¸¥§¥ó¥È
611    var nWidth, nHeight;                                                        // ¥µ¥¤¥º
612    var nHit = ua.indexOf("MSIE");                                              // ¹çÃפ·¤¿Éôʬ¤ÎÀèÆ¬Ê¸»ú¤Îꤍ»ú
613    var bIE = (nHit >=  0);                                                     // IE ¤«¤É¤¦¤«
614    var bVer6 = (bIE && ua.substr(nHit+5, 1) == "6");                           // ¥Ð¡¼¥¸¥ç¥ó¤¬ 6 ¤«¤É¤¦¤«
615    var bStd = (document.compatMode && document.compatMode=="CSS1Compat");      // ɸ½à¥â¡¼¥É¤«¤É¤¦¤«
616
617    switch(type){
618        case "width":
619            if(bIE){
620                if (bVer6 && bStd) {
621                    return document.documentElement.clientWidth;
622                } else {
623                    return document.body.clientWidth;
624                }
625            }else if(document.layers){
626                return(innerWidth);
627            }else{
628                return(-1);
629            }
630        break;
631        case "height":
632            if(bIE){
633                if (bVer6 && bStd) {
634                    return document.documentElement.clientHeight;
635                } else {
636                    return document.body.clientHeight;
637                }
638                return(document.body.clientHeight);
639            }else if(document.layers){
640                return(innerHeight);
641            }else{
642                return(-1);
643            }
644        break;
645        default:
646            return(-1);
647        break;
648    }
649}
650
651// ¥¦¥£¥ó¥É¥¦¥µ¥¤¥º¤¬Êѹ¹¤Ë¤Ê¤Ã¤¿¤È¤­¤ÏÁ´¤Æ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤â°Üư¤¹¤ë
652function fnMoveObject() {
653
654    // ¥¦¥£¥ó¥É¥¦¤ÎÉýÊѹ¹ÈæÎ¨¤ò¼èÆÀ
655    var moveX = GetWindowSize("width") - scrX;
656    var BlankX = ( GetWindowSize("width") - 878 ) / 2
657   
658    for ( var i = 0; i < all_elms.length; i++) {
659        if (all_elms[i].style.left != "" ) {
660
661            var elm_class = getAttrValue ( all_elms[i], 'class' );
662
663            if (elm_class == 'drop_target') {
664                var tid = getAttrValue ( all_elms[i], 'tid' );
665               
666                if (tid == 'LeftNavi') {
667                    LeftMargin = marginLeftNavi;
668                }else if (tid == 'RightNavi') {
669                    LeftMargin = marginRightNavi;
670                }else if (tid == 'MainHead' || tid == 'MainFoot') {
671                    LeftMargin = marginMain;
672                }else{
673                    LeftMargin = marginUnused;
674                }
675
676                if (BlankX > 0) {
677                    all_elms[i].style.left = BlankX + LeftMargin + 'px';
678                }else{
679                    all_elms[i].style.left = LeftMargin + 'px';
680                }
681            }
682        }
683    }
684   
685    scrX = GetWindowSize("width");
686    scrY = GetWindowSize("height");
687   
688    fnSortObj();
689}
690// ²èÌÌ¤Î¥í¡¼¥É¥¤¥Ù¥ó¥È¤Ë´ØÏ¢ÉÕ¤±
691addEvent ( window, 'load', init, false );
Note: See TracBrowser for help on using the repository browser.