Skip to content

Instantly share code, notes, and snippets.

@masaakif
Created April 22, 2009 09:03
Show Gist options
  • Select an option

  • Save masaakif/99670 to your computer and use it in GitHub Desktop.

Select an option

Save masaakif/99670 to your computer and use it in GitHub Desktop.
amazon_ichikawa_library.user.js
// ==UserScript==
// @name Amazon Ichikawa Library Linky
// @namespace http://gist.github.com/99670
// @description Ichikawa Library Lookup from Amazon book listings.
// @include http://*.amazon.*
// ==/UserScript==
// Version 20090105
var DEBUG=true;
libsearch();
function libsearch() {
var val = document.getElementById("ASIN").value;
if (val!=''){
asin = val;
var header = document.evaluate("//div[@class='buying']/a", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
if (header) {
var f = document.createElement('form');
f.setAttribute('method', 'POST');
f.setAttribute('action', 'https://opac.city.ichikawa.chiba.jp/cgi-bin/Sopcsken.sh');
f.setAttribute('id', 'frmGMIchikawaLib');
f.setAttribute('onsubmit', 'return false;');
f.setAttribute('target', '_blank');
appendHiddenE(document, f, 'tkey', asin);
appendHiddenE(document, f, 'tgid', 'tyo:010A');
appendHiddenE(document, f, 'p_mode', '1');
appendHiddenE(document, f, 'g_mode', '0');
appendHiddenE(document, f, 'mad_list_cnt', '1000');
appendHiddenE(document, f, 'sgid', 'spno');
appendHiddenE(document, f, 'brws', 'ncdet');
appendHiddenE(document, f, 'ktyp9', 'shk|atk|spk|kek');
appendHiddenE(document, f, 'itfg9', 'c');
appendHiddenE(document, f, 'ser_type', '1');
var spl_link = document.createElement('a');
spl_link.setAttribute('href', "javascript:frmGMIchikawaLib.submit();");
spl_link.setAttribute('title', 'To Ichikawa City Library');
spl_link.innerHTML = '<span style=\"font-size:90%; background-color:#ffffcc;\">&raquo;&#x5E02;&#x5DDD;&#x5E02;&#x7ACB;&#x56F3;&#x66F8;&#x9928;&#x691C;&#x7D22;</span>';
f.appendChild(spl_link);
appendCheckboxE(document, f, 'srsl1', '1', true);
appendCheckboxE(document, f, 'srsl2', '2', true);
appendCheckboxE(document, f, 'srsl3', '3', true);
appendCheckboxE(document, f, 'lckns', '01', true);
appendCheckboxE(document, f, 'lckns', '02', true);
appendCheckboxE(document, f, 'lckns', '03', true);
appendCheckboxE(document, f, 'lckns', '04', true);
appendCheckboxE(document, f, 'lckns', '05', true);
appendCheckboxE(document, f, 'lckns', '06', true);
appendCheckboxE(document, f, 'lckns', '07', true);
header.parentNode.insertBefore(f, header);
}
}
}
function appendHiddenE(doc,f,name,value)
{
var felem = doc.createElement('input');
felem.setAttribute('type', 'hidden');
felem.setAttribute('name', name);
felem.setAttribute('value', value);
f.appendChild(felem);
}
function appendCheckboxE(doc, f, name, value, isChecked)
{
var felem = doc.createElement('input');
felem.setAttribute('type', 'checkbox');
felem.setAttribute('name', name);
felem.setAttribute('value', value);
felem.setAttribute('style', 'visibility:hidden');
felem.setAttribute('checked', isChecked ? "true" : "false");
f.appendChild(felem);
}
function debug() {
if ( typeof DEBUG != 'undefined' && DEBUG ) {
console.log.apply(this, arguments)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment