2017-06-04 07:43:41 +02:00
// @source https://github.com/NyaaPantsu/nyaa/tree/dev/public/js
// @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat
2017-05-26 13:13:06 +02:00
var explosion = document . getElementById ( "explosion" ) ;
var nyanpassu = document . getElementById ( "nyanpassu" ) ;
2017-06-16 00:57:52 +02:00
var kawaii = document . getElementById ( "kawaii" ) ;
2017-05-26 13:13:06 +02:00
2017-05-27 19:08:47 +02:00
// Switches between themes when a new one is selected
function switchThemes ( ) {
themeName = document . getElementById ( "theme-selector" ) . value
var head = document . getElementsByTagName ( "head" ) [ 0 ] ;
// Remove the theme in place, it fails if one isn't set
try {
head . removeChild ( document . getElementById ( "theme" ) ) ;
} catch ( err ) { }
// Don't add a node if we don't want extra styling
if ( themeName === "" ) {
return ;
}
// Create the new one and put it back
var newTheme = document . createElement ( "link" ) ;
newTheme . setAttribute ( "rel" , "stylesheet" ) ;
newTheme . setAttribute ( "href" , "/css/" + themeName + ".css" ) ;
newTheme . setAttribute ( "id" , "theme" ) ;
head . appendChild ( newTheme ) ;
}
2017-05-05 12:59:56 +02:00
// Used by spoiler tags
function toggleLayer ( elem ) {
if ( elem . classList . contains ( "hide" ) )
elem . classList . remove ( "hide" ) ;
else
elem . classList . add ( "hide" ) ;
}
2017-05-30 00:28:21 +02:00
function parseAllDates ( ) {
// Date formatting
var lang = document . getElementsByTagName ( "html" ) [ 0 ] . getAttribute ( "lang" ) ;
var ymdOpt = { year : "numeric" , month : "short" , day : "numeric" } ;
var hmOpt = { hour : "numeric" , minute : "numeric" } ;
2017-05-05 15:55:25 +02:00
2017-05-30 00:28:21 +02:00
var list = document . getElementsByClassName ( "date-short" ) ;
for ( var i in list ) {
var e = list [ i ] ;
e . title = e . innerText ;
e . innerText = new Date ( e . innerText ) . toLocaleString ( lang , ymdOpt ) ;
}
2017-05-05 15:55:25 +02:00
2017-05-30 00:28:21 +02:00
var list = document . getElementsByClassName ( "date-full" ) ;
for ( var i in list ) {
var e = list [ i ] ;
e . title = e . innerText ;
e . innerText = new Date ( e . innerText ) . toLocaleString ( lang ) ;
}
2017-05-05 15:55:25 +02:00
}
2017-05-31 04:21:35 +02:00
2017-05-30 00:28:21 +02:00
parseAllDates ( ) ;
2017-05-31 04:21:35 +02:00
2017-05-13 00:37:37 +02:00
/*Fixed-Navbar offset fix*/
2017-05-29 13:12:05 +02:00
document . addEventListener ( "DOMContentLoaded" , function ( event ) {
2017-05-20 01:10:16 +02:00
var shiftWindow = function ( ) { scrollBy ( 0 , - 70 ) } ;
if ( location . hash ) shiftWindow ( ) ;
window . addEventListener ( "hashchange" , shiftWindow ) ;
2017-05-28 02:23:47 +02:00
document . getElementsByClassName ( "search-box" ) [ 0 ] . addEventListener ( "focus" , function ( e ) {
var w = document . getElementsByClassName ( "h-user" ) [ 0 ] . offsetWidth ;
document . getElementsByClassName ( "h-user" ) [ 0 ] . style . display = "none" ;
document . getElementsByClassName ( "search-box" ) [ 0 ] . style . width = document . getElementsByClassName ( "search-box" ) [ 0 ] . offsetWidth + w + "px" ;
} ) ;
document . getElementsByClassName ( "search-box" ) [ 0 ] . addEventListener ( "blur" , function ( e ) {
document . getElementsByClassName ( "search-box" ) [ 0 ] . style . width = "" ;
document . getElementsByClassName ( "h-user" ) [ 0 ] . style . display = "inline-block" ;
} ) ;
2017-05-29 13:12:05 +02:00
} ) ;
2017-05-26 13:13:06 +02:00
function playVoice ( ) {
2017-05-27 23:33:52 +02:00
if ( explosion ) {
2017-06-21 03:28:48 +02:00
explosion . volume = 0.2 ;
2017-05-26 13:13:06 +02:00
explosion . play ( ) ;
2017-05-27 23:33:52 +02:00
}
2017-06-16 00:57:52 +02:00
else if ( kawaii ) {
2017-06-21 03:28:48 +02:00
kawaii . volume = 0.2 ;
2017-06-16 00:57:52 +02:00
kawaii . play ( ) ;
}
2017-05-27 23:33:52 +02:00
else {
2017-06-21 03:28:48 +02:00
nyanpassu . volume = 0.2 ;
2017-05-26 13:13:06 +02:00
nyanpassu . play ( ) ;
}
2017-05-29 13:12:05 +02:00
}
2017-06-04 07:43:41 +02:00
// @license-end