function Calendar() {
	this.strHTML;
	this.vdate;
	this.start;
	this.arrEvents	= new Array();
	this.arrMonth	= new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
	this.cdate	 	= new Date();
	this.year	 	= this.cdate.getFullYear();
	this.month	 	= this.cdate.getMonth();
}

Calendar.prototype.addEvent = function(year, month, day, title, brief, strUrl) {
	var tmpDate			 = new Date(year, month-1, day);
	var i				 = tmpDate.getTime();
	var j;
	
	if(this.arrEvents[i]) {
		j = this.arrEvents[i].length;
		this.arrEvents[i][j] = title;
		this.arrEvents[i][j+1] = brief;
	} else {
		this.arrEvents[i]	 = new Array();
		this.arrEvents[i][0] = title;
		this.arrEvents[i][1] = brief;
		this.arrEvents[i][2] = strUrl;
	}
}


Calendar.prototype.setMonth = function(month) {
	if(month == -1) {
		month = 11;
		this.year--;
	} else if(month == 12) {
		month = 0;
		this.year++;
	}
	
	this.month = month;
	
	this.update();
}

Calendar.prototype.getCell = function(i,dogrula) {
	var strCell;
	var dat;
	var day		= i-this.start;
	var tmpDate	= new Date(this.year, this.month, day);
	var month	= tmpDate.getMonth();
	var ei		= tmpDate.getTime();
	var strB	= '';
	var i;
	var renklendir = '';
	var dogrula;

	if (dogrula == '')
	{
		var alti_dolu = readCookie('alti_dolu');
		if (i <=27)
		{
			renklendir = 'rr';
		}else if ((alti_dolu=="evet") && (i > 27 && i <35)) {
			renklendir = 'rr';
		}else if ((alti_dolu=="hayir") && (i > 27 && i <35)) {
			renklendir = 'rb';
		}else if ((alti_dolu=="evet") && (i >= 35 )) {
			renklendir = 'rb';
		}else if ((alti_dolu=="hayir") && (i >= 35 )) {
			renklendir = 'bb';
		}else {
			renklendir = 'bb';
		}



		if(month == this.cdate.getMonth() && day == this.cdate.getDate() && this.year == this.cdate.getFullYear()) {
			if(i%7 == 0) {
				strCell = '<td class="today" style="border-left:none;">';
			} else {
				strCell = '<td class="today">';
			}

		} else {
			if(i%7 == 0) {
				strCell = '<td style="border-left:none;" class="'+ renklendir +'">';
			} else {
				strCell = '<td class="'+ renklendir +'">';
			}
		}

		
		if(month != this.month) {
			strCell += '&nbsp;';
		} else {
			if(typeof(this.arrEvents[ei]) != 'undefined') {
				dat = day + " " + this.arrMonth[this.month] + " " + this.year;
				
				for(i=0; i < this.arrEvents[ei].length; i=i+3) {
					strB += ", '" + this.arrEvents[ei][i].replace("'","\\'") + "', '" + this.arrEvents[ei][i+1].replace("'","\\'") + "'";
					var LinkClass ;
					
                    if (this.arrEvents[ei][i] == 'Borusan Istanbul Philharmony Orchestra')
                    {
                        address = this.arrEvents[ei][2];
				        strCell += '<a href="'+ address +'" style="font-size:10px;font-weight:bold;color:'+ LinkClass +';" onMouseOver="showBalloon_bifo(\'' + dat + '\'' + strB + ');" onMouseOut="hideBalloon();">' + day + '</a>';
                    } else if (this.arrEvents[ei][i] == 'Borusan Chamber Orchestra')
                    {
                        address = this.arrEvents[ei][2];
                        LinkClass = "#51A5D2" ;
				        strCell += '<a href="'+ address +'" style="font-size:10px;font-weight:bold;color:'+ LinkClass +';" onMouseOver="showBalloon(\'' + dat + '\'' + strB + ');" onMouseOut="hideBalloon();">' + day + '</a>';
                    } else if (this.arrEvents[ei][i] == 'Borusan String Quartet')
                    {
                        address = this.arrEvents[ei][2];
                        LinkClass = "#51A5D2" ;
				        strCell += '<a href="'+ address +'" style="font-size:10px;font-weight:bold;color:'+ LinkClass +';" onMouseOver="showBalloon(\'' + dat + '\'' + strB + ');" onMouseOut="hideBalloon();">' + day + '</a>';
                    }
				}
			} else {
				strCell += day ;
			}
		}
		
		strCell += '</td>';
		
		return strCell;
	} else{
		if ((month == this.month) && (i == 35))
		{
			createCookie('alti_dolu','evet');
		}
		else{
			createCookie('alti_dolu','hayir');
		}
	}

}

