document.write('<div id="infoview"><div id="infoviewInner" class="infoview-normal">&nbsp;</div></div>');
document.write('<div id="tooltip"><div id="tooltipInner" class="tooltip-normal">&nbsp;</div></div>');

var tipTimer;
var prevTooltipUid = null;

function locateObject(n, d) { // v3.0
    var p, i, x;

    if (!d)
        d = document;

    if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
        d = parent.frames[n.substring(p + 1)].document;
        n = n.substring(0, p);
    }

    if (!(x = d[n]) && d.all)
        x = d.all[n];

    for (i = 0; !x && i < d.forms.length; i++)
        x = d.forms[i][n];

    for (i = 0; !x && d.layers && i < d.layers.length; i++) {
        x = locateObject(n, d.layers[i].document);
    }

    if (document.getElementById) {
        x = document.getElementById(n);
    }
    return x;
}

function hideTooltip() {
    document.getElementById("tooltip").style.display = 'none';
    showElement('SELECT', document.getElementById("tooltip"));
    showElement('APPLET', document.getElementById("tooltip"));
}

function showTooltip(ref, txt, type) {
	 var toolTip = $("#tooltip");
	 var tooltipInner = $("#tooltipInner");
    var leftpos = 0;
    var toppos = 0;
    aTag = ref;
    do {
        aTag = aTag.offsetParent;
        if (aTag.tagName == "HTML")
            break;
        leftpos += aTag.offsetLeft;
        toppos += aTag.offsetTop;
    } while (aTag.tagName != "BODY");
    leftpos = leftpos + ref.offsetLeft + ref.offsetWidth + 5;
    toppos = toppos + ref.offsetTop;

    if (type == 'error') {
    	tooltipInner.css("class","tooltip-error");
    } else {
        tooltipInner.css("class","tooltip-normal");
    } 
    toolTip.css("left",leftpos + 'px');
    toolTip.css("top",toppos + 'px');
    tooltipInner.text(txt);
    toolTip.css("display","block");

    hideElement('SELECT', document.getElementById("tooltip"));
    hideElement('APPLET', document.getElementById("tooltip"));

}

function hideElement(elmID, overDiv) {
    if (document.all) {
        for (i = 0; i < document.all.tags(elmID).length; i++) {
            obj = document.all.tags(elmID)[i];
            if (!obj || !obj.offsetParent) {
                continue;
            }
            // Find the element's offsetTop and offsetLeft relative to the BODY
            // tag.
            objLeft = obj.offsetLeft;
            objTop = obj.offsetTop;
            objParent = obj.offsetParent;
            while (objParent.tagName.toUpperCase() != "BODY") {
                objLeft += objParent.offsetLeft;
                objTop += objParent.offsetTop;
                objParent = objParent.offsetParent;
                if (objParent.tagName == "HTML")
                    break;
            }
            objHeight = obj.offsetHeight;
            objWidth = obj.offsetWidth;
            if ((overDiv.offsetLeft + overDiv.offsetWidth) <= objLeft)
                ;
            else if ((overDiv.offsetTop + overDiv.offsetHeight) <= objTop)
                ;
            else if (overDiv.offsetTop >= (objTop + objHeight))
                ;
            else if (overDiv.offsetLeft >= (objLeft + objWidth))
                ;
            else {
                obj.style.visibility = "hidden";
            }
        }
    }
}
function showElement(elmID) {
    if (document.all) {
        for (i = 0; i < document.all.tags(elmID).length; i++) {
            obj = document.all.tags(elmID)[i];
            if (!obj || !obj.offsetParent) {
                continue;
            }
            obj.style.visibility = "";
        }
    }
}

