﻿strCalString = "";

function ShowCalender(nYear, nMonth, authorNum, CamPus){ //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 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();

if(authorNum == ""){	define('FILE', '/contents/search/datas/allevent.csv');}
if(authorNum == 2){
	DirName = "game";
	if(CamPus == "tokyo"){
		PATH = '/contents/search/datas/tokyo/gameprogramevent.csv';
	}
	else if(CamPus == "osaka"){
		PATH = '/contents/search/datas/osaka/gameprogramevent.csv';
	}
	else{
		PATH = '/contents/search/datas/gameprogramevent.csv';
	}
}
if(authorNum == 15){
	DirName = "game-director";
	if(CamPus == "tokyo"){
		PATH = '/contents/search/datas/gamedirectorevent.csv';
	}
	else if(CamPus == "osaka"){
		PATH = '/contents/search/datas/osaka/gamedirectorevent.csv';
	}
	else{
		PATH = '/contents/search/datas/gamedirectorevent.csv';
	}
}
if(authorNum == 14){
	DirName = "cg-design";
	if(CamPus == "tokyo"){
		PATH = '/contents/search/datas/tokyo/cgevent.csv';
	}
	else if(CamPus == "osaka"){
		PATH = '/contents/search/datas/osaka/cgevent.csv';
	}
	else{
		PATH = '/contents/search/datas/cgevent.csv';
	}
}
if(authorNum == 3){
	DirName = "animation";
	if(CamPus == "tokyo"){
		PATH = '/contents/search/datas/tokyo/animeevent.csv';
	}
	else if(CamPus == "osaka"){
		PATH = '/contents/search/datas/osaka/animeevent.csv';
	}
	else{
		PATH = '/contents/search/datas/animeevent.csv';
	}
}
if(authorNum == 4){
	DirName = "chara";
	if(CamPus == "tokyo"){
		PATH = '/contents/search/datas/tokyo/charaevent.csv';
	}
	else if(CamPus == "osaka"){
		PATH = '/contents/search/datas/osaka/charaevent.csv';
	}
	else{
		PATH = '/contents/search/datas/charaevent.csv';
	}
}
if(authorNum == 10){
	DirName = "comic";
	if(CamPus == "tokyo"){
		PATH = '/contents/search/datas/tokyo/mangaevent.csv';
	}
	else if(CamPus == "osaka"){
		PATH = '/contents/search/datas/osaka/mangaevent.csv';
	}
	else{
		PATH = '/contents/search/datas/mangaevent.csv';
	}
}
if(authorNum == 6){
	DirName = "novels";
	if(CamPus == "tokyo"){
		PATH = '/contents/search/datas/tokyo/novelsevent.csv';
	}
	else if(CamPus == "osaka"){
		PATH = '/contents/search/datas/osaka/novelsevent.csv';
	}
	else{
		PATH = '/contents/search/datas/novelsevent.csv';
	}
}
if(authorNum == 7){
	DirName = "voice";
	if(CamPus == "tokyo"){
		PATH = '/contents/search/datas/tokyo/voiceevent.csv';
	}
	else if(CamPus == "osaka"){
		PATH = '/contents/search/datas/osaka/voiceevent.csv';
	}
	else{
		PATH = '/contents/search/datas/voiceevent.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;

//年月日を取得
strYear = nYear;    //西暦4桁
strMonth = nMonth;  //現在の月
if(nYear == 0) strYear = dtCal.getFullYear(); //西暦4桁
if(nMonth == 0) strMonth = dtCal.getMonth()+1; //現在の月
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;
}

//ここから表示
strCalString = "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" id=\"eventcal\">\n"
//年月を表示
strCalString = strCalString + "<tr><td class=\"cal-side-top\" colspan=\"7\"><a href=\"#\" onclick=\"ShowCalender("+beforeYear+","+beforeMonth+","+authorNum+",'"+CamPus+"'); return false;\"><<</a>";
strCalString = strCalString + "&nbsp;"+strYear+"年"+strMonth+"月&nbsp;";
strCalString = strCalString + "<a href=\"#\" onclick=\"ShowCalender("+afterYear+","+afterMonth+","+authorNum+",'"+CamPus+"'); return false;\">>></a></td></tr>\n";

strCalString = strCalString + "<tr style=\"font-weight:bold;\">\n";
//一行目は曜日
for(nLoop=0; nLoop < 7; nLoop++)
{
    if(nLoop == 0) {
    	strCalString = strCalString + "<td class=\"cal-side-sun\"><span style=\"color:#FF0000;\">"+strDay[nLoop]+"</span></td>\n";
    } else if (nLoop == 6) {
        strCalString = strCalString + "<td class=\"cal-side-sat\"><span style=\"color:#006ff7;\">"+strDay[nLoop]+"</span></td>\n";
    } else {
        strCalString = strCalString + "<td>"+strDay[nLoop]+"</td>\n";
    }
}
strCalString = strCalString + "</tr>\n";
strCalString = strCalString + "<tr>\n";
//ブランクを挿入
for(nLoop = 0; nLoop < dtCal.getDay(); nLoop++)
{
	if(nLoop == 0) {
		strCalString = strCalString + "<td class=cal-side-sun>&nbsp;</td>\n";
	}
	else{
	    strCalString = strCalString + "<td>&nbsp;</td>\n";
	}
}
//日付を挿入
for(nLoop = 0; nLoop < nDayCount; nLoop++)
{
    if (dtCal.getDate() > nLoop)
    {
        if (dtCal.getDay() == 0)
        {
            strCalString = strCalString + "<tr>\n";
        }
        if (dtCal.getDay() != 7)
        {
        	DatePadding = zeroPadding(dtCal.getDate());
        	date8figures = strYear+MonthPadding+DatePadding;
        	
        	var stringDate = "";
			var flg = 0;
        	for(var k = 0; k < jshNum; k++){
   			 	for (var i = 0; i < 2; i++) {
			  	  	if(i == 0){
    					if(dataJsDateSet[k] == date8figures){
	    					stringDate = dataJsDateSet[k];
   			 				flg = 1;
  			    		}
		   		 	}
    				if(i == 1){
    					if(flg == 1){
    						if(authorNum == 99){
    							if(dtCal.getDay() == 0) {
    								strCalString = strCalString + "<td class='cal-side-sun cal"+dataJsColorSet[k]+"'><a href=/contents/search/event.html?day="+stringDate+">"+dtCal.getDate()+"</a></td>\n";
    							}
    							else if(dtCal.getDay() == 6){
    								strCalString = strCalString + "<td class='cal-side-sat cal"+dataJsColorSet[k]+"'><a href=/contents/search/event.html?day="+stringDate+">"+dtCal.getDate()+"</a></td>\n";
    							}
    							else{
				    				strCalString = strCalString + "<td class=cal"+dataJsColorSet[k]+"><a href=/contents/search/event.html?day="+stringDate+">"+dtCal.getDate()+"</a></td>\n";
				    			}
    							flg = 2;
    						}
    						else{
    							if(CamPus == 99){
    								if(dtCal.getDay() == 0) {
    									strCalString = strCalString + "<td class='cal-side-sun cal"+dataJsColorSet[k]+"'><a href=/contents/"+DirName+"/event.html?author="+authorNum+"&day="+stringDate+">"+dtCal.getDate()+"</a></td>\n";
	    							}
    								else if(dtCal.getDay() == 6){
    									strCalString = strCalString + "<td class='cal-side-sat cal"+dataJsColorSet[k]+"'><a href=/contents/"+DirName+"/event.html?author="+authorNum+"&day="+stringDate+">"+dtCal.getDate()+"</a></td>\n";
    								}
    								else{
	    								strCalString = strCalString + "<td class=cal"+dataJsColorSet[k]+"><a href=/contents/"+DirName+"/event.html?author="+authorNum+"&day="+stringDate+">"+dtCal.getDate()+"</a></td>\n";
	    							}
    								flg = 2;
    							}
    							else{
    								if(dtCal.getDay() == 0) {
    									strCalString = strCalString + "<td class='cal-side-sun cal"+dataJsColorSet[k]+"'><a href=/contents/"+DirName+"/event.html?author="+authorNum+"&campus="+CamPus+"&day="+stringDate+">"+dtCal.getDate()+"</a></td>\n";
	    							}
    								else if(dtCal.getDay() == 6){
    									strCalString = strCalString + "<td class='cal-side-sat cal"+dataJsColorSet[k]+"'><a href=/contents/"+DirName+"/event.html?author="+authorNum+"&campus="+CamPus+"&day="+stringDate+">"+dtCal.getDate()+"</a></td>\n";
    								}
    								else{
	    								strCalString = strCalString + "<td class=cal"+dataJsColorSet[k]+"><a href=/contents/"+DirName+"/event.html?author="+authorNum+"&campus="+CamPus+"&day="+stringDate+">"+dtCal.getDate()+"</a></td>\n";
	    							}
    								flg = 2;
    							}
    						}
    					}
    				}
    			}
  			}
  			if(flg == 0){
  				if(dtCal.getDay() == 0) {
    				strCalString = strCalString + "<td class=cal-side-sun>"+dtCal.getDate()+"</td>\n";
    			}
    			else if(dtCal.getDay() == 6){
    				strCalString = strCalString + "<td class=cal-side-sat>"+dtCal.getDate()+"</td>\n";
    			}
    			else{
  					strCalString = strCalString + "<td>"+dtCal.getDate()+"</td>\n";
  				}
  			}
        }
        if (dtCal.getDay() == 6)
        {
            strCalString = strCalString + "</tr>";
        }
    }

    dtCal.setDate(dtCal.getDate()+1);
    nRemain = 7-dtCal.getDay();
}

if (nRemain != 7) {
    for (tdnum = 7 - nRemain; tdnum < 7; tdnum++) {
    	if(tdnum == 6){
    		strCalString = strCalString + "<td class=cal-side-sat>&nbsp;</td>\n";
    	}
    	else{
	        strCalString = strCalString + "<td>&nbsp;</td>\n";
	    }
    }
    strCalString = strCalString + "</tr>";
}


strCalString = strCalString + "</table>";

document.getElementById("calendar").innerHTML = strCalString;

}

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);
}

