﻿var jnj_cancelOpenArray = new Array();
var jnj_cancelCloseArray = new Array();

// help functions
function jnj_help_box_show(targetId, boxId) {
    jnj_cancelCloseArray[boxId] = true;
    jnj_cancelOpenArray[boxId] = false;
    setTimeout("jnj_help_box_show_internal('" + targetId + "','" + boxId + "', 5, 5);", 500);
}
function jnj_help_box_show_offset(targetId, boxId, leftOffset, topOffset) {
    jnj_cancelCloseArray[boxId] = true;
    jnj_cancelOpenArray[boxId] = false;
    setTimeout("jnj_help_box_show_internal('" + targetId + "','" + boxId + "', " + leftOffset + ", " + topOffset + ");", 200);
}
function jnj_help_box_show_internal(targetId, boxId, leftOffset, topOffset) {
    if (jnj_cancelOpenArray[boxId] == true) {
        return;
    }
    var targetElement = $jnj_id(targetId);
    var boxElement = $jnj_id(boxId);
    boxElement.style.visibility = 'visible';
    boxElement.style.display = 'block';
    boxElement.style.left = (leftOffset + jnj_getAscendingLefts(targetElement)) + 'px';
    boxElement.style.top = (topOffset + jnj_getAscendingTops(targetElement)) + 'px';
    jnj_set_selects_visibility(false);
}
function jnj_help_box_hide(boxId) {
    jnj_cancelOpenArray[boxId] = true;
    jnj_cancelCloseArray[boxId] = false;
    setTimeout("jnj_help_box_hide_internal('" + boxId + "');", 500);
}
function jnj_help_box_hide_internal(boxId) {
    if (jnj_cancelCloseArray[boxId] == true) {
        return;
    }
    var boxElement = $jnj_id(boxId);
    boxElement.style.visibility = 'hidden';
    boxElement.style.display = 'none';
    boxElement.style.left = '-999px';
    boxElement.style.top = '-999px';
    jnj_set_selects_visibility(true);
}

// wrapper for document.getElementById
function $jnj_id() {
    var results = [], element;
    for (var i = 0; i < arguments.length; i++) {
        element = arguments[i];
        if (typeof element == 'string')
            element = document.getElementById(element);
        results.push(element);
    }
    return results.length < 2 ? results[0] : results;
}

function jnj_set_selects_visibility(visible) {
    var selects = document.getElementsByTagName("select");
    for (i = 0; i < selects.length; i++) {
        selects[i].style.visibility = visible ? 'visible' : 'hidden';
    }    
}

function jnj_getAscendingLefts(elem){
	if (elem==null)
		return 0;
	else
		return elem.offsetLeft + jnj_getAscendingLefts(elem.offsetParent);
}

function jnj_getAscendingTops(elem){
	if (elem==null)
		return 0;
	else
		return elem.offsetTop + jnj_getAscendingTops(elem.offsetParent);
}