Last active
December 10, 2015 01:08
-
-
Save kardeiz/4355671 to your computer and use it in GitHub Desktop.
catalog js
This file contains hidden or 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
(function(){ | |
if (typeof jQuery=='undefined') { | |
var headTag = document.getElementsByTagName("head")[0]; | |
var jqTag = document.createElement('script'); | |
jqTag.type = 'text/javascript'; | |
jqTag.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js'; | |
jqTag.onload = (function(){ myJQueryCode(jQuery); }); | |
headTag.appendChild(jqTag); | |
} else { | |
myJQueryCode(jQuery); | |
} | |
function myJQueryCode($) { | |
var staff_view = $('a:contains("Staff View")').attr("href"); | |
$('body').append("<div id='thumbnails_container'><div><ul id='my_thumbnails'/></div>"); | |
$('#my_thumbnails').parent("div").parent("div").prepend("<div id='scroll_left'></div>"); | |
$('#my_thumbnails').parent("div").parent("div").prepend("<div id='scroll_right'></div>"); | |
var right_arrow = "iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ" + | |
"bWFnZVJlYWR5ccllPAAAACFQTFRFBAcH0NDQFBcXoaKiYmRk7+/vMzY2cnR0U1VVkZKS////CDkD" + | |
"PwAAAAt0Uk5T/////////////wBKTwHyAAABFElEQVR42uzXOQ6DUBAE0fl4web+B3ZsZ3SXTFLk" + | |
"qJ7EX4Y5Ln5GgAABAgQIECBAgAABAgQIECBAgAABAsL31roWsLZtXQlY2wwkmLRPCSbuQ4LJ+4xg" + | |
"ij4imKZPCE4DXjOo4DTg8WQF59cALAh2AStIzgFUEJ2EpCC7C0BBeBtygnQewATxREQJ8pEMEhQz" + | |
"ISNohlJEUE3FhKAbywFB+V/w/gbM/mfA7ad///MnAPoVgOg3AKRfAJh+DoD6MYDqpwCsHwK4fgYA" + | |
"+xGA7CcAtB8A2P55ANyvAW2//QR1v1yEfb/bhkC/OoiIfnMUI/3iMmL6+XW8H9cCsEeAAAECBAgQ" + | |
"IECAAAECBAgQIECAAAECPgIMAGXoZ6/gaO/QAAAAAElFTkSuQmCC"; | |
var left_arrow = "iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ" + | |
"bWFnZVJlYWR5ccllPAAAABhQTFRFBAcHoaKiYmRk0NDQFBcXcnR0sLGx////lsLBhQAAAAh0Uk5T" + | |
"/////////wDeg71ZAAABFklEQVR42uzZMRqCQAwF4QRF7n9jbaXjZb7dZjwA8xcIm1DX5l8JECBA" + | |
"gAABAgQIECBAgAABAgQIECBAAHOZs/cCjqreCfj1Y0FR/VRQWD8UFNfPBAX2I0GR/URQaH85YN6f" + | |
"AYD+CED0JwCkPwAw/RwA9WMA1U8BWD8EcP0MAPYjANlPAGg/ALD954CT7T8H9A1wLJ8LYEFwE7KC" + | |
"5G+ICqIHESnIHsWgIHwZcYL0dYwJ4gMJJciPZJBgcChlBJNjOSIYDSaEYDaaAYLhcHoXnMvH83/B" + | |
"+7V+QdGzPrCi6VGfWFL1pI+s6XrQZxaVnfehVW3HfWpZ/Un7fi8QIECAAAECBAgQIECAAAECBAgQ" + | |
"IEDAfsBXgAEA+Yiu6sjbSCcAAAAASUVORK5CYII="; | |
$('#thumbnails_container').css({float: 'left', position: 'relative', width: '900px', height: '250px', display: 'none'}); | |
$('#my_thumbnails').parent("div").css({position: 'absolute', top: 0, left: 0, width: '900px', height: '250px', overflow: 'hidden', whiteSpace: 'nowrap'}); | |
$('#my_thumbnails').css({position: 'absolute', top: '50%', marginTop: '-95px', width: "1508px"}); | |
$("#scroll_left").css({position: 'absolute', zIndex: 1, height: '250px', width: '50px', top: 0, left: 0, backgroundImage: 'url(data:image/png;base64,' + left_arrow + ')', backgroundPosition: '50% 50%', backgroundRepeat: 'no-repeat'}); | |
$("#scroll_right").css({position: 'absolute', zIndex: 1, height: '250px', width: '50px', top: 0, right: 0, backgroundImage: 'url(data:image/png;base64,' + right_arrow + ')', backgroundPosition: '50% 50%', backgroundRepeat: 'no-repeat'}); | |
$("#scroll_left, #scroll_right").hover( | |
function() { | |
$(this).css({backgroundColor: 'gray', opacity: 0.3}); | |
}, | |
function() { | |
$(this).css({backgroundColor: '', opacity: 1}); | |
} | |
); | |
$.get(staff_view, function(data) { | |
var call_number = $(data).find('td:contains("PST0")').first().next("td").text().match(/\|h\s+([^$]+?)(\s*\||$)/); | |
if (call_number) { | |
process_primary_call_number(call_number[1]); | |
} | |
}); | |
function process_primary_call_number(call_number) { | |
var adjacent_lookup = "http://libweb.lib.tcu.edu/F/?func=scan&scan_start=" + call_number + "&scan_code=LCI&local_base=tcudefault"; | |
$.get(adjacent_lookup, function(data) { | |
data = $(data); | |
var links_array = $.makeArray(data.find('th:contains("Index Number")').first().parent("tr").nextAll().slice(0,6).find("td:nth-child(2) > a")); | |
var previous_link = data.find('img[alt="Previous Page"]').parent("a").attr("href"); | |
$.get(previous_link, function(data_two) { | |
data_two = $(data_two); | |
var links_array_two = $.makeArray(data_two.find('th:contains("Index Number")').parent("tr").nextAll().slice(-5).find("td:nth-child(2) > a")); | |
links_array = links_array_two.concat(links_array); | |
get_thumbnails(links_array[0], links_array); | |
}); | |
}); | |
} | |
function get_thumbnails(link, links_array) { | |
var link_href = $(link).attr("href") + "&format=001"; | |
$.get(link_href, function(data) { | |
data = $(data); | |
var isbn = data.find('td:nth-child(1):contains("020")').first().next('td').text().match(/\|a\s+(\d+)/); | |
var sys_number = data.find('td:nth-child(1):contains("SYS")').first().next('td').text().match(/(\d+)/)[1]; | |
var src = "/favicon.ico"; | |
function process_next_link(link, links_array) { | |
var next_link = ($.inArray(link, links_array) + 1); | |
if (next_link < links_array.length) { | |
get_thumbnails(links_array[next_link], links_array); | |
} | |
else if (next_link == links_array.length) { | |
$('#my_thumbnails li:not(:first)').css({paddingLeft: "10px"}); | |
function startScrollingLeft() { | |
$('#my_thumbnails').parent("div").animate({scrollLeft: '-=40'}, "fast", "linear", startScrollingLeft); | |
} | |
function startScrollingRight() { | |
$('#my_thumbnails').parent("div").animate({scrollLeft: '+=40'}, "fast", "linear", startScrollingRight); | |
} | |
function stopScrolling() { | |
$('#my_thumbnails').parent("div").stop(); | |
} | |
$('#scroll_left').mousedown(startScrollingLeft).mouseup(stopScrolling); | |
$('#scroll_right').mousedown(startScrollingRight).mouseup(stopScrolling); | |
$('#thumbnails_container').show(); | |
$('#my_thumbnails').parent("div").scrollLeft(304); | |
} | |
} | |
if (isbn) { | |
isbn = isbn[1]; | |
$.getJSON('https://www.googleapis.com/books/v1/volumes?q=isbn:' + isbn, function(google_data) { | |
if (google_data && google_data.items && google_data.items[0].volumeInfo && google_data.items[0].volumeInfo.imageLinks && google_data.items[0].volumeInfo.imageLinks.thumbnail) { | |
src = google_data.items[0].volumeInfo.imageLinks.thumbnail; | |
} | |
var thumbnail_object = $("<li style='display:inline-block;'><a href='http://libweb.lib.tcu.edu/F/?func=direct&doc_library=TCU01&doc_number=" + sys_number + "'><div style='height: 191px; width: 128px; display: table-cell; vertical-align: middle; text-align:center;'><img style='max-height: 191px; max-width: 128px;' src='" + src + "'/></div></a></li>"); | |
$('#my_thumbnails').append(thumbnail_object); | |
process_next_link(link, links_array); | |
}); | |
} | |
else { | |
var thumbnail_object = $("<li style='display:inline-block;'><a href='http://libweb.lib.tcu.edu/F/?func=direct&doc_library=TCU01&doc_number=" + sys_number + "'><div style='height: 191px; width: 128px; display: table-cell; vertical-align: middle; text-align:center;'><img style='max-height: 191px; max-width: 128px;' src='" + src + "'/></div></a></li>"); | |
$('#my_thumbnails').append(thumbnail_object); | |
process_next_link(link, links_array); | |
} | |
}); | |
} | |
} | |
})(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment