var req;

function setcategory(level,value) {
        if(level == 1) {
                cat1 = value;
        }
        if(level == 2) {
                cat2 = value;
        }
        if(level == 3) {
                cat3 = value;
        }
}

function setref(refvalue) {
	ref = refvalue;
}

function setmonth(m) {
        month = m;
}

function setyear(y) {
        year = y;
}


function navigate(calendar) {
	setFade(0);

	if(!window.year) {
                year = '';
        }
        if(!window.month) {
                month = '';
        }

	categories = cat1 + '|' + cat2 + '|' + cat3;

	var url = "/index.php?action=calendar&data=1&calendar="+calendar+"&month="+month+"&year="+year+"&categories="+categories+"&ref="+ref;

	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.responseText;	
		getObject("calendar").innerHTML = response;
		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,calendar) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}

	var currentdate = new Date();
	var currentmonth = currentdate.getMonth() + 1;
	var currentyear = currentdate.getFullYear();

	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)<10)? '0'+(i+1):i+1;

		if((i+1) == currentmonth) {
			output += '<option selected value="'+n+'">'+months[i]+'  </option>\n';
		} else {
			output += '<option value="'+n+'">'+months[i]+'  </option>\n';
		}
	}
	output += '</select> \n<select id="year">\n';
	for(var i=7;i<=15;i++) {
		n = (i<10)? '0'+i:i;
	
		var actualyear = 2000 + i;

		if(actualyear == currentyear) {
			output += '<option selected value="20'+n+'">20'+n+'  </option>\n';
		} else {
			output += '<option value="20'+n+'">20'+n+'  </option>\n';
		}
	}
	output += '</select> <a href="javascript:jumpTo(\'' + calendar + '\')"><img src="/images/calendar_images/calGo.gif" alt="go" /></a> <a href="javascript:hideJump()"><img src="/images/calendar_images/calStop.gif" alt="close" /></a>';
	jump.innerHTML = output;
	document.body.appendChild(jump);
}

function hideJump() {
	document.body.removeChild(getObject("jump"));	
}

function jumpTo(calendar) {
	var m = getObject("month");
	var y = getObject("year");

	setmonth(m.options[m.selectedIndex].value);
        setyear(y.options[y.selectedIndex].value);

	navigate(calendar);
	hideJump();
}

function changediv(div) {
	current = document.getElementById(div).style.display;
	if(current == 'none') {
		document.getElementById(div).style.display = 'block';
	} else {
		document.getElementById(div).style.display = 'none';
	}
}
