Last active
August 29, 2015 14:15
-
-
Save icedman21/f8e723e4feefebfd10e1 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ==UserScript== | |
// @name Hide SRC Button - Unified Version | |
// @namespace http://icedman21.com | |
// @description SWEET (Snippet Writers Efficiency Enhancement Tool) Script | |
// @include https://www.thumbtack.com/admin/services/proofread/portal* | |
// @updateURL https://gist.github.com/icedman21/d13accec8e7c8215b096/raw/thumbtack_hide_src_Chrome.user.js | |
// @downloadURL https://gist.github.com/icedman21/d13accec8e7c8215b096/raw/thumbtack_hide_src_Chrome.user.js | |
// @version 8 | |
// @author Iced_Man21 | |
// @grant GM_getValue | |
// @grant GM_setValue | |
// ==/UserScript== | |
floatToggleKey='M'; | |
srcToggleKey='Z'; | |
capitalizeKey='X'; | |
submitKey='I'; | |
viewProviderPageKey='P' | |
floatTitle=""; | |
srcTitle=""; | |
capitalizeTitle=""; | |
timeLimit=3; | |
keyList=""; | |
charList="ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-=[];\",."; | |
resetTimeKey="R"; | |
optionsList = function(){ //returns an options block for adding to a select element | |
temp =""; | |
for(i=0;i<charList.length;i++){ | |
temp+="<option value='"+charList[i]+"'>"+charList[i]+"</option>"; | |
} | |
return temp; | |
}; | |
resetTime=function(){ // reset time | |
time1=time3=new Date(); | |
}; | |
changeKeyHandler= function(event) { | |
keyList=document.getElementById('floatSelect').value+document.getElementById('srcSelect').value+document.getElementById('capitalizeSelect').value+document.getElementById('submitSelect').value+document.getElementById('viewProviderPageSelect').value+document.getElementById('resetTimeSelect').value; | |
switch(event.target.id){ | |
case 'timeLimitSelect': | |
GM_setValue("timeLimit",parseInt(document.getElementById(event.target.id).value)); | |
timeLimit = parseInt(document.getElementById(event.target.id).value); | |
break; | |
case 'floatSelect': | |
GM_setValue("floatToggleKey",document.getElementById(event.target.id).value); | |
floatToggleKey = document.getElementById(event.target.id).value; | |
//disable letters from other select boxes | |
op=document.getElementById('srcSelect').getElementsByTagName("option"); | |
for(i=0;i<op.length;i++){ | |
keyList.indexOf(op[i].value.toUpperCase()) > -1 ? op[i].disabled=true : op[i].disabled=false; | |
if(op[i].value.toUpperCase()==srcToggleKey) {op[i].disabled=false;}; | |
} | |
op=document.getElementById('capitalizeSelect').getElementsByTagName("option"); | |
for(i=0;i<op.length;i++){ | |
keyList.indexOf(op[i].value.toUpperCase()) > -1 ? op[i].disabled=true : op[i].disabled=false; | |
if(op[i].value.toUpperCase()==capitalizeKey) {op[i].disabled=false;}; | |
} | |
op=document.getElementById('submitSelect').getElementsByTagName("option"); | |
for(i=0;i<op.length;i++){ | |
keyList.indexOf(op[i].value.toUpperCase()) > -1 ? op[i].disabled=true : op[i].disabled=false; | |
if(op[i].value.toUpperCase()==submitKey) {op[i].disabled=false;}; | |
} | |
op=document.getElementById('viewProviderPageSelect').getElementsByTagName("option"); | |
for(i=0;i<op.length;i++){ | |
keyList.indexOf(op[i].value.toUpperCase()) > -1 ? op[i].disabled=true : op[i].disabled=false; | |
if(op[i].value.toUpperCase()==viewProviderPageKey) {op[i].disabled=false;}; | |
} | |
op=document.getElementById('resetTimeSelect').getElementsByTagName("option"); | |
for(i=0;i<op.length;i++){ | |
keyList.indexOf(op[i].value.toUpperCase()) > -1 ? op[i].disabled=true : op[i].disabled=false; | |
if(op[i].value.toUpperCase()==resetTimeSelect) {op[i].disabled=false;}; | |
} | |
break; | |
case 'srcSelect': | |
GM_setValue("srcToggleKey",document.getElementById(event.target.id).value); | |
srcToggleKey = document.getElementById(event.target.id).value; | |
//disable letters from other select boxes | |
op=document.getElementById('floatSelect').getElementsByTagName("option"); | |
for(i=0;i<op.length;i++){ | |
keyList.indexOf(op[i].value.toUpperCase()) > -1 ? op[i].disabled=true : op[i].disabled=false; | |
if(op[i].value.toUpperCase()==floatToggleKey) {op[i].disabled=false;}; | |
} | |
op=document.getElementById('capitalizeSelect').getElementsByTagName("option"); | |
for(i=0;i<op.length;i++){ | |
keyList.indexOf(op[i].value.toUpperCase()) > -1 ? op[i].disabled=true : op[i].disabled=false; | |
if(op[i].value.toUpperCase()==capitalizeKey) {op[i].disabled=false;}; | |
} | |
op=document.getElementById('submitSelect').getElementsByTagName("option"); | |
for(i=0;i<op.length;i++){ | |
keyList.indexOf(op[i].value.toUpperCase()) > -1 ? op[i].disabled=true : op[i].disabled=false; | |
if(op[i].value.toUpperCase()==submitKey) {op[i].disabled=false;}; | |
} | |
op=document.getElementById('viewProviderPageSelect').getElementsByTagName("option"); | |
for(i=0;i<op.length;i++){ | |
keyList.indexOf(op[i].value.toUpperCase()) > -1 ? op[i].disabled=true : op[i].disabled=false; | |
if(op[i].value.toUpperCase()==viewProviderPageKey) {op[i].disabled=false;}; | |
} | |
op=document.getElementById('resetTimeSelect').getElementsByTagName("option"); | |
for(i=0;i<op.length;i++){ | |
keyList.indexOf(op[i].value.toUpperCase()) > -1 ? op[i].disabled=true : op[i].disabled=false; | |
if(op[i].value.toUpperCase()==resetTimeSelect) {op[i].disabled=false;}; | |
} | |
break; | |
case 'capitalizeSelect': | |
GM_setValue("capitalizeKey",document.getElementById(event.target.id).value); | |
capitalizeKey = document.getElementById(event.target.id).value; | |
//disable letters from other select boxes | |
op=document.getElementById('floatSelect').getElementsByTagName("option"); | |
for(i=0;i<op.length;i++){ | |
keyList.indexOf(op[i].value.toUpperCase()) > -1 ? op[i].disabled=true : op[i].disabled=false; | |
if(op[i].value.toUpperCase()==floatToggleKey) {op[i].disabled=false;}; | |
} | |
op=document.getElementById('srcSelect').getElementsByTagName("option"); | |
for(i=0;i<op.length;i++){ | |
keyList.indexOf(op[i].value.toUpperCase()) > -1 ? op[i].disabled=true : op[i].disabled=false; | |
if(op[i].value.toUpperCase()==srcToggleKey) {op[i].disabled=false;}; | |
} | |
op=document.getElementById('submitSelect').getElementsByTagName("option"); | |
for(i=0;i<op.length;i++){ | |
keyList.indexOf(op[i].value.toUpperCase()) > -1 ? op[i].disabled=true : op[i].disabled=false; | |
if(op[i].value.toUpperCase()==submitKey) {op[i].disabled=false;}; | |
} | |
op=document.getElementById('viewProviderPageSelect').getElementsByTagName("option"); | |
for(i=0;i<op.length;i++){ | |
keyList.indexOf(op[i].value.toUpperCase()) > -1 ? op[i].disabled=true : op[i].disabled=false; | |
if(op[i].value.toUpperCase()==viewProviderPageKey) {op[i].disabled=false;}; | |
} | |
op=document.getElementById('resetTimeSelect').getElementsByTagName("option"); | |
for(i=0;i<op.length;i++){ | |
keyList.indexOf(op[i].value.toUpperCase()) > -1 ? op[i].disabled=true : op[i].disabled=false; | |
if(op[i].value.toUpperCase()==resetTimeSelect) {op[i].disabled=false;}; | |
} | |
break; | |
case 'submitSelect': | |
GM_setValue("submitKey",document.getElementById(event.target.id).value); | |
submitKey = document.getElementById(event.target.id).value; | |
//disable letters from other select boxes | |
op=document.getElementById('floatSelect').getElementsByTagName("option"); | |
for(i=0;i<op.length;i++){ | |
keyList.indexOf(op[i].value.toUpperCase()) > -1 ? op[i].disabled=true : op[i].disabled=false; | |
if(op[i].value.toUpperCase()==floatToggleKey) {op[i].disabled=false;}; | |
} | |
op=document.getElementById('srcSelect').getElementsByTagName("option"); | |
for(i=0;i<op.length;i++){ | |
keyList.indexOf(op[i].value.toUpperCase()) > -1 ? op[i].disabled=true : op[i].disabled=false; | |
if(op[i].value.toUpperCase()==srcToggleKey) {op[i].disabled=false;}; | |
} | |
op=document.getElementById('capitalizeSelect').getElementsByTagName("option"); | |
for(i=0;i<op.length;i++){ | |
keyList.indexOf(op[i].value.toUpperCase()) > -1 ? op[i].disabled=true : op[i].disabled=false; | |
if(op[i].value.toUpperCase()==capitalizeKey) {op[i].disabled=false;}; | |
} | |
op=document.getElementById('viewProviderPageSelect').getElementsByTagName("option"); | |
for(i=0;i<op.length;i++){ | |
keyList.indexOf(op[i].value.toUpperCase()) > -1 ? op[i].disabled=true : op[i].disabled=false; | |
if(op[i].value.toUpperCase()==viewProviderPageKey) {op[i].disabled=false;}; | |
} | |
op=document.getElementById('resetTimeSelect').getElementsByTagName("option"); | |
for(i=0;i<op.length;i++){ | |
keyList.indexOf(op[i].value.toUpperCase()) > -1 ? op[i].disabled=true : op[i].disabled=false; | |
if(op[i].value.toUpperCase()==resetTimeSelect) {op[i].disabled=false;}; | |
} | |
break; | |
case 'viewProviderPageSelect': | |
GM_setValue("viewProviderPageKey",document.getElementById(event.target.id).value); | |
viewProviderPageKey = document.getElementById(event.target.id).value; | |
//disable letters from other select boxes | |
op=document.getElementById('floatSelect').getElementsByTagName("option"); | |
for(i=0;i<op.length;i++){ | |
keyList.indexOf(op[i].value.toUpperCase()) > -1 ? op[i].disabled=true : op[i].disabled=false; | |
if(op[i].value.toUpperCase()==floatToggleKey) {op[i].disabled=false;}; | |
} | |
op=document.getElementById('srcSelect').getElementsByTagName("option"); | |
for(i=0;i<op.length;i++){ | |
keyList.indexOf(op[i].value.toUpperCase()) > -1 ? op[i].disabled=true : op[i].disabled=false; | |
if(op[i].value.toUpperCase()==srcToggleKey) {op[i].disabled=false;}; | |
} | |
op=document.getElementById('capitalizeSelect').getElementsByTagName("option"); | |
for(i=0;i<op.length;i++){ | |
keyList.indexOf(op[i].value.toUpperCase()) > -1 ? op[i].disabled=true : op[i].disabled=false; | |
if(op[i].value.toUpperCase()==capitalizeKey) {op[i].disabled=false;}; | |
} | |
op=document.getElementById('resetTimeSelect').getElementsByTagName("option"); | |
for(i=0;i<op.length;i++){ | |
keyList.indexOf(op[i].value.toUpperCase()) > -1 ? op[i].disabled=true : op[i].disabled=false; | |
if(op[i].value.toUpperCase()==resetTimeSelect) {op[i].disabled=false;}; | |
} | |
break; | |
case 'resetTimeSelect': | |
GM_setValue("resetTimeKey",document.getElementById(event.target.id).value); | |
resetTimeKey = document.getElementById(event.target.id).value; | |
//disable letters from other select boxes | |
op=document.getElementById('floatSelect').getElementsByTagName("option"); | |
for(i=0;i<op.length;i++){ | |
keyList.indexOf(op[i].value.toUpperCase()) > -1 ? op[i].disabled=true : op[i].disabled=false; | |
if(op[i].value.toUpperCase()==floatToggleKey) {op[i].disabled=false;}; | |
} | |
op=document.getElementById('srcSelect').getElementsByTagName("option"); | |
for(i=0;i<op.length;i++){ | |
keyList.indexOf(op[i].value.toUpperCase()) > -1 ? op[i].disabled=true : op[i].disabled=false; | |
if(op[i].value.toUpperCase()==srcToggleKey) {op[i].disabled=false;}; | |
} | |
op=document.getElementById('capitalizeSelect').getElementsByTagName("option"); | |
for(i=0;i<op.length;i++){ | |
keyList.indexOf(op[i].value.toUpperCase()) > -1 ? op[i].disabled=true : op[i].disabled=false; | |
if(op[i].value.toUpperCase()==capitalizeKey) {op[i].disabled=false;}; | |
} | |
op=document.getElementById('submitSelect').getElementsByTagName("option"); | |
for(i=0;i<op.length;i++){ | |
keyList.indexOf(op[i].value.toUpperCase()) > -1 ? op[i].disabled=true : op[i].disabled=false; | |
if(op[i].value.toUpperCase()==submitKey) {op[i].disabled=false;}; | |
} | |
op=document.getElementById('viewProviderPageSelect').getElementsByTagName("option"); | |
for(i=0;i<op.length;i++){ | |
keyList.indexOf(op[i].value.toUpperCase()) > -1 ? op[i].disabled=true : op[i].disabled=false; | |
if(op[i].value.toUpperCase()==viewProviderPageKey) {op[i].disabled=false;}; | |
} | |
break; | |
default: | |
break; | |
} | |
initValues(); | |
}; | |
initValues = function() { | |
//setup message and access key for the floating box | |
switch(GM_getValue("floatToggleKey")){ | |
case floatToggleKey: break; | |
case undefined: GM_setValue("floatToggleKey",floatToggleKey); | |
break; | |
default: floatToggleKey = GM_getValue("floatToggleKey"); break; | |
} | |
//setup access key for the Provider Page Link | |
switch(GM_getValue("viewProviderPageKey")){ | |
case viewProviderPageKey: break; | |
case undefined: GM_setValue("viewProviderPageKey",viewProviderPageKey); | |
break; | |
default: viewProviderPageKey = GM_getValue("viewProviderPageKey"); break; | |
} | |
//setup access key for the Submit Key | |
switch(GM_getValue("submitKey")){ | |
case submitKey: break; | |
case undefined: GM_setValue("submitKey",submitKey); | |
break; | |
default: submitKey = GM_getValue("submitKey"); break; | |
} | |
//setup message and access key for the Capitalize Link | |
switch(GM_getValue("capitalizeKey")){ | |
case capitalizeKey: break; | |
case undefined: GM_setValue("capitalizeKey",capitalizeKey); | |
break; | |
default: capitalizeKey = GM_getValue("capitalizeKey"); break; | |
} | |
//setup message and access key for the SRC link | |
switch(GM_getValue("srcToggleKey")){ | |
case srcToggleKey: break; | |
case undefined: GM_setValue("srcToggleKey",srcToggleKey); | |
break; | |
default: srcToggleKey = GM_getValue("srcToggleKey"); break; | |
} | |
//setup Snippet Time Limit | |
switch(GM_getValue("timeLimit")){ | |
case timeLimit: break; | |
case undefined: GM_setValue("timeLimit",timeLimit); | |
break; | |
default: timeLimit = GM_getValue("timeLimit"); break; | |
} | |
//setup message and access key for the Reset Time link | |
switch(GM_getValue("resetTimeKey")){ | |
case resetTimeKey: break; | |
case undefined: GM_setValue("resetTimeKey",resetTimeKey); | |
break; | |
default: resetTimeKey = GM_getValue("resetTimeKey"); break; | |
} | |
floatTitle="Firefox: Shift Alt "+floatToggleKey+" | Chrome: Alt "+floatToggleKey+" | Mac: Ctrl Opt "+floatToggleKey; | |
srcTitle="Firefox: Shift Alt "+srcToggleKey+" | Chrome: Alt "+srcToggleKey+" | Mac: Ctrl Opt "+srcToggleKey; | |
capitalizeTitle="Firefox: Shift Alt "+capitalizeKey+" | Chrome: Alt "+capitalizeKey+" | Mac: Ctrl Opt "+capitalizeKey; | |
document.getElementById('floatLink').title=floatTitle; | |
document.getElementById('floatLink').accessKey=floatToggleKey; | |
document.getElementById('floatSelect').value=floatToggleKey; | |
//disable float select so key won't be changed to prevent forgettting it. | |
document.getElementById('floatSelect').disabled=true; | |
document.getElementById('srcLink').title=srcTitle; | |
document.getElementById('srcLink').accessKey=srcToggleKey; | |
document.getElementById('srcSelect').value=srcToggleKey; | |
document.getElementById('capitalizeLink').title=capitalizeTitle; | |
document.getElementById('capitalizeLink').accessKey=capitalizeKey; | |
document.getElementById('capitalizeSelect').value=capitalizeKey; | |
document.getElementById('snippet_submit').accessKey=submitKey; | |
document.getElementById('submitSelect').value=submitKey; | |
document.getElementById('viewLink').accessKey=viewProviderPageKey; | |
document.getElementById('viewProviderPageSelect').value=viewProviderPageKey; | |
document.getElementById('resetTimeSelect').value=resetTimeKey; | |
document.getElementById('resetTimeLink').accessKey=resetTimeKey; | |
document.getElementById('timeLimitSelect').value=timeLimit; | |
//get current hotkeys everytime | |
keyList=document.getElementById('floatSelect').value+document.getElementById('srcSelect').value+document.getElementById('capitalizeSelect').value+document.getElementById('submitSelect').value+document.getElementById('viewProviderPageSelect').value; | |
//disable letters from other select boxes | |
op=document.getElementById('srcSelect').getElementsByTagName("option"); | |
for(i=0;i<op.length;i++){ | |
keyList.indexOf(op[i].value.toUpperCase()) > -1 ? op[i].disabled=true : op[i].disabled=false; | |
if(op[i].value.toUpperCase()==srcToggleKey) {op[i].disabled=false;}; | |
} | |
op=document.getElementById('capitalizeSelect').getElementsByTagName("option"); | |
for(i=0;i<op.length;i++){ | |
keyList.indexOf(op[i].value.toUpperCase()) > -1 ? op[i].disabled=true : op[i].disabled=false; | |
if(op[i].value.toUpperCase()==capitalizeKey) {op[i].disabled=false;}; | |
} | |
op=document.getElementById('submitSelect').getElementsByTagName("option"); | |
for(i=0;i<op.length;i++){ | |
keyList.indexOf(op[i].value.toUpperCase()) > -1 ? op[i].disabled=true : op[i].disabled=false; | |
if(op[i].value.toUpperCase()==submitKey) {op[i].disabled=false;}; | |
} | |
op=document.getElementById('viewProviderPageSelect').getElementsByTagName("option"); | |
for(i=0;i<op.length;i++){ | |
keyList.indexOf(op[i].value.toUpperCase()) > -1 ? op[i].disabled=true : op[i].disabled=false; | |
if(op[i].value.toUpperCase()==viewProviderPageKey) {op[i].disabled=false;}; | |
} | |
op=document.getElementById('resetTimeSelect').getElementsByTagName("option"); | |
for(i=0;i<op.length;i++){ | |
keyList.indexOf(op[i].value.toUpperCase()) > -1 ? op[i].disabled=true : op[i].disabled=false; | |
if(op[i].value.toUpperCase()==resetTimeSelect) {op[i].disabled=false;}; | |
} | |
} | |
toggleSRC = function() { | |
var ghead = document.getElementsByTagName('h2'); | |
i=0; | |
while (i<ghead.length) { | |
gh = ghead[i]; | |
if(gh.innerHTML.substring(0,28) == "Selected Request Categories:") { | |
if(gh.nextSibling.nextSibling.style.display=="none"){ | |
gh.nextSibling.nextSibling.style.display="block"; | |
} else gh.nextSibling.nextSibling.style.display="none"; | |
break; | |
} | |
i=i+1; | |
} | |
return false; | |
}; | |
capitalize = function() { | |
// string with alteast one character | |
var headline_text = document.getElementById("headlinetext"); | |
var i, words, w, result = ''; | |
words = headline_text.value.split(' '); | |
for (i = 0; i < words.length; i += 1) { | |
w = words[i]; | |
if(w=='dj' || w=='mc' || w=='3d' || w=='cad' || w=='dui' || w=='ui' || w=='seo' || w=='sem' || w=='cctv' || w=='tv' || w=='hvac' || w=='cpr'){ | |
w=w.toUpperCase(); | |
} | |
result += w.substr(0,1).toUpperCase() + w.substr(1); | |
if (i < words.length - 1) { | |
result += ' '; // Add the spaces back in after splitting | |
} | |
} | |
document.getElementById("headlinetext").value = result.trim(); | |
} | |
toggleFloat = function() { | |
if(GM_getValue("floatVisible")==false){ | |
document.getElementById('miscOptions').style.display="inline" | |
GM_setValue("floatVisible",true) ; | |
} else {GM_setValue("floatVisible",false) ; | |
document.getElementById('miscOptions').style.display="none"; | |
} | |
} | |
// Select All H2 Elements | |
var ghead = document.getElementsByTagName('h2'); | |
i=0; //Initialize counter | |
while (i<ghead.length) { | |
gh = ghead[i]; //get next H2 element | |
if(gh.innerHTML == "Selected Request Categories:") { //check if SRC element found | |
var t= document.createElement('div'); //create a new div to hold the SRC Toggle Link | |
t.innerHTML = "<a id='srcLink' href='javascript:void(0);' tabindex='998'>Toggle SRC</a>"; | |
t.firstChild.addEventListener('click', toggleSRC, false); | |
t.style.display="inline"; | |
gh.appendChild(t); | |
gh.nextSibling.nextSibling.style.display="none"; | |
break; | |
} | |
i=i+1; | |
} | |
var textArea_array = document.getElementsByTagName('textarea'); | |
i=0; | |
while (i<textArea_array.length) { | |
ta = textArea_array[i]; //get next textarea element | |
if(ta.name == "headline") { //check if headline textarea element found | |
ta.id="headlinetext"; | |
var h= document.createElement('span'); //create a new div to hold the Capitalize Link | |
h.innerHTML = "<a id='capitalizeLink' href='javascript:void(0);' tabindex='999'>Capitalize</a> || "; | |
h.firstChild.addEventListener('click', capitalize, false); | |
ta.parentNode.insertBefore(h,ta.nextSibling); | |
break; | |
} | |
i=i+1; | |
} | |
//this next line adds an access key to the submit button | |
document.getElementById('snippet_submit').accessKey=submitKey; | |
//these two lines add ID to the providers page view link and ensure that it opens in a new tab | |
document.getElementById('contents').firstChild.firstChild.nextSibling.nextSibling.target='_blank'; | |
document.getElementById('contents').firstChild.firstChild.nextSibling.nextSibling.id='viewLink'; | |
//add floating text box with key shortcuts | |
floating= document.createElement("div"); | |
floating.id="floatBox" | |
floating.setAttribute('style',"text-align:left;position:fixed;bottom:5%;right:1%;color:black;background-color:lightblue;border:2px solid black;padding:5px;border-radius:10px;box-shadow:5px 5px 3px 3px grey;"); | |
floating.innerHTML="<center><b><span id='demo' style='font-size:large'> </span></b></center><hr><a href='javascript:void(0);' accesskey='M' id='floatLink'>Toggle Menu</a><select id='floatSelect'>"+ optionsList() +"</select><span id='miscOptions'><br>Toggle SRC <select id='srcSelect'>"+ optionsList() +"</select><br>Capitalize <select id='capitalizeSelect'>"+ optionsList() +"</select><br>Submit <select id='submitSelect'>"+ optionsList() +"</select><br> View Page <select id='viewProviderPageSelect'>"+ optionsList() +"</select><br>Time Limit<select id='timeLimitSelect'><option value='1'>1</option><option value='2'>2</option><option value='3'>3</option><option value='4'>4</option><option value='5'>5</option><option value='6'>6</option><option value='7'>7</option><option value='8'>8</option><option value='9'>9</option><option value='10'>10</option></select><br><a href='javascript:void(0);' accesskey='"+resetTimeKey+"' id='resetTimeLink'>Reset Timer</a><select id='resetTimeSelect'>"+ optionsList() +"</select></span>"; | |
//insert the div element to the last part of the page | |
document.body.insertBefore(floating,document.body.lastChild); | |
//add the event handlers | |
document.getElementById('floatLink').addEventListener('click', toggleFloat, false); | |
document.getElementById('floatSelect').addEventListener('change', changeKeyHandler, false); | |
document.getElementById('srcSelect').addEventListener('change', changeKeyHandler, false); | |
document.getElementById('capitalizeSelect').addEventListener('change', changeKeyHandler, false); | |
document.getElementById('submitSelect').addEventListener('change', changeKeyHandler, false); | |
document.getElementById('viewProviderPageSelect').addEventListener('change', changeKeyHandler, false); | |
document.getElementById('timeLimitSelect').addEventListener('change', changeKeyHandler, false); | |
document.getElementById('resetTimeSelect').addEventListener('change', changeKeyHandler, false); | |
document.getElementById('resetTimeLink').addEventListener('click', resetTime, false); | |
if(GM_getValue("floatVisible",true)){ | |
document.getElementById('miscOptions').style.display="inline"; | |
GM_setValue("floatVisible",true) ; | |
} else {document.getElementById('miscOptions').style.display="none"; GM_setValue("floatVisible",false) ; } | |
initValues(); //initialize values | |
//begin Timer Block | |
var time1; | |
function myTimer() { | |
time3 = new Date(); | |
var diffMs = (time3.getTime() - time1.getTime()); | |
var diffSecs= Math.floor((((diffMs % 86400000) % 3600000) % 60000) / 1000); //seconds | |
var diffMins = Math.floor(((diffMs % 86400000) % 3600000) / 60000); // minutes | |
var diffHours = Math.floor((diffMs % 86400000) / 3600000) ; // hours | |
if((diffMins>timeLimit-1) || (diffHours > 0)){ | |
document.getElementById("demo").innerHTML = pad(diffHours) + ":" +pad(diffMins) + ":" + pad(diffSecs); | |
document.getElementById("demo").style.color='red'; | |
} else { document.getElementById("demo").innerHTML = pad(diffHours) + ":" +pad(diffMins) + ":" + pad(diffSecs); document.getElementById("demo").style.color='';}; | |
} | |
function pad(n){ | |
return (n < 10) ? ("0"+n) : n; | |
} | |
time1=new Date(); | |
myVar=setInterval(function(){myTimer()},1000); | |
//end Timer Block |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
To add an access key or short cut key to this script add this line to the bottom of your script
document.getElementById('snippet_submit').accessKey='i';
You can also change the access key by replacing the 'i' with whatever letter you like. I just used the letter "I" so that it will be far from the Z and X shortcut keys, so that you want hit it by accident.