
/* Copyright © 2007 DIALNET All rights reserved. */
selectD = 0;

function setIdRegion()
{
	var form = document.forms.ffAddOffer;
	if (form.fRegion.value != 'NULL')
	{
		form.fIdRegion.value = form.fRegion.value;
	}
}

function getCities(ev, domain, idRegion, cityValue)
{
	var citiesURL = 'http://'+domain+'/cities/';
	
	if(window.XMLHttpRequest)
	{
		var request = new XMLHttpRequest();
	}
	else if (window.ActiveXObject)  
	{
		var request = new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	request.onreadystatechange = function()
  	{
    	if(request.readyState == 4)
		{
			if(request.status == 200)
			{
				var resultTEXT = request.responseText;
				//alert(resultTEXT);
				if (resultTEXT.length > 0)
				{
					var resultTab = new Array;
					resultTab = eval('('+resultTEXT+')');
					cities = resultTab;
					cityTipControl(ev);
					lastCities = resultTab;
					lastCity = cityValue;
				}
			}
			else
			{
				return false;
			}
		}
		else if (request.readyState == 1)
		{
			//'getting'			
		}
		else if (request.readyState == 0)
		{
			//error
		}
  	};
  	
  	if (!window.lastCities)
  	{
  		lastCities = new Array;
  	}
  	if (!window.lastCitiy)
  	{
  		lastCity = '';
  	}
  
  	if ((ev == 'enter' || ev == 'up' || ev == 'down') && lastCities.length > 0 && lastCity != cityValue)
	{
	  	cities = lastCities;
	  	cityTipControl(ev);
	}
  	else
  	{
		request.open('POST', citiesURL, true);
		request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		var post_request = 'cityValue='+cityValue;
		if (idRegion != 'NULL')
		{
			post_request += '&idRegion='+idRegion;
		}
		request.send(post_request);
  	}
  	
}

function cityTipControl(ev)
{
	if (!cities)
	{
		cities = new Array;
	}
	var form = document.forms.ffAddOffer;
	if (cities.length == 0)
	{
		closeCityTip();
		return false;
	}
	else
	{
		if (cities.length == 1 && cities[0]['cityName'] == form.fCity.value)
		{
			closeCityTip();
			return false;
		}
		var cityTipObj = document.getElementById ? document.getElementById('dCityTip') : document.all.dCityTip;
		cityTipObj.innerHTML = '';
		cityTipObj.style.display = 'block';
	}
	for (i = 0; i < cities.length; i++)
	{
		cityTipObj.innerHTML += '<div onclick="setCityTip(this, '+i+');" onmouseover="setCityTipHover(this, '+i+', \'\');" onmouseout="unsetCityTip(this);" id="c'+i+'" style="height: 15px; cursor: default; border: 1px solid #fff; padding: 1px; padding-left: 4px;padding-right: 6px;">'+cities[i]['cityDispName']+'</div>';
	}
	
	var setC = true;
	
	if (ev == 'down')
	{
		selectD++;
	}
	else if(ev == 'up')
	{
		if(selectD < 0)	
		{
			selectD = 0;
		}
		else
		{
			selectD--;
		}
	}
	else if(ev == 'enter' && selectD > -1)
	{
		setC = true;
	}
	else
	{
		selectD = -1;
		setC = false;
	}
	
	if (setC == true)
	{
		if (selectD > cities.length - 1)
		{
			selectD = cities.length - 1;
		}
		else if (selectD < 0)
		{
			selectD = 0;
		}
		var currentCityLabel = "c"+selectD;
		var currentCityObj = eval('document.getElementById ? document.getElementById(\''+currentCityLabel+'\') : document.all.'+currentCityLabel+';');
		setCityTipHover(currentCityObj, selectD, ev);
	}
	if(ev == 'enter' && selectD == -1)
	{
		closeCityTip();
	}
}

function cityTip(event, domain)
{
	
	var ev = '';
	if (event.keyCode == '40')
	{
		ev = 'down';
	}
	else if (event.keyCode == '38')
	{
		ev = 'up';
	}
	else if (event.keyCode == '13')
	{
		ev = 'enter';
	}

	
	var form = document.forms.ffAddOffer;
	
	if (form.fCity.value.length > 0)
	{
		var idRegion = form.fRegion.value;
		var cityValue = form.fCity.value;
		
		cities = new Array();
		getCities(ev, domain, idRegion, cityValue);
	}
	else
	{
		closeCityTip();
	}
}

function closeCityTip()
{
	selectD = -1;
	var cityTipObj = document.getElementById ? document.getElementById('dCityTip') : document.all.dCityTip;
	cityTipObj.style.display = 'none';
	return true;
}

function setCityTipHover(cityObject, currentIndex, ev)
{
	
	selectD = currentIndex;
	var form = document.forms.ffAddOffer;
	cityObject.style.color = '#fff';
	cityObject.style.backgroundColor = '#5373CE';

	if (ev == 'enter')
	{
		setCityTip(cityObject, currentIndex);
	}
}

function  setCityTip(cityObject, currentIndex)
{
	selectD = currentIndex;
	var form = document.forms.ffAddOffer;
	cityObject.style.color = '#fff';
	cityObject.style.backgroundColor = '#5373CE';
	form.fCity.value = cities[currentIndex]['cityName'];
	if (form.fIdCity)
	{
		form.fIdCity.value = cities[currentIndex]['idCity'];
	}
	if (form.fIdRegion)
	{
		form.fIdRegion.value = cities[currentIndex]['idRegion'];
	}
	else
	{
		form.fRegion.value = cities[currentIndex]['idRegion'];
	}
	if (form.fRegion.value != 'NULL' && form.fIdRegion)
	{
		form.fIdRegion.value = form.fRegion.value;
	}
	closeCityTip();
}

function unsetCityTip(cityObject, selectD)
{
	var form = document.forms.ffAddOffer;
	cityObject.style.color = '#485354';
	cityObject.style.backgroundColor = '#fff';
}

