EVENT_HANDLING['SUGGESTIONS'] = true;
var DIV_MAIN_SUGGESTIONS = null;

var imw_sug_dat = null;
var imw_sug_locked = null;
var imw_sug_PREFIX = null;
var imw_sug_locations = null;
var imw_sug_container = null;

function imw_sug_check(e_input, e_container, px, py)
{
	/*
	if (document.getElementById('dest_suggestion'))
		DIV_MAIN_SUGGESTIONS = document.getElementById('dest_suggestion');
	*/
	if (DIV_MAIN_SUGGESTIONS)
	{
		imw_sug_close();
	}
	
	if (document.getElementById(e_container))
		DIV_MAIN_SUGGESTIONS = document.getElementById(e_container);
	
	if (!DIV_MAIN_SUGGESTIONS)
		return false;
	
	imw_sug_dat = document.getElementById(e_input);
	
	if (!imw_sug_dat)
		return false;
	
	if (!BROWSER_CURRENT['msie'])
	{
		if (imw_div_pg_type == 'R')
		{
			if (BROWSER_CURRENT['firefox'])
			{
				py = parseInt(py) + 1;
			}
		} else {
			py -= 1;
		}
	}
	
	// DIV_MAIN_SUGGESTIONS.style.left = ( parseInt(px) + parseInt(imw_div_offset_x) ) + "px";
	// DIV_MAIN_SUGGESTIONS.style.top  = ( parseInt(py) + parseInt(imw_div_offset_y) ) + "px";
	
	// imw_sug_open();
	// imw_sug_build(imw_sug_dat.value)
	imw_sug_check_prefix();
}

function imw_sug_open()
{
	if (!imw_sug_dat)
		return false;
	
	DIV_MAIN_SUGGESTIONS.style.visibility = 'visible';
	DIV_MAIN_SUGGESTIONS.style.display 	 = 'block';
	
	DIV_MAIN_SUGGESTIONS.scrollTop = 0; /* 1 Zeile = H19PX */
}

function imw_sug_hide()
{
	DIV_MAIN_SUGGESTIONS.style.visibility = 'hidden';
	DIV_MAIN_SUGGESTIONS.style.display 	 = 'none';
}

function imw_sug_close()
{
	if (!imw_sug_dat)
		return false;
	
	imw_sug_dat = null;
	
	imw_sug_hide();
}

function imw_sug_lock()
{
	imw_sug_locked = true;
}

function imw_sug_unlock()
{
	imw_sug_locked = false;
}

function imw_sug_set(location)
{
	/*
	var pos = location.search(/</);
	
	if (pos > 0)
	{
		imw_sug_dat.value = location.substring(0, pos - 1);
	} else {
		imw_sug_dat.value = location;
	}
	*/
	imw_sug_dat.value = location;
	
	imw_sug_dat.style.color = 'BLACK';
	
	imw_sug_close();
}

function imw_sug_check_prefix()
{
	if (imw_sug_dat.value.length >= 3)
	{
		if (imw_sug_PREFIX != imw_sug_dat.value.substr(0, 3))
		{
			imw_sug_PREFIX = imw_sug_dat.value.substr(0, 3);
			// alert(imw_sug_PREFIX);
			dhtml_HttpPost("/js/dhtml/suggestions.php", "input=" + imw_sug_dat.value);
			
			/* Neues Prefix */
			imw_sug_hide();
		} else {
			/* Altes Prefix */
			// alert( imw_sug_dat.value );
			imw_sug_build( imw_sug_dat.value );
		}
	} else {
		imw_sug_hide();
	}
}

function imw_sug_EventOnKeyUp()
{
	if (imw_sug_dat)
	{
		imw_sug_check_prefix();
	}
}

function imw_sug_EventOnClick()
{
	if (imw_sug_dat && !imw_sug_locked)
	{
		imw_sug_close();
	}
}

function imw_sug_build(prefix)
{
	// alert(prefix);
	if (imw_sug_locations == null)
		return false;
	
	var inner_html = "";
	var c = 0;
	
	for (i = 0; i < imw_sug_locations.length; i++)
	{
		var location = imw_sug_locations[i].split("!");
		
		location_name = location[0];
		
		if (location_name.substr(0, prefix.length).toLowerCase() == prefix.toLowerCase() && location_name.toLowerCase() != prefix.toLowerCase())
		{
			location_flag = location[1].split(":");
			
			inner_html += '<a href="" class="a_sgstn" onClick="imw_sug_set(this.innerHTML); return false;" style="padding-left: 30px; background-image: url(/images/fahnen/PXH13/' + location_flag[0] + '.gif); background-repeat: no-repeat; background-position: ' + (2 + 13 - Math.floor(location_flag[1] / 2)) + 'px 2px;">' + location_name + '</a>';
			c++;
		}
	}
	
	DIV_MAIN_SUGGESTIONS.innerHTML = inner_html;
	
	if (c > 10)
	{
		frame_height = 10 * (18 + 1);
		frame_width  = 320;
		frame_overflow = 'auto';
	} else {
		frame_height =  c * (18 + 1);
		frame_width  = 300;
		frame_overflow = 'hidden';
	}
	
	if (frame_height > 0)
	{
		DIV_MAIN_SUGGESTIONS.style.height = (frame_height - 1) + "px";
		DIV_MAIN_SUGGESTIONS.style.width  = frame_width + "px";
		DIV_MAIN_SUGGESTIONS.style.overflow 	  = frame_overflow;
	}
	
	if (c > 0)
	{
		imw_sug_open();
	} else {
		imw_sug_hide();
	}
}