// vvvvv GLOBAL VARIABLES vvvvv
var gPrevInput = "";
var gTimeout = 800;
var gSuggestPHPScript = '';

var gOutputDivId = '';
var gInputFormId = '';
// ^^^^^ GLOBAL VARIABLES ^^^^^

function installSuggest(php_script, input_frm_id, output_div_id){
	gSuggestPHPScript = php_script;
	gInputFormId = input_frm_id;
	gOutputDivId = output_div_id;
	
	var pos_obj = getPositionById(gInputFormId);
	setPositionById(gOutputDivId, pos_obj.top + 25, pos_obj.left + 1);
}

function stationSuggest(){
	var key = $F(gInputFormId);
	if(key == ''){ $(gOutputDivId).style.display = 'none'; return ; }
	
	var pars = 'key=' + encodeURI(key);
	var ajaxLine = new Ajax.Request(
				gSuggestPHPScript,
				{
					method: 'get',
					parameters: pars,
					onComplete: showSuggestDiv
				});
}

function showSuggestDiv(originalRequest){
	var xml = originalRequest.responseXML;
	//alert(originalRequest.responseText);
	
	if(xml && xml.documentElement){
		var stations = xml.documentElement.getElementsByTagName("station");
		if(stations.length == 0){ $(gOutputDivId).style.display = 'none'; return ;}

		var html = '';
		for(var i=0; i < stations.length; i++){
			var name = stations[i].getAttribute('name');
			var lng = stations[i].getAttribute('lng');
			var lat = stations[i].getAttribute('lat');
			html +=	'<div style="width:100%" onmouseout="this.style.background = \'white\';" onmouseover="this.style.background = \'#CCCCFF\';">' + 
						'<a href="./map.php?lng=' + lng + '&lat=' + lat + '" style="text-decoration:none; color:#0066ff;">' +  
							name + 
						'</a>' +
					'</div>';
		}
		
		if($(gInputFormId)){
			$(gOutputDivId).innerHTML = html;
			$(gOutputDivId).style.display = 'block';
			var pos_obj = getPositionById(gInputFormId);
			//alert('top=' + pos_obj.top + 'left=' + pos_obj.left);
			setPositionById(gOutputDivId, pos_obj.top + 25, pos_obj.left + 1);
		}		
	} else {
		$(gOutputDivId).style.display = 'none';
	}
}

function getPositionById(str_id){
	//alert(str_id);
	var obj = $(str_id);
	var pos_top = 0;
	var pos_left = 0;
	
	if(navigator.userAgent.indexOf('MSIE') != -1){
		//alert('MSIE');
		for(var p = obj; p; p = p.offsetParent){
			pos_top += p.offsetTop;
			pos_left += p.offsetLeft;
		}
	} else {
		//alert('FIREFOX');
		pos_top = obj.offsetTop;
		pos_left = obj.offsetLeft;
	}
	return {left : pos_left, top : pos_top};
}


function setPositionById(str_id, top, left){
	var obj = $(str_id);
	obj.style.left = left + "px";
	obj.style.top = top + "px";
}


