
DISCOGS.mr={};DISCOGS.rel={};var getEls=YD.getElementsByClassName;function obid(el){return el.className.match(/[a-z][0-9]+/)[0];}
function parentRow(el){return YD.getAncestorByTagName(el,'tr');}
function getChecked(className,tag,root){return YD.getElementsBy(function(el){return el.className.match(className)&&el.checked;},tag,root);}
function masterFromVersion(r){var mid=r.className.match(/r_tr_version_m(\d+)/)[1];return YD.getPreviousSiblingBy(r,function(el){return el.className.match(RegExp("r_tr m"+mid));});}
function masterRows(){return YD.getElementsBy(function(el){return el.className.match(/r_tr m\d+/);},'tr');}
DISCOGS.mr.checks=undefined;function getChecks(){if(!DISCOGS.mr.checks)
DISCOGS.mr.checks=getEls('r_check','span');return DISCOGS.mr.checks;}
var cws_dots=['<img src="/images/greentick.gif" />','<img src="/images/redtick.gif" />','<img src="/images/bluetick.gif" />'];var cws_checks=['green','red','blue'];function cws_html(c,w,s){return(c?cws_dots[0]+(c>1?'('+c+')':''):'')+
(w?cws_dots[1]:'')+
(s?cws_dots[2]:'');}
function cws_existing(el){var n=el.innerHTML.match(/\((\d+)\)/);return[n?Number(n[1]):(el.innerHTML.match(/green/)?1:0),el.innerHTML.match(/red/)?1:0,el.innerHTML.match(/blue/)?1:0];}
function rel_coll_update(id,count){var x=getEls('r_tr '+id);(count?YD.addClass:YD.removeClass)(x,'collection');for(var i in x){var e=getEls('r_cws','span',x[i])[0];var n=cws_existing(e);e.innerHTML=cws_html(count,n[1],n[2]);master_cws_check(x[i]);}}
function rel_want_update(id,count){var x=getEls('r_tr '+id,'tr');(count?YD.addClass:YD.removeClass)(x,'wantlist');for(var i in x){var e=getEls('r_cws','span',x[i])[0];var n=cws_existing(e);e.innerHTML=cws_html(n[0],count,n[2]);master_cws_check(x[i]);}}
function master_cws_check(row){var m=row.className.match(/r_tr_version_(m\d+)/);if(m)
master_cws(YD.getPreviousSiblingBy(row,function(el){return el.className.match(RegExp('r_tr '+m[1]));}));}
function master_cws(row){var n=[0,0,0];var r=row;while(true){r=YD.getNextSibling(r);if(!r||!r.className.match(/version/))
break;var m=cws_existing(getEls('r_cws','span',r)[0]);for(var i=0;i<3;i++)
n[i]+=m[i];}
getEls('r_cws','span',row)[0].innerHTML=cws_html(n[0],n[1],n[2]);}
function ru_target(){return obid(parentRow('release_utils'));}
function ru_comm(action,list){var t=ru_target();if(t.charAt(0)=='r')
async_p('/list/'+list+'_'+action,null,'release_id='+t.substr(1)+'&context=2');}
function ru_coll_add(){ru_comm('add','coll');}
function ru_want_add(){ru_comm('add','want');}
function ru_coll_rem(){ru_comm('remove','coll');}
function ru_want_rem(){ru_comm('remove','want');}
function ru_list_add(){var id=ru_target().toUpperCase().match(/([RM])(\d+)/).splice(1,2);listAdd(id[0],id[1]);}
function ru_master_edit(){var id=ru_target();if(id.charAt(0)=='m')
master_edit_click(null,id);}
function ru_history(){var t=ru_target();window.location.href='/history?'+(t.charAt(0)=='r'?'release':'master')+'='+t.substr(1)+'#latest';}
function linkRU(el,fn){YE.on(el,'click',fn);}
function rel_utils_setup(){var x=getEls('r_util','span');var m=YD.get('release_utils');for(var e in x){initMenuB(m,x[e],true);}
linkRU('ru_coll_add',ru_coll_add);linkRU('ru_coll_rem',ru_coll_rem);linkRU('ru_want_add',ru_want_add);linkRU('ru_want_rem',ru_want_rem);linkRU('ru_list_add',ru_list_add);linkRU('ru_master_edit',ru_master_edit);linkRU('ru_history',ru_history);}
YE.onDOMReady(rel_utils_setup);function mr_togg(r,on){if(on==undefined)
on=(YD.getStyle(YD.getNextSibling(r),'display')=='none');var t=getEls('mr_toggler','a',r)[0];var cws=getEls('r_cws','span',r)[0];YD.setStyle(cws,'display',on?'none':'');YD.getFirstChild(t).innerHTML=on?'&#9660;':'&#9668;';while(true){r=YD.getNextSibling(r);if(!r||(r.className.search(/version/)==-1))
break;YD.setStyle(r,'display',on?'':'none');}}
function mr_togg_el(el,on){mr_togg(parentRow(el),on);}
function mr_togg_id(id,on){var els=getEls('m'+id,'tr');for(var i in els)
mr_togg(els[i],on);}
function mr_togg_all(on){var x=getEls('mr_toggler','a');for(var i in x)
mr_togg_el(x[i],on);}
function master_enable_edit(on){var c=YD.get('mr_a_create');var e=YD.get('mr_a_edit');if(on){YE.addListener(c,'click',master_create);YE.addListener(e,'click',master_edit);}
else{YE.removeListener(c);YE.removeListener(e);}}
function enable_buttons(){YD.get('mr_save_button').disabled=false;YD.get('mr_cancel_button').disabled=false;}
function disable_buttons(){YD.get('mr_save_button').disabled=true;YD.get('mr_cancel_button').disabled=true;}
function master_create(e,m_id){if(!browserSupported())return;master_cancel();master_enable_edit(false);var mrp=YD.get('mr_panel');if(!mrp)return;var els=getChecks();for(var i in els){var id=obid(parentRow(els[i]));if(id.charAt(0)=='r'){var c=document.createElement('input');c.type='checkbox';c.className='r_check '+id;els[i].appendChild(c);YE.addListener(c,'click',master_rcheck,c);}}
YD.setStyle(mrp,'display','');var m=YD.getStyle(document.body,'margin-bottom').match(/\d+/);m=(m?Number(m[0]):0)+212+'px';YD.setStyle(document.body,'margin-bottom',m);var b=YD.get('mr_save_button');b.innerHTML='Create';YE.removeListener(b);YE.addListener(b,'click',master_save,m_id);YD.get('mr_save_button').innerHTML='Create';YD.get('mr_panel_title').innerHTML='Create Master Release';}
function master_cancel(){delete DISCOGS.mr.editing;master_enable_edit(true);var els=getChecks();for(var i in els)
els[i].innerHTML='&nbsp;';YD.setStyle('mr_panel','display','none');YD.get('mr_panel_inner').innerHTML='';YD.get('mr_notes').value='';YD.get('sub_notes').value='';enable_buttons();YD.setStyle(document.body,'margin-bottom','');}
function master_edit(){if(!browserSupported())return;master_cancel();var els=getEls('r_check','span');for(var i in els){var id=obid(els[i]);if(id.charAt(0)=='m'){var b=document.createElement('button');b.className='button_mr';b.innerHTML='Edit';els[i].appendChild(b);YE.addListener(b,'click',master_edit_click,id);}}}
function master_edit_click(e,id){var els=getEls('button_mr','button');for(var i in els)
els[i].disabled=true;async_g('/master/data?master_id='+id.substr(1));}
function master_edit_start(data){master_create(null,data['master_id']);DISCOGS.mr.editing=data;mr_togg_id(data['master_id'],true);for(var i=data['ids'].length-1;i>=0;i--){var els=getEls('r_tr r'+data['ids'][i],'tr');if(els.length==0)
data['ids'].splice(i,1);else{for(var j in els)
getEls('r_check','input',els[j])[0].checked=true;}}
YD.get('mr_notes').value=data['notes'];master_update();getEls('r_radio','input')[0].checked=true;YD.get('mr_save_button').innerHTML='Save';YD.get('mr_panel_title').innerHTML='Edit Master Release';getEls('r_tr m'+data['master_id'],'tr')[0].scrollIntoView();}
function master_rcheck(e,el){var els=getEls(el.className,'input');for(var i in els){if((els[i])!=el)
els[i].checked=el.checked;}
master_update();}
function master_update(){delete DISCOGS.mr.override;var m=getChecked('r_radio','input','mr_panel_inner');if(m.length)
m=obid(m[0]);else
m=null;var els=getChecked('r_check','input');var map={};for(var i in els){map[obid(els[i])]=els[i];}
var s='<table>';for(var i in map){r=parentRow(map[i]);s+='<tr>';s+='<td><input type="radio" name="mr_main" class="r_radio '+i+'" /></td>';kids=YD.getChildren(r);for(var j=0;(j<4)&&(j<kids.length);j++)
s+='<td>'+kids[j].innerHTML+'</td>';s+='</tr>';}
var mpi=YD.get('mr_panel_inner');mpi.innerHTML=s+'</table>';if(m)
m=getEls('r_radio '+m,'input',mpi)[0];if(!m)
m=getEls('r_radio','input',mpi)[0];if(m)
m.checked=true;}
function master_save(e,id){var els=getEls('r_radio','input');var s=[];var m=null;for(var i in els){var t=obid(els[i]).substr(1);s[s.length]=t;if(els[i].checked)
m=t;}
if(m){var pd='sub_notes='+encodeURIComponent(YD.get('sub_notes').value);if(DISCOGS.mr.override)
pd+='&override=1';var n=encodeURIComponent(YD.get('mr_notes').value);if(id){var t=DISCOGS.mr.editing.ids.concat();for(var i=s.length-1;i>=0;i--)
for(var j in t)
if(t[j]==Number(s[i])){t.splice(j,1);s.splice(i,1);break;}
pd=[pd];if(n!=encodeURIComponent(DISCOGS.mr.editing.notes))pd.unshift('mr_notes='+n);if(m!=DISCOGS.mr.editing.main)pd.unshift('main='+m);if(t.length)pd.unshift('remove='+t.join());if(s.length)pd.unshift('add='+s.join());pd.unshift('master_id='+id);pd=pd.join('&');async_p('/master/save',0,pd);}
else{pd='ids='+s.join()+'&main='+m+'&mr_notes='+n+'&'+pd;async_p('/master/new',0,pd);}
disable_buttons();activity_on('Saving...');}
else
alert('Please select a key release.');}
function mr_save_success(){master_cancel();activity_on('Reloading page...');location.reload();}
function mr_save_warn(msg){alert('Warning:\n\n'+msg+'\n\nClick '+YD.get('mr_save_button').innerHTML+' again to save anyway.');enable_buttons();DISCOGS.mr.override=1;}
function mr_save_error(msg){enable_buttons();alert('Error:\n\n'+msg);}