﻿
onerror = errWindow
function errWindow(errMsg,location,lineNum)
{
    debugWin = window.open("","depugWin","height=200,width-300,resize=yes")
    debugWin.document.write("<h2>There was an error at line " + lineNum)
    debugWin.document.write("<br>The error was: " + errMsg)
    debugWin.document.close()
    return true
}











// Extended Tooltip Javascript
// copyright 9th August 2002, 3rd July 2005
// by Stephen Chapman, Felgall Pty Ltd

// permission is granted to use this javascript provided that the below code is not altered


var DH = 0;
var an = 0;
var al = 0;
var ai = 0;
var disappeardelay = 250;  //menu disappear speed onMouseout (in miliseconds)
var ie4=document.all;
var ns6=document.getElementById&&!document.all;

if (document.getElementById)
{
    ai = 1;
    DH = 1;
}else
{
    if (document.all)
    {
        al = 1;
        DH = 1;
    }else
    {
        browserVersion = parseInt(navigator.appVersion);
        if ((navigator.appName.indexOf('Netscape') != -1) && (browserVersion == 4))
        {
            an = 1;
            DH = 1;
        }
    }
} 

function fd(oi, wS)
{
    if (ai) return wS ? document.getElementById(oi).style:document.getElementById(oi);
    if (al) return wS ? document.all[oi].style: document.all[oi];
    if (an) return document.layers[oi];
}

