Your comments

Sorry I haven't been back on here in a while. 

It's absolutely amazing to see what you guys have done with this. 
Thanks to everyone that's contributed so far. I'll definitely be using your modifications in my own personal theme. 

I think if you are not using the online reader it will not keep track of your place in the comic, since you are now reading the comic somewhere else. If you're downloading the file and opening the file in another app, Ubooquity has no way to follow that file and keep track of it. 

If you do use the online reader it will keep track of things the way you are expecting, but as stated above, it will not marked your thumbnails as read or reading. 

I don't know anything about Python so I totally understand that feeling of disconnect between one language and another. 

So the Ubooquity server seems to be built in JAVA as an applet, but really it's just an html server, meaning it's job is to give out some html when a user goes to a specific url on the server.

Quick note JAVA and Javascript are two completely different things.  

Now to understand JS, you have to think in terms of things that happen on the serverside of an html request (what we sometimes call a site visit or page visit), and what happens on the browser side. On the server side, html is compiled from separate files and consolidated into a response that your browser then interprets and displays. Once the browser gets hold of the code, then we're talking about the browser side of things. Here, the original server no longer has control of the content it sent over, leaving us room to make all sorts of modifications. One of the ways we can do that is using Javascript, a browser-side scripting language. So I think the best way to view JS is as an after the fact patch tool. 

Take photography for instance. You start by taking a photo with the camera, then you might tidy it up in photoshop. Well the act of taking the picture with the camera is the serverside part, and the tidying it up in photoshop is the browserside part. In this analogy, JS would be a sick suite of tools in photoshop that lets you go beyond the normal limitations of photoshop. 

Of course JS can also be used in a host of other projects that aren't web based. I'm not familiar with these applications so I wont talk about them here, but at least now I think you'll have the most basic idea of how you would use JS. 
-----

Now lets talk about the themescript.js file. Ubooquity is designed with a theme system in place, giving us the ability to change the appearance of the server. The way these theme customizations work: within the theme files are files with names identical to the default theme files, and the system lets us use our version of that file instead of the originals. 
This is still pretty limited in some respects since we have a limited pool of files to override, but the file themescript.js is one of those files, and as long as it is in our theme, Ubooquity will automatically load up that code. So if you're looking through the theme code hoping to see where that file is being called, you wont. That part is somewhere in the server code. 

Using another theme, it may have it's own themescript.js file setup, in which case you would NOT want to just delete all the content in there and replace it with the code in my themescript.js file. You would lose some of the code uniquely added to let your own theme function. That's why I was saying to paste the above code at the bottom of said file, as this should allow the original code to still work, and ALSO add on this functionality. 
-----

Also yes, the script can be modified to say unread instead by changing some of the code. 
Currently the code is ignoring comics with null bookmarks, but you would want to target those first. 
Then after that check through the comics with bookmarks and target the unread ones like this:
if (page_num < 1)

and lastly change this:
$("img[src*='"+c_id+"']").closest('.thumb').find('.number').html("reading");

to this:
$("img[src*='"+c_id+"']").closest('.thumb').find('.number').html("unread");

I think I found a way to get that value. I'll try to get this setup on my system and if it works I'll update the git and then come back here and leave an explanation. 

Also someone was asking for a progress bar a while ago in the forum. With both those values, it's possible. 

The isFinished value always seems to be false for comics. I've tried getting all the way to the last page of the comic, closing, refreshing, clearing cache. It remains false. Not sure what it's purpose is, but maybe it's an eBook only variable.
If any Ubooquity devs are reading this, having that work for comics as well would be a blessing. Thanks in advance.
Actually going back into the code, I've learned that the structure of this bookmark object is meant to be used as a cookie. If you have the cookie version of the bookmark enabled in the server settings, the isFinished value tells it if the cookie is expired, or something along those lines, but has nothing to do with your place in the book, unfortunately. 

As for the modified files, I went ahead and added them to git here:
https://github.com/nullredirect/modifiedPlexTheme-Ubooquity.git