var EventsPage=false;

function buildCal(m, y){
	var mn=['ינואר','פברואר','מרץ','אפריל','מאי','יוני','יולי','אוגוסט','ספטמבר','אוקטובר','נובמבר','דצמבר'];
	var dim=[31,0,31,30,31,30,31,31,30,31,30,31];
	
	var oD = new Date(y, m-1, 1); //DD replaced line to fix date bug when current day is 31st
	oD.od=oD.getDay()+1; //DD replaced line to fix date bug when current day is 31st
	
	var todaydate=new Date() //DD added
	var scanfortoday=(y==todaydate.getFullYear() && m==todaydate.getMonth()+1)? todaydate.getDate() : 0 //DD added
	
	dim[1]=(((oD.getFullYear()%100!=0)&&(oD.getFullYear()%4==0))||(oD.getFullYear()%400==0))?29:28;
	var t='<table class="clsCalendarTable" cols="7"><tr>';
	t+='<td colspan="7" class="clsMonth">'+mn[m-1]+' - '+y+'</td></tr><tr>';
	for(s=0;s<7;s++)t+='<td class="clsTitle">'+"אבגדהוז".substr(s,1)+'</td>';
	t+='</tr><tr">';
	for(i=1;i<=42;i++){
		var x=((i-oD.od>=0)&&(i-oD.od<dim[m-1]))? i-oD.od+1 : '&nbsp;';
		t+='<td '+ (x!='&nbsp;' ? 'id="oDay'+x+'"' : '') +' class="clsDay'+ (x==scanfortoday ? " clsToday" : "") +'">'+x+'</td>';
		if(((i)%7==0)&&(i<36))t+='</tr><tr>';
	}
	return t+='</tr></table>';
}

var nCurrentMonth, nCurrentYear;
function fMarkEvents(strEvents, m, y){
	nCurrentMonth=m;
	nCurrentYear=y;
	if(!strEvents) return;
	var arr=strEvents.split(",")
	for (var i=0; i<arr.length; i++){
		if(arr[i] && !isNaN(arr[i])){
			document.getElementById("oDay" + arr[i]).className="clsHasEvent"
			document.getElementById("oDay" + arr[i]).onclick=fShowEventsDate
			document.getElementById("oDay" + arr[i]).onmouseover=fPopUpEvent
			document.getElementById("oDay" + arr[i]).onmouseout=fPopUpEventHide
		}
	}
}


var oLastEventLayer;
function fPopUpEvent(e){
	try{
		if(oLastEventLayer) oLastEventLayer.style.display="none";
		var oElem
		if (window.event)
			oElem = window.event.srcElement;
		else if (e) 
			oElem = e.target;
		else return;
	
		var tmp=(oElem.id).replace(/oDay/ig, "");
	
		var oDivToFloat=document.getElementById("oEvent" + tmp)
		oDivToFloat.style.top=fMousePozTop();
		oDivToFloat.style.left=fMousePozLeft();
		oDivToFloat.style.display="block";
		oLastEventLayer=oDivToFloat;
	}catch(e){}
}

function fPopUpEventHide(){
	if(oLastEventLayer) oLastEventLayer.style.display="none";
}

function fShowEventsDate(e){
	var oElem
	if (window.event)
		oElem = window.event.srcElement;
	else if (e) 
		oElem = e.target;
	else return;
	//alert(oElem.id)
	var tmp=(oElem.id).replace(/oDay/ig, "");
	fShowEventsDateByDate(tmp)
}

function fShowEventsDateByDate(d){
	if(!EventsPage){
		location.href="/events.asp?d=" + d + "&m=" + nCurrentMonth + "&y=" + nCurrentYear
		return
	}
	fGetEvent(d,nCurrentMonth,nCurrentYear)
}

function ChangeCal(frm){
	document.getElementById('oCal').innerHTML=buildCal(frm.selMonth.value,frm.selYear.value)
	fGetEventsToMark(frm.selMonth.value,frm.selYear.value)
	//fMarkEvents(strEvents, frm.selMonth.value, frm.selYear.value)
}

function fPageCalendar(n,frm){
	var m=frm.selMonth.selectedIndex
	var y=frm.selYear.selectedIndex

	//alert("m=" + m + " ,y=" + y)
	m+=n
	if(m>frm.selMonth.options.length-1){
		m=0
		y++
	}
	if(m<0){
		m=11
		y--
	}
	if(y<0) y=0
	if(y>frm.selMonth.options.length-1)y=frm.selMonth.options.length-1
	//alert("m=" + m + " ,y=" + y)
	frm.selMonth.selectedIndex=m
	frm.selYear.selectedIndex=y
	ChangeCal(frm)
}

