﻿
var tipwidth = '20px' //default tooltip width
var tipbgcolor = 'white'  //tooltip bgcolor
var disappeardelay = 250  //tooltip disappear speed onMouseout (in miliseconds)
var vertical_offset = "0px" //horizontal offset of tooltip from anchor link
var horizontal_offset = "-3px" //horizontal offset of tooltip from anchor link
var rowheight = 0;

var ie4 = document.all;
var ns6 = document.getElementById && !document.all;

if (ie4 || ns6) {
    document.write('<div id="fixedtipdiv" style="visibility:hidden;width:' + tipwidth + ';background-color:' + tipbgcolor + '" align="center" ></div>')

}

function WriteDebug(msg) {

}


function HiLiteRow(row, color) {
    var CurrentRow = document.getElementById(row, color);
    CurrentRow.style.backgroundColor = color;
    if (color == "") {

        CurrentRow.style.cursor = "default";
    }
    else {
        CurrentRow.style.cursor = "hand";
    }
}


function ShowFoto(row, pixid, line, e, pixPath) {

    //alert(pixPath);
    var img = new Image();
    img = document.getElementById("loadimg");
    var r = document.getElementById(row);
    fixedtooltip("<img src=" + img.src + ">", r.cells[1], e, tipwidth);


    if (pixid == "") {
        return;
    }

    var img2 = new Image();
    img2.src = pixPath;


    img2.onload = new function() {

        img = img2;
        if (img.width > 450) {
            fixedtooltip("<img src=" + pixPath + " width=450>", r.cells[1], e, tipwidth)
        }
        else if (img.width <= 450) {
            fixedtooltip("<img src=" + pixPath + ">", r.cells[1], e, tipwidth)
        }
        var CurrentRow = document.getElementById(row);
        CurrentRow.style.backgroundColor = "silver";
    };

}

function HideFoto(row) {
    delayhidetip();
    var CurrentRow = document.getElementById(row);

    var x = document.getElementById("picturebox");
    x.style.visibility = "hidden";
}

function IsBigPix() {

    if (img.width > 450) {
        fixedtooltip("<img src=" + pixPath + " width=450>", r.cells[1], e, tipwidth)
    }
    else if (img.width <= 450) {
        fixedtooltip("<img src=" + pixPath + ">", r.cells[1], e, tipwidth)
    }

}

//*************************************
function getposOffset(thisDOMElement, offsettype) {

    var totaloffset;
    if (offsettype == "left") {
        totaloffset = thisDOMElement.offsetLeft;
        WriteDebug("DOM nesting " + thisDOMElement.nodeName + " left offset to parent: " + thisDOMElement.offsetLeft);
    }
    else {
        totaloffset = thisDOMElement.offsetTop;
        WriteDebug("DOM nesting " + thisDOMElement.nodeName + " top offset to parent: " + thisDOMElement.offsetLeft);
    }
    var parentEl = thisDOMElement.offsetParent;
    while (parentEl != null) {
        if (offsettype == "left") {
            WriteDebug("DOM nesting " + parentEl.nodeName + " left offset to parent: " + parentEl.offsetLeft);
            totaloffset = totaloffset + parentEl.offsetLeft;
        }
        else {
            WriteDebug("DOM nesting " + parentEl.nodeName + " top offset to parent: " + parentEl.offsetLeft);
            totaloffset = totaloffset + parentEl.offsetTop;
        }
        parentEl = parentEl.offsetParent;
    }

    WriteDebug("TOTALOFFSET: " + totaloffset);

    return totaloffset;
}

//*************************************
function showhide(obj, e, visible, hidden, tipwidth) {
    if (ie4 || ns6)
        dropmenuobj.style.left = dropmenuobj.style.top = -500
    if (tipwidth != "") {
        dropmenuobj.widthobj = dropmenuobj.style
        dropmenuobj.widthobj.width = tipwidth
    }
    if (e.type == "click" && obj.visibility == hidden || e.type == "mouseover") {
        WriteDebug("Should be visible");
        obj.visibility = visible
    }
    else if (e.type == "click") {
        WriteDebug("Should be hidden");
        obj.visibility = hidden
    }
}

//*************************************
function iecompattest() {
    return (document.compatMode && document.compatMode != "BackCompat") ? document.documentElement : document.body
}

//*************************************
function clearbrowseredge(obj, whichedge) {
    var edgeoffset;
    var windowedge;
    if (whichedge == "rightedge") {
        edgeoffset = parseInt(horizontal_offset) * -1;
    }
    else {
        edgeoffset = parseInt(vertical_offset) * -1;
    }
    if (whichedge == "rightedge") {
        if (ie4 && !window.opera) {
            windowedge = iecompattest().scrollLeft + iecompattest().clientWidth - 15;
        }
        else {
            windowedge = window.pageXOffset + window.innerWidth - 15;
        }
        dropmenuobj.contentmeasure = dropmenuobj.offsetWidth;
        if (windowedge - dropmenuobj.x < dropmenuobj.contentmeasure) {
            edgeoffset = dropmenuobj.contentmeasure - obj.offsetWidth;
        }
    }
    else {
        if (ie4 && !window.opera) {
            windowedge = iecompattest().scrollTop + iecompattest().clientHeight - 15;
        }
        else {
            windowedge = window.pageYOffset + window.innerHeight - 18;
        }
        dropmenuobj.contentmeasure = dropmenuobj.offsetHeight;
        if (windowedge - dropmenuobj.y < dropmenuobj.contentmeasure) {
            edgeoffset = dropmenuobj.contentmeasure + obj.offsetHeight;
        }
    }
    return edgeoffset;
}

//*************************************
function fixedtooltip(menucontents, thisDOMElement, e, tipwidth) {
    if (window.event) {
        event.cancelBubble = true;
    }
    else if (e.stopPropagation) {
        e.stopPropagation();
    }
    clearhidetip();
    dropmenuobj = document.getElementById ? document.getElementById("fixedtipdiv") : fixedtipdiv

    //alert(menucontents);

    dropmenuobj.innerHTML = menucontents;

    if (ie4 || ns6) {
        showhide(dropmenuobj.style, e, "visible", "hidden", tipwidth);
        dropmenuobj.x = getposOffset(thisDOMElement, "left");
        dropmenuobj.y = getposOffset(thisDOMElement, "top");
        dropmenuobj.style.left = dropmenuobj.x - clearbrowseredge(thisDOMElement, "rightedge") + "px";
        WriteDebug("dropmenu.left: " + dropmenuobj.style.left);
        dropmenuobj.style.top = dropmenuobj.y - clearbrowseredge(thisDOMElement, "bottomedge") + thisDOMElement.offsetHeight + "px";
        WriteDebug("dropmenu.top: " + dropmenuobj.style.top);
    }
}

//*************************************
function hidetip(e) {
    if (typeof dropmenuobj != "undefined") {
        if (ie4 || ns6) {
            dropmenuobj.style.visibility = "hidden";
        }
    }
}

//*************************************
function delayhidetip() {
    if (ie4 || ns6) {
        delayhide = setTimeout("hidetip()", disappeardelay)
    }
}

//*************************************
function clearhidetip() {
    if (typeof delayhide != "undefined") {
        clearTimeout(delayhide);
    }
}