function popOpen(oi,itemID,projectName)
{
    if (DH)
    {
        ds = fd(oi,1);
        dm = fd(oi,0);
        
        if(oi == "compound_pop")
        {
            if(projectName == "Pharmabase")
            {
                new Ajax.Request("ajax.php", {
                    method: 'get',
                    parameters: {func: "compound_name", compoundID: itemID},
                    onSuccess: function(transport){
                            document.getElementById("compound_name").innerHTML = transport.responseText;
                            
                            new Ajax.Request("ajax.php", {
                                method: 'get',
                                parameters: {func: "compound_details", compoundID: itemID, project: projectName},
                                onSuccess: function(transport){
                                        document.getElementById("compound_details").innerHTML = transport.responseText;
                                        
                                        new Ajax.Request("ajax.php", {
                                            method: 'get',
                                            parameters: {func: "yahooImages", searchType: "compound", searchID: itemID, project: projectName},
                                            onSuccess: function(transport){
                                                    document.getElementById("yahooImages").innerHTML = transport.responseText;
                                                    
                                                    new Ajax.Request("ajax.php", {
                                                        method: 'get',
                                                        parameters: {func: "pubMed", searchType: "compound", searchID: itemID, project: projectName},
                                                        onSuccess: function(transport){
                                                                document.getElementById("pubMed").innerHTML = transport.responseText;
                                                    
                                                                new Ajax.Request("ajax.php", {
                                                                    method: 'get',
                                                                    parameters: {func: "pubChemCompounds", searchType: "compound", searchID: itemID, project: projectName},
                                                                    onSuccess: function(transport){
                                                                            document.getElementById("pubchemCompounds").innerHTML = transport.responseText;
                                                                
                                                                            new Ajax.Request("ajax.php", {
                                                                                method: 'get',
                                                                                parameters: {func: "pubChemSubstances", searchType: "compound", searchID: itemID, project: projectName},
                                                                                onSuccess: function(transport){
                                                                                        document.getElementById("pubchemSubstances").innerHTML = transport.responseText;
                                                                            
                                                                                        new Ajax.Request("ajax.php", {
                                                                                            method: 'get',
                                                                                            parameters: {func: "googleSearch", searchType: "compound", searchID: itemID, project: projectName},
                                                                                            onSuccess: function(transport){
                                                                                                    document.getElementById("googleSearch").innerHTML = transport.responseText;
                                                                                                }
                                                                                        });
                                                                                    }
                                                                            });
                                                                        }
                                                                });
                                                            }
                                                    });
                                                }
                                        });
                                    }
                            });
                        }
                });
            }else if(projectName == "Alomone")
            {
                new Ajax.Request("ajax.php", {
                    method: 'get',
                    parameters: {func: "alomone_name", resourceItemID: itemID},
                    onSuccess: function(transport){
                            document.getElementById("compound_name").innerHTML = transport.responseText;
                            
                            new Ajax.Request("ajax.php", {
                                method: 'get',
                                parameters: {func: "alomone_details", resourceItemID: itemID},
                                onSuccess: function(transport){
                                        document.getElementById("compound_details").innerHTML = transport.responseText;
                                    }
                            });
                        }
                });
            }else if(projectName == "Calbiochem")
            {
                new Ajax.Request("ajax.php", {
                    method: 'get',
                    parameters: {func: "calbiochem_name", resourceItemID: itemID},
                    onSuccess: function(transport){
                            document.getElementById("compound_name").innerHTML = transport.responseText;
                            
                            new Ajax.Request("ajax.php", {
                                method: 'get',
                                parameters: {func: "calbiochem_details", resourceItemID: itemID},
                                onSuccess: function(transport){
                                        document.getElementById("compound_details").innerHTML = transport.responseText;
                                    }
                            });
                        }
                });
            }
        }else if(oi == "subject_pop")
        {
            new Ajax.Request("ajax.php", {
                method: 'get',
                parameters: {func: "subject_name", subjectID: itemID},
                onSuccess: function(transport){
                        document.getElementById("subject_name").innerHTML = transport.responseText;
                        
                        new Ajax.Request("ajax.php", {
                            method: 'get',
                            parameters: {func: "subject_details", subjectID: itemID},
                            onSuccess: function(transport){
                                    document.getElementById("subject_details").innerHTML = transport.responseText;
                                    
                                    new Ajax.Request("ajax.php", {
                                        method: 'get',
                                        parameters: {func: "pubMed", searchType: "subject", searchID: itemID, project: projectName},
                                        onSuccess: function(transport){
                                                document.getElementById("pubMed").innerHTML = transport.responseText;
                                                
                                                new Ajax.Request("ajax.php", {
                                                    method: 'get',
                                                    parameters: {func: "pubChemCompounds", searchType: "subject", searchID: itemID, project: projectName},
                                                    onSuccess: function(transport){
                                                            document.getElementById("pubchemCompounds").innerHTML = transport.responseText;
                                                            
                                                            new Ajax.Request("ajax.php", {
                                                                method: 'get',
                                                                parameters: {func: "pubChemSubstances", searchType: "subject", searchID: itemID, project: projectName},
                                                                onSuccess: function(transport){
                                                                        document.getElementById("pubchemSubstances").innerHTML = transport.responseText;
                                                                        
                                                                        new Ajax.Request("ajax.php", {
                                                                            method: 'get',
                                                                            parameters: {func: "googleSearch", searchType: "subject", searchID: itemID, project: projectName},
                                                                            onSuccess: function(transport){
                                                                                    document.getElementById("googleSearch").innerHTML = transport.responseText;
                                                                                }
                                                                        });
                                                                    }
                                                            });
                                                        }
                                                });
                                            }
                                    });
                                }
                        });
                    }
            });
        }
        
        
        if (document.documentElement)
    	{
    		theTop = document.documentElement.scrollTop;
    	}
    	else if (document.body)
    	{
    		theTop = document.body.scrollTop;
    	}
    	
    	theTop += 120;
    	
    	commpoundPop = document.getElementById(oi);
    	commpoundPop.style.top = theTop + 'px';
    	
    	ds.visibility = "visible";
    }
}

function popOpen_resources(oi,itemID,projectName,cID)
{
    if (DH)
    {
        ds = fd(oi,1);
        dm = fd(oi,0);
        
        if(oi == "compound_pop")
        {
            if(projectName == "Alomone")
            {
                new Ajax.Request("ajax.php", {
                    method: 'get',
                    parameters: {func: "alomone_name", resourceItemID: itemID},
                    onSuccess: function(transport){
                            document.getElementById("compound_name").innerHTML = transport.responseText;
                            
                            new Ajax.Request("ajax.php", {
                                method: 'get',
                                parameters: {func: "alomone_details", resourceItemID: itemID, compoundID: cID},
                                onSuccess: function(transport){
                                        document.getElementById("compound_details").innerHTML = transport.responseText;
                                    }
                            });
                        }
                });
            }else if(projectName == "Calbiochem")
            {
                new Ajax.Request("ajax.php", {
                    method: 'get',
                    parameters: {func: "calbiochem_name", resourceItemID: itemID},
                    onSuccess: function(transport){
                            document.getElementById("compound_name").innerHTML = transport.responseText;
                            
                            new Ajax.Request("ajax.php", {
                                method: 'get',
                                parameters: {func: "calbiochem_details", resourceItemID: itemID, compoundID: cID},
                                onSuccess: function(transport){
                                        document.getElementById("compound_details").innerHTML = transport.responseText;
                                    }
                            });
                        }
                });
            }
        }
        
        
        if (document.documentElement)
    	{
    		theTop = document.documentElement.scrollTop;
    	}
    	else if (document.body)
    	{
    		theTop = document.body.scrollTop;
    	}
    	
    	theTop += 120;
    	
    	commpoundPop = document.getElementById(oi);
    	commpoundPop.style.top = theTop + 'px';
    	
    	ds.visibility = "visible";
    }
}

