// Event Calendar
// copyright Stephen Chapman, 10th June 2006, 30th October 2006

var tb = 'b'; // top or bottom (t or b)
var headbg = '#cccccc';  // table heading background colour
var todaybg = '#90fc8a'; // current selected date background colour
var textclr = '#5a5a5a'; // text colour
var linkclr = '#2faf02'; // link text colour
var linkclr2 = '#1252f0'; // link text colour
var linkclr3 = '#F25230'; // link text colour
var noMessage =  'No event messages to display for today'; // message to display when no entry in array

//var dA = new Array(); var x = 0;
// first 8 characters in ccyymmdd format for single date events
// first 8 characters in 0000mmdd format for every year events
/*dA[x++] = "00000101 New Year";
dA[x++] = "00000214 Valentine's day";
dA[x++] = "00000709 Steve's Birthday";
dA[x++] = "00000919 Site Anniversary";
dA[x++] = "00001206 St Nicholas' Day";
dA[x++] = "00000214 Candy?";
dA[x++] = '20090214 <a target="_self" href="somewhere.php">Who wants candy?</a>';*/
// dA[x++] = "20060610 New Event Calendar Started today";

// permission is granted to use this javascript provided that the below code is not altered
var pageLoaded = 0; window.onload = function () {pageLoaded = 1;}


// name - имя cookie
// value - значение cookie
// [expires] - дата окончания действия cookie (по умолчанию - до конца сессии)
// [path] - путь, для которого cookie действительно (по умолчанию - документ, в котором значение было установлено)
// [domain] - домен, для которого cookie действительно (по умолчанию - домен, в котором значение было установлено)
// [secure] - логическое значение, показывающее требуется ли защищенная передача значения cookie

function getCookieVal (offset) {
   var endstr = document.cookie.indexOf (";", offset);
   if (endstr == -1)
      endstr = document.cookie.length;
   return unescape(document.cookie.substring(offset, endstr));
}

function GetCookie (name) {
        var arg = name + "=";
        var alen = arg.length;
        var clen = document.cookie.length;
        var i = 0;
        while (i < clen) {
                var j = i + alen;
                if (document.cookie.substring(i, j) == arg)
                        return getCookieVal (j);
                i = document.cookie.indexOf(" ", i) + 1;
                        if (i == 0)
                                break;
                }
   return null;
}
function SetCookie (name, value) {
        var argv = SetCookie.arguments;
        var argc = SetCookie.arguments.length;
        var expires = (argc > 2) ? argv[2] : null;
        var path = (argc > 3) ? argv[3] : null;
        var domain = (argc > 4) ? argv[4] : null;
        var secure = (argc > 5) ? argv[5] : false;
        document.cookie = name + "=" + escape (value) +
                ((expires == null) ? "" : ("; expires=" +
expires.toGMTString())) +
                ((path == null) ? "" : ("; path=" + path)) +
                ((domain == null) ? "" : ("; domain=" + domain)) +
                ((secure == true) ? "; secure" : "");
}

function loaded(i,f) {
	if (document.getElementById && document.getElementById(i) != null) f(); 
	else if (!pageLoaded) setTimeout('loaded(\''+i+'\','+f+')',200);
//	setTimeout('loaded(\''+i+'\','+f+')',500);
}
function monthlength(month,year) {var dd = new Date(year, month, 0);return dd.getDate();}

var moy = ['Январь','Февраль','Март','Апрель','Maй','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'];
var today = new Date();
//var selDate = today.getFullYear()+getmmdd(today.getMonth()+1,today.getDate());


