function requestSearch( aType, aVal )
{
	requestMap( "search", 0, 0, 0, 0, 0, aType + '&aVal=' + aVal );
}

function findInMap( )
{
	var findElem = document.getElementById( 'searchStr' );
	if ( findElem )
	{
		if ( findElem.value.length > 1 ) requestSearch( 'street', findElem.value );
	}
}

function clearSearhPane()
{
	try
	{
		var searchResPane = document.getElementById( 'searchRes' )
		if ( searchResPane ) searchResPane.innerHTML =  '&nbsp;';
		var findElem = document.getElementById( 'searchStr' );
		if ( findElem ) findElem.value = '';
	}
	catch ( er )
	{
		;
	}
}

function clearFind()
{
	requestMap( "clearsearch", 0, 0, 0, 0, 0, "" );
	clearSearhPane();
}

function catchEnter( e )
{
	if ( !e ) e = window.event;
	var keyCode = ( e.keyCode ) ? e.keyCode : e.which;

	if ( keyCode == 13 ) // 'Enter'
	{
		findInMap();
		clearEvent( e );
		return false;
	}
	return true;
}

function hglght( idStr, aType )
{
	requestMap( "hglght", 0, 0, 0, 0, 0, aType + '&aVal=' + idStr );
	return false;
}

function mergeByName( ar )
{
	if ( !ar ) return null;

	ar = ar.sort();
	var saveName = '', arLen = ar.length, tmpName, tmpID;
	var resAr= new Array(3), count = 0;

	resAr[0] = new Array();
	resAr[1] = new Array();
	resAr[2] = new Array();

	for ( var i = 0; i < arLen; i++ )
	{
		if ( !ar[i].length ) continue;

		tmpAr = ar[i].split( '|' );
		tmpName = tmpAr[0];
		if ( tmpName == saveName )
		{
			tmpID = tmpID + ',' + tmpAr[2];
		}
		else
		{
			if ( saveName )
			{
				resAr[0][count] = saveName;
				resAr[1][count] = tmpAr[1];
				resAr[2][count] = tmpID;
				count++;
			}
			tmpID = tmpAr[2];
			saveName = tmpName;
		}
	}
	if ( saveName ) 
	{
		resAr[0][count] = saveName;
		resAr[1][count] = tmpAr[1];
		resAr[2][count] = tmpID;
	}

	return resAr;
}

function procesSearchRes( aRes )
{
	if ( !aRes ) return "ничего не найдено";

	var resArray = mergeByName( aRes.split( ';' ) ), resHTML = '';
	for ( var i = 0; i < resArray[0].length; i++ )
	{
		resHTML = resHTML + "<a href='#' onClick='return hglght(\"" + resArray[2][i] + "\"," + resArray[1][i] + ")'>" + resArray[0][i] + "</a><br>";
	}
	return resHTML;	
}

function updateSearchInfo()
{
	try
	{
		if ( !requestFrame ) requestFrame = window.frames[ 'requestImage' ];
		var requestDoc = requestFrame.document;
		if ( requestDoc )
		{
			if ( requestDoc.getElementById( 'streetsList' ) ) 
			{
				var searchRes = requestDoc.getElementById( 'streetsList' ).title;
				var searchResPane = document.getElementById( 'searchRes' )
				if ( searchResPane ) searchResPane.innerHTML =  procesSearchRes( searchRes );
			}
		}
	}
	catch ( er )
	{
		;
	}
}
