Menu at mouse cursor

Posted: April 16th, 2008 | Author: | Filed under: Developers, Javascript | No Comments »


<pre lang="javascript">
<STYLE TYPE="text/css">
<!--
#dek {POSITION:absolute;VISIBILITY:hidden;Z-INDEX:200;}
//-->
</STYLE>
<DIV ID="dek"></DIV>
<SCRIPT TYPE="text/javascript">
<!--
function popUp(theURL, myWidth, myHeight) {
  var winName = 'feedback';
  var features='toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1';
  //var myWidth = 290;
  //var myHeight = 360;
  var isCenter = 'true';
  if(window.screen)if(isCenter)if(isCenter=="true"){
    var myLeft = (screen.width-myWidth)/2;
    var myTop = (screen.height-myHeight)/2;
    features+=(features!='')?',':'';
    features+=',left='+myLeft+',top='+myTop;
  }
  var handle = window.open(theURL,winName,features+((features!='')?',':'')+'width='+myWidth+',height='+myHeight);
  handle.opener = window;
  handle.focus();
  return handle;
}

Xoffset=0; // modify these values to ...
Yoffset= 0; // change the popup position.
var old,skn,iex=(document.all),yyy=Yoffset;//-1000;
var ns4=document.layers
var ns6=document.getElementById&&!document.all
var ie4=document.all
var must_close = false;
var mouse_x = 0;
var mouse_y = 0;
var timeoutId = false;
function initdek(){
  if (ns4) skn=document.dek;
  else if (ns6) skn=document.getElementById("dek").style;
  else if (ie4) skn=document.all.dek.style;
  
  if(ns4)document.captureEvents(Event.MOUSEMOVE);
  else{
    skn.visibility="visible"
    skn.display="none"
  }
  document.onmousemove=get_mouse;
}
//ONMOUSEOVER="keep_it_open()" ONMOUSEOUT="about_to_close()"
function popupdek(msg){
  keep_it_open();
  var content='<div style="border:1px solid #999; padding:10px;background-color:#f87" ONMOUSEOVER="keep_it_open()" ONMOUSEOUT="about_to_close()">' + msg + '</div>';
  
  yyy=Yoffset;
  skn.left = mouse_x;
  skn.top = mouse_y;
  if(ns4){skn.document.write(content);skn.document.close();skn.visibility="visible"}
  if(ns6){document.getElementById("dek").innerHTML=content;skn.display=''}
  if(ie4){document.all("dek").innerHTML=content;skn.display=''}
}

function get_mouse(e){
  if(ns4||ns6){
    mouse_x=e.pageX+Xoffset+'px';
    mouse_y=e.pageY+yyy + 'px';
  }else{
    if (document.documentElement){
      // IE6 +4.01
      mouse_x=event.x+document.documentElement.scrollLeft+Xoffset+'px';
      mouse_y=event.y+document.documentElement.scrollTop+yyy + 'px';
    }else if (document.body){
      // IE5 or DTD 3.2
      mouse_x=event.x+document.body.scrollLeft+Xoffset+'px';
      mouse_y=event.y+document.body.scrollTop+yyy + 'px';
    }
  }
}

function kill(){
//yyy=-1000;
if(ns4){skn.visibility="hidden";}
else if (ns6||ie4)
  skn.display="none"
  is_visible=0;
}

function keep_it_open(){
  if(timeoutId) clearTimeout(timeoutId);
  timeoutId = false;
}

function about_to_close(){
  timeoutId = setTimeout('kill()',1000);
}

function set_must_close(){
  must_close=true;
  kill();
}

initdek();

function showTags(str){
  var msg = "<strong>Tags:</strong><br/>" + str.replace(/\,/,'<br/>');
  msg += '<br/><form action=""><input type="text" size="10" value="enter tag.." name="tag"/><input type="submit" value="Add"></form>';
  popupdek(msg);
}
function showManage(pid){
  var msg = "<strong>Management:</strong><br/>" ;
  msg += '<a href="#" onclick="popUp(\'imageop/add_image~' + pid + '.html\',400,300)" >Add image</a><br/>';
  msg += '<a href="#" onclick="popUp(\'imageop/delete_image~' + pid + '.html\',400,300)" >Delete image</a><br/>';
  msg += '<br/><form action=""><input type="file" size="10" value="" name="uploadfile"/><br/><input type="submit" value="Upload"></form>';
  popupdek(msg);
}

function showLinks(pid, iurl){
  var msg = "<strong>Links:</strong><br/>" ;
  msg += '<a href="<?=$PROFILEORIGIN?>/list_profile~' + pid + '.html" target="_blank">Profile home</a><br/>';
  msg += '<a href="' + iurl + '" target="_blank" >Source URL</a><br/>';
  popupdek(msg);
}
//-->
</SCRIPT>
</pre>

Used as:
<a href="http://www.blogger.com/post-edit.do#" onmouseover="showTags('taglist,comma separated)');keep_it_open()" onmouseout="about_to_close()" onclick="return false">Tags</a>


Centered popup window

Posted: April 16th, 2008 | Author: | Filed under: Developers, Javascript | No Comments »


<pre lang="javascript">
<SCRIPT TYPE="text/javascript">
<!--
function popUp(theURL, myWidth, myHeight) {
  var winName = 'feedback';
  var features='toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0';
  //var myWidth = 290;
  //var myHeight = 360;
  var isCenter = 'true'; 
  if(window.screen)
    if(isCenter && isCenter=="true"){   
      var myLeft = (screen.width-myWidth)/2;   
      var myTop = (screen.height-myHeight)/2;   
      features+=(features!='')?',':'';   
      features+=',left='+myLeft+',top='+myTop; 
    } 
  var handle = window.open(theURL,winName,features+((features!='')?',':'')+'width='+myWidth+',height='+myHeight);
  handle.opener = window;  handle.focus(); return handle;
}
//--></SCRIPT>
</pre>