/*
 * Ajax→JSONリスト読み込みモジュール for 公開ページ　※要prototype.js
 *
 * 引数　target = リスト名称
 * 　　　code = 検索対象(parent_id等)
 * 　　　def = リストの初期値
 *
 *--------------------------------------------------------------------------*/

function aj_update( target , code , def )
{
    switch( target )
    {
    case "a_01":
        var url = '/spot/search_result/output_area.shtml';
        var pars = 'level=3&code=' + code + '&def=' + def;
        break;
    case "a_02":
        var url = '/spot/search_result/output_area.shtml';
        var pars = 'level=4&code=' + code + '&def=' + def;
        break;
    case "a_10":
    case "a_prefect":
    case "a_home_prefect":
        var url = '/spot/search_result/output_area.shtml';
        var pars = 'level=1&code=' + code + '&def=' + def;
        break;
    case "a_11":
    case "a_city":
    case "a_home_city":
    case "a_03l":
        var url = '/spot/search_result/output_area.shtml';
        var pars = 'level=3&code=' + code + '&def=' + def;
        break;
    case "a_12":
    case "a_town":
        var url = '/spot/search_result/output_area.shtml';
        var pars = 'level=4&code=' + code + '&def=' + def;
        break;
    case "c_01":
        var url = '/spot/search_result/output_category.shtml';
        var pars = 'level=1&type=1&def=' + def;
        break;
    case "c_02":
        var url = '/spot/search_result/output_category.shtml';
        var pars = 'level=2&type=1&code=' + code + '&def=' + def;
     break;
    case "c_03":
        var url = '/spot/search_result/output_category.shtml';
        var pars = 'level=3&type=1&code=' + code + '&def=' + def;
        break;
    case "c_01l":
    case "c_01_01l":
    case "c_02_01l":
        var url = '/spot/search_result/output_category.shtml';
        var pars = 'level=1&type=2&def=' + def;
        break;
    case "c_02l":
    case "c_01_02l":
    case "c_02_02l":
        var url = '/spot/search_result/output_category.shtml';
        var pars = 'level=2&type=2&code=' + code + '&def=' + def;
		break;
    case "c_03l":
    case "c_01_03l":
    case "c_02_03l":
        var url = '/spot/search_result/output_category.shtml';
        var pars = 'level=3&type=2&code=' + code + '&def=' + def;
        break;
    case "c_01e":
        var url = '/spot/search_result/output_category.shtml';
        var pars = 'level=1&type=3&def=' + def;
        break;
    case "c_02e":
        var url = '/spot/search_result/output_category.shtml';
        var pars = 'level=2&type=3&code=' + code + '&def=' + def;
        break;
    case "zipcode":
        var url = '/config/member/common/output_zipcode.shtml';
        var pars = '&code=' + code + '&def=' + def;
        break;
    case "zipcode2":
        var url = '/config/member/common/output_zipcode.shtml';
        var pars = '&code=' + code + '&def=' + def;
        break;
    }

    var z = new Ajax.Request(url, { method: 'get', parameters: pars, onComplete: function aj_next( req ){ aj_complete( target , req ); } });

}

