﻿// Chizumaru Ajax Framework Version 0.9.7_rc1 build 2
// Copyright (c) 2007 Nihon Computer Graphic Co.,Ltd.
var Chizumaru={Version:'0.9.7_rc1'};var ChizumaruUtil={Version:'0.9.7_rc1'};var ChizumaruEffect={Version:'0.9.7_rc1'};function ChizumaruSupportBrowser(){if(!document.getElementById)return false;if(window.ActiveXObject&&!document.body.getAttributeNode)return false;try{if(Ajax.getTransport()){return true;}else{return false;}}catch(e){return false;}};Chizumaru.Size=Class.create();Chizumaru.Size.prototype={initialize:function(width,height){this.width=parseInt(width);this.height=parseInt(height);},size:function(width,height){this.width=parseInt(width);this.height=parseInt(height);},setWidth:function(width){this.width=parseInt(width);},setHeight:function(height){this.height=parseInt(height);},copy:function(size){this.width=size.width;this.height=size.height;}};Chizumaru.Location=Class.create();Chizumaru.Location.prototype={initialize:function(x,y){this.x=parseFloat(x);this.y=parseFloat(y);},point:function(x,y){this.x=parseFloat(x);this.y=parseFloat(y);},copy:function(location){this.x=location.x;this.y=location.y;}};ChizumaruUtil.createXML=function(){return Try.these(function(){var SC=document.implementation.createDocument("","",null);SC.loadXML=function(s){var aI=(new DOMParser()).parseFromString(s,"text/xml");while(this.hasChildNodes()){this.removeChild(this.lastChild);}var Ty=aI.childNodes.length;for(var i=0;i<Ty;i++)this.appendChild(this.importNode(aI.childNodes[i],true));};return SC;},function(){return new ActiveXObject('MSXML2.DOMDocument')},function(){return new ActiveXObject('microsoft.XMLDOM')})||null;};ChizumaruUtil.getWGS84FromTokyoDatum=function(x,y){return new Chizumaru.Location(Math.round((parseFloat(x)-0.000046038*parseFloat(y)-0.000083043*parseFloat(x)+36.144)*1000)/1000,Math.round((parseFloat(y)-0.00010695*parseFloat(y)+0.000017464*parseFloat(x)+16.56612)*1000)/1000);};ChizumaruUtil.getTokyoDatumFromWGS84=function(x,y){return new Chizumaru.Location(Math.round((parseFloat(x)+0.000046047*parseFloat(y)+0.000083049*parseFloat(x)-36.1476)*1000)/1000,Math.round((parseFloat(y)+0.00010696*parseFloat(y)-0.000017467*parseFloat(x)-16.5672)*1000)/1000);};ChizumaruUtil.getMeterPerSecond=function(x,y){x=parseFloat(x);y=parseFloat(y);var OH=null;if(x<453600){OH=[32.9662801357795+(-0.0000546466695845478*y),29.9199767625933+(9.53068365169302E-06*y)];}else if(x<475200){OH=[34.8264789297453+(-0.0000747032950355956*y),30.6229859717414+(0.0000015078369693194*y)];}else if(x<496800){OH=[36.0776430813373+(-0.0000851465908120506*y),30.5421827832256+(2.12420850791448E-06*y)];}else if(x<518400){OH=[37.3178071687442+(-0.0000947284763168542*y),30.6504220588128+(1.26262173786269E-06*y)];}else if(x<540000){OH=[38.923423971484+(-0.000105111712040641*y),30.840352467552+(1.19120620608322E-07*y)];}else{OH=[35.9909712669049+(-0.0000852029636663994*y),30.6412253486972+(1.33578792481214E-06*y)];}return OH;};ChizumaruUtil.getDistanceFromCoord=function(kw,Fr,sy,jo){kw=parseFloat(kw);Fr=parseFloat(Fr);sy=parseFloat(sy);jo=parseFloat(jo);if(kw<sy){var mz=kw;var AZ=Fr;var lH=sy;var yv=jo;}else{var mz=sy;var AZ=jo;var lH=kw;var yv=Fr;}var zg=0;var cx=[453600,475200,496800,518400,540000,648000];var Ty=cx.length;for(var i=0;i<Ty;i++){if(mz<cx[i]){if(lH<cx[i]){var OH=ChizumaruUtil.getMeterPerSecond((mz+lH)/2,(AZ+yv)/2);zg+=Math.round(Math.sqrt(Math.pow((lH-mz)*OH[0],2)+Math.pow((yv-AZ)*OH[1],2)));break;}else{var So=(cx[i]-mz)/(lH-mz);var mO=mz+((lH-mz)*So);var Xb=AZ+((yv-AZ)*So);var OH=ChizumaruUtil.getMeterPerSecond((mz+mO)/2,(AZ+Xb)/2);zg+=Math.round(Math.sqrt(Math.pow((mO-mz)*OH[0],2)+Math.pow((Xb-AZ)*OH[1],2)));mz=mO;AZ=Xb;}}}return zg;};ChizumaruUtil.getCoordFromDistance=function(x,y,qN,Po){x=parseFloat(x);y=parseFloat(y);qN=parseFloat(qN);Po=parseFloat(Po);var cx=[453600,475200,496800,518400,540000,648000];var Ty=cx.length;if(0<=qN){for(var i=0;i<Ty;i++){if(x<cx[i]){var OH=ChizumaruUtil.getMeterPerSecond(x,y);var Bf=qN/OH[0];var Xo=Po/OH[1];if(x+Bf<cx[i]){var OH=ChizumaruUtil.getMeterPerSecond(x,y+Xo/2);var Bf=qN/OH[0];var Xo=Po/OH[1];x+=Bf;y+=Xo;break;}else{var OH=ChizumaruUtil.getMeterPerSecond(x,y+(Xo*((cx[i]-x)/Bf))/2);var Bf=qN/OH[0];var Xo=Po/OH[1];var So=(cx[i]-x)/Bf;x+=Bf*So;y+=Xo*So;qN=qN*(1-So);Po=Po*(1-So);}}}}else{for(var i=Ty-1;i>=0;i--){if(x>=cx[i]){var OH=ChizumaruUtil.getMeterPerSecond(x,y);var Bf=qN/OH[0];var Xo=Po/OH[1];if(x+Bf>=cx[i]){var OH=ChizumaruUtil.getMeterPerSecond(x,y+Xo/2);var Bf=qN/OH[0];var Xo=Po/OH[1];x+=Bf;y+=Xo;break;}else{var OH=ChizumaruUtil.getMeterPerSecond(x,y+(Xo*((cx[i]-x)/Bf))/2);var Bf=qN/OH[0];var Xo=Po/OH[1];var So=(cx[i]-x)/Bf;x+=Bf*So;y+=Xo*So;qN=qN*(1-So);Po=Po*(1-So);}}}}return new Chizumaru.Location(parseInt(x*1000)/1000,parseInt(y*1000)/1000);};ChizumaruUtil.checkCross=function(oB,CJ,El,sU,gG,Yq,VJ,jd){oB=parseFloat(oB);CJ=parseFloat(CJ);El=parseFloat(El);sU=parseFloat(sU);gG=parseFloat(gG);Yq=parseFloat(Yq);VJ=parseFloat(VJ);jd=parseFloat(jd);if(oB>=El){if((oB<gG&&oB<VJ)||(El>gG&&El>VJ))return false;}else{if((El<gG&&El<VJ)||(oB>gG&&oB>VJ))return false;}if(CJ>=sU){if((CJ<Yq&&CJ<jd)||(sU>Yq&&sU>jd))return false;}else{if((sU<Yq&&sU<jd)||(CJ>Yq&&CJ>jd))return false;}if(((oB-El)*(Yq-CJ)+(CJ-sU)*(oB-gG))*((oB-El)*(jd-CJ)+(CJ-sU)*(oB-VJ))>0)return false;if(((gG-VJ)*(CJ-Yq)+(Yq-jd)*(gG-oB))*((gG-VJ)*(sU-Yq)+(Yq-jd)*(gG-El))>0)return false;return true;};ChizumaruUtil.checkContain=function(sk,x,y){x=parseFloat(x);y=parseFloat(y);var Ty=sk.length;var bG=[];var js=[];for(var i=0;i<Ty;i++){bG[i]=parseFloat(sk[i][0]);js[i]=parseFloat(sk[i][1]);}var BJ=function(a,b){return a-b};bG.sort(BJ);js.sort(BJ);var mz=bG[0];var lH=bG[Ty-1];var AZ=js[0];var yv=js[Ty-1];if(x<mz||x>lH||y<AZ||y>yv)return false;var Bf=mz-0.123456789;var Xo=AZ-0.987654321;var bx=0;for(var i=0;i<Ty-1;i++){if(true==ChizumaruUtil.checkCross(sk[i][0],sk[i][1],sk[i+1][0],sk[i+1][1],x,y,Bf,Xo))bx++;}if((sk[0][0]!=sk[Ty-1][0])||(sk[0][1]!=sk[Ty-1][1])){if(true==ChizumaruUtil.checkCross(sk[Ty-1][0],sk[Ty-1][1],sk[0][0],sk[0][1],x,y,Bf,Xo))bx++;}return(0==bx%2)?false:true;};ChizumaruUtil.checkCircleContain=function(point,radius,x,y){point=[parseFloat(point[0]),parseFloat(point[1])];radius=parseFloat(radius);x=parseFloat(x);y=parseFloat(y);if(x<point[0]-radius||x>point[0]+radius||y<point[1]-radius||y>point[1]+radius)return false;if(radius*radius>=((x-point[0])*(x-point[0]))+((y-point[1])*(y-point[1])))return true;return false;};ChizumaruUtil.checkCollision=function(sk,x,y,Yk){var options=Object.extend({closePath:false},arguments[4]||{});x=parseFloat(x);y=parseFloat(y);Yk=parseFloat(Yk);var Pl=null;var La=[];var Oa=[];var XI=0;var zg=null;var Ty=sk.length;for(var i=0;i<Ty-1;i++){var xK=sk[i];var Cl=sk[i+1];if(Yk>=Math.abs(x-xK[0])&&Yk>Math.abs(y-xK[1])){var ci=((x-xK[0])*(x-xK[0]))+((y-xK[1])*(y-xK[1]));if(Yk*Yk>=ci&&(null==zg||zg>ci)){Pl={"type":"point","no":i,"distance":Math.sqrt(ci),"point":[xK[0],xK[1]]};zg=ci;}}if((x<xK[0]&&x<Cl[0])||(x>xK[0]&&x>Cl[0])||(y<xK[1]&&y<Cl[1])||(y>xK[1]&&y>Cl[1]))continue;La[XI]=[xK[0],xK[1],Cl[0],Cl[1]];Oa[XI]=i;XI++;}var hf=sk[Ty-1];if(Yk>=Math.abs(x-hf[0])&&Yk>Math.abs(y-hf[1])){var ci=((x-hf[0])*(x-hf[0]))+((y-hf[1])*(y-hf[1]));if(Yk*Yk>=ci&&(null==zg||zg>ci)){Pl={"type":"point","no":Ty-1,"distance":Math.sqrt(ci),"point":[hf[0],hf[1]]};}}if(Pl)return Pl;if(true==options.closePath){var xK=sk[0];var Cl=sk[Ty-1];if((xK[0]!=Cl[0])||(xK[1]!=Cl[1])){if((x<xK[0]&&x<Cl[0])||(x>xK[0]&&x>Cl[0])||(y<xK[1]&&y<Cl[1])||(y>xK[1]&&y>Cl[1])){}else{La[XI]=[xK[0],xK[1],Cl[0],Cl[1]];Oa[XI]= -1;XI++;}}}if(0==XI)return null;for(var i=0;i<XI;i++){var Ox=La[i];var gi=Math.atan2(Ox[1]-Ox[3],Ox[0]-Ox[2]);var eG=Math.atan2(Ox[1]-y,Ox[0]-x);var ci=Math.abs(Math.sin(eG-gi)*Math.sqrt(((Ox[1]-y)*(Ox[1]-y))+((Ox[0]-x)*(Ox[0]-x))));if(Yk>=ci&&(null==zg||zg>ci)){Pl={"type":"line","no":Oa[i],"distance":ci,"line":[[Ox[0],Ox[1]],[Ox[2],Ox[3]]]};zg=ci;}}return Pl;};ChizumaruUtil.checkCircleCollision=function(point,radius,x,y,Yk){point=[parseFloat(point[0]),parseFloat(point[1])];radius=parseFloat(radius);x=parseFloat(x);y=parseFloat(y);Yk=parseFloat(Yk);if(x<point[0]-radius-Yk||x>point[0]+radius+Yk||y<point[1]-radius-Yk||y>point[1]+radius+Yk)return false;var zg=((x-point[0])*(x-point[0]))+((y-point[1])*(y-point[1]));if((radius-Yk)*(radius-Yk)<=zg&&(radius+Yk)*(radius+Yk)>=zg)return true;return false;};ChizumaruUtil.getReverseColor=function(Yg){var qt="";if(7==Yg.length){qt+="#";var Wc=(255-parseInt(Yg.slice(1,3),16)).toString(16);qt+=(2==Wc.length)?Wc:"0"+Wc;var Wc=(255-parseInt(Yg.slice(3,5),16)).toString(16);qt+=(2==Wc.length)?Wc:"0"+Wc;var Wc=(255-parseInt(Yg.slice(5,7),16)).toString(16);qt+=(2==Wc.length)?Wc:"0"+Wc;}return qt;};ChizumaruUtil.benchmarkClient=function(){if("undefined"==typeof ChizumaruUtil.$bench){var pH=new Date().getTime();var SJ=0;for(var i=0;i<500;i++){var aK=document.createElement("div");document.body.appendChild(aK);document.body.removeChild(aK);}ChizumaruUtil.$bench=new Date().getTime()-pH;}return ChizumaruUtil.$bench;},ChizumaruUtil.browserSize=function(){return new Chizumaru.Size(parseInt(window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body.clientWidth||0),parseInt(window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body.clientHeight||0));};ChizumaruUtil.checkFilterBrowser=function(){return(window.ActiveXObject&&"undefined"!=typeof document.body.style.filter)?true:false;};ChizumaruUtil.getKEYCODE=function(event){if(document.all)return event.keyCode;else if(document.getElementById)return(event.keyCode!=0)?event.keyCode:event.charCode;else if(document.layers)return event.which;};ChizumaruUtil.trimString=function(str){return str.replace(/^\s+|\s+$/g,"");};ChizumaruUtil.getElementbyCustomKey=function(element,customKey){while(element){if("undefined"!=typeof element[customKey]){return element;break;}element=element.parentNode;}return null;};ChizumaruUtil.normalizeXMLTextNode=function(node){var ln="";var Ty=node.childNodes.length;for(var i=0;i<Ty;i++){if(3==node.childNodes[i].nodeType||4==node.childNodes[i].nodeType)ln+=node.childNodes[i].nodeValue;}var wK=ln.split("\n");var Ty=wK.length;for(var i=0;i<Ty;i++)wK[i]=ChizumaruUtil.trimString(wK[i].split("\t").join(" "));return wK.join(" ");};ChizumaruUtil.contentTemplate=function(dG,Pn,xu,options){var options=Object.extend({templateDefaultValue:null},arguments[3]||{});var RH="";if("json"==xu.toLowerCase()){if(dG.responseText){var item=eval("("+dG.responseText+")");}else{var item=dG;}if("string"==typeof Pn&&""!=Pn){var ln=Pn.split("##");var Ty=ln.length;for(var i=0;i<Ty;i++){if(0!=i%2){if("undefined"!=typeof item[ln[i]]&&null!=item[ln[i]]){ln[i]=item[ln[i]];}else if(options.templateDefaultValue&&"undefined"!=typeof options.templateDefaultValue[ln[i]]){ln[i]=options.templateDefaultValue[ln[i]];}else{ln[i]="";}}}RH=ln.join("");}}else if("xml"==xu.toLowerCase()){if(dG.responseXML){var item=dG.responseXML.getElementsByTagName("item")[0];}else if(0<dG.getElementsByTagName("item").length){var item=dG.getElementsByTagName("item")[0];}else{var item=dG;}if("string"==typeof Pn&&""!=Pn){var ln=Pn.split("##");var Ty=ln.length;for(var i=0;i<Ty;i++){if(0!=i%2){if(null!=item.getAttribute(ln[i])){ln[i]=item.getAttribute(ln[i]);}else if(0<item.getElementsByTagName(ln[i]).length&&0<item.getElementsByTagName(ln[i])[0].childNodes.length){ln[i]=item.getElementsByTagName(ln[i])[0].childNodes[0].nodeValue;}else if(options.templateDefaultValue&&"undefined"!=typeof options.templateDefaultValue[ln[i]]){ln[i]=options.templateDefaultValue[ln[i]];}else{ln[i]="";}}}RH=ln.join("");}}return RH;};ChizumaruUtil.getChildDimensions=function(element,options){var options=Object.extend({className:"",width:"",height:"",fontFamily:"",fontSize:"",fontWeight:""},arguments[1]||{});if(""==options.fontFamily)options.fontFamily=Element.getStyle(element,'fontFamily');if(""==options.fontSize)options.fontSize=Element.getStyle(element,'fontSize');if(""==options.fontWeight)options.fontWeight=Element.getStyle(element,'fontWeight');if("undefined"==typeof ChizumaruUtil.$clone){var aK=document.createElement("div");aK.style.position="absolute";aK.style.overflow="hidden";aK.style.visibility="hidden";aK.style.display="none";document.body.appendChild(aK);ChizumaruUtil.$clone=document.createElement("div");aK.appendChild(ChizumaruUtil.$clone);}var Ep=ChizumaruUtil.$clone;var ph="";if(options.fontFamily)ph+=" font-family: '"+options.fontFamily+"';";if(options.fontSize)ph+=" font-size: "+options.fontSize+";";if(options.fontWeight)ph+=" font-weight: "+options.fontWeight+";";("undefined"!=typeof Ep.style.cssText)?Ep.style.cssText=ph:Ep.setAttribute("style",ph);Ep.className=options.className;Ep.parentNode.style.display="";Ep.innerHTML=$(element).innerHTML;var Ty=Ep.childNodes.length;var kq=new Chizumaru.Size(0,0);for(var i=0;i<Ty;i++){try{if("undefined"!=typeof Ep.childNodes[i].style){var yb=Ep.childNodes[i];yb.style.display="";var CW=Element.getStyle(yb,'width');var BW=Element.getStyle(yb,'height');if("string"==typeof CW&&"%"==CW.slice(CW.length-1,CW.length))yb.style.width="";if("string"==typeof BW&&"%"==BW.slice(BW.length-1,BW.length))yb.style.height="";if(""==yb.style.whiteSpace)yb.style.whiteSpace=(""!=options.width||""!=yb.style.width)?"":"nowrap";var Sp=Position.positionedOffset(yb);if(-1!=navigator.userAgent.toLowerCase().indexOf("netscape"))yb.style.position="";var tD=Element.getDimensions(yb);tD.width=tD.width+Sp[0];tD.height=tD.height+Sp[1];kq.setWidth(Math.max(kq.width,tD.width));kq.setHeight(Math.max(kq.height,tD.height));}}catch(e){}}var tD=Element.getDimensions(Ep);kq.setWidth(Math.max(kq.width,tD.width));kq.setHeight(Math.max(kq.height,tD.height));if(""!=options.width){Ep.style.width=options.width;var Yw=new Chizumaru.Size(0,0);for(var i=0;i<Ty;i++){try{if("undefined"!=typeof Ep.childNodes[i].style){var yb=Ep.childNodes[i];var Sp=Position.positionedOffset(yb);var tD=Element.getDimensions(yb);tD.width=tD.width+Sp[0];tD.height=tD.height+Sp[1];Yw.setWidth(Math.max(Yw.width,tD.width));Yw.setHeight(Math.max(Yw.height,tD.height));}}catch(e){}}if(Yw.width<kq.width)kq.copy(Yw);}Ep.innerHTML="";("undefined"!=typeof Ep.style.cssText)?Ep.style.cssText="":Ep.setAttribute("style","");Ep.parentNode.style.display="none";return kq;};ChizumaruEffect.SpinScale=Class.create();Object.extend(Object.extend(ChizumaruEffect.SpinScale.prototype,Effect.Base.prototype),{initialize:function(element){this.element=$(element);var options=Object.extend({centerX:0,centerY:0,startAngle:0,maxRadius:0,maxAngle:0,targetRadius:0},arguments[1]||{});options.mode='absolute';if(options.targetRadius>options.maxRadius)options.targetRadius=options.maxRadius;options.startAngle=options.startAngle*Math.PI/180;options.maxAngle=options.maxAngle*Math.PI/180;this.start(options);},setup:function(){this.element.makePositioned();this.originalLeft=parseFloat(this.element.getStyle('left')||'0');this.originalTop=parseFloat(this.element.getStyle('top')||'0');if(this.options.centerX==this.originalLeft&&this.options.centerY==this.originalTop){this.originalAngle=this.options.startAngle;this.originalRadius=0;}else{this.originalAngle=Math.atan2(this.originalTop-this.options.centerY,this.originalLeft-this.options.centerX);this.originalRadius=Math.sqrt(Math.pow(this.originalLeft-this.options.centerX,2)+Math.pow(this.originalTop-this.options.centerY,2));}this.radius=this.options.targetRadius-this.originalRadius;this.angle=(this.options.maxAngle-this.options.startAngle)*(this.radius/this.options.maxRadius);},update:function(position){var rv=this.radius*position+this.originalRadius;var MJ=this.angle*position+this.originalAngle;var Bf=Math.cos(MJ)*rv;var Xo=Math.sin(MJ)*rv;this.element.setStyle({left:Math.round(Bf+this.options.centerX)+'px',top:Math.round(Xo+this.options.centerY)+'px'});},finish:function(){if(0==this.options.targetRadius){this.element.setStyle({left:this.options.centerX+'px',top:this.options.centerY+'px'});}}});ChizumaruEffect.Rotate=Class.create();Object.extend(Object.extend(ChizumaruEffect.Rotate.prototype,Effect.Base.prototype),{initialize:function(element,rotateAngle){this.element=$(element);var options=Object.extend({centerX:0,centerY:0,radius:0,startAngle:0,rotateAngle:rotateAngle},arguments[2]||{});options.mode='absolute';options.rotateAngle=options.rotateAngle*Math.PI/180;this.start(options);},setup:function(){this.element.makePositioned();this.originalLeft=parseFloat(this.element.getStyle('left')||'0');this.originalTop=parseFloat(this.element.getStyle('top')||'0');if(0==this.options.radius)this.options.radius=Math.sqrt(Math.pow(this.originalLeft-this.options.centerX,2)+Math.pow(this.originalTop-this.options.centerY,2));if(0==this.options.startAngle){this.options.startAngle=Math.atan2(this.originalTop-this.options.centerY,this.originalLeft-this.options.centerX);}else{this.options.startAngle=this.options.startAngle*Math.PI/180;}this.angle=this.options.rotateAngle;},update:function(position){var MJ=this.angle*position+this.options.startAngle;var Bf=Math.cos(MJ)*this.options.radius;var Xo=Math.sin(MJ)*this.options.radius;this.element.setStyle({left:Math.round(Bf+this.options.centerX)+'px',top:Math.round(Xo+this.options.centerY)+'px'});}});

