﻿strCalString = "";

function ShowCalendar(nYear, nMonth){ //authorNum：学科ID CamPus：校舎名
var strCalString;
var DirName;
var dtCal = new Date;
var strYear;
var beforeYear;
var afterYear;
var strMonth;
var MonthPadding;
var realMonth;
var beforeMonth;
var afterMonth;
var strDate;
var DatePadding;
var nRemain;
var date8figures;
var thisMonth;
var todayDate;
var strDay = new Array("日","月","火","水","木","金","土");
var nMonthCount = new Array(0,31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
var jsh = 0;
var jshNum;
var dataJsDateSet = new Array();
var dataJsColorSet = new Array();

//取得CSVファイル定義
PATH = '/contents/search/datas/allevent.csv';

var httpObj = new JKL.ParseXML.CSV(PATH);
var csvData = httpObj.parse();
for (var i = 0; i < csvData.length; i++) {
    	for (var j = 0; j < csvData[i].length+1; j++){
    		if(j == 0){
    			dataJsDateSet[jsh] = csvData[i][j];
    		} if(j == 1){
    			dataJsColorSet[jsh] = csvData[i][j];
    		}
    	}
    	jsh++;
    }
jshNum = jsh;

//年月日を取得
thisMonth = dtCal.getMonth()+1;
todayDate = dtCal.getFullYear()+zeroPadding(thisMonth)+zeroPadding(dtCal.getDate());

strYear = nYear;    //西暦4桁
strMonth = nMonth;  //現在の月
if(nYear == 0) strYear = dtCal.getFullYear(); //西暦4桁
if(nMonth == 0) strMonth = dtCal.getMonth()+1; //現在の月
strDate = zeroPadding(dtCal.getDate());
realMonth = strMonth - 1;  //現在の月
MonthPadding = zeroPadding(strMonth);
nDay = dtCal.getDate(); //現在の日にち

//表示のための準備
dtCal.setYear(strYear);
dtCal.setDate(1);
dtCal.setMonth(realMonth);

var nDayCount = nMonthCount[strMonth];
if ((strMonth == 2)&&(((strYear%4 == 0)&&(strYear%100 != 0))||(strYear%400 == 0)))
{
    nDayCount = 29;
}

//月の設定
if(strMonth == 1){
	beforeYear = strYear - 1;
	beforeMonth = 12;
	afterYear = strYear;
	afterMonth = strMonth + 1;
} else if(strMonth == 12) {
	beforeYear = strYear;
	beforeMonth = strMonth - 1;
	afterYear = strYear + 1;
	afterMonth = 1;
} else {
	beforeYear = strYear;
	beforeMonth = strMonth - 1;
	afterYear = strYear;
	afterMonth = strMonth + 1;
}

// ▼calendar
strCalString = "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" summary=\"calendar\" id=\"hometaikentb1\">\n"
// ▼年月表示
strCalString = strCalString + "<tr><td id=\"hometaikentd1\"><a href=\"#\" onclick=\"ShowCalendar("+beforeYear+","+beforeMonth+"); return false;\"><img src=\"common/home/image/taiken_arrow1.gif\" width=\"23\" height=\"23\" alt=\"前の月へ\" /></a></td>\n";
strCalString = strCalString + "<td id=\"hometaikentd2\">&nbsp;"+strYear+"."+strMonth+"&nbsp;</td>\n";
strCalString = strCalString + "<td id=\"hometaikentd3\"><a href=\"#\" onclick=\"ShowCalendar("+afterYear+","+afterMonth+"); return false;\"><img src=\"common/home/image/taiken_arrow2.gif\" width=\"23\" height=\"23\" alt=\"次の月へ\" /></a></td></tr>\n";
strCalString = strCalString + "</table>\n";
// ▲年月表示

// ▼日表示
strCalString = strCalString + "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" summary=\"calendar\" id=\"homecalendar\">\n";
strCalString = strCalString + "<tr>\n";
//ブランクを挿入
for(nLoop = 0; nLoop < dtCal.getDay(); nLoop++)
{
	strCalString = strCalString + "<td>-</td>\n";
}
//日付を挿入
for(nLoop = 0; nLoop < nDayCount; nLoop++){
    if (dtCal.getDate() > nLoop){
        if (dtCal.getDay() == 0){
            strCalString = strCalString + "<tr>\n";
        }
        if (dtCal.getDay() != 7){
        	var matchFlag = 0;
        	var fixColor;
        	DatePadding = zeroPadding(dtCal.getDate());
        	date8figures = strYear+MonthPadding+DatePadding;
        	if(date8figures < todayDate){
        		matchFlag = 2;	//2：当日前は非表示
        	}
        	else{
	        	for(var k = 0;k < jshNum; k++){
        			//開催日とのマッチング
        			if(dataJsDateSet[k] == date8figures){
		        		matchFlag = 1;	//1：マッチ
		        		fixColor = dataJsColorSet[k];
		        		break;
		     	}else{
		        		matchFlag = 2;	//2：マッチせず
		     	}
			}
		}
		//▼日表示処理
		if(matchFlag == 1){
			strCalString = strCalString + "<td class=cal"+fixColor+"><a href=\"javascript:void(0)\" onClick=\"dataPost("+date8figures+")\">"+dtCal.getDate()+"</a></td>\n";
		}else if(matchFlag == 2){
			strCalString = strCalString + "<td>"+dtCal.getDate()+"</td>\n";
		}
		//▲日表示処理
		if (dtCal.getDay() == 6){
			strCalString = strCalString + "</tr>\n";
		}
      }
    }
    dtCal.setDate(dtCal.getDate()+1);
    nRemain = 7-dtCal.getDay();
}

if (nRemain != 7) {
    for (tdnum = 7 - nRemain; tdnum < 7; tdnum++) {
		strCalString = strCalString + "<td>-</td>\n";
	}
    strCalString = strCalString + "</tr>\n";
}
// ▲日表示

strCalString = strCalString + "</table>\n";
document.getElementById("topCalendar").innerHTML = strCalString;
}
// ▲calendar

function zeroPadding(val, len) {
	len = len || 2; // len が指定されなかった場合2桁でそろえる。
	if ( String(val).length >= len ) return String(val);
	var zero = "0";
	while ( zero.length < len ) { zero += "0";}
	return (zero+val).slice(-len);
}

function dataPost(date){
       var param = "";
       var flagTokyo = document.getElementById("tokyo").checked;
       var flagOsaka = document.getElementById("osaka").checked;
       param += '?m=' + date;
	  param += '&cat=25';
       param += '&author=' + $("#author").val(); //学科
       if (flagTokyo == true){
       	   param += '&tag=tokyo';
       }else if(flagOsaka == true){
       	   param += '&tag=osaka';
   	   }
	 location.href = 'contents/' + param;
}
