/** * jQuery EasyUI 1.3.4 * * Copyright (c) 2009-2013 www.jeasyui.com. All rights reserved. * * Licensed under the GPL or commercial licenses * To use it on other terms please contact us: info@jeasyui.com * http://www.gnu.org/licenses/gpl.txt * http://www.jeasyui.com/license_commercial.php * */ (function($){ function _1(_2){ var _3=$.data(_2,"calendar").options; var t=$(_2); _3.fit?$.extend(_3,t._fit()):t._fit(false); var _4=t.find(".calendar-header"); t._outerWidth(_3.width); t._outerHeight(_3.height); t.find(".calendar-body")._outerHeight(t.height()-_4._outerHeight()); }; function _5(_6){ $(_6).addClass("calendar").html("
"+"
"+"
"+"
"+"
"+"
"+"Aprial 2010"+"
"+"
"+"
"+"
"+"
"+""+""+""+"
"+"
"+"
"+"
"+"
"); $(_6).find(".calendar-title span").hover(function(){ $(this).addClass("calendar-menu-hover"); },function(){ $(this).removeClass("calendar-menu-hover"); }).click(function(){ var _7=$(_6).find(".calendar-menu"); if(_7.is(":visible")){ _7.hide(); }else{ _14(_6); } }); $(".calendar-prevmonth,.calendar-nextmonth,.calendar-prevyear,.calendar-nextyear",_6).hover(function(){ $(this).addClass("calendar-nav-hover"); },function(){ $(this).removeClass("calendar-nav-hover"); }); $(_6).find(".calendar-nextmonth").click(function(){ _9(_6,1); }); $(_6).find(".calendar-prevmonth").click(function(){ _9(_6,-1); }); $(_6).find(".calendar-nextyear").click(function(){ _f(_6,1); }); $(_6).find(".calendar-prevyear").click(function(){ _f(_6,-1); }); $(_6).bind("_resize",function(){ var _8=$.data(_6,"calendar").options; if(_8.fit==true){ _1(_6); } return false; }); }; function _9(_a,_b){ var _c=$.data(_a,"calendar").options; _c.month+=_b; if(_c.month>12){ _c.year++; _c.month=1; }else{ if(_c.month<1){ _c.year--; _c.month=12; } } _d(_a); var _e=$(_a).find(".calendar-menu-month-inner"); _e.find("td.calendar-selected").removeClass("calendar-selected"); _e.find("td:eq("+(_c.month-1)+")").addClass("calendar-selected"); }; function _f(_10,_11){ var _12=$.data(_10,"calendar").options; _12.year+=_11; _d(_10); var _13=$(_10).find(".calendar-menu-year"); _13.val(_12.year); }; function _14(_15){ var _16=$.data(_15,"calendar").options; $(_15).find(".calendar-menu").show(); if($(_15).find(".calendar-menu-month-inner").is(":empty")){ $(_15).find(".calendar-menu-month-inner").empty(); var t=$("
").appendTo($(_15).find(".calendar-menu-month-inner")); var idx=0; for(var i=0;i<3;i++){ var tr=$("").appendTo(t); for(var j=0;j<4;j++){ $("").html(_16.months[idx++]).attr("abbr",idx).appendTo(tr); } } $(_15).find(".calendar-menu-prev,.calendar-menu-next").hover(function(){ $(this).addClass("calendar-menu-hover"); },function(){ $(this).removeClass("calendar-menu-hover"); }); $(_15).find(".calendar-menu-next").click(function(){ var y=$(_15).find(".calendar-menu-year"); if(!isNaN(y.val())){ y.val(parseInt(y.val())+1); } }); $(_15).find(".calendar-menu-prev").click(function(){ var y=$(_15).find(".calendar-menu-year"); if(!isNaN(y.val())){ y.val(parseInt(y.val()-1)); } }); $(_15).find(".calendar-menu-year").keypress(function(e){ if(e.keyCode==13){ _17(); } }); $(_15).find(".calendar-menu-month").hover(function(){ $(this).addClass("calendar-menu-hover"); },function(){ $(this).removeClass("calendar-menu-hover"); }).click(function(){ var _18=$(_15).find(".calendar-menu"); _18.find(".calendar-selected").removeClass("calendar-selected"); $(this).addClass("calendar-selected"); _17(); }); } function _17(){ var _19=$(_15).find(".calendar-menu"); var _1a=_19.find(".calendar-menu-year").val(); var _1b=_19.find(".calendar-selected").attr("abbr"); if(!isNaN(_1a)){ _16.year=parseInt(_1a); _16.month=parseInt(_1b); _d(_15); } _19.hide(); }; var _1c=$(_15).find(".calendar-body"); var _1d=$(_15).find(".calendar-menu"); var _1e=_1d.find(".calendar-menu-year-inner"); var _1f=_1d.find(".calendar-menu-month-inner"); _1e.find("input").val(_16.year).focus(); _1f.find("td.calendar-selected").removeClass("calendar-selected"); _1f.find("td:eq("+(_16.month-1)+")").addClass("calendar-selected"); _1d._outerWidth(_1c._outerWidth()); _1d._outerHeight(_1c._outerHeight()); _1f._outerHeight(_1d.height()-_1e._outerHeight()); }; function _20(_21,_22,_23){ var _24=$.data(_21,"calendar").options; var _25=[]; var _26=new Date(_22,_23,0).getDate(); for(var i=1;i<=_26;i++){ _25.push([_22,_23,i]); } var _27=[],_28=[]; var _29=-1; while(_25.length>0){ var _2a=_25.shift(); _28.push(_2a); var day=new Date(_2a[0],_2a[1]-1,_2a[2]).getDay(); if(_29==day){ day=0; }else{ if(day==(_24.firstDay==0?7:_24.firstDay)-1){ _27.push(_28); _28=[]; } } _29=day; } if(_28.length){ _27.push(_28); } var _2b=_27[0]; if(_2b.length<7){ while(_2b.length<7){ var _2c=_2b[0]; var _2a=new Date(_2c[0],_2c[1]-1,_2c[2]-1); _2b.unshift([_2a.getFullYear(),_2a.getMonth()+1,_2a.getDate()]); } }else{ var _2c=_2b[0]; var _28=[]; for(var i=1;i<=7;i++){ var _2a=new Date(_2c[0],_2c[1]-1,_2c[2]-i); _28.unshift([_2a.getFullYear(),_2a.getMonth()+1,_2a.getDate()]); } _27.unshift(_28); } var _2d=_27[_27.length-1]; while(_2d.length<7){ var _2e=_2d[_2d.length-1]; var _2a=new Date(_2e[0],_2e[1]-1,_2e[2]+1); _2d.push([_2a.getFullYear(),_2a.getMonth()+1,_2a.getDate()]); } if(_27.length<6){ var _2e=_2d[_2d.length-1]; var _28=[]; for(var i=1;i<=7;i++){ var _2a=new Date(_2e[0],_2e[1]-1,_2e[2]+i); _28.push([_2a.getFullYear(),_2a.getMonth()+1,_2a.getDate()]); } _27.push(_28); } return _27; }; function _d(_2f){ var _30=$.data(_2f,"calendar").options; $(_2f).find(".calendar-title span").html(_30.months[_30.month-1]+" "+_30.year); var _31=$(_2f).find("div.calendar-body"); _31.find(">table").remove(); var t=$("
").prependTo(_31); var tr=$("").appendTo(t.find("thead")); for(var i=_30.firstDay;i<_30.weeks.length;i++){ tr.append(""+_30.weeks[i]+""); } for(var i=0;i<_30.firstDay;i++){ tr.append(""+_30.weeks[i]+""); } var _32=_20(_2f,_30.year,_30.month); for(var i=0;i<_32.length;i++){ var _33=_32[i]; var tr=$("").appendTo(t.find("tbody")); for(var j=0;j<_33.length;j++){ var day=_33[j]; $("").attr("abbr",day[0]+","+day[1]+","+day[2]).html(day[2]).appendTo(tr); } } t.find("td[abbr^=\""+_30.year+","+_30.month+"\"]").removeClass("calendar-other-month"); var now=new Date(); var _34=now.getFullYear()+","+(now.getMonth()+1)+","+now.getDate(); t.find("td[abbr=\""+_34+"\"]").addClass("calendar-today"); if(_30.current){ t.find(".calendar-selected").removeClass("calendar-selected"); var _35=_30.current.getFullYear()+","+(_30.current.getMonth()+1)+","+_30.current.getDate(); t.find("td[abbr=\""+_35+"\"]").addClass("calendar-selected"); } var _36=6-_30.firstDay; var _37=_36+1; if(_36>=7){ _36-=7; } if(_37>=7){ _37-=7; } t.find("tr").find("td:eq("+_36+")").addClass("calendar-saturday"); t.find("tr").find("td:eq("+_37+")").addClass("calendar-sunday"); t.find("td").hover(function(){ $(this).addClass("calendar-hover"); },function(){ $(this).removeClass("calendar-hover"); }).click(function(){ t.find(".calendar-selected").removeClass("calendar-selected"); $(this).addClass("calendar-selected"); var _38=$(this).attr("abbr").split(","); _30.current=new Date(_38[0],parseInt(_38[1])-1,_38[2]); _30.onSelect.call(_2f,_30.current); }); }; $.fn.calendar=function(_39,_3a){ if(typeof _39=="string"){ return $.fn.calendar.methods[_39](this,_3a); } _39=_39||{}; return this.each(function(){ var _3b=$.data(this,"calendar"); if(_3b){ $.extend(_3b.options,_39); }else{ _3b=$.data(this,"calendar",{options:$.extend({},$.fn.calendar.defaults,$.fn.calendar.parseOptions(this),_39)}); _5(this); } if(_3b.options.border==false){ $(this).addClass("calendar-noborder"); } _1(this); _d(this); $(this).find("div.calendar-menu").hide(); }); }; $.fn.calendar.methods={options:function(jq){ return $.data(jq[0],"calendar").options; },resize:function(jq){ return jq.each(function(){ _1(this); }); },moveTo:function(jq,_3c){ return jq.each(function(){ $(this).calendar({year:_3c.getFullYear(),month:_3c.getMonth()+1,current:_3c}); }); }}; $.fn.calendar.parseOptions=function(_3d){ var t=$(_3d); return $.extend({},$.parser.parseOptions(_3d,["width","height",{firstDay:"number",fit:"boolean",border:"boolean"}])); }; $.fn.calendar.defaults={width:180,height:180,fit:false,border:true,firstDay:0,weeks:["S","M","T","W","T","F","S"],months:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],year:new Date().getFullYear(),month:new Date().getMonth()+1,current:new Date(),onSelect:function(_3e){ }}; })(jQuery);