OSDN Git Service

http://flounder.s27.xrea.com/bbs/test/read.cgi?bbs=giko&key=1103292104&st=29&to=29
[gikonavigoeson/gikonavi.git] / res / skin / skin30-3G / chie_popup.js
1 // \83C\83x\83\93\83g\83n\83\93\83h\83\89\81FonMouseover
2 // \8aO\95\94\8aÖ\90\94\81FaddAnchor,getDTfromAnc
3 // \93Á\92¥\81FDIV#popupBase\89º\82É\81u\83t\83\89\83b\83g\82Å\83\8a\83j\83A\81v\82ÉDL#p\d\82ð\8dì\90¬\82·\82é\81B
4 //==========CSS\82Ì\8fo\97Í
5 var nCSS=''
6 nCSS+='#popupBase{font-size:90%;}'; //\83t\83H\83\93\83g\83T\83C\83Y\82Ì\8ew\92è
7 nCSS+='#popupBase{position:absolute;width:100%;height:100%;z-index:7}';
8 nCSS+='#popupBase dl{position:absolute; background-color:window; border:outset 1px infobackground; overflow-y:auto; z-index:5; border-top:none}';
9 nCSS+='#popupBase dt span{float:none; margin-left:1em;}';
10 nCSS+='#popupBase dd{margin:auto 1em}';
11 document.write('<style type="text/css">'+nCSS+'</style>\n');
12 //=========\83O\83\8d\81[\83o\83\8b\95Ï\90\94
13 var pb;
14 //=========\83i\83\93\83o\81[\82È\96¼\91O\82Ì\83|\83b\83v\83A\83b\83v
15 function namePopup(e,before,num,after){
16  var hnum=tohan(num);
17  //\82R\8eü\94N\81A\82S\8eü\94N\81ASocket774\81A774KB\81A21\8bÖ\81A[1-30]\81A\82È\82Ç\82É\91Î\89\9e
18  if(before){if(hnum==5 || hnum==774 || hnum==4 || hnum==21 || hnum==1 || hnum==30){return}}
19  e.outerHTML = "<b>"+before+"</b><b>"+addAnchor(hnum,num)+"</b><b>"+after+"</b>";
20 }
21 //=========\8eã\82 \82Ú\81`\82ñ\82Ì\83|\83b\83v\83A\83b\83v
22 function abonePopup(e){
23  var hnum=e.parentElement.previousSibling.innerText;
24  e.outerHTML = "<b>"+addAnchor(hnum,'\82 \82Ú\81`\82ñ')+"</b>";
25 }
26 //=========\91½\92i\83|\83b\83v\83A\83b\83v
27 //\81E\83|\83b\83v\83A\83b\83v\82Ì\8dì\90¬
28 var startRes;
29 function makePopContent(obj){
30  //\8e\96\91O\8f\80\94õ
31  var num=obj.innerText.replace(/[>\81\84]/g,"");
32  var number=tohan(num);
33  if(!obj.rel){obj.rel=obj.href;}
34  obj.href="decoy:";
35  //\92²\8d¸
36  if(document.anchors.length==1){return} //\83\8c\83X\90\94\82ª1\82È\82ç\8fI\97¹
37  if(!startRes){startRes=parseInt(document.anchors[1].name.replace(/\D/g,""))}
38  if(number.match(/(\d*)\D+(\d*)/)){var start=parseInt(RegExp.$1); var end=parseInt(RegExp.$2);}
39  else                             {var start=end=parseInt(number);}
40 // alert(startRes+">"+end+" && "+end+"!=1")
41  if(startRes>end && end!=1){obj.href=obj.rel;return}//\91\8dÝ\82µ\82Ä\82¢\82È\82¯\82ê\82Î\8fI\97¹
42  //\92\86\90g\82Ì\90Ø\82è\8fo\82µ
43  var targetString=""; if(end-start>100){end=start+100}
44  if(start==end){targetString=returnString(start)}
45  else          {for(var i=0;i<=end-start;i++){targetString+=returnString(start+i)}}
46  //\91Î\8fÛ\82ª\91\8dÝ\82µ\82½\82çrel\82É\91Þ\94ð\82µ\82Ä\83|\83b\83v\83A\83b\83v
47  if(targetString){popup(targetString);}else{obj.href=obj.rel;}
48 }
49 //\81E\92\86\90g\82Ì\90Ø\82è\8fo\82µ
50 function returnString(num){
51  var obj=getDTfromAnc(num);
52  if(!obj){return("")} //\91Î\8fÛ\82ª\93§\96¾\82 \82Ú\81`\82ñ\82È\82ç\8fI\97¹
53  var dt,dd,dtOuter,ddOuter;
54  dt=obj.cloneNode(true);
55   dtOuter=dt.outerHTML.replace(/name=.*?>/,">"); // LABELNUMBER\91Î\89\9e\82Ì\82à\82Ì\82É\8cW\82é\83\8a\83\93\83N\83A\83\93\83J\81[\82Ì\8f\9c\8b\8e
56  dd=obj.nextSibling.cloneNode(true);
57   if(dd.hasChildNodes()){
58    while(dd.lastChild.name){dd.lastChild.removeNode(true)} // LABELNUMBER\94ñ\91Î\89\9e\82Ì\82à\82Ì\82É\8cW\82é\83\8a\83\93\83N\83A\83\93\83J\81[\82Ì\8f\9c\8b\8e
59    if(dd.lastChild.tagName=="DL"){dd.lastChild.removeNode(true)} // \8bt\8eQ\8fÆ\82Ì\8f\9c\8b\8e
60   }
61   ddOuter=dd.outerHTML;
62  return(dtOuter+ddOuter);
63 }
64 //\81E\83|\83b\83v\83A\83b\83v
65 function popup(inner){
66  if(!pb){document.body.insertAdjacentHTML('afterBegin','<div id="popupBase"></div>');pb=document.getElementById("popupBase")}
67  //\97v\91f\82Ì\8dì\90¬
68  var aNum,parent=event.srcElement.parentElement;
69  if(parent.tagName!="DD"){aNum=parent.sourceIndex;}
70  else{aNum=parent.previousSibling.firstChild.innerText;}
71  if(document.getElementById('p'+aNum)){return} // \83|\83b\83v\83A\83b\83v\82µ\82Ä\82½\82ç\8fI\97¹
72  pb.insertAdjacentHTML("beforeEnd",'<dl id="p'+aNum+'">'+inner+'</dl>');
73  //\97v\91f\82Ì\94z\92u
74  var p=document.getElementById('p'+aNum);
75  // y\8e²\92²\90®
76  var pos=Math.min(event.y,document.body.clientHeight-event.y);
77  var scTop=document.body.scrollTop+event.y;
78  if(pos==event.y){var y=scTop-30;}  // \89º
79  else            {var y=scTop+10-p.clientHeight;}  // \8fã
80  if(y<0){y=0}
81  if(event.srcElement.parentElement.id=="foundResult"){y+=30}
82  p.style.pixelTop=y;
83  // x\8e²\92²\90®
84  var pos=Math.min(event.x,document.body.clientWidth-event.x);
85  var scLeft=document.body.scrollLeft+event.x;
86  if(pos==event.x){var x=scLeft-2}  // \89E
87  else            {var x=scLeft-4-p.clientWidth;}  // \8d
88  if(x<0){x=0}
89  p.style.pixelLeft=x;
90  // \8d\82\82³\92²\90®\81iscrollBar\82ð\97v\82·\8fê\8d\87\82Æ\97v\82µ\82È\82¢\8fê\8d\87\82ª\82 \82é\81j\81¨y\8e²\92²\90®
91  if(p.clientHeight>Math.max(event.y,document.body.clientHeight-event.y)){
92   if(p.clientHeight>document.body.clientHeight){p.style.pixelHeight=document.body.clientHeight-2;}
93   p.style.pixelTop=document.body.scrollTop;
94  }
95 }
96 //\81E\83|\83b\83v\83A\83b\83v\8fÁ\8b\8e
97 function removePopup(popid){
98  if(pb){while(pb.lastChild){pb.lastChild.removeNode(true)}}
99 }
100 //\90\94\92l\95Ï\8a·\81ito\94¼\8ap\81j
101 function tohan(num){
102  var zen="\82O\82P\82Q\82R\82S\82T\82U\82V\82W\82X";
103  var han="0123456789";
104  var hnum="";
105  if(zen.indexOf(num.charAt(0))!=-1){
106   for(var i=0;i<num.length;i++){
107    var at=zen.indexOf(num.charAt(i));
108    hnum+=han.charAt(at);
109   }
110  }else{hnum=num}
111  return hnum;
112 }