").attr({"class":"JR_PandaCrazy"})
.css({"font-size":"10px","margin-left":"10px"}).html("[PC] "));
appendPandaButtons($(this).find(".JR_PandaCrazy:first"),thisJobData);
}
} else { $(this).removeData("JR-expandedDesc"); }
});
}
}
setTimeout( findProjectedEarnings,900 );
}
}
}
function fixJson(theNode) { // only used to fix hitscraper.
$(theNode).find("a[href*='/projects/']").each( function() {
$(this).attr("href",$(this).attr("href").replace(".json",""));
});
}
function holdGIDLinks(theNode) {
document.onclick = function(event) {
if (event===undefined) event= window.event;
var target= 'target' in event? event.target : event.srcElement, secondPart = "", jobData = null;
if (target.tagName == "A" && target.href.indexOf("/projects/")) {
if ($(target).closest("td.ctaBbcodeTableCellLeft").length) jobData = format1($(target),$(target).closest("td.ctaBbcodeTableCellLeft"));
else if ($(target).closest("td.cms_table_td").length) jobData = format1($(target),$(target).closest("td.cms_table_td"));
else if (gLocation.indexOf("mturkforum.com") != -1) jobData = format1($(target),$(target).closest("td"));
else if ($(target).closest("blockquote.messageText").length) jobData = format2($(target),$(target).closest("blockquote.messageText"));
else if ($(target).closest("a[href*='turkerview.com/requesters/']").length) jobData = format3($(target),$(target).closest("a[href*='turkerview.com/requesters/']"));
else if ($(target).find("b:contains('TurkerView:')").length) jobData = format3($(target),$(target).find("b:contains('TurkerView:')"));
else {
secondPart = target.href.split("/projects/")[1]; var thisGID = (secondPart) ? secondPart.split("/")[0] : "";
jobData = {"GID":thisGID,"RID":"","RName":"","Title":"","Reward":""};
}
if (jobData.GID!=="") {
GM_setValue("JRHoldGID",jobData.GID);
GM_setValue("JRHoldRID",jobData.RID);
GM_setValue("JRHoldRName",unescape(jobData.RName));
GM_setValue("JRHoldTitle",unescape(jobData.Title));
GM_setValue("JRHoldReward",unescape(jobData.Reward));
}
}
};
}
function setUpObserver(theNode,addButtons,jsonFix,hitnotifier) {
var targetObserveNode = theNode;
var config = { childList: true };
var callback = function(mutations) {
for (var index = 0,len=mutations.length; index < len; index++) {
var thisMutationNode = mutations[index].addedNodes;
for (var index2 = 0,len2=thisMutationNode.length; index2 < len2; index2++) {
if (addButtons) addMessageButtons(thisMutationNode[index2]);
if (jsonFix) fixJson(thisMutationNode[index2]);
}
}
};
var observer = new MutationObserver(callback);
observer.observe(targetObserveNode, config);
}
if (locationForums()) {
setTimeout( function() {
holdGIDLinks($("body"));
addPageButtons();
if ($("#messageList").length) { // forums
setUpObserver($("#messageList")[0],true,false,false);
} else if ($(".block--messages .block-body").length) { // new Mturkcrowd.com
setUpObserver($(".block--messages .block-body")[0],true,false,false);
}
}, 600);
} else if (gLocation.indexOf("hitnotifier.com") != -1) {
document.addEventListener("pandaCrazy", function(event) { //(event) => {
var hit = event.detail.project;
var pcCommand = (event.detail.once) ? "PandaCrazyOnce" : "PandaCrazyAdd";
var thisRegex = />Reward *:<\D*(\d+\.\d\d);
var rewardAmount = thisRegex.exec(event.detail.html)[1];
window.open("https://worker.mturk.com/requesters/" + pcCommand + "/projects?JRGID=" + hit.hit_set_id + "&JRRName=" +hit.requester_name +
"&JRRID=" + hit.requester_id + "&JRTitle=" + hit.title + "&JRReward=" + rewardAmount, "PandaCommand", "height=200,width=200");
});
} else {
$(function() {
if (gLocation.indexOf("worker.mturk.com") != -1) gNewSite = true;
if (gLocation.indexOf("worker.mturk.com/requesters/PandaCrazy") != -1) {
var sendFormat = (gLocation.indexOf("PandaCrazyAdd") != -1) ? 1 : (gLocation.indexOf("PandaCrazyOnce") != -1) ? 2 : (gLocation.indexOf("PandaCrazySearch") != -1) ? 3 : 0;
if (sendFormat>0) {
var jobData = jQuery.extend(true, {}, gJobDataDefault);
if ( gLocation.indexOf("JRGID=") != -1) jobData.groupId = gLocation.split("JRGID=")[1].split("&")[0];
if ( gLocation.indexOf("JRRID=") != -1) jobData.requesterId = gLocation.split("JRRID=")[1].split("&")[0];
if ( gLocation.indexOf("JRRName=") != -1) jobData.requesterName = unescape(gLocation.split("JRRName=")[1].split("&")[0]);
if ( gLocation.indexOf("JRTitle=") != -1) jobData.title = unescape(gLocation.split("JRTitle=")[1].split("&")[0]);
if ( gLocation.indexOf("JRReward=") != -1) jobData.pay = unescape(gLocation.split("JRReward=")[1].split("&")[0]);
if (sendFormat==1) sendJobData(jobData);
else if (sendFormat==2) sendJobOnceData(jobData);
else sendJobSearchData(jobData);
setTimeout( function() { window.top.close(); },300);
}
} else if (gLocation.indexOf("mturk.com/") != -1) {
holdGIDLinks($("body"));
if ( !$(".navbar-sub-nav.navbar-nav:contains('Your HITs Queue')").length ) {
$(".nav.navbar-nav.hidden-xs-down:not(:contains('HITs Queue'))").append('
HITs Queue');
}
if ( gLocation.indexOf("/tasks") == -1 && $("button:contains('Return')").length ) {
$(".col-xs-12.navbar-content a.navbar-brand:first").after("
");
}
window.addEventListener("storage", mainListener, false);
setTimeout( function() { sendPingMessage(); }, 500);
}
});
}