// ==UserScript==
// @name EH Search Tracker
// @namespace http://tampermonkey.net/
// @version .50
// @description Track your searches on e*hentai
// @author 320
// @match https://e-hentai.org/*
// @match https://exhentai.org/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
// @grant none
// ==/UserScript==
(function() {
'use strict';
//Please note this code makes use of jQuery
//------------------------------ Add the "following" button at the top after the page loads, code copy pasted from stack overflow
// Get the 4th arrow at the top, between Favorites and Home/Settings
var topBarArrows = document.getElementById("nb");
var fourthArrow = topBarArrows.getElementsByTagName("img")[3];
// Make a new arrow, then insert that between Favorites and Home/Settings (before position 4)
var newImage = document.createElement("img");
newImage.src = "https://ehgt.org/g/mr.gif";
topBarArrows.insertBefore(newImage,fourthArrow);
//Make new Text and insert that text between the (new) arrow and the (old) fourth arrow
var newText = document.createElement("a");
newText.innerHTML = " Following";
newText.href = "#";
newText.onclick = function() {showFollowing();};
topBarArrows.insertBefore(newText,fourthArrow);
// loads the searchName array so the for loop knows how many search terms you have
var searchName = JSON.parse(window.localStorage.getItem("searchName"));
//Put a subscribe button next to the "Show File Search" link near search box
var subscribeButton = document.createElement("a");
subscribeButton.innerText = "Show Subscribe Dialog";
subscribeButton.style.marginLeft = "7px";
subscribeButton.href = "#";
subscribeButton.id = "myBtn";
document.getElementById("searchbox").getElementsByClassName("nopm")[1].append(subscribeButton);
subscribeButton.onclick = function() {showSubscribe();};
//Let's execute this now because this thing doesn't work
setupSubscribe();
//damn it still doesn't work
//-----------------The actual following script
//Activates when "Following" is clicked
function showFollowing() {
//Sets get requests to be synchronous with the code because _javascript_
//This has to be done here because jQuery hasn't finished loading by
// the time the script loads in the "following" button
jQuery.ajaxSetup({async:false});
console.log("It's starting");
//Hide the main page...
document.getElementsByClassName("ido")[0].style.display = "none";
//...then display the "Following" page
var newPage = document.createElement("div");
newPage.id = "myPage";
newPage.className = "page";
var windowContent = document.createElement("div");
windowContent.className = "page-content";
var pageTop = document.createElement("span");
pageTop.className = "close";
pageTop.innerText = "\nFollowing";
pageTop.style.fontSize = "200%";
var pageText = document.createElement("p");
pageText.innerText = "Your followed searches:";
pageText.style.fontSize = "150%";
//put everything together at the end of the body, then center it
document.body.insertBefore(newPage, document.getElementsByClassName("dp")[0]);
document.getElementById("myPage").append(windowContent);
document.getElementById("myPage").getElementsByClassName("page-content")[0].append(pageTop);
document.getElementById("myPage").getElementsByClassName("page-content")[0].append(pageText);
document.getElementById("myPage").style.alignContent = "space-between";
//-------------------------Start the search data collection
var i = 0;
//If the searchName array is undefined, you haven't saved any searches
//If the searchName array is defined as an array, start going through each search
if (searchName == null){
console.log("Oh, you don't have any saved searches...");
firstRun();
}
else{
console.log("Oh, you've got some saved searches. Let's start the userscript");
//start getting data for each searchterm
beforeTheGet(0, searchName);
}
//Adds a "Reorder" button to the bottom of the page
//lolol next version maybe
//save time you last updated this in MM / DD format, then puts it on the bottom
//It doesn't actually work though...
var newTimeUpdated = new Date().getMonth() + " / " + new Date().getDate();
var dateElement = document.createElement("p");
dateElement.innerText = "Last Updated: " + newTimeUpdated;
dateElement.style.fontSize = "110%";
document.getElementById("myPage").getElementsByClassName("page-content")[0].append(dateElement);
} //end show function
//////---------------------beforeTheGet function (gets a search via GET request)
function beforeTheGet(i, searchName) {
setTimeout(function() {
console.log("I've made it into the for loop!\nThe variable i now equals: " + i);
//Request current search page via GET request also copy pasted from stack overflow
// and then uses the data to fill in the variables that need it
// Waits five seconds before executing each request (because the setTimeout increases with each for loop)
// (all information needed is achieved with one search)
var xhr = "xhr before get";
$.get(
searchName[i],
{},
function(data) {
xhr = data;
console.log("I'm about to enter the afterTheGet function with i = " +i);
afterTheGet(xhr , i);
}
);
i++;
if (i < searchName.length){ console.log("I'm about to go into the next loop, with i = "+i); beforeTheGet(i , searchName);}
console.log("at the end of the for loop, the variable i = " + i);
}, 5000*i);
}
//-------------------------afterTheGet function (goes through data retrieved from search)
function afterTheGet(xhr , i){ setTimeout(function(){
console.log("I'm now in the afterTheGet Function, where i = " + i);
//redefine all variables in the scope of this function for some reason. These will be read from the localStorage:
var searchName = JSON.parse(window.localStorage.getItem("searchName"));
var lastResultNumber = JSON.parse(window.localStorage.getItem("lastResultNumber"));
var lastResultURL = JSON.parse(window.localStorage.getItem("lastResultURL"));
var humanName = JSON.parse(window.localStorage.getItem("humanName"));
var newResultNumber = 12;
var newResultURL1 = "url1";
var newResultURL2 = "url1";
var newResultURL3 = "url1";
var newResultURL4 = "url1";
var newResultURL5 = "url1";
var newTimeUpdated = "time1";
var newGalleryPic1 = "picurl1"; //what the fuck are you doing use an array
var newGalleryPic2 = "picurl1";
var newGalleryPic3 = "picurl1";
var newGalleryPic4 = "picurl1";
var newGalleryPic5 = "picurl1";
console.log("The lastresultNumber array is for some reason " +lastResultNumber);
//Wrap the html data in string form in order to use crap like "getElementsByClass" etc
var wrapper = document.createElement("div");
wrapper.innerHTML = xhr;
//Get the number of galleries currently available for your search
var tempgalleryNumber = wrapper.getElementsByClassName("ip")[0].innerHTML.substring(16);
tempgalleryNumber = tempgalleryNumber.replace(",", "");
newResultNumber = parseInt(tempgalleryNumber);
console.log("The lastResultNumber array in the new function: " + lastResultNumber[i]);
console.log("The newResultNumber integer in the new function: " + newResultNumber);
//Get the URL of the latest gallery available for that tag
//If the user is using list view, get it from where "it5" in the wrapper
//If the user is using thumbnail view, get it from where "id2" is
if (xhr.indexOf("it5") > -1) {
//We list view nao (works!)
//Get the five latest gallery urls for the list search
newResultURL1 = wrapper.getElementsByClassName("it5")[0].firstChild.href;
newResultURL2 = wrapper.getElementsByClassName("it5")[1].firstChild.href;
newResultURL3 = wrapper.getElementsByClassName("it5")[2].firstChild.href;
newResultURL4 = wrapper.getElementsByClassName("it5")[3].firstChild.href;
newResultURL5 = wrapper.getElementsByClassName("it5")[4].firstChild.href;
}
else
{
//we thumbnail view nao (I think it works now!)
newResultURL1 = wrapper.getElementsByClassName("id2")[0].firstChild.href;
newResultURL2 = wrapper.getElementsByClassName("id2")[1].firstChild.href;
newResultURL3 = wrapper.getElementsByClassName("id2")[2].firstChild.href;
newResultURL4 = wrapper.getElementsByClassName("id2")[3].firstChild.href;
newResultURL5 = wrapper.getElementsByClassName("id2")[4].firstChild.href;
}
console.log("The first newURL in the new function: " + newResultURL1);
console.log("The 2 newURL in the new function: " + newResultURL2);
console.log("The 3 newURL in the new function: " + newResultURL3);
console.log("The 4 newURL in the new function: " + newResultURL4);
console.log("The first newURL in the new function: " + newResultURL5);
//Get the URL of the thumbnail for latest gallery available for that tag
if ((window.location.href).indexOf("e-hen") > -1){
if (xhr.indexOf("it5") > -1) { //ehen list view
newGalleryPic1 = wrapper.getElementsByClassName("it2")[0].firstChild.src;
newGalleryPic2 = wrapper.getElementsByClassName("it2")[1].innerHTML.substring(6,wrapper.getElementsByClassName("it2")[1].innerHTML.indexOf(".jpg")+4)
newGalleryPic2 = "https://" + newGalleryPic2.replace("~", "/");
newGalleryPic3 = wrapper.getElementsByClassName("it2")[2].innerHTML.substring(6,wrapper.getElementsByClassName("it2")[2].innerHTML.indexOf(".jpg")+4)
newGalleryPic3 = "https://" + newGalleryPic3.replace("~", "/");
newGalleryPic4 = wrapper.getElementsByClassName("it2")[3].innerHTML.substring(6,wrapper.getElementsByClassName("it2")[3].innerHTML.indexOf(".jpg")+4)
newGalleryPic4 = "https://" + newGalleryPic4.replace("~", "/");
newGalleryPic5 = wrapper.getElementsByClassName("it2")[4].innerHTML.substring(6,wrapper.getElementsByClassName("it2")[4].innerHTML.indexOf(".jpg")+4)
newGalleryPic5 = "https://" + newGalleryPic5.replace("~", "/");
}
else //ehen thumb view
{
newGalleryPic1 = wrapper.getElementsByClassName("id3")[0].firstChild.firstChild.src;
newGalleryPic2 = wrapper.getElementsByClassName("id3")[1].firstChild.firstChild.src;
newGalleryPic3 = wrapper.getElementsByClassName("id3")[2].firstChild.firstChild.src;
newGalleryPic4 = wrapper.getElementsByClassName("id3")[3].firstChild.firstChild.src;
newGalleryPic5 = wrapper.getElementsByClassName("id3")[4].firstChild.firstChild.src;
}
}
else {
if (xhr.indexOf("it5") > -1) { //panda list view
console.log("panda list view")
newGalleryPic1 = wrapper.getElementsByClassName("it2")[0].firstChild.src;
newGalleryPic2 = wrapper.getElementsByClassName("it2")[1].innerHTML.substring(6,wrapper.getElementsByClassName("it2")[1].innerHTML.indexOf(".jpg")+4)
newGalleryPic2 = "https://" + newGalleryPic2.replace("~", "/");
newGalleryPic3 = wrapper.getElementsByClassName("it2")[2].innerHTML.substring(6,wrapper.getElementsByClassName("it2")[2].innerHTML.indexOf(".jpg")+4)
newGalleryPic3 = "https://" + newGalleryPic3.replace("~", "/");
newGalleryPic4 = wrapper.getElementsByClassName("it2")[3].innerHTML.substring(6,wrapper.getElementsByClassName("it2")[3].innerHTML.indexOf(".jpg")+4)
newGalleryPic4 = "https://" + newGalleryPic4.replace("~", "/");
newGalleryPic5 = wrapper.getElementsByClassName("it2")[4].innerHTML.substring(6,wrapper.getElementsByClassName("it2")[4].innerHTML.indexOf(".jpg")+4)
newGalleryPic5 = "https://" + newGalleryPic5.replace("~", "/");
}
else //panda thumb view
{
console.log("panda thumb view")
newGalleryPic1 = wrapper.getElementsByClassName("id3")[0].firstChild.firstChild.src;
newGalleryPic2 = wrapper.getElementsByClassName("id3")[1].firstChild.firstChild.src;
newGalleryPic3 = wrapper.getElementsByClassName("id3")[2].firstChild.firstChild.src;
newGalleryPic4 = wrapper.getElementsByClassName("id3")[3].firstChild.firstChild.src;
newGalleryPic5 = wrapper.getElementsByClassName("id3")[4].firstChild.firstChild.src;
}
}
// newGalleryPic = tempgalleryPicURL;
console.log(newGalleryPic1);
console.log(newGalleryPic2);
console.log(newGalleryPic3);
console.log(newGalleryPic4);
console.log(newGalleryPic5);
// Check whether the new number of galleries is the same as the old
// Also checks whether the newResultURL is new or not. If it is,
// a gallery was updated, and that needs to be counted as a new result.
if (newResultNumber == lastResultNumber[i] && newResultURL1 != lastResultURL[i])
{
newResultNumber = lastResultNumber[i] + 1;
}
//Display results on the page
var searchElement = document.createElement("a");
searchElement.innerText = ("\n\n\n\n"+humanName[i] + " || New Results: " + (newResultNumber - lastResultNumber[i]) + "\n\n");
searchElement.style.fontSize = "160%";
searchElement.style.fontWeight = "800";
//Get proper URL for the search
if ((window.location.href).indexOf("e-hen") > -1){
searchElement.href = "https://e-hentai.org" + searchName[i];
}
else {
searchElement.href = "https://exhentai.org" + searchName[i];
}
//Create five pictures for the five latest galleries
//fuuuuuuuck I should have made these arrays...
var searchPicture1 = document.createElement("img");
searchPicture1.src = newGalleryPic1;
var pictureContainer1 = document.createElement("a");
pictureContainer1.href = newResultURL1;
pictureContainer1.appendChild(searchPicture1);
var searchPicture2 = document.createElement("img");
searchPicture2.src = newGalleryPic2;
var pictureContainer2 = document.createElement("a");
pictureContainer2.href = newResultURL2;
pictureContainer2.appendChild(searchPicture2);
var searchPicture3 = document.createElement("img");
searchPicture3.src = newGalleryPic3;
var pictureContainer3 = document.createElement("a");
pictureContainer3.href = newResultURL3;
pictureContainer3.appendChild(searchPicture3);
var searchPicture4 = document.createElement("img");
searchPicture4.src = newGalleryPic4;
var pictureContainer4 = document.createElement("a");
pictureContainer4.href = newResultURL4;
pictureContainer4.appendChild(searchPicture4);
var searchPicture5 = document.createElement("img");
searchPicture5.src = newGalleryPic5;
var pictureContainer5 = document.createElement("a");
pictureContainer5.href = newResultURL5;
pictureContainer5.appendChild(searchPicture5);
document.getElementById("myPage").getElementsByClassName("page-content")[0].append(searchElement);
document.getElementById("myPage").getElementsByClassName("page-content")[0].append(pictureContainer1);
document.getElementById("myPage").getElementsByClassName("page-content")[0].append(pictureContainer2);
document.getElementById("myPage").getElementsByClassName("page-content")[0].append(pictureContainer3);
document.getElementById("myPage").getElementsByClassName("page-content")[0].append(pictureContainer4);
document.getElementById("myPage").getElementsByClassName("page-content")[0].append(pictureContainer5);
console.log("The searchName array at " +i +" is now length "+searchName.length);
console.log("The humanname array " +i +" is now "+humanName);
console.log("The lastResultNumb array " +i +" is now "+lastResultNumber);
console.log("The newResultNumb integer is " +i +" is now "+newResultNumber);
console.log("The lastURL array " +i +" is now "+lastResultURL);
//Update the arrays with new stuff...
lastResultNumber[i] = newResultNumber;
lastResultURL[i] = newResultURL1;
//Remove the arrays from local storage
window.localStorage.removeItem("lastResultNumber");
window.localStorage.removeItem("lastResultURL");
//Then save the arrays with the new elements back to localstorage
window.localStorage.setItem("lastResultNumber", JSON.stringify(lastResultNumber));
window.localStorage.setItem("lastResultURL", JSON.stringify(lastResultURL));
console.log("-----------The afterTheGet Function has ended-------------");
console.log("Okay, let's just wait 6 seconds before moving onto the next search...");
}, 1);} // end afterTheGet function
//-------------------------show subsscribe dialog function
function setupSubscribe(){
//Set up the Modal using javascript (Copy pasted from W3schools)
var myModal = document.createElement("div");
myModal.className= "modal";
myModal.id = "myModal";
var modalContent = document.createElement("div");
modalContent.className = "modal-content";
myModal.append(modalContent);
var modalHeader = document.createElement("div");
modalHeader.className = "modal-header";
modalContent.append(modalHeader);
var closeThing = document.createElement("span");
closeThing.className = "close";
closeThing.innerText = "Close";
modalHeader.append(closeThing);
var headerText = document.createElement("h2");
headerText.innerText = "Subscribe to Search";
modalHeader.append(headerText);
var modalBody = document.createElement("div");
modalBody.className = "modal-body";
var bodyText = document.createElement("p");
bodyText.innerText = "Did you want to save this search?\nEnter what you want to name it below:\n";
bodyText.id = "modalBodyText";
var bodyTextBox = document.createElement("input");
bodyTextBox.type = "text";
bodyTextBox.id = "textBox";
var bodyConfirmButton = document.createElement("button");
bodyConfirmButton.innerText = "Save!";
bodyConfirmButton.onclick = function(){subscribeToSearch();};
var bodyDeleteButton = document.createElement("button");
bodyDeleteButton.innerText = "Delete!";
bodyDeleteButton.onclick = function(){deleteSearch();};
var makeshiftspacer = document.createElement("a");
makeshiftspacer.innerText = " or ";
modalBody.append(bodyText);
modalBody.append(bodyTextBox);
modalBody.append(bodyConfirmButton);
modalBody.appendChild(makeshiftspacer);
modalBody.append(bodyDeleteButton);
modalContent.append(modalBody);
var modalFooter = document.createElement("div");
modalFooter.className = "modal-footer";
var footerText = document.createElement("h3");
footerText.innerText = "The footer of the modal";
modalContent.append(modalFooter);
//Attach everything to the page
document.getElementsByClassName("itg")[0].append(myModal);
//-------------------------------static CSS
myModal.style.cssText = "display: none; position: fixed; z-index: 1; padding-top: 100px; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgb(0,0,0); background-color: rgba(0,0,0,0.4);";
modalBody.style.cssText = "padding: 2px 16px;";
closeThing.style.cssText = " color: white; float: right; font-size: 28px; font-weight: bold;";
//-------------------------------dynamic CSS (supposed to change on panda)
if ((window.location.href).indexOf("e-hen") > -1){
modalContent.style.cssText = " position: relative; background-color: #FFFFFF; margin: auto; padding: 0; border: 1px solid #888; width: 80%; box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);";
modalHeader.style.cssText =" padding: 2px 16px; background-color: #732626; color: white;";
modalFooter.style.cssText = " padding: 2px 16px; background-color: #732626; color: white;";
}
else
{
modalContent.style.cssText = " position: relative; background-color: #4f535b; margin: auto; padding: 0; border: 1px solid #888; width: 80%; box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);";
modalHeader.style.cssText =" padding: 2px 16px; background-color: #34353b; color: white;";
modalFooter.style.cssText = " padding: 2px 16px; background-color: #34353b; color: white;";
}
/*
Oh wow, these don't even work
var webkitkeyframeElement = document.createElement("style");
webkitkeyframeElement.innerText = " @-webkit-keyframes animatetop { from {top:-300px; opacity:0} to {top:0; opacity:1}}";
var keyframeElement = document.createElement("style");
keyframeElement.innerText = " @keyframes animatetop { from {top:-300px; opacity:0} to {top:0; opacity:1}}";
*/
/*
// When the user clicks anywhere outside of the modal, close it
Oh, this doesn't work either
window.onclick = function(event) {
if (event.target == modal) {
modal.style.display = "none";
}
*/
}
//--------------------- javascript
function showSubscribe(){
// Get the modal
var modal = document.getElementById("myModal");
console.log("modal is "+modal);
// Get the button that opens the modal
var bttn = document.getElementById("myBtn");
console.log("bttn is "+bttn);
// Get the <span> element that closes the modal
var span = document.getElementsByClassName("close")[0];
console.log("span is "+span);
// When the user clicks the button, open the modal
bttn.onclick = function() {
modal.style.display = "block";
console.log("I've set the display");
};
// When the user clicks on <span> (close), close the modal
span.onclick = function() {
modal.style.display = "none";
console.log("I've changed the span thing");
};
}
//--------------------------Function that subscribes you to a search
function subscribeToSearch(){
//load in the arrays from localstorage...
var searchName = JSON.parse(window.localStorage.getItem("searchName"));
var humanName = JSON.parse(window.localStorage.getItem("humanName"));
var lastResultNumber = JSON.parse(window.localStorage.getItem("lastResultNumber"));
var lastResultURL = JSON.parse(window.localStorage.getItem("lastResultURL"));
var youarehere = (window.location.href);
//used to check for duplicate searches:
var isANewArray = "false";
var tempsearchName;
if(searchName!==null){
tempsearchName = searchName.slice();
}
else {
//Prepare empty arrays
searchName=[];
tempsearchName = [];
humanName =[];
lastResultNumber = [];
lastResultURL = [];
}
//Checks if these arrays are null (i.e. this is the first time you're subscribing to a search)
if (searchName == null) {
console.log("This is the first time you're subscribing to a search. Creating localstorage variables for later...");
//Place the new elements into a new array
youarehere = youarehere.substring(20, youarehere.length-1);
tempsearchName = [youarehere];
humanName = [document.getElementById("textBox").value];
lastResultNumber = [0];
lastResultURL = ["urldoesn'tgohere"];
isANewArray = "true";
}
else{
//If this isn't the first time,
//Append the new elements after the old elements of the array
youarehere = youarehere.substring(20, youarehere.length-1);
tempsearchName.push(youarehere);
humanName.push(document.getElementById("textBox").value);
lastResultNumber.push(0);
lastResultURL.push("urlgoeshere");
}
var searchSucessText = document.createElement("p");
//If this isn't a new array, check if you already have this search
//If it's a duplicate, reject the request
if (searchName.indexOf(youarehere) > -1 && isANewArray == "false") {
//Alert the user the search was not saved
document.getElementById("modalBodyText").innerText = "Save failed. You're already subscribed to this search.\nYou can remove it by clicking the \"Delete!\" button";
} else {
console.log("Saving your search...");
//Delete the arrays already in localstorage...
window.localStorage.removeItem("searchName");
window.localStorage.removeItem("humanName");
window.localStorage.removeItem("lastResultNumber");
window.localStorage.removeItem("lastResultURL");
//Then save the arrays with the new elements back to localstorage
window.localStorage.setItem("searchName", JSON.stringify(tempsearchName));
window.localStorage.setItem("humanName", JSON.stringify(humanName));
window.localStorage.setItem("lastResultNumber", JSON.stringify(lastResultNumber));
window.localStorage.setItem("lastResultURL", JSON.stringify(lastResultURL));
//Alert the user that the search was saved
document.getElementById("modalBodyText").innerText = "You've successfully subscribed to the search: " + document.getElementById("textBox").value;
}
} //end subscribe to search
//=====--------------------------Function that deletes a search
function deleteSearch(){
//load in the arrays from localstorage...
var searchName = JSON.parse(window.localStorage.getItem("searchName"));
var humanName = JSON.parse(window.localStorage.getItem("humanName"));
var lastResultNumber = JSON.parse(window.localStorage.getItem("lastResultNumber"));
var lastResultURL = JSON.parse(window.localStorage.getItem("lastResultURL"));
var youarehere = (window.location.href).substring(20, window.location.href.length - 1);
//used to check for duplicate searches:
var isANewArray = "false";
var tempsearchName;
if(searchName!==null){
tempsearchName = searchName.slice();
}
else {
//Prepare empty arrays
searchName=[];
tempsearchName = [];
humanName =[];
lastResultNumber = [];
lastResultURL = [];
}
//Checks if these arrays are null
if (searchName == null) {
console.log("You don't have any searches to delete");
isANewArray = "true";
}
var searchSucessText = document.createElement("p");
//If this isn't a new array, check if you already have this search
//If it's a duplicate, reject the request
if (searchName.indexOf(youarehere) > -1 && isANewArray == "false") {
//This search exists in the array.
//Delete it using the indexOf to find it
console.log("Deleting search...");
var deletdis = searchName.indexOf(youarehere);
tempsearchName.splice(deletdis, 1);
humanName.splice(deletdis, 1);
lastResultNumber.splice(deletdis, 1);
lastResultURL.splice(deletdis, 1);
//Delete the arrays already in localstorage...
window.localStorage.removeItem("searchName");
window.localStorage.removeItem("humanName");
window.localStorage.removeItem("lastResultNumber");
window.localStorage.removeItem("lastResultURL");
//Then save the arrays with the new elements back to localstorage
window.localStorage.setItem("searchName", JSON.stringify(tempsearchName));
window.localStorage.setItem("humanName", JSON.stringify(humanName));
window.localStorage.setItem("lastResultNumber", JSON.stringify(lastResultNumber));
window.localStorage.setItem("lastResultURL", JSON.stringify(lastResultURL));
document.getElementById("modalBodyText").innerText = "You've deleted this search.";
} else {
//Alert the user the search wasn't deleted
document.getElementById("modalBodyText").innerText = "You need to be subscribed to a search in order to delete it.";
}
}
//-------------------------misc functions
//shows a page informing you that you don't have any saved searches.
function firstRun(){
var infoElement = document.createElement("a");
infoElement.innerText = ("\n\n\n\nYou don't have any saved searches, so get out there and start searching.\nOnce you find a search you want to follow, hit the 'Show Subscribe dialog' link under the search bar\n\n");
infoElement.style.fontSize = "140%";
document.getElementById("myPage").getElementsByClassName("page-content")[0].append(infoElement);
var returnElement = document.createElement("a");
returnElement.innerText = "(Click here to return to the front page)\n\n";
returnElement.style.fontSize = "130%";
returnElement.href = "";
document.getElementById("myPage").getElementsByClassName("page-content")[0].append(returnElement);
}
})();