﻿// JavaScript Document
function changeCalendar(){
	var y = $("calYear").value;
	var m = $("calMonth").value;
	setYearMonth( y, m);
}
function topInit(m){
   var dt=new Date();//　日付を取得
   var dy=dt.getYear();
   var dm=dt.getMonth()+1;
   if( dy<1900) dy+=1900;
   $("calYear").value=String(dy);
   $("calMonth").value=String(dm);
   if( m == "edit"){
	   mode=1;
   }
   setYearMonth( dy, dm);
}
var mode=0; // 0:view,  1:edit
var nYear=2008;
var nMonth=0;
var data;

function setYearMonth( y, m){
   var url="/cgi-bin/tools/event/eview.cgi?mode=json&y="+y+"&m="+m;
   nYear=y;
   nMonth=m-1;
   loadJSONFile( setSchedule, url);
}

function getMonthDays( y, m){
  var year = parseInt(y);
  var month = parseInt( m);
  var dd=[ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ]; 
  var diff=0;
  if( month == 1){
    if(  (year%4) == 0){
	  if( (year%100) == 0){
	    diff=0;
	  }
	  else {
	    diff = 1;
	  }
	  if( (year%400) == 0){
	    diff = 1;
	  }
	}
  }
  return (dd[month]+diff);
}

function setSchedule( idata){
	data = idata;
	var dt = new Date( nYear, nMonth,1);
	var maxd = getMonthDays( nYear, nMonth);
	var str = "<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\" class=\"eventCalTable\"><tr>";
	var classes=[ "sun", "mon", "tue", "wed", "thu", "fri", "sat"];
	var youbi=[ "日", "月", "火", "水", "木", "金", "土"];

    for( i=0;i<7;i++){
		str += "<td width=\"80\" align=\"center\" class=\"cal_head_"+classes[i]+"\">"+youbi[i]+"</td>";
	}
	str += "</tr>";
	str += "<tr>";
	var dx = 8-dt.getDay();
	for(i=0;i<dt.getDay();i++) str += "<td  class=\"cal_cell_"+classes[i]+"\"><img src=\"/images/null.gif\" width=\"1\" height=\"64\" align=\"left\">&nbsp;</td>";
	for(i=dt.getDay();i<7;i++){
		var class_name = classes[i];
		k=i-dt.getDay()+1;
		xs =  getTitles( data, nYear, nMonth,k);
		if (xs.indexOf("*") == 0) {
			xs = xs.substring(1);
			class_name = "sun";
		}
		str += "<td valign=\"top\" class=\"cal_cell_"+ class_name +"\"><img src=\"/images/null.gif\" width=\"1\" height=\"64\" align=\"left\">";
		str += "<div id=\"e"+k+"\" ><span class=\"cal_num\">"+k+"</span><br>"+xs+"</div></td>";
	}
	str += "</tr>";
	for(i=0;i<5;i++) {
		str += "<tr>";
		for( j=0;j<7;j++){
		    if (dx <= maxd) {
		        var class_name = classes[j];
			    xs = getTitles(data, nYear, nMonth, dx);
			    if (xs.indexOf("*") == 0) {
			        xs = xs.substring(1);
			        class_name = "sun";
			    }
			    str += "<td valign=\"top\" class=\"cal_cell_" + class_name + "\"><img src=\"/images/null.gif\" width=\"1\" height=\"64\" align=\"left\">";
				str += "<div id=\"e"+dx+"\"><span class=\"cal_num\">"+dx+"</span><br>"+xs+"</div></td>";
				dx++;
			}
			else {
				 str += "<td  class=\"cal_cell_"+classes[j]+"\"><img src=\"/images/null.gif\" width=\"1\" height=\"64\" align=\"left\">&nbsp;</td>";
			}
		}
		str += "</tr>";
		if( dx >maxd ) break;
	}
	str += "</table>";
	
	$("eventCal").innerHTML=str; 
}
function nextMonth(){
   var y = $("calYear").value;
   var m = $("calMonth").value;
   var dy= parseInt(y)+((parseInt(m)==12)?1:0);
   var dm = (((parseInt(m)-1)+13)%12)+1;
   $("calYear").value=String(dy);
   $("calMonth").value=String(dm);
   setYearMonth( dy, dm);
}
function prevMonth(){
   var y = $("calYear").value;
   var m = $("calMonth").value;
   var dy= parseInt(y)+((parseInt(m)==1)?-1:0);
   var dm = (((parseInt(m)-1)+11)%12)+1;
   $("calYear").value=String(dy);
   $("calMonth").value=String(dm);
   setYearMonth( dy, dm);
}

function getTitles( data, y, m, d){
  var strx="";
  var ii;
  var holiday=0;
  for( ii=0;ii<data.length;ii++){
        if( (data[ii].year != y) || ( data[ii].month != (m+1) ) || ( data[ii].day != d)){ continue; }
		var pname="panel"+data[ii].bunrui+"-"+data[ii].no;
		strx += "<div id=\""+pname+"\"></div>";
		if(mode==0){
			if(data[ii].comment.length>1){
				var titlez =data[ii].title;
			    if (data[ii].title.indexOf("*") == 0) {
				    titlez =data[ii].title.substring(1);
				    holiday = 1;
				}
				else
					strx += "◆";
				strx += "<a href=\"javascript:;\" onclick=\"setEventPanel("+ii+")\">";
				strx += titlez+"</a><br>\n"; 
			}
			else{
				var titlez =data[ii].title;
			    if (data[ii].title.indexOf("*") == 0) {
				    titlez =data[ii].title.substring(1);
				    holiday = 1;
				}
				else
					strx += "◆";
				strx += titlez+"<br>\n";
			}
		}
		else {
		strx += "◆<a href=\"javascript:;\" onclick=\"setEventForm("+ii+")\">";
		strx += data[ii].title+"</a><br>\n"; 
		}
  }
  if (holiday == 1)
      strx = "*" + strx;
  return strx;
}


function setEventPanel( no){
	var pname="panel"+data[no].bunrui+"-"+data[no].no;
	var panel2 = new YAHOO.widget.Panel(pname, {
                    visible: true,
                    close: true,
                    draggable: true,
                    constraintoviewport: false,
                    underlay: "shadow",
                    modal: false,
                    width: "300px"//,
                   // height: "400px"
    });
	var str="<div class=\"event_tittle\"><dt>件名：</dt><dd>"+data[no].title+"</dd></div>";
	str +="<div class=\"event_detail\"><dt>内容：</dt><dd>"+data[no].comment+"</dd></div>";
    panel2.setHeader(data[no].year+"年 "+data[no].month+"月 "+data[no].day+"日");
    panel2.setBody(str);
    panel2.render();
                
};
function setEventForm( no){
	// alert("["+no+":"+data[no].year+"/"+data[no].month+"/"+data[no].day+"]");
    $("_dmonth").value = parseInt(data[no].month);
    $("_dyear").value = data[no].year;
    $("_dday").value = parseInt(data[no].day);
    $("_TITLE").value = data[no].title;
	$("_DETAIL").value  = data[no].comment;
	$("_MODF1").checked = false;   // 追加:add
	$("_MODF2").checked = true;  // 修正:modify
	var t = data[no].tantou;
	$("_OWNER").value = t;
	$("_PASSWORD").value = data[no].password;
	$("_no").value = data[no].no;
	$("_mode").value = "modify"; 
};

