All pastes #999223 Raw Edit

Untitled

public javascript v1 · immutable
#999223 ·published 2008-04-27 11:22 UTC
rendered paste body
  	if (imgL ==1){    function makeThumb(inX, inY, maxX, maxY) {    var retVal={changed:false, widthChanged:false, heightChanged:false, width:inX, height:inY};    if(inX>maxX || inY>maxY) {      retVal.changed=true;      var xRatio=1.0*inX/(1.0 * maxX);      var yRatio=1.0*inY/(1.0 * maxY);      if(yRatio>xRatio) {        retVal.height=maxY;        retVal.heightChanged=true;        retVal.width=Math.ceil((1.0*inX)/yRatio);      }      else {        retVal.width=maxX;        retVal.widthChanged=true;        retVal.height=Math.ceil((1.0*inY)/xRatio);      }    }    return retVal;  }  	  		    function addImageToImageAnchor(Anchor, Container, num) {    var extensions=".jpeg.jpg.gif.png.bmp";  	var href=Anchor.href.toLowerCase();    var dot=href.lastIndexOf(".");    if(dot >= 0 && extensions.indexOf(href.substr(dot)) >= 0) {      var imgObj=document.createElement('IMG');      EventManager.Add(imgObj,"load", function() {        var div=document.createElement("DIV");        var img=document.createElement("IMG");        img=div.appendChild(img);        img.style.border="none";        img.style.padding="0";        img.style.margin="0";        var width;        if(document.defaultView && document.defaultView.getComputedStyle)          width=parseInt(document.defaultView.getComputedStyle(Container, '').getPropertyValue("width"));        else          width=Container.clientWidth-24;        width=parseInt(width);        width-=(imagePadding*2);        var dimension=makeThumb(imgObj.width, imgObj.height, width, maxHeight);        if(dimension.changed) {          img.style.cursor="move";          img.id=imgObj.alt;          if(dimension.widthChanged) {            img.style.width=dimension.width+"px";            imageTable[img.id]={width:imgObj.width+"px"};          }          if(dimension.heightChanged) {            img.style.height=dimension.height+"px";            imageTable[img.id]={height:imgObj.height+"px"};          }          EventManager.Add(img, "click", clickImage, false);          div.style.paddingLeft=imagePadding+"px";          div.style.paddingRight=imagePadding+"px";        }        Anchor.parentNode.insertBefore(div, Anchor);        img.src=imgObj.src;      }, false);      var id="addImage"+num;      imgObj.alt=id;      imgObj.src=Anchor.href;    }  }}  	  function configImages(e) {    var newDiv=document.getElementById("wimage_config");    if(newDiv)      return;    newDiv=document.body.appendChild(document.createElement("DIV"));    newDiv.style.position="absolute";    //newDiv.style.display="-moz-stack";    newDiv.style.top=(e.pageY-10)+"px";    newDiv.style.left=(e.pageX-10)+"px";    newDiv.style.zIndex="9999";    newDiv.style.height="164px";    newDiv.style.color="black";    newDiv.id="wimage_config";    newDiv=newDiv.appendChild(document.createElement("DIV"));    newDiv.style.border="ridge 2px";    newDiv.style.padding="10px";    newDiv.style.backgroundColor="#ddddff";    newDiv.appendChild(document.createTextNode("Image padding"));    newDiv.appendChild(document.createElement("BR"));    var inPadding=newDiv.appendChild(document.createElement("INPUT"));    inPadding.type="text";    inPadding.value=imagePadding;    inPadding.id="wimage_padding";    newDiv.appendChild(document.createElement("BR"));    newDiv.appendChild(document.createTextNode("Maximum height"));    newDiv.appendChild(document.createElement("BR"));    var inHeight=newDiv.appendChild(document.createElement("INPUT"));    inHeight.type="text";    inHeight.value=maxHeight;    inHeight.id="wimage_height";    newDiv.appendChild(document.createElement("BR"));    newDiv.appendChild(document.createTextNode("Inline youTube"));    var inYouTube=newDiv.appendChild(document.createElement("INPUT"));    inYouTube.type="checkbox";    inYouTube.checked=youTube;    inYouTube.id="wimage_youtube";    newDiv.appendChild(document.createElement("BR"));    newDiv.appendChild(document.createTextNode("Inline Google"));    var inGoogleVid=newDiv.appendChild(document.createElement("INPUT"));    inGoogleVid.type="checkbox";    inGoogleVid.checked=googleVid;    inGoogleVid.id="wimage_googlevid";    newDiv.appendChild(document.createElement("BR"));    newDiv.appendChild(document.createElement("BR"));    var inClose=newDiv.appendChild(document.createElement("INPUT"));    inClose.type="button";    inClose.value="CANCEL";    EventManager.Add(inClose, "click", function() {      var div=document.getElementById("wimage_config");      document.body.removeChild(div);    }, false);    var inSubmit=newDiv.appendChild(document.createElement("INPUT"));    inSubmit.type="button";    inSubmit.value="ACCEPT";    EventManager.Add(inSubmit, "click", function() {      var div=document.getElementById("wimage_config");      var pad=document.getElementById("wimage_padding");      var hgt=document.getElementById("wimage_height");      var eyt=document.getElementById("wimage_youtube");      var egv=document.getElementById("wimage_googlevid");      var imagePadding=parseInt(pad.value);      var maxHeight=parseInt(hgt.value);      var youTube=eyt.checked;      var googleVid=egv.checked;      GM_setValue("imagePadding", imagePadding.toString());      GM_setValue("maximumHeight", maxHeight.toString());      GM_setValue("embedYoutube", youTube.toString());      GM_setValue("embedGoogleVid", googleVid.toString());      document.body.removeChild(div);    }, false);  }  var imgNum=0;  if (imgL ==1){  $p(".//TD[@class='bodytext']", document.body).forEach(function(reply) {    var links=reply.getElementsByTagName("A");    Array.forEach(links, function(lnk) { addImageToImageAnchor(lnk, reply, imgNum++); });  });  var breadTask=document.evaluate(".//DIV[@class='foot_subs']",document.body,null,XPathResult.ANY_UNORDERED_NODE_TYPE,null).singleNodeValue;  if(!breadTask) breadTask=document.getElementById('breadcrumb_footer');  if(breadTask) {    var sw=breadTask.nodeName == 'DIV';    var xconfig=breadTask.appendChild(document.createElement(sw?"SPAN":"LI"));    var config=xconfig.appendChild(document.createElement("SPAN"));	config.style.fontSize=sw?"0.85em":"0.55em";    config.appendChild(document.createTextNode("{Images}"));    xconfig.className="small";    config.style.color="#000080";    config.style.cursor="pointer";    EventManager.Add(config, "click", configImages, false);  }    }