var dateObj=new Date();
var year=dateObj.getFullYear();
year=String(year);
var month=dateObj.getMonth()+1;
month=(month<10) ? 0+String(month):String(month);
var day=dateObj.getDate();
day=(day<10) ? 0+String(day):String(day);

function getCalendar(yearmonth){
	if(!yearmonth) yearmonth=year+month;
	
	new Ajax.Request('http://www.iac.ac.jp/tokyo/phpcalendar.php',{
		method:"get",
		parameters:"cache="+dateObj.getTime()+"&yearmonth="+yearmonth,
		onComplete:function(obj){
			$("calendar").innerHTML=obj.responseText;
			adaptLinks(yearmonth);
		}
	});
}
function adaptLinks(yearmonth){
  try {
	if(!events_setsumei || !events_taiken || !events_soudan || !events_special ) alert("llegal setting");
	
	var dates=[events_setsumei,events_taiken,events_soudan,events_special].flatten().uniq();
	
	//var finished=[];
	for (var i=0,L=dates.length;i<L;i++){
		//if(finished.indexOf(dates[i])!= -1) continue;
		var date=String(dates[i]);
		if(date.length!=8) continue;
		if( yearmonth!= date.substr(0,6)) continue;
		var datelimit=Number(year+month+day);
		if(Number(date) <= datelimit) continue;
		var tDayID="day"+date.substr(6,2);
		if(!$(tDayID)) continue;
		
		Element.addClassName($(tDayID), "clickable");
		$(tDayID).setAttribute("title","申し込みフォームへ！");
		
		Event.observe($(tDayID),"click",function(e){
			var clickedObj=Event.element(e);
			
			var daynum=clickedObj.id.replace(/day/,"");
			var parObj=clickedObj;
			while(parObj.nodeName!="TABLE"){
				parObj=parObj.parentNode;
			}
			var yearmonth=parObj.summary.replace(/\//,"");
			location.href="http://www.iac.ac.jp/tokyo/campus_form.html?checkdate="+yearmonth+daynum;
		},false);
		
		//finished.push(dates);
	}
  }catch(e){alert(OV(e))}
}

function getApplicationDates(targetID,checkID){
  try {
	if(!events_setsumei || !events_taiken || !events_soudan || !events_special) alert("llegal setting");
	if(!$(targetID)) return false;
	var days = [ "日","月","火","水","木","金","土" ];
	var icons={
		basepath:"http://www.iac.ac.jp/tokyo/common/image/",
		types:["or","gr","bl","pk"],
		alts:["学校説明会","学科別体験入学","個別入試相談会","スペシャル説明会"],
		extension:".gif"
	}

	var datelimit=Number(year+month+day);
	
	//集約オブジェクトの生成
	/*
	
	集約オブジェクトの構造
	Outs{
		"200903":{//=> yearmonth
			
			"03":[0,1],
			"08":[0]
			
		}
	}
	*/
	var Outs={};
	(function(groups){
		groups.each(function(_group,groupkey){
			
			var group=_group.uniq();//同イベント内重複削除
			for(var i=0,L=group.length;i<L;i++){
				var date=String(group[i]);
				//形式チェック
				if(date.length!=8) continue;
				//古い日付（今日以前）をチェック
				if(Number(date) <= datelimit) continue;
				var tmpyearmonth=date.substr(0,6);
				var tmpdate=date.substr(6,2);
				if(!Outs[tmpyearmonth]) {
					Outs[tmpyearmonth]={};
				}
				if(!Outs[tmpyearmonth][tmpdate]){
					Outs[tmpyearmonth][tmpdate]=[];
				}

				Outs[tmpyearmonth][tmpdate].push(groupkey);
			}
		});
	})([events_setsumei,events_taiken,events_soudan,events_special]);
	
	//集約オブジェクトの呼び出しと出力
	var ar=[],c=0;
	ar[c++]='<table width="100%" border="0" cellspacing="0" cellpadding="2" class="form">';
	var sorter1=[];	
	for(var key in Outs){
		sorter1.push(key);
	}
	sorter1=sorter1.sort();
	sorter1.each(function(yearmonth){
		/* 
		st_year		年、4桁、文字列
		st_month	月、2桁、文字列
		*/
		//alert(yearmonth+":"+yearmonth.typeof);
		var st_year=yearmonth.substr(0,4);
		var st_month=yearmonth.substr(4,2);
		ar[c++]='<tr><th colspan="4">';
		ar[c++]=st_year;
		ar[c++]='年';
		ar[c++]=st_month;
		ar[c++]='月</th></tr>';
		
		var yearmonths=Outs[yearmonth];
		var sorter2=[];
		for(var key in yearmonths){
			sorter2.push(key);
		}
		sorter2=sorter2.sort();
		var returnCounter=0;
		sorter2.each(function(st_daynum){
			/*
			st_daynum	日、2ケタ、文字列
			st_day		曜日、文字列
			st_icon		アイコン画像、文字列
			*/
			if(returnCounter == 0) 	ar[c++]='<tr>';
				
				
			/*//古い日付（今日以前）をチェック
			if(Number(st_year+st_month+st_daynum) <= datelimit) {
				var ifOld=true;
			} else {
				var ifOld=false;
			}*/
			
			//曜日の取得
			var dnum = (new Date(st_year+'/'+st_month+'/'+st_daynum)).getDay();
			var st_day = days[dnum];

			//種別からアイコンセット
			var types=yearmonths[st_daynum];
			types=types.sort();
			var st_icons=["<br />"];
			types.each(function(type){
				st_icons.push('<img src="'+icons.basepath+icons.types[type]+icons.extension+'" alt="'+icons.alts[type]+'" title="'+icons.alts[type]+'" />');				
			});
			var st_icon=st_icons.join("");
			
			//行の出力
			/*if(ifOld){
				ar[c++]='<td align="left" class="app_olds">';
				ar[c++]=st_daynum;
				ar[c++]='(';
				ar[c++]=st_day;
				ar[c++]=')';
				ar[c++]=st_icon;
				ar[c++]='</label></td>';
			} else {*/
				ar[c++]='<td align="left"><label for="app_dates_';
				ar[c++]=st_year;
				ar[c++]=st_month;
				ar[c++]=st_daynum;
				ar[c++]='"><input id="app_dates_';
				ar[c++]=st_year;
				ar[c++]=st_month;
				ar[c++]=st_daynum;
				ar[c++]='" type="checkbox" name="send[event][]" value="';
				ar[c++]=st_year;
				ar[c++]='年';
				ar[c++]=st_month;
				ar[c++]='月';
				ar[c++]=st_daynum;
				ar[c++]='（';
				ar[c++]=st_day;
				ar[c++]='）" />';
				ar[c++]=st_daynum;
				ar[c++]='(';
				ar[c++]=st_day;
				ar[c++]=')';
				ar[c++]=st_icon;
				ar[c++]='</label></td>';
			/*}*/
			if(++returnCounter == 4) {
				ar[c++]='</tr>'
				returnCounter=0;
			}

		});// end of sorter2
		
		if(returnCounter>0){
			for( var i=returnCounter;i<4;i++){
				ar[c++]='<td align="left">&nbsp;</td>';
			}
			ar[c++]="</tr>";
		}
		
	});// endo of sorter1
	
	ar[c++]='</table>';
	$(targetID).innerHTML=ar.join("");
	
	
	if(typeof checkID!="undefined"){//alert("app_dates_"+checkID);
		if(typeof checkID=="string"){
			
			if($("app_dates_"+checkID)) $("app_dates_"+checkID).checked=true;
		} else if(typeof checkID=="object"){
			if(checkID.length>0){
				for(var i=0,L=checkID.length;i<L;i++){
					if($("app_dates_"+checkID[i])) $("app_dates_"+checkID[i]).checked=true;
				}
			}
		}
	} else {
		//カレンダーからの連動
		/*
			Getの形式
			checkdate=20090310
		*/
		var qs=location.search.substr(1).split("&");
		qs.each(function(q){
			var qkeys=q.split("=");
			if(qkeys[0]=="checkdate"){
				if(qkeys[1].length==8){
					var qid="app_dates_"+qkeys[1];
					if($(qid)) {
						$(qid).checked=true;
					}
				}
			}
		})
	}
	
  }catch(e){alert(OV(e))}
}