var selDate = GetCookie('selDate');
var selYear = GetCookie('selYear');
var selMonth = GetCookie('selMonth');

  if (selDate == null) {
    selDate = today.getFullYear()+getmmdd(today.getMonth()+1,today.getDate());;
  } else {
    pathname = location.pathname;
    myDomain = pathname.substring(0,pathname.lastIndexOf('/')) +'/';
    // Установка параметра expire на год вперед.
    var largeExpDate = new Date ();
    largeExpDate.setTime(largeExpDate.getTime() + (1 * 1 * 1000));
    SetCookie('selDate',selDate,largeExpDate,myDomain);
  }




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 = ['Вс','Пн','Вт','Ср','Чт','Пт','Сб']; 
	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 class="cal" style="background:' + todaybg + '"><b>'; 
	var td_start = '<td class="cal">'; 
	var td_startl = '<td class="call">'; 
	if (document.getElementById) 
	{
		var mmb = month;  
		mm = month + 1; 
		var yya = yyb = yy; 
		if (mmb <1) {mmb += 12; yyb--;} 
		var mma = month + 2; 
		if (mma > 12) {mma -= 12; yya++;} 
		var yb = yy -1; 
		var ya = yy +1; 
	}

	//var cal = '<div id="cal"><table id="calendar" border="0" cellspacing="0" summary="calendar"><tr><td style="background:' + headbg + '" colspan="7"><b>' + moy[month]  + ' ' + year + '<\/b><\/td><\/tr><tr>'; 

	//cal += '<td style="background:' + headbg + '"><a class="nav" href="#" title="Предыдущий год" onclick="if (cala = dispCal('+yb+','+mm+')) {document.getElementById(\'cal\').innerHTML = cala; return false;}">&laquo</a></td><td style="background:' + headbg + '"><a class="nav" href="#" title="Предыдущий месяц" onclick="if (cala = dispCal('+yyb+','+mmb+')) {document.getElementById(\'cal\').innerHTML = cala; return false;}">&lsaquo;</a></td><td style="background:' + headbg + '" align="center" colspan="3"><b><\/b><\/td><td style="background:' + headbg + '"><a class="nav" href="#" title="Следующий месяц" onclick="if (cala = dispCal('+yya+','+mma+')) {document.getElementById(\'cal\').innerHTML = cala; return false;}">&rsaquo;</a></td><td style="background:' + headbg + '"><a class="nav" href="#" title="Следующий год" onclick="if (cala = dispCal('+ya+','+mm+')) {document.getElementById(\'cal\').innerHTML = cala; return false;}">&raquo</a></td></tr><tr>';
	
	var cal = '<div id="cal"><table id="calendar" border="0" cellspacing="0" summary="calendar"><tr><td style="background:' + headbg + '" colspan="7"><table border="0" cellspacing="0" width="100%"><td style="background:' + headbg + '" width="25"><a class="nav" href="#" title="Предыдущий год" onclick="if (cala = dispCal('+yb+','+mm+')) {document.getElementById(\'cal\').innerHTML = cala; return false;}">&laquo</a></td><td style="background:' + headbg + '"><a class="nav" href="#" title="Предыдущий месяц" onclick="if (cala = dispCal('+yyb+','+mmb+')) {document.getElementById(\'cal\').innerHTML = cala; return false;}">&lsaquo;</a></td><td class = "nav" style="background:'+headbg+'"><b>' + moy[month]  + ' ' + year + '<\/b><\/td><td style="background:' + headbg + '"><a class="nav" href="#" title="Следующий месяц" onclick="if (cala = dispCal('+yya+','+mma+')) {document.getElementById(\'cal\').innerHTML = cala; return false;}">&rsaquo;</a></td><td style="background:' + headbg + '" width="25"><a class="nav" href="#" title="Следующий год" onclick="if (cala = dispCal('+ya+','+mm+')) {document.getElementById(\'cal\').innerHTML = cala; return false;}">&raquo</a></td></table><tr>'; 

	//cal += '<td style="background:' + headbg + '"><a class="nav" href="#" title="Предыдущий год" onclick="if (cala = dispCal('+yb+','+mm+')) {document.getElementById(\'cal\').innerHTML = cala; return false;}">&laquo</a></td><td style="background:' + headbg + '"><a class="nav" href="#" title="Предыдущий месяц" onclick="if (cala = dispCal('+yyb+','+mmb+')) {document.getElementById(\'cal\').innerHTML = cala; return false;}">&lsaquo;</a></td><td style="background:' + headbg + '" align="center" colspan="3"><b><\/b><\/td><td style="background:' + headbg + '"><a class="nav" href="#" title="Следующий месяц" onclick="if (cala = dispCal('+yya+','+mma+')) {document.getElementById(\'cal\').innerHTML = cala; return false;}">&rsaquo;</a></td><td style="background:' + headbg + '"><a class="nav" href="#" title="Следующий год" onclick="if (cala = dispCal('+ya+','+mm+')) {document.getElementById(\'cal\').innerHTML = cala; return false;}">&raquo</a></td></tr><tr>';
	
	for(dex=0; dex < 7; dex++) cal+='<col>';