Calendar.prototype.updateDate = function() {
	var tmpDate = new Date(this.year, this.month, 1);
	this.start	= tmpDate.getDay()-1;
	this.vdate	= new Date(this.year, this.month);
}

Calendar.prototype.update = function() {
	var i;
	var root	= this;
	var pmonth	= this.month-1;
	var nmonth	= this.month+1;
	this.getCell(i,'35')
	this.updateDate();
	
	
	this.strHTML  = '';
	this.strHTML += '<div class="tit">';
	this.strHTML += '	<div class="arr_left"><img src="_i/ico_pre_month.gif" width="9" height="7" alt="" id="MPrevious" /></div>';
	this.strHTML += '	<div class="txt">' + this.arrMonth[this.month] + ' ' + this.year + '</div>';
	this.strHTML += '	<div class="arr_right"><img src="_i/ico_next_month.gif" width="9" height="7" alt="" id="MNext" /></div>';
	this.strHTML += '</div>';
	this.strHTML += '<table cellspacing="0" cellpadding="0" border="0">';
	this.strHTML += '	<thead>';
	this.strHTML += '		<tr>';
	this.strHTML += '			<td style="border-left:none;">Su</td>';
	this.strHTML += '			<td>Mo</td>';
	this.strHTML += '			<td>Tu</td>';
	this.strHTML += '			<td>We</td>';
	this.strHTML += '			<td>Th</td>';
	this.strHTML += '			<td>Fr</td>';
	this.strHTML += '			<td>Sa</td>';
	this.strHTML += '		</tr>';
	this.strHTML += '	</thead>';
	this.strHTML += '	<tbody>';

	for(i=0; i < 42; i++) {
		if(i%7 == 0) {
			if(i/7 == 5) {
				this.strHTML += '<tr class="last">';
			} else if(i/7 == 4 && this.getCell(i+7) == '<td>&nbsp;</td>') {
				this.strHTML += '<tr class="vlast">';
			} else {
				this.strHTML += '<tr>';
			}
		}
		
		this.strHTML += this.getCell(i,'');
		
		if(i%7 == 6) {
			this.strHTML += '</tr>';
		}
	}

			createCookie('alti_dolu','Hayir');

	this.strHTML += '	</tbody>';
	this.strHTML += '</table>';
	
	
	
	document.getElementById('Calendar_Container').innerHTML = this.strHTML;
	
	//Register Events
	document.getElementById('MPrevious').onclick = function () {
		root.setMonth(pmonth);
	};
	
	document.getElementById('MNext').onclick = function () {
		root.setMonth(nmonth);
	};
}

Calendar.prototype.embed = function() {
	document.write('<div id="Calendar_Container"></div>');
	
	this.update();
}


var posX;
var posY;

function showBalloon(dat) {
	var i;
	var strHTML = '';
	
	for(i=1; i < arguments.length; i=i+3) {
		strHTML += '<div class="item">';
		strHTML += '	<div class="balloon_tit">' + arguments[i] + '</div>';
		strHTML += '	<div class="balloon_brief">' + arguments[i+1] + '</div>';
		strHTML += '</div>';
	}
	
	document.getElementById('balloon_date_text').innerHTML	= dat;
	document.getElementById('bcont').innerHTML			= strHTML;
	document.getElementById('balloon').style.left		= posX + "px";
	document.getElementById('balloon').style.top		= posY + document.documentElement.scrollTop + "px";
	document.getElementById('balloon').style.visibility	= 'visible';
}

function showBalloon_bifo(dat) {
	var i;
	var strHTML = '';
	
	for(i=1; i < arguments.length; i=i+2) {
		strHTML += '<div class="item_bifo">';
		strHTML += '	<div class="balloon_bifo_tit">' + arguments[i] + '</div>';
		strHTML += '	<div class="balloon_bifo_brief">' + arguments[i+1] + '</div>';
		strHTML += '</div>';
	}
	
	document.getElementById('balloon_bifo_date_text').innerHTML	= dat;
	document.getElementById('bcont_bifo').innerHTML			= strHTML;
	document.getElementById('balloon_bifo').style.left		= posX + "px";
	document.getElementById('balloon_bifo').style.top		= posY + document.documentElement.scrollTop + "px";
	document.getElementById('balloon_bifo').style.visibility	= 'visible';
}

function hideBalloon() {
	document.getElementById('balloon').style.visibility='hidden';
	document.getElementById('balloon_bifo').style.visibility='hidden';
}

function getMouse(e) {

	var ie5=document.all&&document.getElementById 
	var ns6=document.getElementById&&!document.all

	if (ns6) event = e;
	if (document.layers) {
		posX = e.pageX;
		posY = e.pageY;
	} else {
		posX = event.clientX;
		posY = event.clientY;
	}
	
	posX -= -15;
	posY -= 15;
}

document.onmousemove = getMouse;


function createCookie(name,value) {
 var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
//	alert(readCookie(name))
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}
