';
// add interface to page
$('div#searchbar').after(reqFilterInterface);
// change sort selector based on existing query string
if ( sorttypeQueryVar != "" )
{ $('select[name=sortType]').val(sorttypeQueryVar); }
else // normal default of 'HIT Creation Date (newest first)'
{ $('select[name=sortType]').val('LastUpdatedTime:1'); }
}
// add filter action
if ( $('#requesterFilterInterface').length > 0 )
{
$('button#reqFilterButton').click(function()
{
// get form inputs for filter settings
requesterNameFormInput = $('input#reqName').val();
keywordFormInput = $('input#searchbox').val();
minpayFormInput = $('input[name=minReward]').val();
qualifiedFormInput = $('input#qualified_for').is(':checked');
mastersFormInput = $('input#master_qual').is(':checked');
sorttypeFormInput = $('select[name=sortType]').val();
reqsortFormInput = $('input#reqSort').is(':checked');
// build filtered URL
filteredReqUrl = "https://www.mturk.com/mturk/searchbar?selectedSearchType=hitgroups";
filteredReqUrl += "&requesterId=" + requesterIdQueryVar;
if ( requesterNameFormInput != "" )
{ filteredReqUrl += "&prevRequester=" + encodeURIComponent(requesterNameFormInput).replace(/%20/g,"+"); }
if ( keywordFormInput != "" )
{ filteredReqUrl += "&searchWords=" + encodeURIComponent(keywordFormInput).replace(/%20/g,"+"); }
if ( (minpayFormInput != "") && (minpayFormInput != "0.00") )
{ filteredReqUrl += "&minReward=" + minpayFormInput; }
if ( qualifiedFormInput != "" )
{ filteredReqUrl += "&qualifiedFor=on"; }
if ( mastersFormInput != "" )
{ filteredReqUrl += "&requiresMasterQual=on"; }
if ( reqsortFormInput != "" )
{ filteredReqUrl += "&sortType=" + sorttypeFormInput; }
// redirect to filtered URL
window.location.href = filteredReqUrl;
});
}
// override sort button action to not unnecessarily go to icky searchSpec URL format that this script can't work on,
// but only if you're not on a page of results beyond the first (using viewsearchbar? instead of searchbar?),
// at which point you must use the icky format or it won't have any effect
if ( ($('form#sortresults_form').length > 0) && (window.location.href.indexOf('viewsearchbar') < 0) )
{
$('form#sortresults_form').on('submit', function(e){
// override existing form action
e.preventDefault();
e.returnValue = false;
// get sortType selection
sorttypeFormInput = $('select[name=sortType]').val();
var nonHashUrl = (window.location.href).split('#');
// redirect to sorted or re-sorted URL
if ( getQueryVariable('sortType') )
{ window.location.href = setQueryVariable(window.location.href, 'sortType', sorttypeFormInput); }
else
{ window.location.href = nonHashUrl[0] + '&sortType=' + sorttypeFormInput; }
});
}
// append the otherwise-useless searchbar?-style variables with usable data to the page-number-navigation links
// on results pages, so they will be retained for display purposes on pages beyond the first
if ( isReqPage == "yes-results" )
{
$('a[href^="/mturk/viewsearchbar"]').each(function()
{
var oldLinkUrl = $(this).attr('href');
var newLinkUrl = "";
// build supplemented nav links
newLinkUrl = setQueryVariable(oldLinkUrl, 'requesterId', requesterIdQueryVar);
if ( requesterNameQueryVar != "" )
{ newLinkUrl = setQueryVariable(newLinkUrl, 'prevRequester', encodeURIComponent(requesterNameQueryVar).replace(/%20/g,"+") ); }
if ( keywordQueryVar != "" )
{ newLinkUrl = setQueryVariable(newLinkUrl, 'searchWords', encodeURIComponent(keywordQueryVar).replace(/%20/g,"+") ); }
if ( (minpayQueryVar != "") && (minpayFormInput != "0.00") )
{ newLinkUrl = setQueryVariable(newLinkUrl, 'minReward', minpayQueryVar); }
if ( qualifiedQueryVar == "on" )
{ newLinkUrl = setQueryVariable(newLinkUrl, 'qualifiedFor', "on"); }
if ( mastersQueryVar == "on" )
{ newLinkUrl = setQueryVariable(newLinkUrl, 'requiresMasterQual', "on"); }
if ( sorttypeQueryVar != "" )
{ newLinkUrl = setQueryVariable(newLinkUrl, 'sortType', sorttypeQueryVar); }
// apply completed url
$(this).attr('href', newLinkUrl);
});
}