//<col width=67>

	for(dex=0; dex < 7; dex++) {
		cal += ((dex==0)?(td_startl):(td_start)) + dow[dex] + '</td>';
		//cal += '<th width="30" scope="col">' + dow[dex] + '</th>';
	} 
	cal += '<\/tr><tr>'; 
	var day2 = today; 
	for (dex = today; dex > 6; dex -=7) day2 = dex; 
	weekday -= day2 - 1; 
	while (weekday < 0) weekday += 7; 
//	for(dex=0; dex < weekday; dex++) cal += td_start + ' <\/td>'; 
	for(dex=0; dex < weekday; dex++) cal += ((dex==0)?(td_startl):(td_start)) + '<span>' + '&nbsp<\/span><\/td>'; 
//<span '+clickDate(dex,month,year) + '>' + dex + '<\/span>
	for(dex=1; dex <= daysInMonth; dex++) 
	{
		if(weekday == 7) {
			cal += '</tr><tr>'; 
			weekday = 0;
		} 
		if(selDate==year+getmmdd(month+1,dex)) cal += hilite_start +'<span '+clickDate(dex,month,year) + '>'+ dex + '<\/span><\/b><\/td>'; 
		else cal += ((weekday==0)?(td_startl):(td_start)) +'<span '+clickDate(dex,month,year) + '>' + dex + '<\/span><\/td>'; 
		weekday += 1;
	} 
	for(dex=weekday; dex < 7; dex++) cal += td_start + ' <\/td>'; 
	cal += '<\/tr><\/table><\/div>';
/*	if (document.getElementById) 
	{
		var mmb = month;  
		mm = month + 1; 
		var yya = yyb = yy; 
		if (mmb <1) {mmb += 12; yyb--;} 
		var mma = month + 2; 
		if (mma > 12) {mma -= 12; yya++;} 
		var yb = yy -1; 
		var ya = yy +1; 
		cal += '<table id="calendar" border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td><a href="#" onclick="if (cala = dispCal('+yb+','+mm+')) {document.getElementById(\'cal\').innerHTML = cala; return false;}"><<</a></td><td><a href="#" onclick="if (cala = dispCal('+yyb+','+mmb+')) {document.getElementById(\'cal\').innerHTML = cala; return false;}"><</a></td><td align="right"><a href="#" onclick="if (cala = dispCal('+yya+','+mma+')) {document.getElementById(\'cal\').innerHTML = cala; return false;}">></a></td><td align="right"><a href="#" onclick="if (cala = dispCal('+ya+','+mm+')) {document.getElementById(\'cal\').innerHTML = cala; return false;}">>></a></td></tr></table>';
	} 
	else 
	{
		cal += '<div> </div>';
	} */
	cal += '</div>'; 

//	selDate = '+year+ getmmdd(month+1,day)+'; 
//	isDate(' + day + ',' + month + ',' + year + ');	
        return cal;
}

