/*
    JavaScript support
    
    (c) 2010 Molecular Materials Informatics, Inc.

    All rights reserved
*/

// ----------------------- menu bar -----------------------

function menu_NavigateTo(url)
{
    window.location=url;
}

// ----------------------- zoom icon -----------------------

var ZOOM_W=40,ZOOM_H=40;
var zoomCurrent=null,zoomFocus=false,zoomType=null,zoomFile=null,zoomFullW=0,zoomFullH=0;

function zoom_MouseIn(event,ztype,imgfn,fullw,fullh)
{
    if (!event.target.width) return; // lame browser bailout

    var tgt=event.target;
    var xy=getAbsXY(tgt);
    var ox=event.offsetX ? event.offsetX : event.pageX-xy[0];
    var oy=event.offsetY ? event.offsetY : event.pageY-xy[1];
    var zx=xy[0]+Math.round(0.5*tgt.width-0.5*ZOOM_W);
    var zy=xy[1]+Math.round(0.5*tgt.height-0.5*ZOOM_H);

    var isFocus=ox>=zx && oy>=zy && ox<zx+ZOOM_W && oy<zy+ZOOM_H;
    
    if (zoomCurrent==tgt && zoomFocus) return;
    
    zoomCurrent=tgt;
    zoomFocus=isFocus;
    zoomType=ztype;
    zoomFile=imgfn;
    zoomFullW=fullw;
    zoomFullH=fullh;

    var pic=findNode("zoomicon");
    pic.style.visibility="visible";
    pic.style.left=zx+"px";
    pic.style.top=zy+"px";
    pic.src=isFocus ? "eyeball_h.png" : "eyeball.png";
}

function zoom_MouseOut(event)
{
    if (!event.target.width) return; // lame browser bailout

    var tgt=event.target;
    var pic=findNode("zoomicon");
    if (event.relatedTarget==pic) return;
    
    if (tgt==zoomCurrent)
    {
        zoomCurrent=null;
        var pic=findNode("zoomicon");
        pic.style.visibility="hidden";
    }
}

function zoom_Highlight(event)
{
    if (!event.target.width) return; // lame browser bailout

    var pic=findNode("zoomicon");
    pic.src="eyeball_h.png";
    pic.style.cursor="pointer";
}

function zoom_Unhighlight(event)
{
    if (!event.target.width) return; // lame browser bailout

    var pic=findNode("zoomicon");
    pic.src="eyeball.png";
    pic.style.cursor="default";
}

function zoom_Click(event)
{
    if (!event.target.width) return; // lame browser bailout

    var width=Math.min(1000,zoomFullW+30),height=Math.min(800,zoomFullH+80);
    var spec="width="+width+",height="+height+",scrollbars=yes,resizable=yes,location=no,toolbar=no,menubar=no";
    
    var wnd=window.open("about:blank","MMI_Detail",spec);
	wnd.resizeTo(width,height);
	if (wnd.focus) {wnd.focus()}

    var wr=wnd.document;
    
    wr.write("<html><head><title>Detail</title><head>\n");
    wr.write("<body>\n");
    wr.write("<img src=\""+zoomFile+"\">\n");
    wr.write("</body></html>\n");
    wr.close();
}

// ----------------------- sharing the link -----------------------

// Populates the icons for sharing the current page's content.

function share_OpenBlock()
{
    var shareBlock=findNode("share_block");

    var html="";

    html+=share_AddGlyph("http://www.linkedin.com/shareArticle?mini=true&amp;url=","LinkedIn",-1,-37);
    html+=share_AddGlyph("http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=","Google Bookmarks",-91,-19);
    html+=share_AddGlyph("http://twitter.com/share?via=aclarkxyz&amp;url=","Twitter",-343,-55);
    html+=share_AddGlyph("http://digg.com/submit?url=","Digg",-235,-1);

    //html+="<br>";

    html+=share_AddGlyph("http://www.stumbleupon.com/submit?url=","Stumbled Upon",-217,-55);
    html+=share_AddGlyph("http://delicious.com/post?url=","del.icio.us",-199,-1);
    html+=share_AddGlyph("http://www.facebook.com/share.php?u=","Facebook",-343,-1);
    html+=share_AddGlyph("http://cgi.fark.com/cgi/fark/farkit.pl?h=","Fark",-1,-19);

    //html+="<br>";

    html+=share_AddGlyph("http://reddit.com/submit?url=","Reddit",-55,-55);
    html+=share_AddGlyph("http://www.mixx.com/submit?page_url=","Mixx",-91,-37);
    html+=share_AddGlyph("http://technorati.com/faves?add=","Technorati",-271,-55);
    html+=share_AddGlyph("https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=","Live",-37,-37);

    //html+="<br>";

    html+=share_AddGlyph("http://buzz.yahoo.com/submit/?submitUrl=","Yahoo! Buzz",-127,-73);
    html+=share_AddGlyph("http://www.myspace.com/Modules/PostTo/Pages/?u=","MySpace",-145,-37);
    html+=share_AddGlyph("http://www.newsvine.com/_tools/seed&amp;save?u=","NewsVine",-217,-37);
    html+=share_AddGlyph("http://www.tumblr.com/share?v=3&amp;u=","",-325,-55);

    shareBlock.innerHTML=html;
}


function share_AddGlyph(linkBase,title,insetX,insetY)
{
    var url=document.location.href;
    var html="<a href=\""+linkBase+escape(url)+"\" target=\"_blank\"\">"+
             "<img src=\"blank.gif\" style=\"width: 16px; height: 16px; background: transparent url(sharing_icons.png) no-repeat;"+
             " background-position: "+insetX+"px "+insetY+"px;\" border=\"0\" title=\""+title+"\" alt=\""+title+"\"></a>\n";
    return html;    
}


