/*
* getmmb.js
*
* Hack to load MMBs into spacex2.slapbet.org's MMB editor
* John Kielkopf - 6/2/2014
* version 1.1
*/
function wid_to_gid(wid) {
return parseInt(String(wid),36)^31578
}
function gid_to_wid(gid) {
return parseInt((gid^31578)).toString(36);
}
function getFrameMmb(frame,load_all){
frame = parseInt(frame,10);
if(!frame){
alert('You must first select a part.');
return;
}
var part = Math.ceil((frame)/20);
var frame_index = (frame - ((part-1)*20)) - 1;
var sheet_table = {
// List of sheet keys that contain MMBs for specific parts
1:"1sVwOkxW6tBq7CcqmXBOkb9frlgdocUyRplvk05v6seg",
2:"1w5LCJxUDSF1yILkDppSXMkiL1Li2K89dbRRIGv4A_6I",
3:"1O_p3hofqWaMTDJYRYKM0if4Xv64av4JBIkEmReLXytA",
4:"1mE469DE0zUGy9iuySWWQGgFDt2HC5ke4hUy_posFp4o",
5:"1b4kaKBYUx8iI7-__15H5CEr4_73tXaXlIwPa2gPj8Fo",
6:"1YJXUI6-hOJsPsuZr1t1kJ-iSNcI26sFl_gEMShvi1Hk",
7:"1dIFfIZWXZRea72AI6R9thDxv5r5cPWbXgkvquCcXSIQ",
8:"18vhTHN6WUB5dKhJEGGi_MASHbmAsaoIohAFvpFZT7vk",
9:"11zI2scQWLdat_qRL3zlm-h4QznfOiF_18hByEt9xiyo",
10:"1JkT-RmkcrClqAG_6cWnG5VrQUYSmggdA19jc2CRDlcU",
11:"1XzqmeR0Ylxmdk_nKBG4jmbfXnQSNaJ5v0b4d9qXZgms",
12:"1Ez8lX_-KfY6dbMKVokPnkPjdOp3K3PARNfYSsmHjA-g",
13:"15lyFN4FYJ3uyLibJL2TKouZBcnpIaYSsw293HljH6So",
14:"1b1hQ1as-MJ6C3rBfuAIpKnemEjcVtBo7d_HPRFyWBt8",
15:"19-dfEOiOy2L1RpFtDT8v5d7DPjt7g9xUL5KeUc3zfOU"
};
if(sheet_table[part]){
var url = 'https://spreadsheets.google.com/feeds/list/'+sheet_table[part]+'/'+gid_to_wid(0)+'/public/values?alt=json-in-script';
//console.log('Loading: '+url);
$.ajax({
type: 'GET',
url: url,
dataType: 'jsonp',
success: function(data, s, xhr){
//console.log(data);
var mmbkey = 'gsx$latestmmbcode';
if(data['feed'] && data['feed']['entry'] && data['feed']['entry'][0][mmbkey]){
var framemmb = '', fullmmb = '';
for(var i in data['feed']['entry']){
var entry = data['feed']['entry'][i];
//console.log(entry);
var mmb = $.trim(entry[mmbkey]['$t']);
if(mmb.length && i < 20){
if(i == frame_index){
framemmb = mmb;
}
if(fullmmb.length){
fullmmb += '=';
}
fullmmb += 'FRAME'+i+':'+mmb;
}
}
if(!framemmb.length && !load_all){
alert('No MMB currently entered for frame '+frame);
} else if(!fullmmb.length){
alert('No MMBs currently entered for part '+part);
} else {
if(load_all){
$('textarea#globalMmb').val(fullmmb).change();
} else {
$('textarea#frameMmb').val(framemmb).change();
}
}
} else {
alert('Unable to parse MMBs from sheet '+part);
}
},
error: function(xhr, s, e) {
alert("Error loading MMB sheet "+part+" from: "+url);
}
});
}
}
$(document).ready(function() {
var loadFrameButton = $('');
loadFrameButton.click(function(){
getFrameMmb($("#frameNumber").text());
});
var loadGlobalButton = $('');
loadGlobalButton.click(function(){
getFrameMmb($("#frameNumber").text(),true);
});
$('body').prepend(loadGlobalButton);
$('body').prepend(loadFrameButton);
});