function start() 
{
	var x = '<div id="calDate" style="width:100%"><\/div>'; 
//        var x = '';
	var y = ''; 
	
	if(selYear == null) selYear = 0;
	if(selMonth == null) selMonth = 0;
	
	if (tb == 't') y = x + dispCal(selYear,selMonth ); 
	else y = dispCal(selYear,selMonth ) + x; 

//	else y = dispCal(0,0) + x; 

	document.getElementById('calendar').innerHTML = y; 
//	document.getElementById('calDate').innerHTML = 'Select Date' + ':<br \/>';

//	selDate = '+year+ getmmdd(month+1,day)+'; //isDate(' + day + ',' + month + ',' + year + ');return false;"
//	document.getElementById('cal') = y; 
//        selDate = 'Nothing';
	ev();
}

loaded('calendar',start);
//loaded('cal',start);

function clickDate(day, month, year) 
{
	var ct = nextDate(year + getmmdd(month+1,day));
	var myLinkClr;
	if (ct == '') ct = nextDate('0000' + getmmdd(month+1,day));
	if (ct == '') return 'style="color:'+textclr+'"'; 
	else 
	{
		myLinkClr = linkclr;
	
		if (ct.indexOf("revent") > 0) myLinkClr =  linkclr2;
		if (ct.indexOf("Birthday") > 0) myLinkClr =  linkclr3;
		if (ct.indexOf("Gameday") > 0) myLinkClr =  linkclr;
		return 'style="cursor:pointer;color:'+myLinkClr+'" onclick="selDate = '+year+ getmmdd(month+1,day)+'; isDate(' + day + ',' + month + ',' + year + ');return false;"';
	} 

}

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;
	document.getElementById('calDate').innerHTML = selDate + ':<br \/>' +ct; 
	
    pathname = location.pathname;
    myDomain = pathname.substring(0,pathname.lastIndexOf('/')) +'/';
    // Установка параметра expire на год вперед.
    var largeExpDate = new Date ();
    largeExpDate.setTime(largeExpDate.getTime() + 10*1000);//(1 * 30 * 1000));
    SetCookie('selDate',selDate,largeExpDate,myDomain);
    SetCookie('selYear',yearVal,largeExpDate,myDomain);
    SetCookie('selMonth',monthVal+1,largeExpDate,myDomain);
	
	return false;
}

function nextDate(yymmdd) 
{
	var x = dA.length;
	var retStr = '';

	//var recEvStr = '0000' + selDate.substr(4);
	for (var i = 0; i < x; i++) 
	{
		if (dA[i].substr(0,8) == yymmdd) retStr += dA[i].substr(8) + '<br \/>';
		//if (dA[i].substr(0,8) == yymmdd) return dA[i].substr(8);
		if ((dA[i].substr(4,4) == yymmdd.substr(4,4)) &&
		    (dA[i].substr(0,4) == '0000')) 
		    retStr = retStr+dA[i].substr(8) + '<br \/>';
		//if (dA[i].substr(0,8) == recEvStr) retStr += dA[i].substr(8) + '<br \/>';
		
//		return dA[i].substr(8);
		
	}
	return retStr;
}

function getmmdd(mm,dd) 
{
	return (mm > 9 ? '' + mm : '0' + mm) + (dd > 9 ? dd : '0' + dd);
}

function ev() 
{
	var ct = nextDate(selDate);
	//var cct = nextDate('0000' + selDate.substr(4));

//	var ct = nextDate(selDate);
//	if (ct == '') ct = nextDate('0000' + selDate.substr(4));
 
/*	var cct = ct;
	 
  while(ct != '')
  {
		ct = nextDate(selDate);
		if (ct == '') ct = nextDate('0000' + selDate.substr(4));
	  if (ct != '') cct = cct + '<br \/>' + ct;
  }
*/
	//if (cc == '' && cct == '') ct = noMessage;
	document.getElementById('calDate').innerHTML = selDate + ':<br \/> ' + ct;
}