function aj_complete( target , req )
{
    var jdat = eval(req.responseText);

    for(i = 0; i < jdat.length; i++)
    {

        switch( target )
        {
        case "a_01":
            document.f_01.a_01[i+1] = new Option(jdat[i].name);
            document.f_01.a_01[i+1].value = jdat[i].value;
            if (jdat[i].defvalue == jdat[i].value)
            {
                document.f_01.a_01[i+1].selected = true;
            }
            break;
        case "a_02":
            document.f_01.a_02[i+1] = new Option(jdat[i].name);
            document.f_01.a_02[i+1].value = jdat[i].value;
            if (jdat[i].defvalue == jdat[i].value)
            {
                document.f_01.a_02[i+1].selected = true;
            }
            break;
        case "a_10":
            document.f_01.a_10[i] = new Option(jdat[i].name);
            document.f_01.a_10[i].value = jdat[i].value;
            if (jdat[i].defvalue == jdat[i].value)
            {
                document.f_01.a_10[i].selected = true;
            }
            break;
        case "a_11":
            document.f_01.a_11[i+1] = new Option(jdat[i].name);
            document.f_01.a_11[i+1].value = jdat[i].value;
            if (jdat[i].defvalue == jdat[i].value)
            {
                document.f_01.a_11[i+1].selected = true;
            }
            break;
        case "a_12":
            document.f_01.a_12[i+1] = new Option(jdat[i].name);
            document.f_01.a_12[i+1].value = jdat[i].value;
            if (jdat[i].defvalue == jdat[i].value)
            {
                document.f_01.a_12[i+1].selected = true;
            }
            break;
        case "a_prefect":
            document.f_01.prefect[i] = new Option(jdat[i].name);
            document.f_01.prefect[i].value = jdat[i].value;
            if (jdat[i].defvalue == jdat[i].value)
            {
                document.f_01.prefect[i].selected = true;
            }
            break;
        case "a_city":
            document.f_01.city[i+1] = new Option(jdat[i].name);
            document.f_01.city[i+1].value = jdat[i].value;
            if (jdat[i].defvalue == jdat[i].value)
            {
                document.f_01.city[i+1].selected = true;
            }
            break;
        case "a_town":
            document.f_01.town[i+1] = new Option(jdat[i].name);
            document.f_01.town[i+1].value = jdat[i].value;
            if (jdat[i].defvalue == jdat[i].value)
            {
                document.f_01.town[i+1].selected = true;
            }
            break;
        case "a_home_prefect":
            document.f_01.home_prefect[i] = new Option(jdat[i].name);
            document.f_01.home_prefect[i].value = jdat[i].value;
            if (jdat[i].defvalue == jdat[i].value)
            {
                document.f_01.home_prefect[i].selected = true;
            }
            break;
        case "a_home_city":
            document.f_01.home_city[i+1] = new Option(jdat[i].name);
            document.f_01.home_city[i+1].value = jdat[i].value;
            if (jdat[i].defvalue == jdat[i].value)
            {
                document.f_01.home_city[i+1].selected = true;
            }
            break;
        case "a_03l":
            document.f_01.a_03[i+1] = new Option(jdat[i].name);
            document.f_01.a_03[i+1].value = jdat[i].value;
            if (jdat[i].defvalue == jdat[i].value)
            {
                document.f_01.a_03[i+1].selected = true;
            }
            break;
        case "c_01":
        case "c_01l":
        case "c_01e":
            document.f_01.c_01[i+1] = new Option(jdat[i].name);
            document.f_01.c_01[i+1].value = jdat[i].value;
            if (jdat[i].defvalue == jdat[i].value)
            {
                document.f_01.c_01[i+1].selected = true;
            }
            break;
        case "c_02":
        case "c_02l":
        case "c_02e":
            document.f_01.c_02[i+1] = new Option(jdat[i].name);
            document.f_01.c_02[i+1].value = jdat[i].value;
            if (jdat[i].defvalue == jdat[i].value)
            {
                document.f_01.c_02[i+1].selected = true;
            }
            break;
        case "c_03":
        case "c_03l":
            document.f_01.c_03[i+1] = new Option(jdat[i].name);
            document.f_01.c_03[i+1].value = jdat[i].value;
            if (jdat[i].defvalue == jdat[i].value)
            {
                document.f_01.c_03[i+1].selected = true;
            }
            break;
        case "c_01_01l":
            document.f_01.c_01_01[i+1] = new Option(jdat[i].name);
            document.f_01.c_01_01[i+1].value = jdat[i].value;
            if (jdat[i].defvalue == jdat[i].value)
            {
                document.f_01.c_01_01[i+1].selected = true;
            }
            break;
        case "c_01_02l":
            document.f_01.c_01_02[i+1] = new Option(jdat[i].name);
            document.f_01.c_01_02[i+1].value = jdat[i].value;
            if (jdat[i].defvalue == jdat[i].value)
            {
                document.f_01.c_01_02[i+1].selected = true;
            }
            break;
        case "c_01_03l":
            document.f_01.c_01_03[i+1] = new Option(jdat[i].name);
            document.f_01.c_01_03[i+1].value = jdat[i].value;
            if (jdat[i].defvalue == jdat[i].value)
            {
                document.f_01.c_01_03[i+1].selected = true;
            }
            break;
        case "c_02_01l":
            document.f_01.c_02_01[i+1] = new Option(jdat[i].name);
            document.f_01.c_02_01[i+1].value = jdat[i].value;
            if (jdat[i].defvalue == jdat[i].value)
            {
                document.f_01.c_02_01[i+1].selected = true;
            }
            break;
        case "c_02_02l":
            document.f_01.c_02_02[i+1] = new Option(jdat[i].name);
            document.f_01.c_02_02[i+1].value = jdat[i].value;
            if (jdat[i].defvalue == jdat[i].value)
            {
                document.f_01.c_02_02[i+1].selected = true;
            }
            break;
        case "c_02_03l":
            document.f_01.c_02_03[i+1] = new Option(jdat[i].name);
            document.f_01.c_02_03[i+1].value = jdat[i].value;
            if (jdat[i].defvalue == jdat[i].value)
            {
                document.f_01.c_02_03[i+1].selected = true;
            }
            break;
        case "zipcode":
            var msg = jdat[0].err_str;
            var rslt = document.getElementById( "zipcode_search_result" );
            var a_10 = document.getElementById( "area_01_id" );
            var a_11 = document.getElementById( "area_03_id" );
            var a_12 = document.getElementById( "area_id" );

            if ( jdat[0].result == "ng" )
            {
                rslt.innerHTML = "<span>→" + msg + "</span>";
            }
            else
            {
                if( rslt.innerHTML != "" )
               	{
                    rslt.innerHTML = "";
                }

                var prf = jdat[0].pref_code;

                for(j = 0; j < 48; j++)
                {
	                if ( a_10[j].value == prf )
	                {
	                    a_10[j].selected = true;
	                }
                }

                a_11.options.length = 0;
                a_11.options[0] = new Option( '-----' );
                a_11.options[0].value = '';
                aj_update( 'a_city' , jdat[0].area_01_id , jdat[0].area_03_id );

                a_12.options.length = 0;
                a_12.options[0] = new Option( '-----' );
                a_12.options[0].value = '';
                aj_update( 'a_town' , jdat[0].area_03_id , jdat[0].area_id );

                aj_change_table_display_mode( jdat[0].area_01_id, 'area_display_01' , 'area_display_02' );
                var a_val = jdat[0].area_01_id;
            }
            break;
        case "zipcode2":
            var msg = jdat[0].err_str;
            var a_11 = document.getElementById( "area_01" );
            var a_12 = document.getElementById( "area_02" );

            if ( jdat[0].result == "ng" )
            {
            }
            else
            {
                a_11.options.length = 0;
                a_11.options[0] = new Option( '-----' );
                a_11.options[0].value = '';
                aj_update( 'a_01' , jdat[0].area_01_id , jdat[0].area_03_id );

                a_12.options.length = 0;
                a_12.options[0] = new Option( '-----' );
                a_12.options[0].value = '';
                aj_update( 'a_02' , jdat[0].area_03_id , jdat[0].area_id );
            }
            break;
        }
    }

    if( a_val != '' )
    {
    	aj_change_table_display_mode( a_val, 'area_display_01' , 'area_display_02' );
    }

}

function aj_check_nickname( target, code )
{
    var url = '/config/member/common/check_nickname.shtml';
    var pars = 'str=' + target + '&code=' + code;
    var z = new Ajax.Request(url, { method: 'get', parameters: pars, onComplete: function aj_check_next( req ){ aj_check_result( target , req ); } });

}

function aj_check_result( target , req )
{
    var jdat = eval(req.responseText);
    var msg = jdat[0].message;
    var rslt = document.getElementById( "nickname_search_result" );

    if( jdat[0].result == "ng" )
    {
    	rslt.innerHTML = '<span style="color:#ff0000;">' + msg + '</span>';
    }
    else
    {
    	rslt.innerHTML = '<span style="color:#0066ff;">' + msg + '</span>';
    }

}

function aj_change_table_display_mode( val , str , str2 )
{
	if( !!val & !!str && !!str2 )
	{
		obj = document.getElementById( str );
		obj2 = document.getElementById( str2 );
		if( val == 48 )
		{
			obj.style.display = 'none';
			obj2.style.display = 'none';
		}
		else if ( val != 9 )
		{
			obj.style.display = 'none';
			obj2.style.display = 'none';
		}
		else
		{
			obj.style.display = '';
			obj2.style.display = '';
		}
	}
}
