var chartOk = false;

function SetChartPeriod(iPeriod) {
	iChPeriod = iPeriod;
	for (var i = 0; i < 3; i++) {
		if (i == iPeriod) {
			document.getElementById("ch_per_a_" + i).style.display = "none";
			document.getElementById("ch_per_na_" + i).style.display = "block";
		} else {
			document.getElementById("ch_per_a_" + i).style.display = "block";
			document.getElementById("ch_per_na_" + i).style.display = "none";
		}
	}
	RepaintChart();
	return false;
}
function SetChartVal(iVal) {
	iChVal = iVal;
	for (var i = 0; i < 3; i++) {
		if (i == iVal) {
			document.getElementById("ch_val_a_" + i).style.display = "none";
			document.getElementById("ch_val_na_" + i).style.display = "block";
		} else {
			document.getElementById("ch_val_a_" + i).style.display = "block";
			document.getElementById("ch_val_na_" + i).style.display = "none";
		}
	}
	RepaintChart();
	return false;
}
function RepaintChart() {
	var o = document.getElementById("main_chart");
	if (o) {
		o.src = sChURL + "?cp=" + iChPeriod + "&cv=" + iChVal;
		chartOk = false;
		//o.onload=function() { splash.style.display="none";	}
	}
	return false;
}

function StartDynChart() {
	chartOk = true;
	if (arrValues.length > 0) {
		oChartVal.innerHTML = arrValues[0];
	}
}
function drawValues(evt) {
	if (chartOk) {
		var lMouseCoordX = evt.clientX - 3 - oCanvas.offsetLeft;
		var lMouseCoordY = evt.offsetY + 16;
		if (oLine && oCanvas) {
			if (oLine.style.display == "none") {
				oLine.style.display = "block";
				oLine.style.height = oCanvas.offsetHeight - iShiftH;
				oLine.style.top = oCanvas.offsetTop + iShiftT;
			}
			var newArrId = getNearestXCoord(lMouseCoordX);
			if (prevArrId != newArrId) {
				prevArrId = newArrId;
				oLine.style.left = arrCoordX[prevArrId] + oCanvas.offsetLeft - 1;
				if (oChartVal) {
					oChartVal.innerHTML = arrValues[prevArrId];
				}
			}
		}
	}
}
function HideLine() {
	if (oLine && chartOk) {
		oLine.style.display = "none";
//		oChartVal.innerHTML = "";
		prevArrId = -1;
	}
}
function getNearestXCoord(lMouseX) {
	var diff = 0;
	var arrId = 0;
	var prev = 0;
	for(i = 0; i < arrCoordX.length; i++) {
		diff = Math.abs(lMouseX - arrCoordX[i]);
		if (diff == 0) {
			arrId = i;
			break;
		} else {
			if (i == 0) {
				prev = diff;
			}
			if (diff < prev) {
				arrId = i;
				prev = diff;
			}
		}
	}
	return arrId;
}