function onCurrPos(pos){
	g_lat = pos.coords.latitude;
	g_lng = pos.coords.longitude;
	updateStops(g_lat, g_lng);
}
function onError(error){
	alert("위치 정보를 얻는데 실패했습니다.");
}
function updateStops(lat, lng){
	if(lat == undefined) lat = g_lat;
	if(lng == undefined) lng = g_lng;
	showLoading();
	$.ajax({
		type:'GET',
		url:'services/get_neareststops.php?lat='+lat+"&lng="+lng+"&rad="+g_radius,
		/*dataType:'json',*/
		success:function(data){
			eval("var data="+data);
			var html = '';
			
			// subway
			html += '<li class="header">지하철역</li>';
			for(var i=0; i < data.subway.length; i++){
				var stop = data.subway[i];
				var dist = (stop.distance < 1.0) ? (stop.distance*1000)+" m" : stop.distance+" km"; 
				html += '<li onclick="showSubwayEndTime('+stop.id+');"><div class="info">\
				<div class="subwaystop"><div class="title"><div class="linenum line'+stop.line+'">'+stop.line+'</div> '+stop.name+'</div><div class="distance">'+dist+'</div></div>\
				<div class="time">'+stop.endtime+'</div>\
				</div></li>';
			}
			if (data.subway.length == 0) {
				var r = (g_radius < 1.0) ? (g_radius*1000)+"m" : g_radius+"km"; 
				html += '<div class="noresult">반경 ' + r + ' 안에 지하철역이 없습니다.</div>';
			}
			$("#nearest .list").html(html);
			// bus
			html = '<li class="header">버스</li>';
			for(var i=0; i < data.bus.length; i++){
				var b = data.bus[i];
				var typen = getBusTypeImageName(b.type);
				html += '<li onclick="showBusInfo('+b.id+')"><div class="info">\
				<div class="busstop"><div class="title"><img src="images/'+typen+'.png" alt="" /> '+b.num+' <span class="beginend">('+b.beginend+')</span></div><div class="time">'+b.endtime+'</div></div>\
				</div></li>';
			}
			if (data.bus.length == 0) {
				var r = (g_radius < 1.0) ? (g_radius*1000)+"m" : g_radius+"km"; 
				html += '<div class="noresult">반경 ' + r + ' 안에 버스 정류장이 없습니다.</div>';
			}
			$("#nearest .list").append(html);			
			hideLoading();
			
			$("#nearest .list li").mousedown(function(){
				$('#nearest .list li').removeClass("sel");
				if($(this).hasClass("header")==false)
					$(this).addClass("sel");
			}).mouseout(function(){
				$(this).removeClass("sel");				
			});
		},error:function(a,b){
			alert(b);
			hideLoading();
		}
	});
}
function showSubwayEndTime(id){
	location.href="subwaystation.php?id="+id;
}
function hideInfo(){
	$("#subwayinfo").hide();
	$("#nearest").show();
}
function showBusInfo(id){
	location.href="bus.php?id="+id;
}
function showOption(){
	$("#option .radius li").removeClass('checked');
	$('#option .radius li[rel=\''+g_radius.toFixed(1)+'\']').addClass('checked sel');
	$("#option").slideDown();
}
function hideOption(){
	$("#option").slideUp();
}
function setRadius(rad){
	g_radius = rad;
	setCookie('radius',g_radius, 90);
	$("#option .radius li").removeClass('checked');
	$('#option .radius li[rel=\''+g_radius.toPrecision(1)+'\']').addClass('checked');
	hideOption();
	
	updateStops();
}
function setPage(page){
	if(g_page == page) return;
	if(g_page.length > 0) $('#'+g_page).hide();
	g_page = page;
	$('#'+g_page).show();
	
	setCookie('page',g_page,0);
	if(g_page == 'nearest' && navigator.geolocation)
		navigator.geolocation.getCurrentPosition(onCurrPos, onError);	

	$(".tabs li").removeClass('on');
	$(".tabs li[rel='"+g_page+"']").addClass('on');
}
function searchBus(){
	var q = $("#bus input[name='busnum']").val();
	if(q.length == 0) return;
	showLoading();
	$.ajax({
		type:'GET',
		url:'services/get_searchbus.php?q='+encodeURIComponent(q),
		/*dataType:'json',*/
		success:function(data){
			eval("var data="+data);
			var html = '';
			// bus
			for(var i=0; i < data.length; i++){
				var b = data[i];
				var typen = getBusTypeImageName(b.type);
				html += '<li onclick="showBusInfo('+b.id+')"><div class="info">\
				<div class="busstop"><div class="title"><img src="images/'+typen+'.png" alt="" /> '+b.num+' <span class="beginend">('+b.beginend+')</span></div><div class="time">'+b.endtime+'</div></div>\
				</div></li>';
			}
			if (data.length == 0) {
				html += '<div class="noresult">검색된 버스가 없습니다.</div>';
			}
			$("#bus .list").html(html);	
			hideLoading();
			
			$("#bus .list li").mousedown(function(){
				$('#bus .list li').removeClass("sel");
				if($(this).hasClass("header")==false)
					$(this).addClass("sel");
			}).mouseout(function(){
				$(this).removeClass("sel");				
			});
		},error:function(a,b){
			alert(b);
			hideLoading();
		}
	});
}