function showInfoview(ref, txt, type) {
    var leftpos = 0;
    var toppos = 0;
    aTag = ref;
    do {
        aTag = aTag.offsetParent;
        if (aTag.tagName == "HTML")
            break;
        leftpos += aTag.offsetLeft;
        toppos += aTag.offsetTop;
    } while (aTag.tagName != "BODY");
    leftpos = leftpos + ref.offsetLeft + ref.offsetWidth + 5;
    toppos = toppos + ref.offsetTop;

    if (type == 'error') {
        document.getElementById("infoviewInner").className = 'infoview-error';
    } else {
        document.getElementById("infoviewInner").className = 'infoview-normal';
    }
    document.getElementById("infoview").style.left = leftpos + 'px';
    document.getElementById("infoview").style.top = toppos + 'px';
    document.getElementById("infoviewInner").innerHTML = txt;
    document.getElementById("infoview").style.display = 'block';

    hideElement('SELECT', document.getElementById("infoview"));
    hideElement('APPLET', document.getElementById("infoview"));

}
function hideInfoview() {
    document.getElementById("infoview").style.display = 'none';
    showElement('SELECT', document.getElementById("infoview"));
    showElement('APPLET', document.getElementById("infoview"));
}

/**
 * Etteantud IDle vastava DIV elemendi sisuks pannakse etteantud tekst ning kuvatakse.
 * @param object - DIV elemendi ID, kuhu läheb HTML kood etteantud pealkirja ja sisuga.
 * @param object2 - DIV elemendi ID, mille järgi object-i koordinaadid määrata.
 * @see hideElement()
 * @return true
 */
function showInfo(object, object2) {
    o = document.getElementById(object);
    obj = document.getElementById(object2);

    window.clearTimeout(tipTimer);
    var curleft = curtop = 0;
    if (obj.offsetParent) {
        curleft = obj.offsetLeft;
        curtop = obj.offsetTop;
        while (obj = obj.offsetParent) {
            curleft += obj.offsetLeft
            curtop += obj.offsetTop
        }
    }

    o.style.top = curtop;
    if ((curleft + o.clientWidth) > (document.body.clientWidth + document.body.scrollLeft)) {
        o.style.left = (document.body.clientWidth + document.body.scrollLeft) - o.clientWidth - 10;
    } else {
        o.style.left = curleft
    }
    o.style.visibility = "visible";
    tipTimer = window.setTimeout("hideInfo('" + object + "')", 120000);
    return true;
}

/**
 * Etteantud IDle vastav DIV element peidetakse �ra. 
 * @param object - DIV elemendi ID, kuhu läheb HTML kood etteantud pealkirja ja sisuga.
 * @see showElement()
 * @return false
 */
function hideInfo(object) {
    o = document.getElementById(object);
    o.style.visibility = "hidden";
    o.style.left = 1;
    o.style.top = 1;
    return false;
}

function MM_FlashCanPlay() {
    var MM_contentVersion = 6;
    var flash_installed = false;
    var flash_version = 0;

    if (navigator.plugins && navigator.plugins.length) {
        x = navigator.plugins["Shockwave Flash"];
        if (x) {
            flash_installed = true;
            if (x.description) {
                y = x.description;
                flash_version = y.substring(y.search(/\d+\./), y.indexOf('.'));
            }
        }
        if (navigator.plugins["Shockwave Flash 2.0"]) {
            flash_installed = true;
            flash_version = 2;
        }
    } else if (navigator.mimeTypes && navigator.mimeTypes.length) {
        x = navigator.mimeTypes['application/x-shockwave-flash'];
        if (x && x.enabledPlugin)
            flash_installed = true;
    } else {
        // IE flash detection.
        try {
            var flash = new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + MM_contentVersion);
            flash_version = MM_contentVersion;
            flash_installed = true;
        } catch (e) {
        }
    }
    return flash_installed && (flash_version >= MM_contentVersion);
}

function checkCharOrNumber(elementName) {
    var arv = elementName.value;
    var i;
    var ch = '';
    re = /\w/;
    for (i = 0; i < arv.length; i++) {
        ch = arv.substring(i, i + 1);
        if (!(re.test(ch))) {
            window.alert('Parool võib koosneda ainult numbritest ja tähtedest!');
            elementName.value = "";
            elementName.select();
            break;
        }
    }
}
