rem: est_lines = parseInt(get("pup").innerHTML.length / (parseInt(skin.width)/10) ); 
add: est_lines = parseInt(document.getElementById("pup").innerHTML.length / (parseInt(skin.width)/10) ); 
context: function nudge(x,y){  var extreme, overflow, temp;    if(iex) extreme = window.document.body.clientWidth - popwidth;  if(n_6 || nav) extreme = window.innerWidth - popwidth - 25;  extreme -= minMarginToBorder;    // let's operate on these instead of the real skin  newtop = parseInt(skin.top);  newleft = parseInt(skin.left);    // right  if(newleft>extreme)  {    //overflow = newleft - extreme;	// this behavior caused flickering ...    //newleft -= overflow;			//  when both right and bottom were adjusted	newleft -= (parseInt(popwidth) + minMarginToBorder + 20 );  }  // left - should almost never be a problem - we're drawing the window   // to the right of the mouse per default (maybe corrected by the code above  // but then this has the last horizontal word)  if(newleft<1)  {    overflow = newleft - 1;    newleft -= overflow;  }  //down: when I am close to the bottom, move it up  //I estimate the lines that fit in the width, assuming a char width of 10 pixels  // and a (little pessimistic) line height of 20 (That should work for most cases)  est_lines = parseInt(get("pup").innerHTML.length / (parseInt(skin.width)/10) );  if((newtop + parseInt(est_lines * 20)) > window.innerHeight) {  	newtop = parseInt(window.innerHeight) - parseInt(est_lines * 20); //correct  }    if(nav || iex) {	  skin.left = newleft;	  skin.top = newtop;  }else if(n_6){	  skin.left = newleft + "px";	  skin.top = newtop + "px";  }}
meta: 4689	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/4689/2a777b1c8fd98e86a8add781f9725753a7e30213/popup.js/clean/scripts/popup.js