/**
 *  Yahho Calendar - Japanized Popup Calendar
 *  @see       http://0-oo.net/sbox/javascript/yahho-calendar
 *  @version   0.2.3 beta 6
 *  @copyright 2008 dgbadmin@gmail.com
 *  @license   http://0-oo.net/pryn/MIT_license.txt (The MIT license)
 */
var YahhoCal={YUI_CAL_CONFIG_JP:{close:true,my_label_year_position:1,my_label_year_suffix:"年 ",my_label_month_suffix:"月",months_long:["1","2","3","4","5","6","7","8","9","10","11","12"],weekdays_short:["日","月","火","水","木","金","土"],hide_blank_weeks:true},YUI_URL:{SERVER:"http://yui.yahooapis.com/",VERSION:"2.5.2",DIR:"/build/"},adapters:{}};YahhoCal.render=function(M,C,D){if(!window.YAHOO||!YAHOO.widget.Calendar){return false}var I=(this.currentId=D||M);if(!this.adapters[I]){this.adapters[I]=this.createAdapter(M,C,D)}var K=this.adapters[I];var A=this.cal;if(A){YAHOO.util.Dom.insertAfter(this.place,I);A.show()}else{A=this.cal=this.createCalendar(I)}var B=K.getDate();var J=B[0],E=B[1],H=B[2];var L=new Date(J,E-1,H);var G="",F="";if((L.getFullYear()==J&&L.getMonth()+1==E&&L.getDate()==H)){G=E+"/"+J;F=E+"/"+H+"/"+J}else{L=new Date()}A.cfg.setProperty("pagedate",G);A.cfg.setProperty("selected",F);A.render();this.showHolidays(L);return true};YahhoCal.createAdapter=function(J,C,D){var I={};if(!C){var A=document.getElementById(J);I.getDate=function(){return A.value.split("/")};I.setDate=function(M,K,L){A.value=M+"/"+K+"/"+L};return I}var H=document.getElementById(J);var B=document.getElementById(C);var G=document.getElementById(D);if(H.tagName=="INPUT"){I.getDate=function(){return[H.value,B.value,G.value]};I.setDate=function(M,K,L){H.value=M;B.value=K;G.value=L};return I}var F=function(K){return K.options[K.selectedIndex].text};var E=function(M,L){for(var K=0;K<M.length;K++){if(M.options[K].text==L){M.options[K].selected=true;return }}};I.getDate=function(){return[F(H),F(B),F(G)]};I.setDate=function(M,K,L){E(H,M);E(B,K);E(G,L)};return I};YahhoCal.createCalendar=function(B){YAHOO.util.Dom.addClass(document.getElementsByTagName("body")[0],"yui-skin-sam");var A=(this.place=document.createElement("div"));YAHOO.util.Dom.setStyle(A,"position","absolute");YAHOO.util.Dom.insertAfter(A,B);var C=new YAHOO.widget.Calendar(A,this.YUI_CAL_CONFIG_JP);C.selectEvent.subscribe(function(E,F){var D=F[0][0];YahhoCal.adapters[YahhoCal.currentId].setDate(D[0],D[1],D[2]);C.hide()},C,true);C.changePageEvent.subscribe(function(){YahhoCal.showHolidays(C.cfg.getProperty("pagedate"))},C,true);return C};YahhoCal.showHolidays=function(A){if(!window.GCalHolidays){return }GCalHolidays.get(this.setHolidays,A.getFullYear(),A.getMonth()+1)};YahhoCal.setHolidays=function(D){if(D.length===0){return }var F=D[0];var E=YAHOO.util.Dom.getElementsByClassName("y"+F.year,"table",this.place)[0];var A=YAHOO.util.Dom.getElementsByClassName("m"+F.month,"tbody",E)[0];if(!E||!A){return }for(var B in D){var C=D[B];var G=YAHOO.util.Dom.getElementsByClassName("d"+C.date,"td",A)[0];YAHOO.util.Dom.addClass(G,"holiday");G.title=C.title}};YahhoCal.loadYUI=function(D){if(!D){D=this.YUI_URL.SERVER+this.YUI_URL.VERSION+this.YUI_URL.DIR}var C=document.createElement("script");C.type="text/javascript";C.src=D+"yuiloader/yuiloader-beta-min.js";document.getElementsByTagName("head")[0].appendChild(C);var A=3000,B=100,E=0;var F=setInterval(function(){if(window.YAHOO){clearInterval(F);new YAHOO.util.YUILoader({require:["calendar"],base:D}).insert()}else{if((E+=B)>A){clearInterval(F)}}},B)};YahhoCal.setMondayAs1st=function(){this.YUI_CAL_CONFIG_JP.start_weekday=1};
