/*
	jnasearch.js: jna search page script
*/


var initialized = false;
var initchk_cities = new Array( -1, -1 );
var initchk_stations = new Array( -1, -1 );
var init_line = -1;
var enable_lines = new Array( -1, -1 );
var roleid = 0;

var in_array = function( needle, heystack )
{
	for( var i = 0; i < heystack.length; ++i )
	{
		if( heystack[ i ] == needle )
			return( true );
	}

	return( false );
}

function initialize( p, l, r )
{
	initialized = false;
	roleid = r;
	init_line = l;
	on_pref( p );
}

function areatab_active()
{
	document.getElementById( "areaTabArea" ).style.display = "";
	document.getElementById( "areaTab" ).className = "tabBtnOn";
	document.getElementById( "rosenTabArea" ).style.display = "none";
	document.getElementById( "rosenTab" ).className = "tabBtn";

	if( document.mainform.sm.value == 1 )
		return;
	document.mainform.sm.value = 1;
}

function rosentab_active()
{
	document.getElementById( "rosenTabArea" ).style.display = "";
	document.getElementById( "rosenTab" ).className = "tabBtnOn";
	document.getElementById( "areaTabArea" ).style.display = "none";
	document.getElementById( "areaTab" ).className = "tabBtn";

	if( document.mainform.sm.value == 2 )
		return;
	document.mainform.sm.value = 2;
}

function on_pref( pref )
{
	var s = document.getElementsByTagName( "head" )[ 0 ].appendChild( document.createElement( "script" ) );
	s.type = "text/javascript";
	s.charset = "utf-8";
	s.src = get_base() + "tools/getcity.php?pref_cd=" + pref + "&role=" + roleid;

	var line_enabled = in_array( document.mainform.pref[ document.mainform.pref.selectedIndex ].value, enable_lines );
	if( line_enabled == true )
	{
		var s2 = document.getElementsByTagName( "head" )[ 0 ].appendChild( document.createElement( "script" ) );
		s2.type = "text/javascript";
		s2.charset = "utf-8";
		s2.src = get_base() + "tools/getline.php?pref_cd=" + pref + "&role=" + roleid;
	}

	if( pref == 0 )
	{
		document.getElementById( "areaTabAreaNoPref" ).style.display = "";
		document.getElementById( "areaTabAreaCityName" ).style.display = "none";
		document.getElementById( "rosenTabAreaNoPref" ).style.display = "";
		document.getElementById( "rosenTabAreaNoLine" ).style.display = "none";
		document.getElementById( "rosenTabAreaLineStation" ).style.display = "none";
	}
	else
	{
		document.getElementById( "areaTabAreaCityName" ).style.display = "";
		document.getElementById( "areaTabAreaNoPref" ).style.display = "none";
		if( line_enabled )
		{
			document.getElementById( "rosenTabAreaLineStation" ).style.display = "";
			document.getElementById( "rosenTabAreaNoPref" ).style.display = "none";
			document.getElementById( "rosenTabAreaNoLine" ).style.display = "none";
		}
		else
		{
			document.getElementById( "rosenTabAreaNoLine" ).style.display = "";
			document.getElementById( "rosenTabAreaLineStation" ).style.display = "none";
			document.getElementById( "rosenTabAreaNoPref" ).style.display = "none";
		}
	}
}

function on_line( line )
{
	var pref = document.mainform.pref[ document.mainform.pref.selectedIndex ].value;

	var s = document.getElementsByTagName( "head" )[ 0 ].appendChild( document.createElement( "script" ) );
	s.type = "text/javascript";
	s.charset = "utf-8";
	s.src = get_base() + "tools/getstation.php?pref_cd=" + pref + "&line_cd=" + line + "&role=" + roleid;
}

var xml_city = {};
xml_city.onload = function( data )
{
	var items = data["items"];
	var html = "<ul>";
	for( var i = 0; i < items.length; ++i )
	{
		html += "<li>";
		html += "<input type=\"checkbox\" name=\"city[]\" value=\"" + items[ i ].city_cd + "\" ";
		if( initialized == false && initchk_cities.length > 0 )
		{
			if( in_array( items[ i ].city_cd, initchk_cities ) )
				html += "checked";
		}
		html += "> " + items[ i ].name + " (" + items[ i ].cnt + ")　　";
		html += "</li>";
	}
	html += "</ul>";
	html += "<div class=\"clearFix\"></div>";
	document.getElementById( "areaTabAreaCityName" ).innerHTML = html;
	if( document.mainform.sm.value == 1 )
		initialized = true;
}

var xml_line = {};
xml_line.onload = function( data )
{
	var selected = 0;
	var items = data["items"];

	var n = document.mainform.line.options.length;
	for( var i = 0; i <= n; ++i )
		document.mainform.line.options[ 0 ] = null;
	document.getElementById( "rosenTabAreaStationName" ).innerHTML = "";

	document.mainform.line.options[ 0 ] = new Option( "路線を選択　", 0 );
	for( var i = 0; i < items.length; ++i )
	{
		if( items[ i ].line_cd == init_line )
			selected = i + 1;
		document.mainform.line.options[ i + 1 ] = new Option( items[ i ].name + " (" + items[ i ].cnt + ")　", items[ i ].line_cd );
	}

	if( initialized == false )
	{
		document.mainform.line.selectedIndex = selected;
		if( init_line != 0 )
			on_line( init_line );
		if( initchk_stations[ 1 ] == -1 && document.mainform.sm.value == 2 )
			initialized = true;
	}
	else if( document.mainform.sm.value == 2 )
		initialized = true;
}

var xml_station = {};
xml_station.onload = function( data )
{
	var items = data["items"];
	var html = "<ul>";
	for( var i = 0; i < items.length; ++i )
	{
		html += "<li>";
		html += "<input type=\"checkbox\" name=\"st[]\" value=\"" + items[ i ].group_cd + "\" ";
		if( initialized == false && initchk_stations.length > 0 )
		{
			if( in_array( items[ i ].group_cd, initchk_stations ) )
				html += "checked";
		}
		html += "> " + items[ i ].name + " (" + items[ i ].cnt + ")　　";
		html += "</li>";
	}
	html += "</ul>";
	html += "<div class=\"clearFix\"></div>";
	document.getElementById( "rosenTabAreaStationName" ).innerHTML = html;
	if( document.mainform.sm.value == 2 )
		initialized = true;
}


