var req;
var eventdata;

function navigate(month,year,evt) {
	setFade(0);
	var url = "/calendar/super_calendar.php?month="+month+"&year="+year+"&event="+evt;
	if(window.XMLHttpRequest) {
		req = new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}
	req.open("GET", url, true);
	req.onreadystatechange = callback;
	req.send(null);
}

function callback() {	
	if(req.readyState == 4) {
		var response = req.responseXML;	
		var resp = response.getElementsByTagName("response");
		getObject("calendar").innerHTML = resp[0].getElementsByTagName("content")[0].childNodes[0].nodeValue;
		eventdata = resp[0].getElementsByTagName("data")[0].getElementsByTagName("event");
/*		eventdata = resp[0].getElementsByTagName("data")[0];*/
		fade(70);
	}
}

function getObject(obj) {
	var o;
	if(document.getElementById) o = document.getElementById(obj);
	else if(document.all) o = document.all.obj;	
	return o;	
}

function fade(amt) {
	if(amt <= 100) {
		setFade(amt);
		amt += 10;
		setTimeout("fade("+amt+")", 5);
    }
}

function setFade(amt) {
	var obj = getObject("calendar");
	amt = (amt == 100)?99.999:amt;
	obj.style.filter = "alpha(opacity:"+amt+")";
	obj.style.KHTMLOpacity = amt/100;
	obj.style.MozOpacity = amt/100;
	obj.style.opacity = amt/100;
}

function showJump(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	var jump = document.createElement("div");
	jump.setAttribute("id","jump");
	jump.style.position = "absolute";
	jump.style.top = curtop+15+"px";
	jump.style.left = curleft+"px";
	var output = '<select id="month">\n';
	var months = new Array('Janvier','Fevrier','Mars','Avril','Mai','Juin','Juillet','Aout','Septembre','Octobre','Novembre','Decembre');
	var n;
	for(var i=0;i<12;i++) {
		n = ((i+1)<10)? '0'+(i+1):i+1;
		output += '<option value="'+n+'">'+months[i]+'  </option>\n';
	}
	output += '</select> \n<select id="year">\n';
	for(var i=0;i<=15;i++) {
		n = (i<10)? '0'+i:i;
		output += '<option value="20'+n+'">20'+n+'  </option>\n';
	}
	output += '</select> <a href="javascript:jumpTo()"><img src="/calendar/images/calGo.gif" alt="go" /></a> <a href="javascript:hideJump()"><img src="/calendar/images/calStop.gif" alt="close" /></a>';
	jump.innerHTML = output;
	document.body.appendChild(jump);
}

function hideJump() {
	document.body.removeChild(getObject("jump"));	
}

function jumpTo() {
	var m = getObject("month");
	var y = getObject("year");
	navigate(m.options[m.selectedIndex].value,y.options[y.selectedIndex].value,'');
	hideJump();
}

function showData(obj,dateofevent) {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }

	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	var data = document.createElement("div");
	data.setAttribute("id","data");
/*	data.style.position = "absolute";
	data.style.top = curtop+15+"px";
	data.style.left = curleft+"px";*/
	var output = "";
	var i;
	for(i=0; i<eventdata.length; i++)
	{
		if(eventdata[i].getElementsByTagName("compdatemin")[0].childNodes[0].nodeValue <= dateofevent && eventdata[i].getElementsByTagName("compdatemax")[0].childNodes[0].nodeValue >= dateofevent)
		{
			output += "<div id='event'><div class='heading'><div class='title'>";
			output += eventdata[i].getElementsByTagName("heading")[0].childNodes[0].nodeValue;
			output += "</div><div class='posted'>";
			output += eventdata[i].getElementsByTagName("thedate")[0].childNodes[0].nodeValue
			output += "</div></div><div class='line'>";
			output += eventdata[i].getElementsByTagName("body")[0].childNodes[0].nodeValue;
			output += "</div></div>";
		}

/*		output += eventdata[i].getElementsByTagName("heading")[0].childNodes[0].nodeValue + '<br>';*/
	}
/*	output += '<a href="javascript:hideData()"><img src="/calendar/images/calStop.gif" alt="close" /></a>';*/
	document.body.appendChild(data);
	data.innerHTML = output;
	data.style.position = "absolute";
	data.style.left = (myWidth-data.offsetWidth)/2 +"px";
	data.style.top = (myHeight-data.offsetHeight)/2 +"px";
/*	alert(data.offsetWidth + 'x' + data.offsetHeight);*/
}

function hideData() {
	document.body.removeChild(getObject("data"));	
}

