We’re Back! After a long winter’s nap the Knightwise.com podcast is back for another season of cross-platform goodness. Season 11 kicks off this week with Knightwise doing something he hasn’t done in a few years. Come along for the ride as our intrepid host talks about managing work, life and your multiple selves in the …

We’re Back!


After a long winter’s nap the Knightwise.com podcast is back for another season of cross-platform goodness. Season 11 kicks off this week with Knightwise doing something he hasn’t done in a few years. Come along for the ride as our intrepid host talks about managing work, life and your multiple selves in the digital age.


Links

KW1006 Reviewing the Dell XPS 13

Music

K78 – Something Visible on 2

Credits

Music sourced by Daniel Messer
Episode produced by Keith Murray

// <![CDATA[
(function wrapper(plugin_info) {
// ensure plugin framework is there, even if iitc is not yet loaded
if(typeof window.plugin !== 'function') window.plugin = function() {};

plugin_info.buildName = 'foobar';
plugin_info.dateTimeVersion = '20150202.1002';
plugin_info.pluginId = 'NotADA';

window.plugin.notada = function(){};
window.plugin.notada.timer = -1;
window.plugin.notada.lastTarget = -1;
window.plugin.notada.apikey = "";
window.plugin.notada.apiv = 1;
window.plugin.notada.apis = "envan.notada.net";
window.plugin.notada.apii = 0;
window.plugin.notada.apicode_ok = 2;
window.plugin.notada.rclayer = null;
window.plugin.notada.maxcmdhistory = 150; // Needs to be configurable
window.plugin.notada.cmdoutputhistory=[];

window.plugin.notada.api = function(method, data, callback)
{
console.log("notada.api " + method);
if(localStorage["notada.apis"] != undefined){
var host = localStorage["notada.apis"];
var key = localStorage["notada.apikey_"+host];
} else {
var host = window.plugin.notada.apis;
var key = window.plugin.notada.apikey;
}
$.ajax({url:'https://'+host+'/_api/'+window.plugin.notada.apiv+'/'+method, method: 'POST', data: { data: data, id:window.plugin.notada.apii++, key:key} , success:callback});
};

window.plugin.notada.hideeverything=function()
{
$("#map").nextAll().hide();
$("#map>div.leaflet-control-container").hide();
$("#updatestatus").show();
};

window.plugin.notada.botcmd = function(string)
{
window.plugin.notada.api("bot.cmd", {cmd: string}, window.plugin.notada.botcommandcb);
}

window.plugin.notada.botcommandcb = function(data)
{
console.debug("NotADA said: " + data.data);
};

window.plugin.notada.playerTrackerAddHTML = function(player, html)
{
if($(".plugin-player-tracker-popup .nickname:contains("+player+") +div.notada_pt_user").length){
$(".plugin-player-tracker-popup .nickname:contains("+player+") +div.notada_pt_user").html(html);
} else {
$(".plugin-player-tracker-popup .nickname:contains(" + player + ")").after("

<div class=\"notada_pt_user\">"+html+"</div>

");
}
};

window.plugin.notada.updatePortalDetailsKeyCount = function(guid)
{
window.plugin.notada.api("keys.getinventory", { guid: guid }, function(data){
console.log("Got response for getinventory");
if(data.status==2){
if($("#notada_total_inventory").length==0){
$("#keys-count").after('

<div id="notada_total_inventory">(Total: '+data.data.totalCount+')

<div>');
} else {
$("#notada_total_inventory").html("(Total: "+data.data.totalCount+")");
}

// Ugh. I want to update the keys-on-map DivIcon to include a total count of keys, but LeafLet doesn't seem to support updating the html after the icon is drawn.
/*if(plugin.keysOnMap != undefined && plugin.keys != undefined ){
var keysOnMapLabel = plugin.keysOnMap.keyLayers[guid].options.icon.options.html = plugin.keys[guid] + " / " + data.data.totalCount;
}*/
}
});
};
window.plugin.notada.handlePortalDetails = function(data)
{
console.debug("window.plugin.notada.handlePortalDetails");
window.plugin.notada.updatePortalDetailsKeyCount(data.guid);

};

window.plugin.notada.onmapDataRefreshStart = function(data)
{

};
window.plugin.notada._sendMsgHandler = function(el)
{

if(window.event.keyCode==13){
console.log("send test");
window.plugin.notada.api("agent.send", {agentname: $(el).attr("x-agentname"), msg: $(el).val()}, function(data){
$(el).val("");
$(el).blur();
});
}
};

window.plugin.notada._inptlookup=false;
window.plugin.notada.hookPlayerTrackerLayer = function(layer)
{
layer.on('click',function(e){
console.log("pt click!");
if(window.plugin.notada._inptlookup==true){
console.log("Already in a pt lookup. ");
return;
}
//var agent = e.target.options.title.split(",")[0]; // ugh -- Broke 2/9/2015??
var agent = $(e.target.options.desc).children(".nickname").html();
window.plugin.notada._inptlookup=true;
window.plugin.notada.api("agent.info", {agentname: agent}, function(data){
window.plugin.notada._inptlookup=false;
if(data.status==2){
var html="";
if(data.data.is_notadau==true){
var badgehtml="";
if(data.data.status!=false){
badgehtml+="

<div>" + data.data.status+"</div>

<div>";
}
jQuery.each(data.data.badges,function(idx,badge){
badgehtml+='<img width="16" style="width: 32px !important" alt="'+badge.description+'" title="'+badge.description+'" src="'+badge.img64+'">';
});
badgehtml+="</div>

";
badgehtml+='

<div id="notada_sdm">SlackDM: <input type="text" x-agentname="'+agent+'" id="notada_send_msg" value="" onkeydown="window.plugin.notada._sendMsgHandler(this);"</div>

';

html = badgehtml;
} else {
if(data.data.is_recruit==true){
html = "RecruitEN";
}
}
$("#notada_sdm").remove();
window.plugin.notada.playerTrackerAddHTML(agent, html);
}
});

});
};

window.plugin.notada.onpublicChatDataAvailable = function(data)
{
if(plugin.playerTracker) { // Disabled for now
plugin.playerTracker.drawnTracesEnl.eachLayer(function(layer){
window.plugin.notada.hookPlayerTrackerLayer(layer);
});
//plugin.playerTracker.drawnTracesEnl.eachLayer(function(layer){
// window.plugin.notada.hookPlayerTrackerLayer(layer);
//});
}
};

window.plugin.notada.onmapDataRefreshEnd = function(data)
{

console.debug("window.plugin.notada.onmapDataRefreshEnd");

};

window.plugin.notada.farmstatuses = [ // XXX: Needs to be an API call to get the list. Do in setup.
{ statcode: "en8", desc: "EN8 Farm" },
{ statcode: "en7", desc: "EN7 Farm" },
{ statcode: "enmed", desc: "EN 4-6 Farm"},
{ statcode: "enlow", desc: "EN 1-3 Farm"},
{ statcode: "ensc", desc: "EN Shitchicken"},
{ statcode: "re8", desc: "RE8 Farm"},
{ statcode: "re7", desc: "RE7 Farm"},
{ statcode: "remed", desc: "RE 4-6 Farm"},
{ statcode: "relow", desc: "RE 1-3 Farm"},
{ statcode: "neutral", desc: "Neutral Farm"},
{ statcode: "endom", desc: "EN Dominated BAF anchor"},
{ statcode: "redom", desc: "RE Dominated BAF anchor"},
{ statcode: "undom", desc: "Undominated BAF anchor"}

];

window.plugin.notada.updateFarmStatus = function(codename, newstatus)
{
window.plugin.notada.api("regioncode.setstatus", { codename: codename, status: newstatus}, function(data){
window.plugin.notada.regionCodeLayerRefresh(); // XXX: Just update this region code instead of doing a full refresh.
});
};

window.plugin.notada.getMapRadiusM = function() {
var mapBoundNorthEast = map.getBounds().getNorthEast();
var mapDistance = mapBoundNorthEast.distanceTo(map.getCenter());
return mapDistance;
};

window.plugin.notada.gotoRC = function(mapview)
{
if(mapview==undefined||mapview=="")
return;
window.location=mapview; // TODO: Make this pan instead.
};

window.plugin.notada.isPortalWithinRC = function(portal)
{

};

window.plugin.notada.getPortalsWithinRC = function(codename)
{

try {
var rc = window.plugin.notada._rclist[codename];

var portals=[];
jQuery.each(window.portals, function(guid, portal) {
var ll = portal.getLatLng();
if (rc._layer.getBounds().contains(ll)) {
//var p = map.project(portal.getLatLng(), window.plugin.flyLinks.PROJECT_ZOOM);
portals.push(portal);
}
});
return(portals);
} catch(err){
return null;
}
};

window.plugin.notada.guessFarmLevel = function(codename)
{
console.log("Guessing on " + codename);
var portals = window.plugin.notada.getPortalsWithinRC(codename);
if(portals==null) { // Data isn't ready yet
console.log("Can't guess level for " + codename);
return;
}

var psum=0;
jQuery.each(portals,function(idx,p){
psum+=p.options.level;
});
return(Math.ceil(psum/portals.length));
// stathtml+="<P/>looks like this should be a L" + psum/portals.length+" status";
};

window.plugin.notada.showRegionCodeInfo = function(codename)
{
var rc = window.plugin.notada._rclist[codename];
if(rc==undefined) {
console.log("notada.showRegionCodeInfo request for code '"+codename+"' that doesn't exist");
return;
}
var selhtml = '<select id="notada_rc_set_status" onChange="window.plugin.notada.updateFarmStatus(\'' + rc.codename + '\', $(\'#notada_rc_set_status\').val());">';

jQuery.each(window.plugin.notada.farmstatuses, function(idx,f){
selhtml+='
<option value="'+f.statcode+'" ';
if(f.statcode==rc.status) {
selhtml+="selected>*";
} else {
selhtml+=">";
}
selhtml+= f.desc;
});

selhtml+="
</select>";
var stathtml = "Status: " + selhtml;
var nlevel = window.plugin.notada.guessFarmLevel(codename);

if(nlevel){
stathtml+="Looks like a L" + nlevel + " farm to me

";
} else {
console.log("Not all portals loaded, yet, can't guess what level this thing is");
}
window.dialog({title: rc.codename + " - " + rc.vicinity, html: stathtml});
};

window.plugin.notada._rclist = {};
window.plugin.notada.regionCodeLayerRefresh = function()
{
//f.getBounds().contains([49.1234, 59.1233]);
console.log("regionCodeLayerRefresh");
var cc = map.getCenter();
//var radius = 100000; // ugh. need to calculate this based on viewport dims
var radius = window.plugin.notada.getMapRadiusM() + 15000; // We add 15KM to the search so we can list neighbouring out of bound codes
window.plugin.notada.api("regioncode.list", {clat: cc.lat, clng: cc.lng, radius: radius}, function(data){
console.log("rc update status = "+data.status);
if(data.status == 2 ) {
window.plugin.notada.rclayer.clearLayers();

//window.plugin.notada._rclist = data.data;

var regioncodeSelectorHTML = '<select onChange="window.plugin.notada.gotoRC($(\'#notada_rc_selector option:selected\').attr(\'x-mapview\'));" id="notada_rc_selector">
<option value="">-= select a region code =-';

jQuery.each(data.data,function(idx,rc){
window.plugin.notada._rclist[rc.codename] = rc;
regioncodeSelectorHTML+='
<option x-mapview="'+rc.mapview+'" value="'+rc.codename+'">'+rc.codename + "-"+rc.vicinity;
var l = L.geoJson(JSON.parse(rc.polygeoj));
l.setStyle({fillColor: rc.color, color: rc.color});

/*

*/
l.addEventListener("click", function(x){
//alert(stathtml);
//x.originalEvent.preventDefault();
window.plugin.notada.showRegionCodeInfo(rc.codename);

});
window.plugin.notada.rclayer.addLayer(l);
window.plugin.notada._rclist[rc.codename]._layer = l;
});
regioncodeSelectorHTML+='
</select>';
$("#notada_rc_selector_tgt").html(regioncodeSelectorHTML);
} else {

}
});

};
window.plugin.notada.drawDialog = function()
{
var html = '

<div class="notadaStyles">'
+ '<input type="color" name="drawColor" id="notada_color"></input>'
//TODO: add line style choosers: thickness, maybe dash styles?
+ '</div>

'
+ '

<div class="notadaSetbox">'
+ '</div>

';

dialog({
html: html,
dialogClass: 'ui-dialog-notadaSet',
title: 'NotADA'
});

};

// Displays my NotADA profile deets
window.plugin.notada.myStats = function()
{
window.plugin.notada.api("agent.info", {}, window.plugin.notada._myStatsCB);
//$("#playerstat").after("TEST");
};

window.plugin.notada._myStatsCB = function(data)
{
//console.log("mystatscb");
if(data.status==window.plugin.notada.apicode_ok){
var badgehtml='

<div id="notada_agent_badges">';
jQuery.each(data.data.badges, function(idx,badge){
badgehtml+='<img width="16" style="width: 32px !important" alt="'+badge.description+'" title="'+badge.description+'" src="'+badge.img64+'">';
});
badgehtml+="</div>

";
$("#playerstat").after(badgehtml);
if(data.data.status==undefined || data.data.status==false){
data.data.status="";
}
$("#notada_agent_badges").after('

<div>Current Status: <input type="text" size="25" id="notada_agent_status" value="'+data.data.status+'"></div>

');
$("#notada_agent_status").bind("enterKey",function(e){
window.plugin.notada.api("agent.update", {status: $("#notada_agent_status").val()}, function(data){
var t="";

console.log("Status updated");
$("#notada_agent_status").blur();
}
);
//$("#notada_cmd_input").val("");
});
$("#notada_agent_status").keyup(function(e){
if(e.keyCode==13){
$(this).trigger("enterKey");
}
});
}
}

window.plugin.notada._logindialogid = -1;
window.plugin.notada.drawAPIConfig = function() {
var buttons = {};
buttons["Login"] = function(){
window.plugin.notada.apikey = $("#notada_api_key_cfg").val();
window.plugin.notada.api("api.test", {}, window.plugin.notada._logintestCB);
};
var html = '

<div>

Welcome, Agent:

To login to NotADA, retrieve your NotADA API key from your Profile in NotADA Web

<table>

<tr>

<td>Your API Key:</td>

<td><input type="text" id="notada_api_key_cfg" size=64 value="'+window.plugin.notada.apikey+'"></td>

</tr>

</table>

<div id="notadalogin_status"></div>

';
window.plugin.notada._logindialogid = dialog({ html: html, width: "600px", dialogClass: "ui-dialog-notada-apiconfig", title: "Login to NotADA", buttons:buttons});
$(".ui-dialog-notada-apiconfig .ui-button-text-only :contains(OK)").parent().remove(); // wtf

}

window.plugin.notada._logintestCB = function(data)
{
console.debug("ltcb");
if(data.status==2){
$("#notadalogin_status").html("Woo hoo!");
localStorage["notada.apikey"] = window.plugin.notada.apikey;
$(window.plugin.notada._logindialogid).dialog('close');
window.plugin.notada.setup();
} else {
$("#notadalogin_status").html("<font color=\"red\">Login failure - wrong API key?</font>");
}
};

window.plugin.notada.onPortalAdded = function(e)
{
console.log("onPortalAdded");
if(e==undefined){
debugger;
}
if(e.portal==undefined){
debugger;
}

if(e.portal.addEventListener == undefined){
debugger;
}
e.portal.addEventListener("click", function(e){
console.log("prevent default");
e.preventDefault();
e.originalEvent.preventDefault();
});
};

window.plugin.notada.toggleCmdBox = function()
{
console.log("tt");
var foo = $("#notada_cmd");
if($("#notada_cmd span").hasClass("expand")){
$("#notada_cmd span.toggle").removeClass("expand");
$("#notada_cmd span.toggle").addClass("shrink");
$("#notada_cmd_output").css("height",$("body").height()-200);
} else {
$("#notada_cmd_output").css("height", "60px");

$("#notada_cmd span.toggle").removeClass("shrink");
$("#notada_cmd span.toggle").addClass("expand");

}
};

window.plugin.notada.onDrawTools = function(evt)
{
console.log("window.plugin.notada.onDrawTools");
alert(evt);
};

window.plugin.notada.pluginKeysUpdateKey = function(data)
{
console.log("Single key update");

if(plugin.keys.keys[data.guid]==undefined){
console.log("Key " + data.guid + " deleted");
var keydata=[];
var ldata = {};
ldata.guid = data.guid;
ldata.count = 0;
keydata.push(ldata);
window.plugin.notada.api("keys.setinventory", {keys: JSON.stringify(keydata)}, function(data){
console.log("0'd out key synced to NotADA");
window.plugin.notada.syncKeys(window.plugin.notada.pluginKeysUpdateRefreshSingleCB, ldata.guid);
});
} else {
window.plugin.notada.syncKeys(window.plugin.notada.pluginKeysUpdateRefreshSingleCB, data.guid);
}

};

window.plugin.notada.pluginKeysUpdateRefreshSingleCB = function(data, guid)
{
window.plugin.notada.updatePortalDetailsKeyCount(guid);
}

window.plugin.notada.pluginKeysRefreshAll = function()
{
window.plugin.notada.syncKeys();
};

window.plugin.notada.syncKeys=function(callback, extra)
{
if(plugin.keys==undefined){
console.log("Can't sync keys - plugin Keys not running");
}
var keydata=[];
$.each(plugin.keys.keys, function(key, count) {
// plugin.keysOnMap.keyUpdate({guid: key});

var ldata = {};
var portal = window.portals[key];
ldata.guid = key;
ldata.count = count;

if(portal) {
ldata.latlng= portal.getLatLng();
ldata.title = portal.options.data.title;
}
keydata.push(ldata);
});

window.plugin.notada.api("keys.setinventory", {keys: JSON.stringify(keydata)}, function(data){
console.log("KEYS synced to NotADA");
if(callback != undefined)
{
callback(data, extra);
}
});
};

window.plugin.notada.onIITCLoaded = function()
{
// do post iitc load setup
addHook("pluginKeysUpdateKey", window.plugin.notada.pluginKeysUpdateKey);
addHook("pluginKeysRefreshAll", window.plugin.notada.pluginKeysRefreshAll);
if(0){ /// Disabled for now.
window.pluginCreateHook('pluginDrawTools');

window.addHook("pluginDrawTools", function(e){
console.log("window.plugin.notada.onDrawTools");
alert(e);
});
}
};

window.plugin.notada.showReleaseNotes = function(preamble)
{
alert('

<div id="notada_relnotes"></div>

');
$("#notada_relnotes").load("https://www.notada.net/tools/iitc/RELNOTES.html");

};

window.plugin.notada.cmdoutput = function(newhtml)
{
newhtml = '

<div>'+newhtml+'</div>

';

$("#notada_cmd_output").append(newhtml);
try {
$('#notada_cmd_output').scrollTop($('#notada_cmd_output')[0].scrollHeight);
} catch (err){
}

window.plugin.notada.cmdoutputhistory.push({
tstmp: Date.now(),
html: newhtml
});

localStorage["notada.lastoutputsj"] = JSON.stringify(window.plugin.notada.cmdoutputhistory);
};

window.plugin.notada.setup = function() {

if(localStorage["notada.lastversion"]==undefined){
localStorage["notada.lastversion"] = $("#notada_script").attr("x-version");
}

if(localStorage["notada.lastoutputsj"]) {
window.plugin.notada.cmdoutputhistory = JSON.parse(localStorage["notada.lastoutputsj"]);
}

if($("#notada_script").attr("x-version")>localStorage["notada.lastversion"]){
window.plugin.notada.cmdoutput("

<div style=\"color: yellow\">NotADA IITC Plugin Updated to " + $("#notada_script").attr("x-version")+'</div>

');
localStorage["notada.lastversion"]=$("#notada_script").attr("x-version");
//window.plugin.notada.showReleaseNotes();
}
window.plugin.notada.apikey = localStorage["notada.apikey"];
if(window.plugin.notada.apikey==undefined){
window.plugin.notada.apikey="";
}
if(window.plugin.notada.apikey=="") {
console.log("NotADA Config!");
window.plugin.notada.drawAPIConfig();
} else {
console.log("NotADA Init!");
window.plugin.notada.rclayer = L.layerGroup();
addHook("mapDataRefreshStart", window.plugin.notada.onmapDataRefreshStart);
addHook('mapDataRefreshEnd', window.plugin.notada.onmapDataRefreshEnd);
addHook("publicChatDataAvailable", window.plugin.notada.onpublicChatDataAvailable);
addHook('portalDetailsUpdated', window.plugin.notada.handlePortalDetails);
addHook("portalAdded", window.plugin.notada.onPortalAdded);

window.addHook('iitcLoaded', window.plugin.notada.onIITCLoaded);

map.on("moveend", window.plugin.notada.regionCodeLayerRefresh);
window.plugin.notada.regionCodeLayerRefresh();

$("

<style>")
.prop("type", "text/css").html(" \
#notada_cmd { \
background-color: rgba(8, 48, 78, 0.9); \
border-bottom: 0; \
border-top: 1px solid #20A8B1; \
border-left: 1px solid #20A8B1; \
width: 500px;\
bottom: 0; \
color: #ffce00; \
font-size: 13px; \
padding: 4px; \
position: fixed; \
left: 710px; /* Default - gets repositioned on startup */\
z-index: 3002; \
box-sizing: border-box; \
} \
.leaflet-popup-content-wrapper {\
width: 250px;\
}\
#notada_cmd .expand { \
border-bottom: 10px solid #FFCE00;\
}\
#notada_cmd_output .nickname {\
color: #03DC00 !important;\
}\
#notada_cmd .shrink { \
border-top: 10px solid #FFCE00;\
}\
#notada_cmd .toggle { \
border-left: 10px solid transparent;\
border-right: 10px solid transparent;\
margin: 4px auto 5px;\
}\
#notada_cmd_output { \
height: 60px; \
overflow: auto; \
color: white;\
border-bottom: 1px solid #20A8B1;\
border-top: 1px solid #20A8B1;\
}\
#notada_cmd_input { \
background: transparent; \
}\
#notada_sidebar {\
}\
#notada_sidebar>div>b {\
color: #03fe03 !important; \
}\
").appendTo("head");
$("#chatinput").after('

<div id="notada_cmd"><a onClick="window.plugin.notada.toggleCmdBox()"><span class="toggle expand"></span></a>

<div id="notada_cmd_output"></div>

<div style="height: 1em">tell notada: <input type="text" size="60" maxlength="255" id="notada_cmd_input"></div>

</div>

');
$("#notada_cmd").css("left", $("#chat").outerWidth() + 10);
$("#notada_cmd_input").bind("enterKey",function(e){
window.plugin.notada.api("bot.cmd", {cmd: $("#notada_cmd_input").val()}, function(data){
var t="";
newhtml="<span class=nickname>"+window.PLAYER.nickname+"&gt; </span> "+ $("#notada_cmd_input").val()+"
<span class=nickname>NotADA</span>&gt; ";
if(data.data==null) {
//$("#notada_cmd_output").append(t + "What?
");
newhtml+="What?";
} else {
console.log("autolink");

var re = /\<(.*)\|(.*)\>/;

var thisLine = $("<span/>").text(data.data).html().autoLink();
re = /\&lt\;(.*)\|(.*)\&gt\;/g;

thisLine = thisLine.replace(re,'<a href="$1">$2</a>');
thisLine = thisLine.replace(/(?:\r\n|\r|\n)/g, '
');
newhtml+=thisLine;
//<https://www.ingress.com/intel?ll=49.277461,-122.914013&#038;z=15|Simon Fraser / Burnaby Mountain>

}
newhtml+="";

window.plugin.notada.cmdoutput(newhtml);
$("#notada_cmd_input").val("");
}
);

});
$("#notada_cmd_input").keyup(function(e){
if(e.keyCode==13){
$(this).trigger("enterKey");
}
});

if(window.plugin.notada.cmdoutputhistory.length > window.plugin.notada.maxcmdhistory ) {
var ri=window.plugin.notada.cmdoutputhistory.length - window.plugin.notada.maxcmdhistory;
console.log("Pruning command putput history; " + ri + " items to be removed. Current length=" + window.plugin.notada.cmdoutputhistory.length);
for(var i=0; i< ri; i++){
window.plugin.notada.cmdoutputhistory.shift();
}
localStorage["notada.lastoutputsj"] = JSON.stringify(window.plugin.notada.cmdoutputhistory);
console.log("New command history length = " +window.plugin.notada.cmdoutputhistory.length);
}
console.log("Woof");
var outhtml="";
$(window.plugin.notada.cmdoutputhistory).each(function(idx,x){
outhtml+=x.html;
});
$("#notada_cmd_output").html(outhtml);
$('#notada_cmd_output').scrollTop($('#notada_cmd_output')[0].scrollHeight);

addLayerGroup("NotADA: Farms", window.plugin.notada.rclayer, true);

window.plugin.notada.myStats();
$("#sidebar").append('

<div id="notada_sidebar">

<div style="margin:5px"><b>NotADA</b>Code Picker: <span id="notada_rc_selector_tgt"></span>

<p/><a target="_notadaweb" href="'+window.plugin.notada.apis+'">NotADA Web</a> &middot; <a onClick="window.plugin.notada.showReleaseNotes();">Release Notes</a> &middot; <a onClick="window.plugin.notada.hideeverything()">Hide All Controls</a>

</div>

</div>

');

}

};

var setup = plugin.notada.setup;

// PLUGIN END //////////////////////////////////////////////////////////

setup.info = plugin_info; //add the script info data to the function as a property
if(!window.bootPlugins) window.bootPlugins = [];
window.bootPlugins.push(setup);
// if IITC has already booted, immediately run the 'setup' function
if(window.iitcLoaded && typeof setup === 'function') setup();
})({"script":{"version":"0.1.8","name":"notada","description":""}});
// ]]&gt;