	//カレンダーのID／複数設置する場合に要設定
	var cal_Id = 'cal_0';
	
	var calObject = new Object();
	calObject[cal_Id] = new Object();
	
	//Xヵ月後のカレンダーを表示する場合 :: 1は当月
	var cal_display_month = 1;
	
	//定休日などはここで設定します。
	//calObject[cal_Id].day[ここに日にちを半角で] = クラス名;
	calObject[cal_Id].day = new Object();
calObject[cal_Id].day["2009/1/1"] = "holyday";
calObject[cal_Id].day["2009/1/12"] = "holyday";
calObject[cal_Id].day["2009/2/11"] = "holyday";
calObject[cal_Id].day["2009/3/20"] = "holyday";
calObject[cal_Id].day["2009/4/29"] = "holyday";
calObject[cal_Id].day["2009/5/3"] = "holyday";
calObject[cal_Id].day["2009/5/4"] = "holyday";
calObject[cal_Id].day["2009/5/5"] = "holyday";
calObject[cal_Id].day["2009/5/6"] = "holyday";
calObject[cal_Id].day["2009/7/20"] = "holyday";
calObject[cal_Id].day["2009/9/21"] = "holyday";
calObject[cal_Id].day["2009/9/22"] = "holyday";
calObject[cal_Id].day["2009/9/23"] = "holyday";
calObject[cal_Id].day["2009/10/12"] = "holyday";
calObject[cal_Id].day["2009/11/3"] = "holyday";
calObject[cal_Id].day["2009/11/23"] = "holyday";
calObject[cal_Id].day["2009/12/23"] = "holyday";
calObject[cal_Id].day["2010/1/1"] = "holyday";
calObject[cal_Id].day["2010/1/11"] = "holyday";
calObject[cal_Id].day["2010/2/11"] = "holyday";
calObject[cal_Id].day["2010/3/21"] = "holyday";
calObject[cal_Id].day["2010/3/22"] = "holyday";
calObject[cal_Id].day["2010/4/29"] = "holyday";
calObject[cal_Id].day["2010/5/3"] = "holyday";
calObject[cal_Id].day["2010/5/4"] = "holyday";
calObject[cal_Id].day["2010/5/5"] = "holyday";
calObject[cal_Id].day["2010/7/19"] = "holyday";
calObject[cal_Id].day["2010/9/20"] = "holyday";
calObject[cal_Id].day["2010/9/23"] = "holyday";
calObject[cal_Id].day["2010/10/11"] = "holyday";
calObject[cal_Id].day["2010/11/3"] = "holyday";
calObject[cal_Id].day["2010/11/23"] = "holyday";
calObject[cal_Id].day["2010/12/23"] = "holyday";
calObject[cal_Id].day["2011/1/1"] = "holyday";
calObject[cal_Id].day["2011/1/10"] = "holyday";
calObject[cal_Id].day["2011/2/11"] = "holyday";
calObject[cal_Id].day["2011/3/21"] = "holyday";
calObject[cal_Id].day["2011/4/29"] = "holyday";
calObject[cal_Id].day["2011/5/3"] = "holyday";
calObject[cal_Id].day["2011/5/4"] = "holyday";
calObject[cal_Id].day["2011/5/5"] = "holyday";
calObject[cal_Id].day["2011/7/18"] = "holyday";
calObject[cal_Id].day["2011/9/19"] = "holyday";
calObject[cal_Id].day["2011/9/23"] = "holyday";
calObject[cal_Id].day["2011/10/10"] = "holyday";
calObject[cal_Id].day["2011/11/3"] = "holyday";
calObject[cal_Id].day["2011/11/23"] = "holyday";
calObject[cal_Id].day["2011/12/23"] = "holyday";
calObject[cal_Id].day["2008/1/1"] = "holyday";
calObject[cal_Id].day["2008/1/14"] = "holyday";
calObject[cal_Id].day["2008/2/11"] = "holyday";
calObject[cal_Id].day["2008/3/20"] = "holyday";
calObject[cal_Id].day["2008/4/29"] = "holyday";
calObject[cal_Id].day["2008/5/3"] = "holyday";
calObject[cal_Id].day["2008/5/4"] = "holyday";
calObject[cal_Id].day["2008/5/5"] = "holyday";
calObject[cal_Id].day["2008/5/6"] = "holyday";
calObject[cal_Id].day["2008/7/21"] = "holyday";
calObject[cal_Id].day["2008/9/15"] = "holyday";
calObject[cal_Id].day["2008/9/23"] = "holyday";
calObject[cal_Id].day["2008/10/13"] = "holyday";
calObject[cal_Id].day["2008/11/3"] = "holyday";
calObject[cal_Id].day["2008/11/23"] = "holyday";
calObject[cal_Id].day["2008/11/24"] = "holyday";
calObject[cal_Id].day["2008/12/23"] = "holyday";




	
	//毎週○曜日の場合
	calObject[cal_Id].week = new Object();
	calObject[cal_Id].week["flag"] = 0;
	calObject[cal_Id].week["Sun"] = "Sun";
	calObject[cal_Id].week["Mon"];
	calObject[cal_Id].week["Tue"];
	calObject[cal_Id].week["Wed"];
	calObject[cal_Id].week["Thu"];
	calObject[cal_Id].week["Fri"];
	calObject[cal_Id].week["Sat"] = "Sat";
	
	//毎月○日の場合
	calObject[cal_Id].month = new Object();
	calObject[cal_Id].month[0] = "openingsale";
	
	//カレンダーをクリックできるようにする場合
	calObject[cal_Id].click = new Object();
	////パラメータを送るURL
	calObject[cal_Id].click = [""];
	////クリック可能にするクラス名(クラス指定なしの場合は指定せず)
	calObject[cal_Id].click = [""];
	
	calObject[cal_Id].today = new Date();
	calObject[cal_Id].today.setTime(calObject[cal_Id].today.getTime()+9*60*60*1000);

	calObject[cal_Id].cal_year = calObject[cal_Id].today.getUTCFullYear();
	calObject[cal_Id].cal_month = calObject[cal_Id].today.getUTCMonth() + cal_display_month;
	calObject[cal_Id].cal_day = calObject[cal_Id].today.getUTCDate();

	if(calObject[cal_Id].cal_year < 1900) calObject[cal_Id].cal_year += 1900;
	if(calObject[cal_Id].cal_month < 1){
		calObject[cal_Id].cal_month += 12;
		calObject[cal_Id].cal_year -= 1;
	}
	else if(calObject[cal_Id].cal_month > 12){
		calObject[cal_Id].cal_month -= 12;
		calObject[cal_Id].cal_year = calObject[cal_Id].cal_year + 1;
	}
	
	if(cal_display_month == 1)
		calObject[cal_Id].day[calObject[cal_Id].cal_year+"/"+calObject[cal_Id].cal_month+"/"+calObject[cal_Id].cal_day] = "Today";
	

	document.write("<div id=\"cal_sub\">");
	document.write("<span id=\"cal_prev\" onclick=\"prevCal('"+cal_Id+"')\">&lt;&lt;</span>");
	document.write("<span id='cal_next' onclick=\"nextCal('"+cal_Id+"')\">&gt;&gt;</span>");
	document.write("<div id='"+cal_Id+"'></div>");
	document.write("</div>");


	
	calObject[cal_Id].to_year = calObject[cal_Id].cal_year;
	calObject[cal_Id].to_month = calObject[cal_Id].cal_month;
	calObject[cal_Id].to_day = calObject[cal_Id].cal_day;
	
	
	function currentCal(calObj){
		calObject[calObj].cal_year = calObject[calObj].to_year;
		calObject[calObj].cal_month = calObject[calObj].to_month;
		calObject[calObj].cal_day = calObject[calObj].to_day;
		writeCal(calObject[calObj].cal_year,calObject[calObj].cal_month,calObject[calObj].cal_day,calObj);
	}
	function prevCal(calObj){
		calObject[calObj].cal_month -= 1;
		if(calObject[calObj].cal_month < 1){
			calObject[calObj].cal_month = 12;
			calObject[calObj].cal_year -= 1;
		}
		writeCal(calObject[calObj].cal_year,calObject[calObj].cal_month,0,calObj);
	}
	function nextCal(calObj){
		calObject[calObj].cal_month += 1;
		if(calObject[calObj].cal_month > 12){
			calObject[calObj].cal_month = 1;
			calObject[calObj].cal_year += 1;
		}
		writeCal(calObject[calObj].cal_year,calObject[calObj].cal_month,0,calObj);
	}
	function getWeek(year,month,day){
		if (month == 1 || month == 2) {
			year--;
			month += 12;
		}
		var week = Math.floor(year + Math.floor(year/4) - Math.floor(year/100) + Math.floor(year/400) + Math.floor((13 * month + 8) / 5) + day) % 7;
		return week;
	}
	function writeCal(year,month,day,calObj){
		var calendars = new Array(0,31,28,31,30,31,30,31,31,30,31,30,31);
		var weeks = new Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat");
		var monthName = new Array('','1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月');
		
		var cal_flag = 0;
		if(year % 100 == 0 || year % 4 != 0){
			if(year % 400 != 0){
				cal_flag = 0;
			}
			else{
				cal_flag = 1;
			}
		}
		else if(year % 4 == 0){
			cal_flag = 1;
		}
		else{
			cal_flag = 0;
		}
		calendars[2] += cal_flag;
		
		var cal_start_day = getWeek(year,month,1);
		
		var monthMess = year + "年" + monthName[month];
		
		var cal_tags = "<p id='mess' onclick=\"currentCal('"+cal_Id+"')\" onmouseover=\"startMess()\" onmouseout=\"nowMess('" + monthMess + "')\">" + monthMess + "</p>";
		cal_tags += "<ul>";
		for(var i=0;i<weeks.length;i++){
			cal_tags += "<li>" + weeks[i] + "</li>";
		}
		for(var i=0;i < cal_start_day;i++){
			cal_tags += "<li>&nbsp;</li>";
		}
		
		//main
		var first_thu_flag = 1;
		for(var cal_day_cnt = 1;cal_day_cnt <= calendars[month];cal_day_cnt++){
			var cal_day_match = year + "/" + month + "/" + cal_day_cnt;
			var dayClass = "";
			
			if(calObject[calObj].day[cal_day_match]){
				dayClass = ' class="'+calObject[calObj].day[cal_day_match]+'"';
			}
			else if(calObject[calObj].month[cal_day_cnt] != undefined){
				dayClass = ' class="'+calObject[calObj].month[cal_day_cnt]+'"';
			}
			else if(calObject[calObj].week["flag"] != undefined){
				if(cal_start_day == 0 && calObject[calObj].week["Sun"] != undefined){
					dayClass = ' class="'+calObject[calObj].week["Sun"]+'"';
				}
				else if(cal_start_day == 1 && calObject[calObj].week["Mon"] != undefined){
					dayClass = ' class="'+calObject[calObj].week["Mon"]+'"';
				}
				else if(cal_start_day == 2 && calObject[calObj].week["Tue"] != undefined){
					dayClass = ' class="'+calObject[calObj].week["Tue"]+'"';
				}
				else if(cal_start_day == 3 && calObject[calObj].week["Wed"] != undefined){
					dayClass = ' class="'+calObject[calObj].week["Wed"]+'"';
				}
				else if(cal_start_day == 4 && calObject[calObj].week["Thu"] != undefined){
					dayClass = ' class="'+calObject[calObj].week["Thu"]+'"';
				}
				else if(cal_start_day == 5 && calObject[calObj].week["Fri"] != undefined){
					dayClass = ' class="'+calObject[calObj].week["Fri"]+'"';
				}
				else if(cal_start_day == 6 && calObject[calObj].week["Sat"] != undefined){
					dayClass = ' class="'+calObject[calObj].week["Sat"]+'"';
				}
				else {
					dayClass = ' class="undefined"';
				}
			}
			else {
				dayClass = ' class="undefined"';
			}
			
			//Click to Action
			var clickActions = "";
			if(calObject[calObj].click["day"] == calObject[calObj].day[cal_day_match] && calObject[calObj].click["url"] != undefined)
				clickActions = " onclick=\"location.href='"+calObject[calObj].click["url"]+cal_day_match+"'\"";
			
			cal_tags += "<li"+dayClass+clickActions+">" + cal_day_cnt + "</li>";
			if(cal_start_day == 6){
				cal_start_day = 0;
			}
			else{
				cal_start_day++;
			}
		}
		while(cal_start_day <= 6 && cal_start_day != 0){
			cal_tags += "<li>&nbsp;</li>";
			cal_start_day++;
		}
		cal_tags += "</ul>";
		document.getElementById(calObj).innerHTML = cal_tags;

	}
	writeCal(calObject[cal_Id].cal_year,calObject[cal_Id].cal_month,calObject[cal_Id].cal_day,cal_Id);
	
	
	function startMess(){
		$('mess').innerHTML='今月を表示';
		$('mess').style.backgroundColor='#ffeeee';

	}
	
	function nowMess(mess){
		$('mess').innerHTML=mess;
		$('mess').style.backgroundColor='#ffffff';
	}