var tb = 't'; // top or bottom (t or b)
var headbg = '#cccccc';  // table heading background colour
var todaybg = '#99cccc'; // current selected date background colour
var textclr = '#663399'; // text colour
var linkclr = '#FF0000'; // link text colour
var noMessage =  'No event messages to display for today'; // message to display when no entry in array



// permission is granted to use this javascript provided that the below code is not altered
var pageLoaded = 0; window.onload = function() {pageLoaded = 1;}
function loaded(i,f) {
	if (document.getElementById && document.getElementById(i) != null) f(); 
	else if (!pageLoaded) setTimeout('loaded(\''+i+'\','+f+')',100);
}
function monthlength(month,year) {
	var dd = new Date(year, month, 0);
	return dd.getDate();
}
//var moy = ['January','February','March','April','May','June','July','August','September','October','November','December'];
//var smoy=['Jan.','Feb.','Mar.','Apr.','May.','Jun.','Jul.','Aug.','Sep.','Oct.','Nov.','Dec.'];
var moy = ['มกราคม','กุมภาพันธ์','มีนาคม','เมษายน','พฤษภาคม','มิถุนายน','กรกฎาคม','สิงหาคม','กันยายน','ตุลาคม','พฤศจิกายน','ธันวาคม'];
var smoy=['ม.ค.','ก.พ.','มี.ค.','เม.ย.','พ.ค.','มิ.ย.','ก.ค.','ส.ค.','ก.ย.','ต.ค.','พ.ย.','ธ.ค.'];
var today = new Date();
var selDate = today.getFullYear()+getmmdd(today.getMonth()+1,today.getDate());
function dispCal(yy,mm){
	if (mm < 0 || mm > 12) {
		alert('month must be between 1 and 12');
		return false;
	}
	if (yy != 0 && (yy < 1901 || yy > 2100)) {
		alert('year must be after 1900 and before 2101'); 
		return false;
	} 
//	var dow = ['Sun','Mon','Tue','Wed','Thu','Fri','Sat']; 
	var dow = ['อา','จ','อ','พ','พฤ','ศ','ส']; 
	var calendar = new Date();  
	var today = calendar.getDate(); 
	calendar.setDate(1); 
	if (yy > 1900) calendar.setFullYear(yy); 
	if (mm > 0) calendar.setMonth(mm - 1); 
	var yy = year = calendar.getFullYear(); 
	var month = calendar.getMonth(); 
	calendar.setDate(today); 
	var weekday = calendar.getDay();
	var daysInMonth = monthlength(month+1,year);
	var hilite_start = '<td width="22" style="background:' + todaybg + '" align="center"><strong>'; 
	var td_start = '<td width="22" align="center">';
	var mmb = month;  
	var yya = yyb = yy; 
	if (mmb <1) {mmb += 12; yyb--;} 
	var mma = month + 2; 
	if (mma > 12) {mma -= 12; yya++;} 

	var cal = '<div id="cal"><div style="border:0pt solid #cccccc;width:160px" >'
			+'<table border="1" cellspacing="0" cellpadding="2"  style="font-size:8pt;font-family:Verdana;color:#663399;border-width:1px;border-style:Dashed;border-color:#FFCC66;background-color:#FFFFCC;border-collapse:collapse;" >'
			+'<tr style="color:#FFFFCC"><td colspan="7" style="background:#990000"   height="22">'
			+'<table border=0 width="100%"><tr style="color:#FFFFCC"><td width="22%" align="left"  >'
			+'<a href="#" onclick="if (cala = dispCal('+yyb+','+mmb+')) {document.getElementById(\'cal\').innerHTML = cala; return false;}">'
			+'<font size="1" color="#ffffcc">'+ smoy[mmb-1] +'</font></a></td><td align="center" width="56%"><font size="3" color="#ffffcc"><strong>' + moy[month]  + ' ' + eval(year+543-2500) + '</strong></font></td>'
			+'<td  width="22%" align="right" ><a href="#" onclick="if (cala = dispCal('+yya+','+mma+')) {document.getElementById(\'cal\').innerHTML = cala; return false;}">'
			+'<font size="1" color="#ffffcc">'+ smoy[mma-1] +'</font></a></td></tr></table></td></tr><tr background-color:#FFCC66;font-weight:bold;height:1px;>';
	for(dex=0; dex < 7; dex++) {
		cal += '<td width="22" align="center" style="background-color:#FFCC66"><strong>' + dow[dex] + '</strong></td>';
	} 
	cal += '</tr><tr>'; 
	var day2 = today; 
	for (dex = today; dex > 6; dex -=7) day2 = dex;
	weekday -= day2 - 1;
	while (weekday < 0) weekday += 7; 
	var dls = monthlength(mmb,year)-weekday+1;
//เดือนที่แล้ว
	for(dex=0; dex < weekday; dex++,dls++) cal += '<td width="22" align="center"><font color="#CCCCCC">'+ dls + ' </td>'; 
	for(dex=1; dex <= daysInMonth; dex++) {
		if(weekday == 7) {
			cal += '</tr><tr>'; 
			weekday = 0;
		}
		if(selDate==year+getmmdd(month+1,dex)) cal += hilite_start +'<strong><span'+clickDate(dex,month,year) + ' title="">'+ dex + '</span></strong></td>'; 
		else cal += td_start + '<span '+clickDate(dex,month,year) + '>' + dex + '</span></td>'; 
		weekday += 1;
	}
	var nd=1
	for(dex=weekday; dex < 7; dex++,nd++)	cal += '<td width="22" align="center"><font color="#CCCCCC">' + nd + ' </font></td>';
	cal += '</tr></table></div></div>';

	return cal;
}

function start() {
//	var x = '<div id="calDate" style="border:1pt solid #cccccc;width:238px"><\/div>';
	var y = '';
	 y = dispCal(0,0) ;
	 document.getElementById('calendar').innerHTML = y; 
	 ev();
}

loaded('calendar',start);

function clickDate(day, month, year) {
	var ct = nextDate(year + getmmdd(month+1,day));
	if (ct == '') ct = nextDate('0000' + getmmdd(month+1,day));
	//alert(ct);
	if (ct == '') return 'style="color:'+textclr+'"'; 
	else{
		linkclr = ct.substr(0,8);
		ct = ct.substr(8);
		return 'style="cursor:pointer;color:'+linkclr+'" title = "' + ct + '" ';
	}
}
function isDate(dayVal,monthVal,yearVal) {
	var ct = nextDate(yearVal + getmmdd(monthVal+1,dayVal));
	if (ct == '') ct = nextDate('0000' + getmmdd(monthVal+1,dayVal));
	if (ct == '') ct = noMessage;
	
	//alert(ct) 
	return ct;//false;
}
function nextDate(yymmdd) {
	var x = dA.length;
	for (var i = 0; i < x; i++)  if (dA[i].substr(0,8) == yymmdd)	return dA[i].substr(8);
		
	
	return '';
}
function getmmdd(mm,dd) {
	return (mm > 9 ? '' + mm : '0' + mm) + (dd > 9 ? dd : '0' + dd);
}
function ev() {
	var ct = nextDate(selDate);
	if (ct == '') ct = nextDate('0000' + selDate.substr(4));
	if (ct == '') ct = noMessage; 
	//document.getElementById('calDate').innerHTML = selDate + ':<br \/> ' +ct;
}
