var Wistlet = {
init : function () {
var o = document.getElementsByTagName('body').item(0);
//var text = (typeof(document.selection == 'undefined') ) ? getSelection() : document.selection.createRange().text;
function getSel() {
var txt = '';
if (window.getSelection) {
txt = window.getSelection();
} else if (document.getSelection) {
txt = document.getSelection();
} else if (document.selection) {
txt = document.selection.createRange().text;
} else {
return;
}
return txt;
}
var s = '' +
'
'+
''+
'

'+
'
Click on the most appropriate image below to create a thumbnail image for your bookmark:
'+
'
| \n';
var x = this.scrape_images();
if (x == 0)
{
location = 'http://www.wists.com/s.php?c=&r='+location+'&title='+document.title;
return true;
}
s += x +
' |
\n'+
'
Don\'t like any of these images? Create a thumbnail screenshot instead!
'+
'
';
o.innerHTML = s;
this.strip_document();
this.style_document();
return true;
},
make_thumbnail : function (r) {
var s = '' +
'\n';
return s;
},
submit_form : function (r) {
var f = document.getElementById('f'); if (!f) return false;
var u = document.getElementById('u'); if (!u) return false;
u.setAttribute("value", r);
f.submit();
return false;
},
get_background : function (o) {
var s = '';
if (window.getComputedStyle) s = window.getComputedStyle(o,null).getPropertyValue("background-image");
if (o.currentStyle) s = o.currentStyle.backgroundImage;
if (s == "none") s = "";
return s;
},
scrape_images : function () {
var a = document.getElementsByTagName('*');
var s = '';
var n = 0;
var l = [];
for (var i=0; i < a.length; i++)
{
var o = a[i];
if (o.tagName == "IMG" && o.src != "")
{
n++;
if (!l[o.src])
{
l[o.src] = "1";
s += this.make_thumbnail(o.src);
}
}
else
{
var x = /url\(["']?(.+[^'"])["']?\)/gi.exec(this.get_background(o));
if (x && x != "" && x.length > 1)
{
n++;
if (!l[x[1]])
{
l[x[1]] = "1";
s += this.make_thumbnail(x[1]);
}
}
}
}
if (n > 0)
{
return s
}
else {
return n;
}
},
strip_document : function () {
var a = document.getElementsByTagName('*');
for (var i=0; i < a.length; i++)
{
var o = a[i];
if (o.tagName == "LINK" || o.tagName == "STYLE")
{
this.destroy_element(o);
}
else if (o.tagName == "IMG")
{
if (o.offsetWidth <= 10 || o.offsetHeight <= 10)
{
// this.destroy_element(o.parentNode);
}
}
}
return true;
},
style_document : function () {
var x = document.getElementsByTagName('head').item(0);
var o = document.createElement('link');
if (typeof o != 'object') o = document.standardCreateElement('link');
o.setAttribute('href','http://www.wists.com/wistlet.css?x=' + Math.floor(Math.random() * 9999));
o.setAttribute('rel','stylesheet');
o.setAttribute('type','text/css');
x.appendChild(o);
return true;
},
destroy_element : function (o) {
while (o.childNodes.length > 0)
{
o.removeChild(o.childNodes[0]);
}
o.parentNode.removeChild(o);
}
}
function resizeImage(img) {
var img_width = img.offsetWidth;
var img_height = img.offsetHeight;
var img_aspect_ratio = Math.round((img_width / img_height) * 100) / 100;
var max_width = 120;
var max_height = 90;
var max_aspect_ratio = Math.round((max_width / max_height) * 100) / 100;
// alert("orig image size is " + img_width + "x" + img_height + "\n" + "aspect ratio is " + img_aspect_ratio + "\n\n" + "max image size is " + max_width + "x" + max_height + "\n" + "max aspect ratio is " + max_aspect_ratio);
var new_img_width = 0;
var new_img_height = 0;
var new_aspect_ratio = 0;
// if no resize needed
if (img_width < 120 && img_height < 90) {
new_img_width = img_width;
new_img_height = img_height;
// if wider
} else if (img_aspect_ratio > max_aspect_ratio) {
new_img_width = max_width;
new_img_height = Math.round(new_img_width / img_aspect_ratio);
// if taller
} else if (img_aspect_ratio < max_aspect_ratio) {
new_img_height = max_height;
new_img_width = Math.round(new_img_height * img_aspect_ratio);
// equal
} else {
new_img_width = max_width;
new_img_height = max_height;
}
img.style.width = new_img_width + "px";
img.style.height = new_img_height + "px";
new_aspect_ratio = Math.round((new_img_width / new_img_height) * 100) / 100;
// alert("new image size is " + new_img_width + "x" + new_img_height + "\n" + "new aspect ratio is " + new_aspect_ratio);
}
var sociable_old_onload = window.onload;
window.onload = function () {
imgs = document.getElementsByTagName("img");
for(var i = 0; i < imgs.length; i++) {
var img = imgs[i];
if (img.className == 'sociable-hovers sociable_wists') {
img.onclick = function() { Wistlet.init(); return false; }
}
}
if (sociable_old_onload) sociable_old_onload();
};