document.write("<link href='/www2009/jp/css/doubleDatePicker.css' rel='stylesheet' type='text/css' />");
(function($) {
    $.fn.calendar=function(options){
        options = $.extend({ 
            initDate:new Date(),
            monthText:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],
            weekText:["日","一","二","三","四","五","六"],
            range:[new Date(1949,0,1),new Date(2015,0,1)],
            id:'',
            clickEvent:null
        },options);
        function MonthInfo(y,m){
            var monthDays = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];                
            var d = (new Date(y,m,1));
            d.setDate(1);
            if (d.getDate() == 2) d.setDate(0);
            y +=1900;
            return {
                days : m==1?(((y % 4 == 0) && (y % 100 != 0)) || (y % 400 == 0)?29:28):monthDays[m],
                firstDay : d.getDay()
            };
        };
        function InitCalendar(maincal,maindate){
        	var today = new Date(options.initDate);
            maincal.html("");
            maincal.addClass("calendar");
            
            var date = new Date(maindate);
            var cal = $("<div class='calendar-sub'></div>");
            var month=MonthInfo(date.getFullYear(),date.getMonth());
            var year=$("<ul></ul>");
            year.append("<li class='calendar_prevlink'><a href='#' cal='prevmonth' class='jt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a></li>").append("<li class='calendar_yearmonth'>"+date.getFullYear()+"年"+options.monthText[date.getMonth()]+"</li>");
            cal.append(year);

            var week=$("<ul></ul>");
            week.append("<li class='calendar_weekend'>"+options.weekText[0]+"</li>")
            for(i=1;i<6;i++){
                week.append("<li class='calendar_week'>"+options.weekText[i]+"</li>")
            };            
            week.append("<li class='calendar_weekend'>"+options.weekText[6]+"</li>")
            cal.append(week);
            for(i=0;i<6;i++){
                var days=$("<ul></ul>");
                for(var j=0;j<7;j++){
                    var d=7*i -month.firstDay + j + 1;
                    var css=(d==today.getDate() && today.getFullYear()==date.getFullYear() && date.getMonth()==today.getMonth())?"class='calendar_selected'":"";
                    if(d>0 && d<=month.days){
                        var curd=new Date(date.getFullYear(),date.getMonth()+1,d);
                        if(curd>=options.range[0] && curd<=options.range[1]) {             
                            days.append("<li><a href='#' "+css+" year='"+date.getFullYear()+"' month='"+date.getMonth()+"' date='"+d+"'>"+d+"</a></li>");
                        }else{
                            days.append("<li class='calendar_outrange'>"+d+"</li>");}
                    }else{
                        days.append("<li class='calendar_invalid'>&nbsp;</li>")
                    }
                };
                cal.append(days);
            };
            var cu=$("<ul></ul>");
            cu.append("<p align=left><img src='/www2009/images/r2_c4.gif' style='margin-left:5px;'><a href='#' cal='today'class='ud blue03'> 选择今天</a></p>");
            cal.append(cu);
            maincal.append(cal);

			var date = new Date(maindate.getFullYear(),maindate.getMonth()+1,1);
            var cal = $("<div class='calendar-sub2'></div>");
            var month=MonthInfo(date.getFullYear(),date.getMonth());
            var year=$("<ul></ul>");
            year.append("<li class='calendar_yearmonth'>"+date.getFullYear()+"年"+options.monthText[date.getMonth()]+"</li>").append("<li class='calendar_nextlink'><a href='#' cal='nextmonth' class='jt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a></li>");
            cal.append(year);
            
            var week=$("<ul></ul>");
            week.append("<li class='calendar_weekend'>"+options.weekText[0]+"</li>")
            for(i=1;i<6;i++){
                week.append("<li class='calendar_week'>"+options.weekText[i]+"</li>")
            };            
            week.append("<li class='calendar_weekend'>"+options.weekText[6]+"</li>")
            cal.append(week);     

            for(i=0;i<6;i++){
                var days=$("<ul></ul>");
                for(var j=0;j<7;j++){
                    var d=7*i -month.firstDay + j + 1;
                    var css=((d==today.getDate() && today.getFullYear()==date.getFullYear() && date.getMonth()==today.getMonth())?"class='calendar_selected'":"");
                    if(d>0 && d<=month.days){
                        var curd=new Date(date.getFullYear(),date.getMonth()+1,d);
                        if(curd>=options.range[0] && curd<=options.range[1]) {             
                            days.append("<li><a href='#' "+css+" year='"+date.getFullYear()+"' month='"+date.getMonth()+"' date='"+d+"'>"+d+"</a></li>");
                        }else{
                            days.append("<li class='calendar_outrange'>"+d+"</li>");}
                    }else{
                        days.append("<li class='calendar_invalid'>&nbsp;</li>")
                    }
                };
                cal.append(days);
            };
            var cu2=$("<ul></ul>");
            cu2.append("<p align=right><a href='#' cal='close'><img src='/www2009/images/bbhchaicon01.gif' border='0' style='margin-right:5px;'></a></p>");
            cal.append(cu2);
            maincal.append(cal);
            
            maincal.find("a").focus(function(){this.blur()});
            maincal.find("a").click(function(e){
                if($(this).attr("cal")=="prevmonth"){
                    maindate.setMonth(maindate.getMonth()-1);
                    InitCalendar(maincal,maindate);
                }
                else if($(this).attr("cal")=="nextmonth"){
                	maindate.setMonth(maindate.getMonth()+1);
                    InitCalendar(maincal,maindate);
                }else if($(this).attr("cal")=="close"){
                	$("#"+options.id+"_date").remove();
					$(".dbdatemask").remove();
                }else if($(this).attr("cal")=="today"){
                	options.initDate=new Date();
                    InitCalendar(maincal,options.initDate);
                }
                else{
                    maincal.find(".calendar_selected").removeAttr("class");                
                    this.className="calendar_selected";
                    if(options.clickEvent!=null)
                      options.clickEvent(new Date($(this).attr("year"),$(this).attr("month"),$(this).attr("date")));
                    	
                };
				e.stopPropagation();
                return false;
            })
        };
        return this.each(function() {
            var maincal=$(this);               
            var date=options.initDate;
            InitCalendar(maincal,date);            
        })
    }
})(jQuery);


(function($){	
	var fmtNum=function(num)
	{
		if(num<10)
			num="0"+num;
		return num;
	}
     $.fn.doubleDatePicker=function(options){
        options = $.extend({ 
            initDate:new Date(),
            monthText:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],
            weekText:["日","一","二","三","四","五","六"],
            range:[new Date(1949,0,1),new Date(2015,0,1)],
            firstCal:'',            
            splitChar:"-",
			minDate:new Date().getFullYear()+"-"+(new Date().getMonth()+1)+"-"+new Date().getDate()
        },options);
        
             return this.each(function() {
             $(this).click(function(e){
                if($("#"+this.id+"_date").length==0){
                    var area=$("<div id='"+this.id+"_date'></div>").addClass("db__date");
                    var dateinput=this;
                    if(this.value!=""){
                        var d=  dateinput.value.split(options.splitChar);
                        options.initDate=new Date(d[0],d[1]-1,d[2]);
                    };
                    if (options.firstCal !='' && $('#'+options.firstCal).val()!=''){
                    	var d2=$('#'+options.firstCal).val().split(options.splitChar);
                    	options.range[0]=new Date(d2[0],d2[1],d2[2]);
                    }
                    if(options.minDate)
                    {
                    	var d2=options.minDate.split(options.splitChar);
                    	options.range[0]=new Date(d2[0],d2[1],d2[2]);
                    }
                    area.calendar({
                    	id:this.id,
                        initDate:options.initDate,
                        range:options.range,
                        monthText:options.monthText,
                        weekText:options.weekText,
                        clickEvent:function(date){
                            dateinput.value=date.getFullYear()+options.splitChar+fmtNum((date.getMonth()+1))+options.splitChar+fmtNum(date.getDate());
                            area.remove();
							$(".dbdatemask").remove();
                        }
                    });
                    
                    var offset=$(this).offset();
                    area.css({
                        position:"absolute",
                        left:$(this).offset().left,
                        top:$(this).offset().top+this.clientHeight,
						zIndex:100
                    });
					$(".db__date").remove();
					$(".dbdatemask").remove();
                    $("body").append(area);
					var mask=$("<iframe width='300' height='180' frameborder='0' scrolling='no' class='dbdatemask'></iframe>");
					mask.css({
                        position:"absolute",
                        left:$(this).offset().left,
                        top:$(this).offset().top+this.clientHeight,
						filter:'alpha(opacity=0)',
						zIndex:1
                    });
					$("body").append(mask);
                }
				e.stopPropagation();
            }).focus(function(e){
				$(this).click();
			});
        })
    }
})(jQuery);
$(function(){
	$("body").click(function(e){$(".db__date").remove();$(".dbdatemask").remove();});
});