/*=================================================
* loadTracks(), displayData()
* 説明：ストリーミングメニューの作成
* 依存：prototype.js (http://www.prototypejs.org/)
=================================================*/
function loadTracks()
{
    new Ajax.Request('./flv/playlist.xml', { method: 'get', onComplete: displayData, asynchronous : false});
}
function displayData(httpObj)
{
    //xml読み込み
    var xml = httpObj.responseXML;
    
    //親ノード取得
    var tracks = xml.getElementsByTagName('track');
    
    //格納先の親エレメントを準備
    var ul = document.createElement('ul');
    
    //全ての親ノードを処理
    for ( var i=0; i < tracks.length; i++ )
    {
        //子ノードの値を取得
        //IEでは、改行がノードとして扱われない為、childNodesの番号が異なる。
        if ( Prototype.Browser.IE ){
            var title = tracks[i].childNodes[0].firstChild.nodeValue;
            var url = tracks[i].childNodes[1].firstChild.nodeValue;
        }else{
            var title = tracks[i].childNodes[1].firstChild.nodeValue;
            var url = tracks[i].childNodes[3].firstChild.nodeValue;
        }
        
        
        //エレメント作成
        var li = document.createElement('li');
        var a = document.createElement('a');
        if ( Prototype.Browser.IE ){ a.href = '#';}     //IEならhref属性を指定
        
        //格納
        a.appendChild(document.createTextNode(title));
        li.appendChild(a);
        
        
        /**
         * loadFlashイベントの追加
         */
        li.id = url;
        li.onclick = function(){
            loadFlash('_file=' + this.id,
                      '_repeat=false'
            );
        }
        
        
        //親エレメントに追加
        ul.appendChild(li);
    }

    var div = document.getElementById('menuStreaming');
    div.appendChild(ul);

}


/*=================================================
* loadFlash()
* 説明：flashの出力
* 依存：swfobject.js (http://blog.deconcept.com/swfobject/)
=================================================*/
function loadFlash(arg)
{
    /**
    * 引数から属性を抽出する
    */
    
    var params = [];
    
    //デフォルト設定
    //params['_name'] = 'value';
    params['_allowfullscreen']  = 'false';
    params['_file']             = './flv/playlist.xml';
    params['_enablejs']         = 'true';
    params['_javascriptid']     = 'mpl';
    params['_displayheight']    = '98';
    params['_width']            = '130';
    params['_repeat']           = 'list';
    params['_shuffle']          = 'true';
    params['_autostart']        = 'true';
    params['_volume']           = '10';
    
    
    //デフォルト以外
    //全ての引数を順番に処理
    for( var i = 0 ; i < arguments.length ; i++ )
    {
        //属性名と属性値を表す文字列を配列paramsへ格納(半角空白は除去)
        var p = arguments[i].split(' ').join('').split('=');
        params[p[0]] = p[1];
    }
    
    
    var so = new SWFObject("./mediaplayer.swf","mediaplayer","130","118","7");
    if(params['_allowfullscreen'])   so.addParam("allowfullscreen", params['_allowfullscreen']);
    if(params['_file'])              so.addVariable("file",          params['_file']);
    if(params['_enablejs'])          so.addVariable("enablejs",      params['_enablejs']);
    if(params['_javascriptid'])      so.addVariable("javascriptid",  params['_javascriptid']);
    if(params['_displayheight'])     so.addVariable("displayheight", params['_displayheight']);
    if(params['_width'])             so.addVariable("width",         params['_width']);
    if(params['_repeat'])            so.addVariable("repeat",        params['_repeat']);
    if(params['_shuffle'])           so.addVariable("shuffle",       params['_shuffle']);
    if(params['_autostart'])         so.addVariable("autostart",     params['_autostart']);
    if(params['_volume'])            so.addVariable("volume",        params['_volume']);
    //...必要なパラメータがあれば追加
    
    //出力
    so.write('movie');

}

