

var kozterek = new Array( 'utca', 'út', 'tér', 'tere', 'alja', 'alsó', 'alsórakpart', 'alsósor', 'bejáró', 'bekötő', 'bekötőút', 'bevásárlóközpont', 'bokor', 'bástya', 'bástyája', 'csapás', 'domb', 'dunasor', 'dűlő', 'dűlőút', 'dülő', 'erdősor', 'fasor','fasora', 'felsősor', 'felüljáró', 'forduló', 'főtér', 'főutca', 'főút', 'gyalogjáró', 'gát', 'határsor', 'határút', 'hegy', 'híd', 'hídfő', 'hídja', 'játszótér', 'kapu', 'keresztút', 'kert', 'kertsor', 'kilátó', 'kitérő', 'kolónia', 'kőrönd', 'körtér', 'körut', 'körvasútsor', 'körönd', 'körút', 'körútja', 'köz', 'köze', 'köztere', 'középsősor', 'külső', 'lakónegyed', 'lakópark', 'lakótelep', 'lejtő', 'lejáró', 'liget', 'Lánchíd', 'lépcső', 'lépcsősor', 'lőtér', 'major', 'mélyút', 'nagyút', 'oldal', 'orom', 'országút', 'park', 'parkja', 'part', 'pavilonsor', 'piac', 'pihenőhely', 'pincesor', 'puszta', 'Pályaudvar', 'rakpart', 'rét', 'sikátor', 'sor', 'sora', 'sorház', 'sugárút', 'sziget', 'szél', 'Színpad', 'sétány', 'tanya', 'telep', 'temető', 'terminál', 'tető', 'tó', 'töltés', 'tömb', 'udvar', 'ulicska', 'urnatemető', 'utcája', 'utcánk', 'vasútsor', 'vasútállomás', 'villasor', 'vásárcsarnok', 'vásártér', 'völgy', 'völgyhíd', 'zug', 'árok', 'átjáró', 'ösvény', 'újsor', 'újtelep', 'üdülőpart', 'üdülőtelep', 'üdülőterület' );

var cAutocomplete =
{
	sDescription : 'autocomplete class'
}


cAutocomplete.complete = function( hEvent )
{
	if( hEvent == null )
	{
		var hEvent = window.hEvent
	}

	var hElement = ( hEvent.srcElement ) ? hEvent.srcElement : hEvent.originalTarget
	
	var sAA = hElement.getAttribute( 'autocomplete' ).toString()
	if( sAA.indexOf( 'array:' ) >= 0 )
	{
		hArr = eval( sAA.substring( 6 ) )
	}
	else if(  sAA.indexOf( 'list:' ) >= 0 )
	{
		hArr = sAA.substring( 5 ).split( '|' )
	}
	


	if( hEvent.keyCode == 16 )  
	{
		return
	}
	var sVal = hElement.value.toLowerCase()
	if( hEvent.keyCode == 8 )
	{
		sVal = sVal.substring( 0, sVal.length - 1 )
	}
	if( sVal.length < 1 )
	{
		return
	}
	for( var nI = 0; nI < hArr.length; nI++ )
	{
		sMonth = hArr[ nI ]
		nIdx = sMonth.toLowerCase().indexOf( sVal, 0 )
		if( nIdx == 0 && sMonth.length > sVal.length )
		{
			hElement.value = hArr[ nI ]
			if( hElement.createTextRange )
			{
				hRange = hElement.createTextRange()
				hRange.findText( hArr[ nI ].substr( sVal.length ) )
				hRange.select()
			}
			else
			{
				hElement.setSelectionRange( sVal.length, sMonth.length )
			}
			return
		}
	}
}

cAutocomplete.init = function()
{
	var nI = 0
	var aInputs = document.getElementsByTagName( 'INPUT' )
	for( var nI = 0; nI < aInputs.length; nI ++ )
	{
		if( aInputs[ nI ].type.toLowerCase() == 'text' )
		{
		 	var sLangAtt = aInputs[ nI ].getAttribute( 'autocomplete' )
			if( sLangAtt )
			{
					if( document.attachEvent ) 
					{
						aInputs[ nI ].attachEvent( 'onkeyup', cAutocomplete.complete )
					}
					else if( document.addEventListener )
					{
						aInputs[ nI ].addEventListener( 'keyup', cAutocomplete.complete, false )
					} 
			}
		}
	}
}

if( window.attachEvent ) 
{
	window.attachEvent( 'onload', cAutocomplete.init )
}
else if( window.addEventListener )
{
	window.addEventListener( 'load', cAutocomplete.init, false )
} 