
var MusicList = Class.create();
MusicList.prototype = {
cookie: null,
initialize: function(){
    this.cookie = new CookieManager();
},
assignLinks: function()
{
    if (!$$('body.faculty dl.musicList')){
        return ;
    }

//    var dt = $$('div.item dl.musicList dt');
//    var dd = $$('div.item dl.musicList dd');

    var mL = document.getElementsByClassName('musicList');
    
    for (var _i=0,_j=mL.length; _i<_j ; _i++){
        var dt = mL[_i].getElementsByTagName("DT");
        var dd = mL[_i].getElementsByTagName("DD");
    
        if (dt.length != dd.length) return ;

        for (var i=0,j=dt.length; i<j; i++){
            Event.observe(dt[i], 'click', (function(dd,dt){
                return function(){
                    if (Element.hasClassName(dd, "show")) {
                        //Effect.BlindUp(dd, { duration: 0.3 });
                        Element.removeClassName(dd, "show");
                        Element.removeClassName(dt, "show");
                    }
                    else {
                        Effect.BlindDown(dd, { duration: 0.2 })
                          Element.addClassName(dd, "show");
                        Element.addClassName(dt, "show");
                    }
                }
            })(dd[i],dt[i]));
            Event.observe(dt[i], 'mousemove', (function(dt){
                return function(){
                    dt.style.cursor = "pointer";
                }
            })(dt[i]));
        }
    }
},
assignCartButton: function(){
    var buttons = document.getElementsByClassName('cartButton');
    var regexp = new RegExp("^addrecord\-([0-9]+)");
    for (var i=0,j=buttons.length; i<j; i++){
        if (buttons[i].id.match(regexp)){
            var rec_id = RegExp.$1;
            Event.observe(buttons[i], 'click',
                          this.addRecord.bindAsEventListener(this, rec_id));
        }
    }
},
addRecord: function(e, rec_id){
    
    var button = Event.element(e);
    button.disabled = true;
    
    var r = this.cookie.getCookie('record');
    var records = r ? decodeURIComponent(r).split(',') :[] ;
    
    if (records.indexOf(rec_id)<0){
        if (confirm('このレコードをカートに入れますか？')){
            records.push(rec_id);
            this.cookie.setCookie('record', encodeURIComponent(records.join(',')));
            this.intoCart(e);
        }
    }
    else {
        alert('このレコードは既にカートに入っています');
    }
    button.disabled = false;
    
    return false;
},
intoCart: function(e){
    alert('レコードを入れました。');
    return ;

    var button = Event.element(e);
//    var from = {x: Event.pointerX(e), y: Event.pointerY(e)};
//    var cart = top.header.document.getElementById('cart');
//    var to   = {x: };
    var img = document.createElement('IMG');
    img.src = '/images/common/record_into_cart.gif';
    button.parentNode.appendChild(img);
    new Effect.Move(img, {
      x: -60 ,
      y: -800 ,
      duration: 1.6,
      beforeStartInternal: function(){},
      afterFinishInternal: function(e){
          var img = Event.element(e);
          img.parentNode.removeChild(img);
      },
      mode: 'absolute'
    });
}
};
Event.observe(window, 'load', function(){
	 var musicList = new MusicList();
	 musicList.assignLinks();
//	 musicList.assignCartButton();
});