function fGetEventsToMark(sM, sY){
	if(sM && sY){
		//window.open("/AjaxFiles/CalendarMarks.asp?m=" + sM + "&y=" + sY)
		doAjaxRequest("/AjaxFiles/CalendarMarks.asp", {m:sM,y:sY},{
						method:"POST",
						onSuccess:fGetEventsToMarkSuccess,
						onFailure:fGetEventsToMarkFailure
					});

	}
}
function fGetEventsToMarkSuccess(oReq){


	var xml = oReq.responseXML, oDoc = xml.documentElement, oNodes= oDoc.childNodes
	var siteNode = xml.selectSingleNode( "//result/text()");
	if(siteNode)siteNode=siteNode.nodeValue
	if(siteNode){
		fMarkEvents(siteNode, document.frmCal.selMonth.value, document.frmCal.selYear.value)
	}

}



function fGetEventsToMarkFailure(){
	alert("ERROR!")
}

function fGetEvent(sD,sM,sY){
	if(sD && sM && sY){
		//window.open("/AjaxFiles/CalendarXML.asp?d=" + sD + "&m=" + sM + "&y=" + sY)
		//	return

		doAjaxRequest("/ajaxfiles/CalendarXML.asp", {d:sD,m:sM,y:sY,Rand:Math.random()},{
						method:"GET",
						onSuccess:ajaxSuccess,
						onFailure:ajaxFailure
					});
		document.getElementById("oEventsTitle").innerHTML=sD + "/" + sM + "/" + sY
	}
}
function fAddBREvent(str){
	if(!str)return ""
	return(str.replace(/\n/g,"<BR>").replace(/\r/g,""))
}

function ajaxSuccess(oReq){
	var xml = oReq.responseXML, oDoc = xml.documentElement, oNodes= oDoc.childNodes
	var sContent="", oEventContainer=document.getElementById("oEventContainer")
		for (var i=0; i<oNodes.length; i++){
			sContent+="<div class=\"clsIndexItem\">"
				sContent+="<h2>" + fGetText(oNodes[i].childNodes[1]) + "</h2>"
				sContent+="<h3>" + fGetText(oNodes[i].childNodes[2]) + "</h3>"
				sContent+="" + fAddBREvent(fGetText(oNodes[i].childNodes[6])) + "<br />"   //text

				sContent+="<div class=\"clsDetails\">"
					sContent+="<div class=\"clsDetailsLeft\">"
						if(fGetText(oNodes[i].childNodes[7])) sContent+="<a target=\"_blank\" class=\"clsReadMore\" href=\"" + fGetText(oNodes[i].childNodes[7]) + "\">לאתר האירוע &raquo;</a>"   // link
					sContent+="</div>"
					sContent+="<div class=\"clsDetailsRight\">"
						if(fGetText(oNodes[i].childNodes[3])) sContent+=fGetText(oNodes[i].childNodes[3])  + (fGetText(oNodes[i].childNodes[12])?" עד " + fGetText(oNodes[i].childNodes[12]) : "")   //date
						if(fGetText(oNodes[i].childNodes[4])) sContent+=",&nbsp;"+ fGetText(oNodes[i].childNodes[4])   // time
						if(fGetText(oNodes[i].childNodes[5])) sContent+=",&nbsp;"+ fGetText(oNodes[i].childNodes[5])   // location
						if(fGetText(oNodes[i].childNodes[11])) sContent+=",&nbsp;השתתפות: "+ fGetText(oNodes[i].childNodes[11])   // price
					sContent+="</div>"
				sContent+="</div>"
				if(fGetText(oNodes[i].childNodes[13])) sContent+="<div class=\"clsDetailsRight\">תגיות: "+ fGetText(oNodes[i].childNodes[13]) +"</div>"
			if(bCAN)sContent+="<a href=\"/forms/EventsForm.asp?eid=" + fGetText(oNodes[i].childNodes[0]) + "\">עריכה</a>"
			sContent+="</div><div class=\"clsHR\"></div>"


//			sContent+="ID: " + fGetText(oNodes[i].childNodes[0]) + "<br>"
//			sContent+="תמונה: " + fGetText(oNodes[i].childNodes[8]) + "<br>"
//			sContent+="קובץ: " + fGetText(oNodes[i].childNodes[9]) + "<br>"
//			sContent+="פרטי הרשמה: " + fAddBREvent(fGetText(oNodes[i].childNodes[10])) + "<br>"
		}
	oEventContainer.innerHTML=sContent
}

function ajaxFailure(){
	alert("Error occured") 
}

function fGetText(oNode){
	if(document.all)
		return oNode.text
	else
		return oNode.textContent
}
