OA.js 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747
  1. var link = thisUrlParams.link;
  2. prefixes = queryManager['prefixes']['all'];
  3. queryURL = prefixes + (queryManager['querySchedaOpera']['queryInfo']).replace('{URI}', link);
  4. doJsonQuery(queryURL).done(function(data) { handle_OAdata(data); });
  5. queryPro = prefixes + (queryManager['querySchedaOpera']['queryProduction']).replace('{URI}', link);
  6. doJsonQuery(queryPro).done(function(data) { handle_Production(data); });
  7. queryBib = prefixes + (queryManager['querySchedaOpera']['queryBibliography']).replace('{URI}', link);
  8. doJsonQuery(queryBib).done(function(data) { handle_Bibliography(data); });
  9. queryPic = prefixes + (queryManager['querySchedaOpera']['queryPicture']).replace('{URI}', link);
  10. doJsonQuery(queryPic).done(function(data) { handle_Picture(data); });
  11. querySc = prefixes + (queryManager['querySchedaOpera']['querySchedeStoriche']).replace('{URI}', link);
  12. doJsonQuery(querySc).done(function(data) { handle_SchedeStoriche(data); });
  13. queryIcon = prefixes + (queryManager['querySchedaOpera']['queryIconclass']).replace('{URI}', link);
  14. doJsonQuery(queryIcon).done(function(data) { handle_Iconclass(data); });
  15. var img_pic = "";
  16. var img_cat = "";
  17. var img_sc = "";
  18. var img_g1858 = "";
  19. var img_g1888 = "";
  20. var img_p1912 = "";
  21. function handle_OAdata(json) {
  22. console.log(json['results']['bindings']);
  23. $.each(
  24. json['results']['bindings'],
  25. function (index, value) {
  26. var graph = value['graph']['value'];
  27. var label = value['label']['value'];
  28. var uri = value['uri']['value'];
  29. var title = "";
  30. var type = "";
  31. var current_owner = "";
  32. var current_location = "";
  33. var subject = "";
  34. var dimensions = "";
  35. var materials = "";
  36. var condition = "";
  37. var note = "";
  38. var identifier = "";
  39. var unit = "";
  40. var inscription = "";
  41. var conn_subject = "";
  42. var src_picture = "";
  43. var picture = "";
  44. var dataset = get_dataset_name(graph);
  45. if (value.hasOwnProperty('title')) {
  46. $("#SGTT").css("display", "flex");
  47. title = value['title']['value'];
  48. }
  49. if (value.hasOwnProperty('identifier')) {
  50. $("#NCT").css("display", "flex");
  51. identifier = value['identifier']['value'];
  52. }
  53. if (value.hasOwnProperty('type')) {
  54. $("#OGTD").css("display", "flex");
  55. type = "<div class='d-flex'><div class='mr-3'><a href='" + value['uriType']['value'] + "'>" +
  56. value['type']['value'] + "</a></div></div>";
  57. }
  58. if (value.hasOwnProperty('current_owner')) {
  59. $("#LDCN").css("display", "flex");
  60. current_owner = "<div class='d-flex'><div class='mr-3'><a href='" + value['uriOwner']['value'] + "'>" +
  61. value['current_owner']['value'] + "</a></div></div>";
  62. }
  63. if (value.hasOwnProperty('current_location')) {
  64. $("#LDCS").css("display", "flex");
  65. current_location = value['current_location']['value'];
  66. }
  67. if (value.hasOwnProperty('unit')) {
  68. unit = value['unit']['value'];
  69. }
  70. if (value.hasOwnProperty('subject')) {
  71. $("#SGTI").css("display", "flex");
  72. subject = value['subject']['value'];
  73. }
  74. if (value.hasOwnProperty('dimensions')) {
  75. if (value['dimensions']['value'] != "") {
  76. $("#MIS").css("display", "flex");
  77. dimensions = value['dimensions']['value'];
  78. }
  79. }
  80. if (value.hasOwnProperty('condition')) {
  81. $("#STCC").css("display", "flex");
  82. condition = value['condition']['value'];
  83. }
  84. if (value.hasOwnProperty('note')) {
  85. $("#NSC").css("display", "flex");
  86. note = value['note']['value'];
  87. }
  88. if (value.hasOwnProperty('iscrizione')) {
  89. $("#ISCR").css("display", "flex");
  90. inscription = value['iscrizione']['value'];
  91. }
  92. if (value.hasOwnProperty('uriSubjectPer')) {
  93. $("#SGTI_C").css("display", "flex");
  94. var givenName = value['personName']['value'];
  95. var surname = value['personSurname']['value'];
  96. var patronymic = value['personPatronymic']['value'];
  97. var name = givenName + " " + patronymic + " " + titleCase(surname);
  98. conn_subject = "<div class='d-flex'><div class='mr-3'><a href='" + value['uriSubjectPer']['value'] + "'>" +
  99. name + "</a></div><div class='d-flex ml-auto'><div class='persona btn-icon' style='cursor:pointer' id='" +
  100. value['uriSubjectPer']['value'] + "'><i class='fa fa-user'></i><p class='btn-text'>PERSONA</p></div></div></div></div>";
  101. }
  102. if (value.hasOwnProperty('Materials')) {
  103. if (value['Materials']['value'] != "") {
  104. $("#MTC").css("display", "flex");
  105. mm = value['Materials']['value'];
  106. mat = mm.split("<br />");
  107. for (i in mat) {
  108. slice = mat[i].split("; ");
  109. /*materials += "<a href='" + slice[0] + "'>" + slice[1] + "</a><br />";*/
  110. materials += "<div class='d-flex'><div class='mr-3'><a href='" + slice[0] + "'>" +
  111. slice[1] + "</a></div>";
  112. }
  113. }
  114. }
  115. var subjects = document.getElementsByClassName("subject");
  116. for (i in subjects) {
  117. subjects[i].innerHTML = subject;
  118. }
  119. var Buttons = '<button title="Apri risorsa originale" class="btn btn-default" type="button" onclick="schedaASPO(\'' + uri + '\')"> \
  120. <i class="fas fa-external-link-alt" aria-hidden="true"></i></button> \
  121. <button title="Citazione" type="button" value="artwork" id="' + uri + '" class="cit btn btn-default" alt="scheda" title="Citazione"><i class="fa fa-quote-right"></i></button> \
  122. <button title="Permalink" type="button" value="artwork" id="' + uri + '" class="hyp btn btn-default" alt="scheda" title="Hyperlink"><i class="fa fa-link"></i></button> \
  123. <a href="http://dev.restore.ovi.cnr.it/lodlive/?' + uri + '" target="_blank"><button type="button" title="Naviga il grafo" class="btn btn-default info" alt="LOD" title="LodLive"><i class="fa fa-share-alt"></i></button></a></div></div>';
  124. document.getElementById("grafo").innerHTML = dataset;
  125. document.getElementById("nome_oggetto").innerHTML = label;
  126. document.getElementById("identifier").innerHTML = identifier;
  127. document.getElementById("type").innerHTML = type;
  128. document.getElementById("owner").innerHTML = current_owner;
  129. document.getElementById("connected_subject").innerHTML = conn_subject;
  130. document.getElementById("dimensions").innerHTML = dimensions + unit;
  131. document.getElementById("materials").innerHTML = materials;
  132. document.getElementById("condition").innerHTML = condition;
  133. document.getElementById("description").innerHTML = note;
  134. document.getElementById("inscription").innerHTML = inscription;
  135. document.getElementById("link_buttons").innerHTML = Buttons;
  136. });
  137. }
  138. function handle_Picture(json) {
  139. console.log(json['results']['bindings']);
  140. var picture = "";
  141. const tavole = [];
  142. $.each(
  143. json['results']['bindings'],
  144. function (index, value) {
  145. var src_picture = value['picture']['value'];
  146. var tipo = "";
  147. if (value.hasOwnProperty('type')) {
  148. tipo = value['type']['value'];
  149. }
  150. let tv = [src_picture, tipo];
  151. tavole.push(tv);
  152. src_picture = value['picture']['value'];
  153. picture += '<div class="row"> \
  154. <img class="minImage viewImage" src="img/mpp_img/' + src_picture + '" onclick="expandImg(this);" /> \
  155. </div>';
  156. });
  157. var front_pic = "";
  158. if (tavole.length > 1) {
  159. for (i in tavole) {
  160. if (tavole[i][1] == "Tavola d'insieme") {
  161. front_pic = tavole[i][0];
  162. }
  163. }
  164. } else {
  165. front_pic = tavole[0][0];
  166. }
  167. img_pic = "img/mpp_img/" + front_pic;
  168. document.getElementById("image_artwork_min").innerHTML = picture;
  169. document.getElementById("expandedImg").src = "img/mpp_img/" + front_pic;
  170. }
  171. function get_dataset_name(graph) {
  172. var string = "Scheda Opera d'Arte";
  173. if (graph == "http://dev.restore.ovi.cnr.it:8890/mpp/martini") {
  174. string = string + " / Collezione Martini";
  175. }
  176. else if (graph == "http://dev.restore.ovi.cnr.it:8890/mpp/ospedale") {
  177. string = string + " / Collezione Ospedale";
  178. }
  179. else if (graph == "http://dev.restore.ovi.cnr.it:8890/mpp/datini") {
  180. string = string + " / Collezione Datini";
  181. }
  182. else {
  183. string = string;
  184. }
  185. return (string);
  186. }
  187. function handle_Production(json) {
  188. console.log(json['results']['bindings']);
  189. $.each(
  190. json['results']['bindings'],
  191. function (index, value) {
  192. var partecipants = "";
  193. var teche = "";
  194. var time = "";
  195. var client = "";
  196. var artist = "";
  197. var artist_name = "";
  198. if (value.hasOwnProperty('techniques')) {
  199. if (value['techniques']['value'] != "") {
  200. $("#MTC").css("display", "flex");
  201. tt = value['techniques']['value'];
  202. tec = tt.split("<br />");
  203. for (i in tec) {
  204. slice = tec[i].split("; ");
  205. /*teche += "<a href='" + slice[0] + "'>" + slice[1] + "</a><br />";*/
  206. teche += "<div class='d-flex'><div class='mr-3'><a href='" + slice[0] + "'>" +
  207. slice[1] + "</a></div>";
  208. }
  209. }
  210. }
  211. if (value.hasOwnProperty('Partecipants')) {
  212. pp = value['Partecipants']['value'];
  213. people = pp.split("<br />");
  214. for (i in people) {
  215. slice = people[i].split("; ");
  216. if (slice[2] == "Committente") {
  217. $("#CMM").css("display", "flex");
  218. client += slice[1];
  219. } else {
  220. $("#AUT").css("display", "flex");
  221. artist_name += slice[1];
  222. artist += "<div class='d-flex'><div class='mr-3'><a href='" + slice[0] + "'>" +
  223. slice[1] + "</a></div><div class='d-flex ml-auto'><div class='persona btn-icon' style='cursor:pointer' id='" +
  224. slice[0] + "'><i class='fa fa-user'></i><p class='btn-text'>PERSONA</p></div></div></div></div>";
  225. }
  226. }
  227. }
  228. if (value.hasOwnProperty('time') && (value['time']['value'] != "")) {
  229. $("#DT").css("display", "flex");
  230. time = value['time']['value'];
  231. }
  232. var authors = document.getElementsByClassName("author");
  233. for (i in authors) {
  234. authors[i].innerHTML = artist;
  235. }
  236. var dates = document.getElementsByClassName("date");
  237. for (i in dates) {
  238. dates[i].innerHTML = time;
  239. }
  240. document.getElementById("technique").innerHTML = teche;
  241. document.getElementById("client").innerHTML = client;
  242. });
  243. }
  244. function handle_Bibliography(json) {
  245. console.log(json['results']['bindings']);
  246. var Biblio = "";
  247. var bibCit = "";
  248. var g1858Cit = "";
  249. var g1888Cit = "";
  250. var p1912Cit = "";
  251. const bibArray = [];
  252. var catImg = "";
  253. var g1858Img = "";
  254. var g1888Img = "";
  255. var p1912Img = "";
  256. var img_m1956 = "";
  257. $.each(
  258. json['results']['bindings'],
  259. function (index, value) {
  260. var bib = value['bibliography']['value'];
  261. var pages = "";
  262. if (value.hasOwnProperty('pages')) {
  263. pages = value['pages']['value'];
  264. }
  265. if (value.hasOwnProperty('catalog')) {
  266. var type = "";
  267. if (value.hasOwnProperty('type')) {
  268. type = value['type']['value'];
  269. }
  270. if (type == "Guida Marchini 1958") {
  271. bibCit = value['bibliography']['value'] + " " + pages;
  272. cc = value['catalog']['value'];
  273. cat = cc.split(", ");
  274. for (i in cat) {
  275. var marchini = cat[i].replace(".jpg", " (1).jpg");
  276. img_cat = "img/MPP_marchini_stampa/" + marchini;
  277. catImg += '<div class="row"> \
  278. <img class="minImage viewImage" src="img/MPP_marchini_stampa/' + marchini + '" onclick="expandImg(this);" /> \
  279. </div>';
  280. }
  281. }
  282. if (type == "Guida Guasti 1858") {
  283. g1858Cit = value['bibliography']['value'] + " " + pages;
  284. cc1858 = value['catalog']['value'];
  285. cat1858 = cc1858.split(", ");
  286. for (i in cat1858) {
  287. var guasti1858 = cat1858[i];
  288. img_g1858 = "img/MPP_Guasti_1858/" + guasti1858;
  289. g1858Img += '<div class="row"> \
  290. <img class="minImage viewImage" src="img/MPP_Guasti_1858/' + guasti1858 + '" onclick="expandImg(this);" /> \
  291. </div>';
  292. }
  293. }
  294. if (type == "Guida Guasti 1888") {
  295. g1888Cit = value['bibliography']['value'] + " " + pages;
  296. cc1888 = value['catalog']['value'];
  297. cat1888 = cc1888.split(", ");
  298. for (i in cat1888) {
  299. var guasti1888 = cat1888[i];
  300. img_g1888 = "img/MPP_Guasti_1888/" + guasti1888;
  301. g1888Img += '<div class="row"> \
  302. <img class="minImage viewImage" src="img/MPP_Guasti_1888/' + guasti1888 + '" onclick="expandImg(this);" /> \
  303. </div>';
  304. }
  305. }
  306. if (type == "Catalogo Papini 1912") {
  307. p1912Cit = value['bibliography']['value'] + " " + pages;
  308. cc1912 = value['catalog']['value'];
  309. cat1912 = cc1912.split(", ");
  310. for (i in cat1912) {
  311. var papini1912 = cat1912[i];
  312. img_p1912 = "img/MPP_Papini_1912/" + papini1912;
  313. p1912Img += '<div class="row"> \
  314. <img class="minImage viewImage" src="img/MPP_Papini_1912/' + papini1912 + '" onclick="expandImg(this);" /> \
  315. </div>';
  316. }
  317. }
  318. }
  319. var book = bib + " " + pages;
  320. bibArray.push(book);
  321. });
  322. console.log(catImg);
  323. bibArray.sort();
  324. for (k in bibArray) {
  325. Biblio += '<li>' + bibArray[k] + '</li>';
  326. }
  327. document.getElementById("bibliography").innerHTML = Biblio;
  328. document.getElementById("catalog_description").innerHTML = bibCit;
  329. document.getElementById("guasti1858_description").innerHTML = g1858Cit;
  330. document.getElementById("guasti1888_description").innerHTML = g1888Cit;
  331. document.getElementById("papini1912_description").innerHTML = p1912Cit;
  332. if (catImg == "") {
  333. $("#btn_catalogo").css("display", "none");
  334. } else {
  335. document.getElementById("image_catalog_min").innerHTML = catImg;
  336. }
  337. if (g1858Img == "") {
  338. $("#btn_guasti1858").css("display", "none");
  339. } else {
  340. document.getElementById("image_guasti1858_min").innerHTML = g1858Img;
  341. }
  342. if (g1888Img == "") {
  343. $("#btn_guasti1888").css("display", "none");
  344. } else {
  345. document.getElementById("image_guasti1888_min").innerHTML = g1888Img;
  346. }
  347. if (p1912Img == "") {
  348. $("#btn_papini1912").css("display", "none");
  349. } else {
  350. document.getElementById("image_papini1912_min").innerHTML = p1912Img;
  351. }
  352. }
  353. function handle_Iconclass(json) {
  354. console.log(json['results']['bindings']);
  355. var Icon = "";
  356. $.each(
  357. json['results']['bindings'],
  358. function (index, value) {
  359. var uri_icon = value['uri_iconclass']['value'];
  360. var sigla_icon = value['iconclass']['value'];
  361. Icon += '<a href="' + uri_icon + '">' + sigla_icon + '</a><br />';
  362. });
  363. document.getElementById("iconclass").innerHTML = Icon;
  364. if (Icon != "") {
  365. $("#ICON").css("display", "flex");
  366. }
  367. }
  368. function handle_SchedeStoriche(json) {
  369. console.log(json['results']['bindings']);
  370. const schede = [];
  371. let suffix = ["0", "1", "2", "3", "4", "5"];
  372. var m1956Img = "";
  373. $.each(
  374. json['results']['bindings'],
  375. function (index, value) {
  376. var type = value['type']['value'];
  377. var scheda = value['scheda']['value'];
  378. console.log([type, scheda]);
  379. if (type == "Scheda Storica") {
  380. var sc = scheda.replace(".jpg", "");
  381. schede.push(scheda);
  382. img_sc = "img/schedeStoriche/" + sc + "/0.jpg";;
  383. for (i in suffix) {
  384. ss = suffix[i];
  385. var image_scheda = "img/schedeStoriche/" + sc + "/" + ss + ".jpg";
  386. createScheda(image_scheda);
  387. }
  388. }
  389. /* img_sc = "img/mpp_img/" + scheda;
  390. schede += '<div class="row"> \
  391. <img class="viewImage" src="img/mpp_img/' + scheda + '" onclick="expandImg(this);" /> \
  392. </div>';
  393. var dir = "img/schedeStoriche/" + scheda + "/";
  394. console.log(files);*/
  395. if (type == "Marchini 1956") {
  396. cc1956 = scheda;
  397. cat1956 = cc1956.split(", ");
  398. for (i in cat1956) {
  399. var marchini1956 = cat1956[i];
  400. img_m1956 = "img/MPP_Marchini_1956/" + marchini1956;
  401. m1956Img += '<div class="row"> \
  402. <img class="minImage viewImage" src="img/MPP_Marchini_1956/' + marchini1956 + '" onclick="expandImg(this);" /> \
  403. </div>';
  404. }
  405. }
  406. });
  407. console.log(schede);
  408. if (schede.length == 0) {
  409. $("#btn_schedastorica").css("display", "none");
  410. }/* else {
  411. document.getElementById("image_scheda_min").innerHTML = schede;
  412. }*/
  413. if (m1956Img == "") {
  414. $("#btn_marchini1956").css("display", "none");
  415. } else {
  416. document.getElementById("image_papini1912_min").innerHTML = m1956Img;
  417. }
  418. }
  419. function createScheda(image) {
  420. checkIfSchedaExists(image, (exists) => {
  421. if (exists) {
  422. console.log(image);
  423. var ImageScheda = '<div class="row"> \
  424. <img class="minImage viewImage" src="' + image + '" onclick="expandImg(this);"> \
  425. </div>';
  426. console.log(ImageScheda);
  427. $('#image_scheda_min').append(ImageScheda);
  428. } else {
  429. console.error('Image does not exists.')
  430. }
  431. });
  432. }
  433. function checkIfSchedaExists(url, callback) {
  434. const img = new Image();
  435. img.src = url;
  436. if (img.complete) {
  437. callback(true);
  438. } else {
  439. img.onload = () => {
  440. callback(true);
  441. };
  442. img.onerror = () => {
  443. callback(false);
  444. };
  445. }
  446. }
  447. function show_OA(){
  448. document.getElementById("OA_info").style.display = "block";
  449. document.getElementById("catalogo_info").style.display = "none";
  450. document.getElementById("scheda_info").style.display = "none";
  451. document.getElementById("guasti1858_info").style.display = "none";
  452. document.getElementById("guasti1888_info").style.display = "none";
  453. document.getElementById("papini1912_info").style.display = "none";
  454. document.getElementById("marchini1956_info").style.display = "none";
  455. document.getElementById("image_artwork_min").style.display = "block";
  456. document.getElementById("image_catalog_min").style.display = "none";
  457. document.getElementById("image_scheda_min").style.display = "none";
  458. document.getElementById("image_guasti1858_min").style.display = "none";
  459. document.getElementById("image_guasti1888_min").style.display = "none";
  460. document.getElementById("image_papini1912_min").style.display = "none";
  461. document.getElementById("image_marchini1956_min").style.display = "none";
  462. document.getElementById("img_title").innerHTML = "Opera";
  463. document.getElementById("expandedImg").src = img_pic;
  464. }
  465. function show_CAT(){
  466. document.getElementById("OA_info").style.display = "none";
  467. document.getElementById("catalogo_info").style.display = "block";
  468. document.getElementById("scheda_info").style.display = "none";
  469. document.getElementById("guasti1858_info").style.display = "none";
  470. document.getElementById("guasti1888_info").style.display = "none";
  471. document.getElementById("papini1912_info").style.display = "none";
  472. document.getElementById("marchini1956_info").style.display = "none";
  473. document.getElementById("image_artwork_min").style.display = "none";
  474. document.getElementById("image_catalog_min").style.display = "block";
  475. document.getElementById("image_scheda_min").style.display = "none";
  476. document.getElementById("image_guasti1858_min").style.display = "none";
  477. document.getElementById("image_guasti1888_min").style.display = "none";
  478. document.getElementById("image_papini1912_min").style.display = "none";
  479. document.getElementById("image_marchini1956_min").style.display = "none";
  480. document.getElementById("img_title").innerHTML = "Guida Marchini 1958";
  481. document.getElementById("expandedImg").src = img_cat;
  482. }
  483. function show_INV(){
  484. document.getElementById("OA_info").style.display = "none";
  485. document.getElementById("catalogo_info").style.display = "none";
  486. document.getElementById("scheda_info").style.display = "block";
  487. document.getElementById("guasti1858_info").style.display = "none";
  488. document.getElementById("guasti1888_info").style.display = "none";
  489. document.getElementById("papini1912_info").style.display = "none";
  490. document.getElementById("marchini1956_info").style.display = "none";
  491. document.getElementById("image_artwork_min").style.display = "none";
  492. document.getElementById("image_catalog_min").style.display = "none";
  493. document.getElementById("image_scheda_min").style.display = "block";
  494. document.getElementById("image_guasti1858_min").style.display = "none";
  495. document.getElementById("image_guasti1888_min").style.display = "none";
  496. document.getElementById("image_papini1912_min").style.display = "none";
  497. document.getElementById("image_marchini1956_min").style.display = "none";
  498. document.getElementById("img_title").innerHTML = "Scheda Storica";
  499. document.getElementById("expandedImg").src = img_sc;
  500. }
  501. function show_G1858(){
  502. document.getElementById("OA_info").style.display = "none";
  503. document.getElementById("catalogo_info").style.display = "none";
  504. document.getElementById("scheda_info").style.display = "none";
  505. document.getElementById("guasti1858_info").style.display = "block";
  506. document.getElementById("guasti1888_info").style.display = "none";
  507. document.getElementById("papini1912_info").style.display = "none";
  508. document.getElementById("marchini1956_info").style.display = "none";
  509. document.getElementById("image_artwork_min").style.display = "none";
  510. document.getElementById("image_catalog_min").style.display = "none";
  511. document.getElementById("image_scheda_min").style.display = "none";
  512. document.getElementById("image_guasti1858_min").style.display = "block";
  513. document.getElementById("image_guasti1888_min").style.display = "none";
  514. document.getElementById("image_papini1912_min").style.display = "none";
  515. document.getElementById("image_marchini1956_min").style.display = "none";
  516. document.getElementById("img_title").innerHTML = "Guida Guasti 1858";
  517. document.getElementById("expandedImg").src = img_g1858;
  518. }
  519. function show_G1888(){
  520. document.getElementById("OA_info").style.display = "none";
  521. document.getElementById("catalogo_info").style.display = "none";
  522. document.getElementById("scheda_info").style.display = "none";
  523. document.getElementById("guasti1858_info").style.display = "none";
  524. document.getElementById("guasti1888_info").style.display = "block";
  525. document.getElementById("papini1912_info").style.display = "none";
  526. document.getElementById("marchini1956_info").style.display = "none";
  527. document.getElementById("image_artwork_min").style.display = "none";
  528. document.getElementById("image_catalog_min").style.display = "none";
  529. document.getElementById("image_scheda_min").style.display = "none";
  530. document.getElementById("image_guasti1858_min").style.display = "none";
  531. document.getElementById("image_guasti1888_min").style.display = "block";
  532. document.getElementById("image_papini1912_min").style.display = "none";
  533. document.getElementById("image_marchini1956_min").style.display = "none";
  534. document.getElementById("img_title").innerHTML = "Guida Guasti 1888";
  535. document.getElementById("expandedImg").src = img_g1888;
  536. }
  537. function show_P1912(){
  538. document.getElementById("OA_info").style.display = "none";
  539. document.getElementById("catalogo_info").style.display = "none";
  540. document.getElementById("scheda_info").style.display = "none";
  541. document.getElementById("guasti1858_info").style.display = "none";
  542. document.getElementById("guasti1888_info").style.display = "none";
  543. document.getElementById("papini1912_info").style.display = "block";
  544. document.getElementById("marchini1956_info").style.display = "none";
  545. document.getElementById("image_artwork_min").style.display = "none";
  546. document.getElementById("image_catalog_min").style.display = "none";
  547. document.getElementById("image_scheda_min").style.display = "none";
  548. document.getElementById("image_guasti1858_min").style.display = "none";
  549. document.getElementById("image_guasti1888_min").style.display = "none";
  550. document.getElementById("image_papini1912_min").style.display = "block";
  551. document.getElementById("image_marchini1956_min").style.display = "none";
  552. document.getElementById("img_title").innerHTML = "Catalogo Papini 1912";
  553. document.getElementById("expandedImg").src = img_p1912;
  554. }
  555. function show_M1956(){
  556. document.getElementById("OA_info").style.display = "none";
  557. document.getElementById("catalogo_info").style.display = "none";
  558. document.getElementById("scheda_info").style.display = "none";
  559. document.getElementById("guasti1858_info").style.display = "none";
  560. document.getElementById("guasti1888_info").style.display = "none";
  561. document.getElementById("papini1912_info").style.display = "none";
  562. document.getElementById("marchini1956_info").style.display = "block";
  563. document.getElementById("image_artwork_min").style.display = "none";
  564. document.getElementById("image_catalog_min").style.display = "none";
  565. document.getElementById("image_scheda_min").style.display = "none";
  566. document.getElementById("image_guasti1858_min").style.display = "none";
  567. document.getElementById("image_guasti1888_min").style.display = "none";
  568. document.getElementById("image_papini1912_min").style.display = "none";
  569. document.getElementById("image_marchini1956_min").style.display = "block";
  570. document.getElementById("img_title").innerHTML = "Marchini 1956";
  571. document.getElementById("expandedImg").src = img_p1912;
  572. }
  573. function magnify(imgID, zoom) {
  574. var img, glass, w, h, bw;
  575. img = document.getElementById(imgID);
  576. /*create magnifier glass:*/
  577. glass = document.createElement("DIV");
  578. glass.setAttribute("class", "img-magnifier-glass");
  579. glass.setAttribute("id", "glass");
  580. /*insert magnifier glass:*/
  581. img.parentElement.insertBefore(glass, img);
  582. /*set background properties for the magnifier glass:*/
  583. glass.style.backgroundImage = "url('" + img.src + "')";
  584. glass.style.backgroundRepeat = "no-repeat";
  585. glass.style.backgroundSize = (img.width * zoom) + "px " + (img.height * zoom) + "px";
  586. bw = 3;
  587. w = glass.offsetWidth / 2;
  588. h = glass.offsetHeight / 2;
  589. /*execute a function when someone moves the magnifier glass over the image:*/
  590. glass.addEventListener("mousemove", moveMagnifier);
  591. img.addEventListener("mousemove", moveMagnifier);
  592. /*and also for touch screens:*/
  593. glass.addEventListener("touchmove", moveMagnifier);
  594. img.addEventListener("touchmove", moveMagnifier);
  595. function moveMagnifier(e) {
  596. var pos, x, y;
  597. /*prevent any other actions that may occur when moving over the image*/
  598. e.preventDefault();
  599. /*get the cursor's x and y positions:*/
  600. pos = getCursorPos(e);
  601. x = pos.x;
  602. y = pos.y;
  603. /*prevent the magnifier glass from being positioned outside the image:*/
  604. if (x > img.width - (w / zoom)) {x = img.width - (w / zoom);}
  605. if (x < w / zoom) {x = w / zoom;}
  606. if (y > img.height - (h / zoom)) {y = img.height - (h / zoom);}
  607. if (y < h / zoom) {y = h / zoom;}
  608. /*set the position of the magnifier glass:*/
  609. glass.style.left = (x - w) + "px";
  610. glass.style.top = (y - h) + "px";
  611. /*display what the magnifier glass "sees":*/
  612. glass.style.backgroundPosition = "-" + ((x * zoom) - w + bw) + "px -" + ((y * zoom) - h + bw) + "px";
  613. }
  614. function getCursorPos(e) {
  615. var a, x = 0, y = 0;
  616. e = e || window.event;
  617. /*get the x and y positions of the image:*/
  618. a = img.getBoundingClientRect();
  619. /*calculate the cursor's x and y coordinates, relative to the image:*/
  620. x = e.pageX - a.left;
  621. y = e.pageY - a.top;
  622. /*consider any page scrolling:*/
  623. x = x - window.pageXOffset;
  624. y = y - window.pageYOffset;
  625. return {x : x, y : y};
  626. }
  627. }