﻿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])){
			$("#oDay" + arr[i]).addClass("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?d=" + d + "&m=" + nCurrentMonth + "&y=" + nCurrentYear
		return
	}
	fGetEvent(d,nCurrentMonth,nCurrentYear)

console.log(d)

	$("#oNextEventsBtn").removeClass("clsTabSelected");
	$("#oNextEventContainer").hide();
	$("#oEventsTitle").html(d + "/" + nCurrentMonth + "/" + nCurrentYear).show().addClass("clsTabSelected");
	$("#oEventContainer").html("").show();
}

function fShowNextEvents(){
	$("#oNextEventsBtn").addClass("clsTabSelected").show();
	$("#oNextEventContainer").show();
	$("#oEventsTitle").removeClass("clsTabSelected").html("").hide();
	$("#oEventContainer").html("").hide();
}

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
					});
	}
}
function fAddBREvent(str){
	if(!str)return ""
	return(str.replace(/\n/g,"<BR>").replace(/\r/g,""))
}

function fEventDate(d){
	if(d==null) return ""
	arr=d.split("/");
	var dDate=new Date(arr[2],arr[1],arr[0])
	var sDay=dDate.getDate()
	var sYear=dDate.getFullYear()+""
	var sMonth=dDate.getMonth()+1
	return sDay + "/" + sMonth + "<br />" + sYear
}

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\"><div class=\"clsBody\">"

			sContent+="<div class=\"clsDate\">"+ fEventDate( fGetText(oNodes[i].childNodes[3]) ) +"</div>";
				sContent+="<div class=\"clsEventDetails\">"
					sContent+="<h2>" + fGetText(oNodes[i].childNodes[1]) + "</h2>"
					sContent+="<h3>" + fGetText(oNodes[i].childNodes[2]) + "</h3>"
					sContent+="<div class=\"clsDetails\">"
						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+="" + fAddBREvent(fGetText(oNodes[i].childNodes[6]))   //text
					if(fGetText(oNodes[i].childNodes[7])) sContent+="<div class=\"clsReadMoreLeft\"><a class=\"clsOrangeLink\" href=\"" + fGetText(oNodes[i].childNodes[7]) + "\">← לאתר האירוע</a></div>"   // link
					if(fGetText(oNodes[i].childNodes[13])) sContent+="<div class=\"clsTags\">תגיות: "+ fGetText(oNodes[i].childNodes[13]) +"</div>"
				sContent+="</div>"
			sContent+="<div class=\"clsSpacer\"></div>"
			sContent+="</div></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
}

