var calendar_DayNames = new Array("日","一","二","三","四","五","六");
var calendar_MonthNames = new Array("一月 Jan","二月  Feb","三月  Mar","四月  Apr","五月  May","六月  Jun","七月  Jul","八月  Aug","九月  Sep","十月  Oct","十一月  Nov","十二月  Dec");
var calendar_YearNames = new Array("2006","2007","2008","2009","2010","2011");

function showCalendar(targetID, targetURL, dMonth, dYear, dDay, dWidth,basedir,days, imageURL)
{
    if(dMonth < 0)
    {       
        dMonth = 11;
        dYear-=1;
    }
    if(dMonth > 11)
    {
        dMonth = 0;
        dYear+=1;
    }
        
    var oSelMonth = '<select name="selMonth" onchange="gotoUrl('+dYear+',this.options[this.selectedIndex].value);">';
    for (itemp = 0; itemp<12; itemp++)
    {
    	oTmp = '';
    	if (itemp==dMonth)
    		oTmp = 'selected="selected"';
    	oSelMonth += '<option '+oTmp+' value='+itemp+'>'+calendar_MonthNames[itemp]+'</option>';
    }
    oSelMonth += '</select>';
    
    var oSelYear = '<select name="selYear" onchange="gotoUrl(this.options[this.selectedIndex].value,'+dMonth+');">'
    for (itemp = 0; itemp<6; itemp++)
    {
    	oTmp = '';
    	if (calendar_YearNames[itemp]==dYear)
    		oTmp = 'selected="selected"';
    	oSelYear += '<option '+oTmp+' value='+calendar_YearNames[itemp]+'>'+calendar_YearNames[itemp]+'</option>';
    }
    oSelYear += '</select>';

    var dNow = new Date();

    if(dDay == 90 && dMonth == dNow.getMonth() && dYear == dNow.getYear()) {dDay = dNow.getDate();}

    var dCurFD = new Date(dYear, dMonth, 1);
    var dGivenDate = new Date(dYear, dMonth, dDay); 
    var dCurrentMonthFirstSunday = dCurFD.getDay();
    var dCurrentViewDate = new Date(dCurFD);
    var iDays = 0;
    var weekMilliseconds = 1000*60*60*24*7;

    if(dCurrentMonthFirstSunday > 0) {iDays = -dCurrentMonthFirstSunday;}

    var fTrgt = targetURL;
    while (fTrgt.indexOf("'") >= 0) {fTrgt = fTrgt.replace("'", "`");}
    while (fTrgt.indexOf("`") >= 0) {fTrgt = fTrgt.replace("`", "\\'");   }

    var oBuf = '<TABLE BORDER="0" WIDTH="'+dWidth+'" CELLSPACING="0" CELLPADDING="0">';
    if(dMonth==0){
	    oBuf += '<TR><TD CLASS="calendarhd"><A HREF="'+targetURL+'&y='+(dYear-1)+'&m=12" title="上个月"><img src="'+basedir+'/images/leftArrow.gif" border=0 /></A></TD>';
	}
	else{
		oBuf += '<TR><TD CLASS="calendarhd"><A HREF="'+targetURL+'&y='+dYear+'&m='+dMonth+'" title="上个月"><img src="'+basedir+'/images/leftArrow.gif" border=0 /></A></TD>';
	}
    oBuf += '<TD COLSPAN="5" CLASS="calendarhd" align="center">' + oSelYear + '<br/>' + oSelMonth +'</TD>';
    if(dMonth==11)
        oBuf += '<TD CLASS="calendarhd"><A HREF="'+targetURL+'&y='+(dYear-1+2)+'&m=1" title="下个月"><img src="'+basedir+'/images/rightArrow.gif"  border=0 /></A></TD></TR>';
    else
	    oBuf += '<TD CLASS="calendarhd"><A HREF="'+targetURL+'&y='+dYear+'&m='+(dMonth-1+3)+'" title="下个月"><img src="'+basedir+'/images/rightArrow.gif"  border=0 /></A></TD></TR>';
    oBuf += '<TR style="calendarhdrow">';

    for(var e=0; e < 7; e+=1) oBuf += '<TD CLASS="calendarDays">' + calendar_DayNames[e] + '</TD>';         

    oBuf += '</TR>';
    oBuf +='<input type=hidden id="tUrl" value="'+targetURL+'">';

    var nextMonthFirstDay = new Date(dYear, dMonth+1, 1);
    var IsNextMonthFirstDaySunday = nextMonthFirstDay.getDay()==0;

    for(var iRows=0; iRows < 6; iRows+=1)
    {
        dCurrentMonthDate = new Date(dCurFD.getFullYear(), dCurFD.getMonth(), dCurFD.getDate() + iDays);
        if(1==1)        
        {
        if(iRows==5 && dCurrentMonthDate.getMonth() > dCurFD.getMonth()) continue;       
        if(iRows==5 && IsNextMonthFirstDaySunday) continue;

        oBuf += '<TR CLASS="calendarContent">';
        for(var iCols=0; iCols < 7; iCols+=1)
        {
            dCurrentViewDate = new Date(dCurFD.getFullYear(), dCurFD.getMonth(), dCurFD.getDate() + iDays);
            if((dGivenDate.toDateString() == dCurrentViewDate.toDateString()) && (dDay != 90))
            {
                oBuf += '<TD CLASS="selectedDate">';
            }
            else
            {
                if(dCurrentViewDate.getMonth() != dMonth || iDays < 0)
                {
                    oBuf += '<TD CLASS="negDate">';
                }
                else
                {
                    oBuf += '<TD CLASS="posDate">';
                }
            }           

            var imageFullURL="";
            
            s = "|"+  dCurrentViewDate.getDate() +"|";
            if(days.indexOf(s) >= 0)
            {
            	sMonth = dMonth-1+2;
            	sMonth = sMonth>9?""+sMonth:"0"+sMonth;
            	tmpDay = dCurrentViewDate.getDate()
            	sDay = tmpDay>9?""+tmpDay:"0"+tmpDay;
            	imageFullURL=imageURL+dYear+"_"+sMonth+"_"+sDay+".jpg";
            }
            
			if(dCurrentViewDate.getMonth()==dMonth)
			{
				if (imageFullURL!="")
				{
	            	oBuf += '<A class="imageLink" HREF="javascript:changeSrc('+"'diary_image','" + imageFullURL + "')"+'"'+'><b>' + dCurrentViewDate.getDate() + '</b></A></TD>';	
	            }
	            else
	            {
	            	oBuf += dCurrentViewDate.getDate() + '</TD>';	
	            }
            }
            else
            {
            		oBuf += "&nbsp;"
            }
            iDays+=1;
        }

        oBuf += '</TR>';
        }
    }

    oBuf += '</TABLE>';
    oBuf += '<br/><input id="imageName" size=16 class="text" readonly="readonly" value=" " type="text">';
    document.getElementById(targetID).innerHTML = oBuf;
}

function gotoUrl(iY, iM)
{
	iMon = parseInt(iM)+1;
	theUrl = document.getElementById("tUrl").value;
	//alert(theUrl+'&y='+iY+'&m='+iMon);
	window.location.href = theUrl+'&y='+iY+'&m='+iMon; 
}

function changeSrc(targetID, url)
{
	document.getElementById(targetID).src = url;
    var i = url.lastIndexOf('/')+1;
	var sImgName = url.substr(i,i-4);	
	sImgName = sImgName.substr(0,sImgName.length - 4);
	sImgName = sImgName.replace(/_/g,'.');
	document.getElementById('imageName').value = sImgName;
}

