//---- pomocne fcie ----
function setFocus( elementId ) {
    var elem = document.getElementById(elementId);
    if (elem != null)
        elem.focus();
}

function getElem( elementId ) {
	return document.getElementById(elementId);
}

function setSelectIndex( elemName, index ) {
    document.getElementsByName( elemName )[0].selectedIndex = index;
}


//---- funkcie pre info blok ----
function showInfo(elemId) {
    getElem(elemId).style.display = "block";
}

function hideInfo(elemId) {
    getElem(elemId).style.display = "none";
}


//---- dynamicke nastavenie class na element ----
var lastElement;
var lastElementClass;

function setElemClass( elementId, clazzName ) {
    var elem = getElem(elementId);
    if (lastElement != null)
        lastElement.className = lastElementClass;
    if (elem != null) {
        lastElement = elem;
        lastElementClass = elem.className;
        elem.className = clazzName;
    }
}


//===============================================
// Inicializacia fancybox - galeria obrazkov
// http://fancybox.net/
//===============================================
$(document).ready(function() {
    $("a.remooz").fancybox({
        'transitionIn'	:	'elastic',
        'transitionOut'	:	'elastic',
        'easingIn'      :   'easeInOutQuad',
        'easingOut'      :  'easeOutBack',
        'speedIn'		:	500,
        'speedOut'		:	800,
        'overlayShow'	:	true,
        'overlayOpacity':   0,
        'hideOnOverlayClick' : true,
        'hideOnContentClick' : true
    });
});

/**
 * Zobrazenie bubliny. Musi to byt blokovy element.
 * @param bubbleId id bubliny
 * @param iconId id prvku (napr. ikony), podla ktorej sa urcuje pozicia bubliny
 * @param posX horizontalna pozicia bubliny vzhladom na iconId. Mozne hodnoty: left, right. Default is right.
 * @param posY vertikalna pozicia bubliny vzhladom na iconId. Mozne hodnoty: top, bottom. Default is bottom.
 */
function showBubble(bubbleId, iconId, posX, posY) {
    var infoIcon = document.getElementById(iconId);
    var bubble = document.getElementById(bubbleId);

    // treba to najprv zobrazit, aby boli zname bubble.offsetWidth a offsetHeight
    bubble.style.display='block';

    if (posX == 'left')
        moveX (bubbleId, getAbsolutePositionLeft(iconId) - bubble.offsetWidth);
    else
        moveX (bubbleId, getAbsolutePositionRight(iconId));

    if (posY == 'top')
        moveY (bubbleId, getAbsolutePositionTop(iconId) - bubble.offsetHeight);
    else
        moveY (bubbleId, getAbsolutePositionBottom(iconId));

}

function getAbsolutePositionLeft(elemId) {
    var iReturnValue = 0;
    var elem = document.getElementById(elemId);
    while(elem != null) {
        iReturnValue += elem.offsetLeft;
        elem = elem.offsetParent;
    }
    return iReturnValue;
}

function getAbsolutePositionRight(elemId) {
    return getAbsolutePositionLeft(elemId) + document.getElementById(elemId).offsetWidth;
}

function getAbsolutePositionTop(elemId) {
    var iReturnValue = 0;
    var elem = document.getElementById(elemId);
    while(elem != null) {
        iReturnValue += elem.offsetTop;
        elem = elem.offsetParent;
    }
    return iReturnValue;
}

function getAbsolutePositionBottom(elemId) {
    return getAbsolutePositionTop(elemId) + document.getElementById(elemId).offsetHeight;
}

function moveX(obj, pos) {
    var elem = document.getElementById(obj);
    if (elem != null)
        elem.style.left = pos + "px";
}

function moveY(obj, pos) {
    var elem = document.getElementById(obj);
    if (elem != null)
        elem.style.top = pos + "px";
}
