var processedCities = new Array();
var citiesCondition = new Array();
var citiesOpacity = new Array();
var delayModifier = 0.1;
var opacityStep = 0.20;

function showCityInfo(cityId) {
	var mapBox = document.getElementById('map-box');
	var cityPoint = document.getElementById('c' + cityId);
	var cityPointActive = document.getElementById('ca' + cityId);
	var cityInfoBox = document.getElementById('ci' + cityId);
	if(processedCities[cityId]!=true) {
		cityInfoBox.style.left = (cityPoint.offsetLeft + 41) + 'px';
		cityInfoBox.style.top = (cityPoint.offsetTop - 7) + 'px';
		cityPointActive.style.left = (cityPoint.offsetLeft - 4) + 'px';
		cityPointActive.style.top = (cityPoint.offsetTop - 4) + 'px';
		cityInfoBox.style.display = 'block';
		cityPointActive.style.display = 'block';
		if(cityInfoBox.offsetLeft + cityInfoBox.offsetWidth > mapBox.offsetWidth) { 
			cityInfoBox.style.left = (cityPoint.offsetLeft - cityInfoBox.offsetWidth - 32) + 'px';
			cityPointActive.src = '/images/citya_2.gif';
			cityPointActive.style.left = (cityPoint.offsetLeft - 32) + 'px';
		}
		if(cityInfoBox.offsetTop + cityInfoBox.offsetHeight > mapBox.offsetHeight) { 
			cityInfoBox.style.top = (mapBox.offsetHeight - cityInfoBox.offsetHeight - 3) + 'px';
		}
		processedCities[cityId] = true;
		citiesOpacity[cityId] = 0;
	} else {
		cityInfoBox.style.display = 'block';
		cityPointActive.style.display = 'block';
	}
	
	citiesCondition[cityId] = 1;
	
	for(var cID in citiesCondition) { 
		if(citiesCondition[cID] < -1) citiesCondition[cID] = -1;
	}
}

function hideCityInfo(cityId) {
	/*if(document.getElementById('ci'+cityId).style.opacity < 1) citiesCondition[cityId] = -1; 
	else*/ citiesCondition[cityId] = -2;
}

function processOpacity() {
	var i,cPA,cIB;
	if(citiesCondition.length > 0)
		for(var cityId in citiesCondition) {
			cPA = document.getElementById('ca' + cityId);
			cIB = document.getElementById('ci' + cityId);
			if(citiesCondition[cityId] < -1) { // ждем
				citiesCondition[cityId] += delayModifier;
			}
			if(citiesCondition[cityId] == 1) { // проявляем
				if(citiesOpacity[cityId] == 1) citiesCondition[cityId] = 0;
				else {
					if(parseFloat(citiesOpacity[cityId])) citiesOpacity[cityId] = opacityStep + parseFloat(citiesOpacity[cityId]); else citiesOpacity[cityId] = opacityStep;
					if(cPA.style.setAttribute) {
						cPA.style.setAttribute("filter", "alpha(opacity="+(citiesOpacity[cityId]*100)+");")
						cIB.style.setAttribute("filter", "alpha(opacity="+(citiesOpacity[cityId]*100)+");")
					} else {
						cPA.style.opacity = citiesOpacity[cityId];
						cIB.style.opacity = citiesOpacity[cityId];
					}
				}
			}
			if(citiesCondition[cityId] >= -1 && citiesCondition[cityId] < 0) { // скрываем
				if(citiesOpacity[cityId] <= 0) {
					citiesCondition[cityId] = 0;
					cPA.style.display = 'none';
					cIB.style.display = 'none';
					citiesOpacity[cityId] = 0;
				} else {
					citiesOpacity[cityId] = -opacityStep + parseFloat(citiesOpacity[cityId]);
					if(cPA.style.setAttribute) {
						cPA.style.setAttribute("filter", "alpha(opacity="+(citiesOpacity[cityId]*100)+");")
						cIB.style.setAttribute("filter", "alpha(opacity="+(citiesOpacity[cityId]*100)+");")
					} else {
						cPA.style.opacity = citiesOpacity[cityId];
						cIB.style.opacity = citiesOpacity[cityId];
					}
				}
			}
		}
	setTimeout('processOpacity()',100);
}