function popClose(oi)
{
    ds = fd(oi,1);
    ds.visibility = "hidden";
    
    if(oi == "compound_pop")
    {
        document.getElementById("compound_name").innerHTML = "&nbsp;";
        document.getElementById("compound_details").innerHTML = "<center><img src='images/loading.gif'></center>";
    }else
    {
        document.getElementById("subject_name").innerHTML = "&nbsp;";
        document.getElementById("subject_details").innerHTML = "<center><img src='images/loading.gif'></center>";
    }
}

function confirm_delete(varHref,varType)
{
    if (confirm("  Are you sure you want to delete this "+varType+"?"))
    {
        location.href=varHref;
    }else
    {
        return false;
    }    
}

function togNode(strNodeID)
{
    var node  = document.getElementById(strNodeID);
    var style = node.style.display;

    if (style == "block")
    {
        node.style.display = "none";
    }
    else
    {
        node.style.display = "block";
    }
}



var mousex = 0;
var mousey = 0;
var divx = 0;
var divy = 0;
var fieldx = 0;
var fieldy = 0;
var imgx = 0;
var imgy = 0;
var firstx = 0;
var firsty = 0;

var coordString = '';
var imgName = '';


function getMouseXY(e) // works on IE6,FF,Moz,Opera7
{ 
    if (!e) e = window.event; // works on IE, but not NS (we rely on NS passing us the event)
    
    if (e)
    { 
        if (e.pageX || e.pageY)
        {
            mousex = e.pageX;
            mousey = e.pageY;
        }
        else if (e.clientX || e.clientY)
        {
            mousex = e.clientX + document.body.scrollLeft;
            mousey = e.clientY + document.body.scrollTop;
        }  
    }
}

function grab(theDiv,imageName)
{
    document.onmousedown = getCoords;
    divx = getAbsX(theDiv);
    divy = getAbsY(theDiv);
    imgName = imageName;
}

function getCoords(e)
{
    getMouseXY(e);
    //alert('MouseX:'+mousex+' MouseY:'+mousey);
    //alert('DivX:'+divx+' DivY:'+divy);
    imgx = mousex-divx;
    imgy = mousey-divy;
    if(firstx==0 && firsty==0)
    {
        firstx = imgx;
        firsty = imgy;
    }else
    {
        if((Math.abs(firstx-imgx)<=5) && (Math.abs(firsty-imgy)<=5))
        {
            document.mapForm.coords.value = coordString;
            document.mapForm.submit();
        }
    }
    coordString = coordString+'|'+imgx+'|'+imgy;
    document.onlyimage.src = "../image.php?imageName="+imgName+"&coords="+coordString;
}

function getAbsX(obj)
{
   var leftOffset = 10;
   if (obj.offsetParent)
   {
        while (obj.offsetParent)
        {
             leftOffset += obj.offsetLeft;
             obj = obj.offsetParent;
        }
   }
   else if (obj.x) //for NN4
   {
        leftOffset = obj.x;
   }
   return leftOffset;
}

function getAbsY(obj)
{
   var topOffset = 0;
   if (obj.offsetParent)
   {
        while (obj.offsetParent)
        {
             topOffset += obj.offsetTop;
             obj = obj.offsetParent;
        }
   }
   else if (obj.y) // for NN4
   {
        topOffset = obj.y;
   }
   return topOffset;
}









function submitForm(a)
{
    opener.document.onlyform.func.value='editMap';
    opener.document.onlyform.linkGraphicSubjectID.value=a;
    opener.document.onlyform.submit();
    window.close();
}




function newTarget (page, features, windowName) 
{
    newwin=window.open(page, windowName, features);
    if (newwin.opener==null) newwin.opener=window;
    newwin.opener.name = "opener";
    newwin.focus();	
}

function openNodePop(a)
{
    newTarget('popup.php?graphicSubjectID='+a, 'top=20,left=100,width=500,height=350,resizable=0,scrollbars=0,status=0');
}