var types = new Array ('city', 'street');
//var types = new Array ('city', 'street', 'house_num');

//var types = new Array ({/literal}{$availableFields});
//{literal}
var timeOutId = new Array();

function startSearch(field)
{
	if(timeOutId[field]) {clearTimeout(timeOutId[field]);}
	
	timeOutId[field] =  setTimeout("search('"+field+"')", 400);

}

/*
	GĹ?Ăłwna funnkcja, pobiera dane z formularza i wysyła zapytanie AJAXowe
	
	@param string toHide - parametr przekazywany do f. showResults() 
						(który DIV z wynikami ma zostać ukryty)
*/
function search(field)
{
	if(!field)
	{
		return;
	}

	var city = document.getElementById('localcity').value;
	var street = document.getElementById('localstreet').value;
	var house_num = document.getElementById('localhouse_num').value;
		
	advAJAX.post({
		//url: "http://{/literal}{$serverAddress}{literal}/tools/searchAddress.php",
		url: "/tools/searchAddress.php",
		city: city,
		street: street,
		type: field,
		house_num: house_num,
		onSuccess : function(obj) { showResults(obj.responseText, field); },
		onError : function(obj) { alert("Error: " + obj.status); }
	});
}


/*
	Funkcja odpowiadająca za wyĹ?wietlenie wyników otrzymanych AJAXem
	
	@param string data  - otrzymana odpowiedz, typy odzielone od sibie "|||" 3x | 
	@param string toHide - ktĂłry DIV z wynikami ma zostaÄ? ukryty
	
*/
function showResults(data, field)
{
	var div = document.getElementById('searchRes_' + field);
	var close;

	if(!data || data == ' ')
	{
		div.className = 'noVisible';
		return false;
	}
		
	div.className = 'search_' + field;

	div.innerHTML = data;
	
	if(timeOutId[field]) {clearTimeout(timeOutId[field]);}
	
	timeOutId[field] = setTimeout("hide('"+field+"')", 2500);
}

function hide(field)
{
	if(field)
	{
		document.getElementById('searchRes_' + field).className = 'noVisible';
		if(timeOutId[field]) {clearTimeout(timeOutId[field]);}
	}
}

/*
	Funkcja przepisuje wybraną wartość do odpowiedniego pola input
	
	@param string field - typ, nazwa paramertu (pola)
	@param string val - wybrana wartość
*/
function selectValue(field, val)
{
	document.getElementById('local' + field).value = val;
	document.getElementById('searchRes_' + field).className = 'noVisible';

	search();
	
	return false;	
}

function inArray( array, search_phrase )
{
	for( var i = 0; i < array.length; i++ )
	{
		if( search_phrase == array[i] )
		{
			return i;
		}
	}
	return false;
}

function submitForm()
{
	var city = document.getElementById('localcity').value;
	var street = document.getElementById('localstreet').value;
	var house_num = document.getElementById('localhouse_num').value;
	
	if(city != '' && street != '' && house_num != '')
//	if(city != '' && street != '')
	{
		getResults(city, street, house_num);
		//getResults(city, street);
		return false;
		//document.localForm.submit();
	}
	else
	{
		alert('Prosimy o zawężenie kryteriów wyszukiwania');
	}
}

/*
ajaxowe wyszukiwanie i zmiana DIVOW
*/

function getResults(city, street, house_num)
{
	var respons;
	
	if(city != '' && street != '')
	{
		//var city = document.getElementById('localcity').value;
		//var street = document.getElementById('localstreet').value;

		advAJAX.post({
			//url: "http://{/literal}{$serverAddress}{literal}/tools/searchAddress.php?present",
			url: "/tools/searchAddress.php?present",
			city: city,
			street: street,
			house_num: house_num,
			type: 'city',
			type1: 'street',
			onSuccess : function(obj) 
			{ 	
				showDiv(obj.responseText);
				
			},
			onError : function(obj) { alert("Error: " + obj.status); }
		});
	}
	else
	{
		//showDiv(10000);
	}
}

function showDiv(id)
{
	
	var form = document.getElementById('localForm');
	var res = document.getElementById('localResults');
	var main = document.getElementById('teasBoxLocal');
	
	// wartosc 1 dla przycisku WRóć żeby ukryc diva
	if(id != 1)
	{
		id = id.split('');
	}

	if(id[0] == 1 || id == 1)
	{
		if(form.className == 'noVisible')
		{
			form.className = '';
			res.className = 'noVisible';
			main.className = 'teasBox';
		}
		else
		{
			form.className = 'noVisible';
			res.className = '';		
			main.className = 'teasBox Local';
			
			for(var i = 1; i < id.length; i++)
			{
				if(id[i] == 1)
				{
					document.getElementById('offer_' + i).checked = true;
				}
				else
				{
					document.getElementById('offer_' + i).checked = false;
				}
			}
		}				
	}
}




window.onload = function() {
	for(var i = 0, l = document.getElementsByTagName('input').length; i < l; i++) 
	{
		if(document.getElementsByTagName('input').item(i).type == 'text') 
		{
			switch(document.getElementsByTagName('input').item(i).id)
			{
				case 'localcity':
						document.getElementsByTagName('input').item(i).setAttribute('onFocus', "javascript: hide('street'); hide('house_num');");
						//document.getElementsByTagName('input').item(i).setAttribute('onFocus', "javascript: hide('street');");
						document.getElementsByTagName('input').item(i).setAttribute('onClick', "javascript: this.value='';");
					break;
						
				case 'localstreet':
						document.getElementsByTagName('input').item(i).setAttribute('onFocus', "javascript: hide('city'); hide('house_num')");
						//document.getElementsByTagName('input').item(i).setAttribute('onFocus', "javascript: hide('city');");
						document.getElementsByTagName('input').item(i).setAttribute('onClick', "javascript: this.value='';");
					break;
					
				case 'localhouse_num':
						document.getElementsByTagName('input').item(i).setAttribute('onFocus', "javascript: hide('city'); hide('street')");
						document.getElementsByTagName('input').item(i).setAttribute('onClick', "javascript: this.value='';");
					break;					
			}
			document.getElementsByTagName('input').item(i).setAttribute('autocomplete', 'off');
		};
	};
};
