$(document).ready(function(){
    $('#instForm').set_instSearch();
});


var categories = {
    'グランドピアノ':'GrandPiano',
    'アップライトピアノ':'UprightPiano',
    'ピアノ用後付ユニット':'EnsembleUnit',
    'AvantGrand(アバングランド)':'AvantGrand',
    'Clavinova（クラビノーバ） - CLPシリーズ':'CLP',
    'Clavinova（クラビノーバ） - CVPシリーズ':'CVP',
    'Clavinova - CWPシリーズ':'CWP',
    'DGPシリーズ':'DGP',
    'MODUS - Fシリーズ':'F_MODUS',
    'MODUS - Hシリーズ':'H_MODUS',
    'ARIUS - YDP/YDPシリーズ':'YDP',
    'SCLP/Jシリーズ':'SCLPJ',
    'Pシリーズ':'P',
    'PFシリーズ':'PF',
    'Piaggero(ピアジェーロ)':'Piaggero',
    'Portable Grand - DGXシリーズ':'DGX',
    'PORTATONE - PSRシリーズ':'PSR',
    'PORTATONE - EZシリーズ':'EZ',
    'デュアルマニュアルキーボード　D-DECK':'DDK',
    'STAGEA - ELSシリーズ':'ELS',
    'STAGEA mini - ELBシリーズ':'ELB',
    'ELシリーズ':'EL',
    'DTM音源・シーケンサー':'DTM',
    'シンセサイザー':'Synthesizer',
    'ステージピアノ':'StagePiano',
    'ソフトシンセサイザー':'Software',
    '学校用オルガン':'SchoolOrgan',
    'MIDI再生機器':'MidiPlayer',
    'DD-65・EZ-EG/EZ-AG・EZ-TP':'EZDD',
    'ミュージックテーブル':'MusicTable',
    'ミッドラジオプレーヤ':'MidRadio'
};


$.fn.set_instSearch = function( options ){
    if( !this.length ){ return }
    var settings = {
        debug: false
    };
    if(options){ jQuery.extend(settings, options); }
    
    var form = document.forms['instForm'];
    if(!form){return};
    form.onsubmit = function(){
        var select = form['searchType'];
        var category = select.options[select.selectedIndex].value;
        var recents = categories[category];
        if(recents==undefined){
            if($('#category ul.instruments').length>=1){$('#category ul.instruments').remove();}
            alert("カテゴリを選択してください");
            return false;
        };
        if($('#category ul.instruments').length >= 1){ $('#category ul.instruments').remove(); }
        var rss_files = [ recents ];
        function load_rss(){
            var file = "/musicdata/compo/xml/instruments/"+rss_files[rss_index]+".xml";
            $.ajax({
                type: "GET", url: file, dataType: "xml", success: function(data){
                    xmlItems = $("item",data);
                    var out_html = '<ul class="instruments">';
                    xmlItems.each( function(i){
                        xmlID = $(this).attr('id');
                        xmlLink = $('link',this).text();
                        xmlImage = $('image',this).text();
                        xmlUrl = $('url',this).text();
                        out_html += '<li>';
                        out_html += '<dl>';
                        out_html += '<dt>'+xmlID+'</dt>';
                        out_html += '<dd class="select"><a href="'+xmlLink+'" class="inst_select"><img src="/musicdata/compo/img/module/btn_thisSelect.gif" alt="この楽器を選択する" width="107" height="16" /></a></dd>';
                        if(xmlUrl.length>0){
                            out_html += '<dd class="info"><a href="'+xmlUrl+'" target="_blank">製品情報</a></dd>';
                        }
                        out_html += '<dd class="photo"><img src="/musicdata/compo/img/instruments/'+xmlImage+'" alt="" width="55" height="55" /></dd>';
                        out_html += '</dl>';
                        out_html += '</li>';
                    });
                    out_html += '</ul>';
                    $('#category').append(out_html);
                    $('#category').set_loader();
                    $('#category ul.instruments').hide().slideDown("fast");
                    $('#category ul.instruments > li').set_height({ items_per_row:3 });
                }
            });
        };
        load_rss();
        return false;
    }
    var rss_index = 0;
};


$.fn.set_loader = function( options ){
    if( !this.length ){return}
    var _this = $(this);
    
    $(this).append('<div class="loader-bg"></div>');
    $('div.loader-bg').append('<div class="loader"></div>');
    $('div.loader').append('<p><img src="/musicdata/compo/img/module/loader_text.gif" alt="ただいま楽器選択中です。少々お待ちください。" widht="162" height="35" /></p>');
    var loader = {
        items: $('a.inst_select',this),
        // ローダーの背景
        bg: $('div.loader-bg'),
        bg_css: function(){
            loader.bg.css({ backgroundColor:'#fff', display:'none', position:'absolute', zIndex:'120', top:'0', left:'0', width:$("#category").width() + "px", height:$("#category").height() -70 + "px" });
        },
        // ロード中画面
        elm: function(){
            var _top = loader.bg.height()/2-35;// 背景の高さ/2 - ロード中画面要素の高さ/2
            var _left = loader.bg.width()/2-150;// 背景の幅/2 - ロード中画面要素の幅/2
            $('div.loader').css({ position:'absolute', zIndex:'121', top:_top + "px", left:_left + "px" });
        },
        view: function(){
            loader.bg.css({display: "block"});
        }
    };
    loader.bg_css();
    loader.elm();
    loader.items.each(function(){
        $(this).click(function(){
            loader.view();
        })
    });
};



