/**
 * list.js
 *
 * @pachage   moyorieki
 * @see       jquery-1.4.2.min.js
 * @copyright 2006-2010 Infinite Points Co., Ltd.
 */

/**
 *
 *
 */
jQuery(function($){
    var categoryListDispScrollPosition = 0;
    var isAnchorClick = false;
    
    $('#area_list_disp_button').click(function(){
        $('#area_list_1').modal({
             overlayClose:true
            ,maxHeight : 450
            ,minHeight : 400
            ,maxWidth : 550
            ,persist : true
            ,onClose: function () {
                $.modal.close();
            }
            ,overlayCss: {backgroundColor:"#000000"}
            ,opacity:75
        });
        
        return false;
    });

    //アクティブなバーの色を変更
    $('#area_list_1').find('[id^=line_1_anchor_]').click(function(){
        var line_split = $(this).attr('id').split('_');
        var line = line_split[3];
        
        $('[id^=area_minor_group_1_]').find('h4').removeClass('select_list_st_active');
        $('[id^=area_minor_group_1_'+line+']').find('h4').addClass('select_list_st_active');
    });

    //アクティブなバーの色を変更
    $('#area_list_2').find('[id^=line_2_anchor_]').click(function(){
        var line_split = $(this).attr('id').split('_');
        var line = line_split[3];
        
        $('[id^=area_minor_group_2_]').find('h4').removeClass('select_list_st_active');
        $('[id^=area_minor_group_2_'+line+']').find('h4').addClass('select_list_st_active');
    });

    //カテゴリライトボックス内の category anchor クリック時 (safari,chromの裏側のスクロールが勝手にページの最下部にいってしまうための対応)
    $('#area_list_1,#area_list_2').find('a[href^=#]').click(function(){
        //クリックされた時のスクロールの位置を覚えておく firefox,IE はhtml、safari,chromはbody
        if($.browser.safari){ 
            categoryListDispScrollPosition = $('body').scrollTop();
        } else {
            categoryListDispScrollPosition = $('html').scrollTop();
        }
        isAnchorClick = true;
    });
    
    //スクロール位置を開いた時の状態に戻す (safari,chromの裏側のスクロールが勝手にページの最下部にいってしまうための対応)
    $('#area_list_1,#area_list_2').find('[class^=scroll]').scroll(function () {
        if (isAnchorClick) {
             $('html,body').scrollTop(categoryListDispScrollPosition);  
        }
        isAnchorClick = false;
    });
    
    // area_click
    $('a[id^="area_code_1_"]').click(function(){
        var area_split = $(this).attr('id').split('_');
        var area_code = area_split[3];

        $('#area_code').val(area_code);
        $(this).setAreaName();
        return false;
    });

    // area_click_by_search
    $('a[id^="area_code_2_"]').click(function(){
        var area_split = $(this).attr('id').split('_');
        var area_code = area_split[3];
        
        $('#area_code').val(area_code);
        $(this).setAreaName();
        
        $(this).doSubmit("f_station", $("#area_code").val());
        return false;
    });
    
    // area_click
    $('#areaSearch').click(function(){
        if ($("#area_code").val().length == 0) {
            $('#area_list_2').modal({
                 overlayClose:true
                ,maxHeight : 450
                ,maxWidth : 550
                ,persist : true
                ,onClose: function () {
                    $.modal.close();
                }
                ,overlayCss: {backgroundColor:"#000000"}
                ,opacity:75
            });
        }else{
            var obj      = 0;
            var chkvalue = "";
            for(i=1 ; i<=8 ; i++){
                obj = eval("document.f_station.category_mid_code_" + i);
                if(obj.checked)    {
                    chkvalue = chkvalue + obj.value;
                }
            }

            if(chkvalue >= 1 && chkvalue <= 9){
                $(this).doSubmit("f_station", $("#area_code").val() + "/" + chkvalue);
            }else{
                $(this).doSubmit("f_station", $("#area_code").val());
            }
        }
            
        return false;
        
    });

    // display_station_map click
    $('#display_station_map').click(function(){
        $('#station_flash_block').modal({
             overlayClose:true
            ,minHeight : 350
            ,minWidth : 780
            ,persist : true
            ,onClose: function () {
                $.modal.close();
            }
            ,overlayCss: {backgroundColor:"#000000"}
            ,opacity:75
        });

        return false;
        
    });
    
    //携帯へメール送信
    $('#send_mail_navi').click(function(){
        
        var url_param = '';
        var input_msg = '';
        
        if ($('#f_mailNavi').find('[name=local_part]').val().length == 0) {
            input_msg += "メールアドレスを入力して下さい。<br />";
        }
        if ($('#f_mailNavi').find('[name=domain]').val().length == 0) {
            input_msg += "ドメインを選択して下さい。<br />";
        }
        //入力エラーあればメッセージを出力し、処理終了
        if (input_msg.length >= 1) {
            $('#mailNaviMessage').html(input_msg);
            return false;
        }

        $('#f_mailNavi').find(':input[type!=submit][type!=button][type!=image]').each(function(){
            if (url_param.length >= 1) {
                url_param += '&';
            }
            url_param += $(this).attr('name') + '=' + escape($(this).val());
        });

        var res_msg = '';
        $.ajax({
            cache: false,
            type: "POST",
            data: url_param,
            url: "/ajax/send/navi",
            beforeSend: function(XMLHttpRequest){ 
                res_msg = 'メールを送信しています。';
                $('#mailNaviMessage').text(res_msg);
            },
            error: function(XMLHttpRequest, textStatus, errorThrown){ 
                res_msg = 'メール送信時にサーバーでエラーが発生しました。';
                $('#mailNaviMessage').text(res_msg);
            },
            success: function(data, dataType){
                res_msg = data;
                $('#mailNaviMessage').text(res_msg);
            }
        });
        
        return false;
    });
    
});

/**
 *
 *
 */
jQuery.fn.extend({

    //駅名をセットする
    setAreaName: function() {
        var area_code = $('#area_code').val();
        var area_name = $('#area_code_1_' + area_code).text();
        
        if (area_name.length >= 1) {
            $('#area_name_box').css({backgroundColor:"#f1f1f1",borderColor:"#cccccc"});
             $('#area_name').css({color:"#a70721"});
        }
        
        $('#area_name').text(area_name);
    }
    
});


