var req, toWhere="calendar", toWhere_upcoming="events_upcoming", toWhere_older="events_older", calendarOnly=false;

function navigate(month, year, evt, where, grpId, grpSeo) {
	setFade(0);

	calRequestUrl = SITE_LINK;
	calendarOnly = false;
	if(evt=='none'){
		calendarOnly = true;
		evt = "";
	}

	if(grpId && grpId!=""){
		var url = calRequestUrl+"modules/super_calendar.php?grpId="+grpId+"&grpSeo="+grpSeo+"&month="+month+"&year="+year+"&event="+evt;
	}else{
		var url = calRequestUrl+"modules/super_calendar.php?month="+month+"&year="+year+"&event="+evt;
	}

	//alert (url);

	if(window.XMLHttpRequest) {
		req = new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}

	if(evt && evt!=""){
		toWhere_upcoming="events_upcoming";
		toWhere_older="events_older";
	} else {
		toWhere_upcoming="calendar";
		toWhere_older="calendar";
	}

	if(where && where !=""){
		toWhere=where;
	}

	req.open("GET", url, true);
	req.onreadystatechange = function(){ callback(evt,grpId,grpSeo); }
	req.send(null);
}

function callback(evt,grpId,grpSeo) {
	if(req.readyState == 4) {
		var response = req.responseXML;
		var resp_upcoming = response.getElementsByTagName("response_upcoming");
		var resp_older = response.getElementsByTagName("response_older");
		getObject(toWhere_upcoming).innerHTML = resp_upcoming[0].getElementsByTagName("content")[0].childNodes[0].nodeValue;
		if(evt && evt=='-'){
			getObject('older_events_wrapper').style.display = '';
			getObject(toWhere_older).innerHTML = resp_older[0].getElementsByTagName("content")[0].childNodes[0].nodeValue;
		}else{
			if(!calendarOnly) getObject('older_events_wrapper').style.display = 'none';
		}
		fade(70);

		if(toWhere_upcoming=="calendar" && !calendarOnly){
			navigate('', '', '-', '', grpId, grpSeo); // events
		}
	}
}

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('January','February','March','April','May','June','July','August','September','October','November','December');
	var n;
	for(var i=0;i<12;i++) {
		n = 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()">&nbsp;<img src="'+SITE_LINK+'img/ico_but_next.png" alt="go" />&nbsp;</a> <a href="javascript:hideJump()">&nbsp;<img src="'+SITE_LINK+'img/ico_but_nok.png" alt="close" />&nbsp;</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,'none');
	hideJump();
}
