//biblioteka do obslugi slajdow i dropdownmenu

function PopWindow()
{
    window.open("", "windowname", "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=1000,height=600,top=50,left=50");
}
function PopWindowSz(width, height)
{
    window.open("", "windowname", "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=" + width + ",height=" + height + ",top=250,left=100");
}
function popNWin(url, winname, width, height, scroll) {
    var params = 'toolbar=no,location=no,directories=no,status=no,menubar=no,marginwidth=0,marginheight=0,resizable=yes,scrollbars=' + scroll + ',width=' + width + ',height=' + height;
    popWin_(url, winname, params);
}
function popWin_(url, name, popupFeatures) {
    var winId = window.open(url, name, 'screenX=0,screenY=0,left=0,top=0,' + popupFeatures);
}
function popWin(url, width, height, scroll) {
    var params = 'toolbar=no,location=no,directories=no,status=no,menubar=no,marginwidth=0,marginheight=0,resizable=yes,scrollbars=' + scroll + ',width=' + width + ',height=' + height;
    popWin_(url, '', params);
}
function closeWindow() {
    window.close();
}

//nav

function getposOffset(what, offsettype) {
    var totaloffset = (offsettype == "left") ? what.offsetLeft : what.offsetTop;
    var parentEl = what.offsetParent;
    while (parentEl != null) {
        totaloffset = (offsettype == "left") ? totaloffset + parentEl.offsetLeft : totaloffset + parentEl.offsetTop;
        parentEl = parentEl.offsetParent;
    }
    return totaloffset;
}


function showhide(obj, e, visible, hidden, menuwidth) {
    if (ie4 || ns6)
        dropmenuobj.style.left = dropmenuobj.style.top = "-500px"
    if (menuwidth != "") {
        dropmenuobj.widthobj = dropmenuobj.style
        //dropmenuobj.widthobj.width=menuwidth
    }
    if (e.type == "click" && obj.visibility == hidden || e.type == "mouseover")
        obj.visibility = visible
    else if (e.type == "click")
        obj.visibility = hidden
}

function iecompattest() {
    return (document.compatMode && document.compatMode != "BackCompat") ? document.documentElement : document.body
}

function clearbrowseredge(obj, whichedge) {
    var edgeoffset = 0
    if (whichedge == "rightedge") {
        var windowedge = ie4 && !window.opera ? iecompattest().scrollLeft + iecompattest().clientWidth - 15 : window.pageXOffset + window.innerWidth - 15
        dropmenuobj.contentmeasure = dropmenuobj.offsetWidth
        if (windowedge - dropmenuobj.x < dropmenuobj.contentmeasure)
            edgeoffset = dropmenuobj.contentmeasure - obj.offsetWidth
    }
    else {
        var topedge = ie4 && !window.opera ? iecompattest().scrollTop : window.pageYOffset
        var windowedge = ie4 && !window.opera ? iecompattest().scrollTop + iecompattest().clientHeight - 15 : window.pageYOffset + window.innerHeight - 18
        dropmenuobj.contentmeasure = dropmenuobj.offsetHeight
        if (windowedge - dropmenuobj.y < dropmenuobj.contentmeasure) { //move up?
            edgeoffset = dropmenuobj.contentmeasure + obj.offsetHeight
            if ((dropmenuobj.y - topedge) < dropmenuobj.contentmeasure) //up no good either?
                edgeoffset = dropmenuobj.y + obj.offsetHeight - topedge
        }
    }
    return edgeoffset
}

function populatemenu(what) {
    if (ie4 || ns6) {
        var data = "";
        for (var mykey = 0; mykey < what.length; mykey++) {
            if (mykey > 0 && mykey % rowspercolumn == 0) {
                data += '</td><td valign="top" width="140">';
            }
            data += what[mykey];
        }
        dropmenuobj.innerHTML = '<table border="0" cellpadding="1"><tr><td valign="top" >' + data + "</td></tr></table>";
    }
}


function dropdownmenu(obj, e, menucontents, menuwidth, offset, height) {
    if (window.event) event.cancelBubble = true
    else if (e.stopPropagation) e.stopPropagation()
    clearhidemenu()
    dropmenuobj = document.getElementById ? document.getElementById("dropmenudiv") : dropmenudiv
    populatemenu(menucontents)

    if (ie4 || ns6) {
        showhide(dropmenuobj.style, e, "visible", "hidden", menuwidth)
        //dropmenuobj.x=getposOffset(obj, "left")
        //dropmenuobj.y=getposOffset(obj, "top")
        //dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+"px"
        //dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+"px"
        dropmenuobj.x = getposOffset(obj, "left")
        dropmenuobj.y = getposOffset(obj, "top")
        dropmenuobj.style.left = dropmenuobj.x - offset
        dropmenuobj.style.top = dropmenuobj.y + height
    }

    return clickreturnvalue()
}

function clickreturnvalue() {
    //    if (ie4 || ns6) return false
    //    else return true
    return true;
}

function contains_ns6(a, b) {
    while (b.parentNode)
        if ((b = b.parentNode) == a)
            return true;
    return false;
}

function dynamichide(e) {
    if (ie4 && !dropmenuobj.contains(e.toElement))
        delayhidemenu()
    else if (ns6 && e.currentTarget != e.relatedTarget && !contains_ns6(e.currentTarget, e.relatedTarget))
        delayhidemenu()
}

function hidemenu(e) {
    if (typeof dropmenuobj != "undefined") {
        if (ie4 || ns6)
            dropmenuobj.style.visibility = "hidden"
    }
}

function delayhidemenu() {
    if (ie4 || ns6)
        delayhide = setTimeout("hidemenu()", disappeardelay)
}

function clearhidemenu() {
    if (typeof delayhide != "undefined")
        clearTimeout(delayhide)
}

function addcart(attrTypeNames) {
    var iid = document.getElementById("itemid").value;
    if (iid == null || iid == '' || iid == '0') {
        alert("please select a " + attrTypeNames);
        return;
    }
    var iav = document.getElementById("iav_" + iid).value;
    if (iav == null || iav == '0') {
        alert("Sorry, this item is not currenlty available.");
        return;
    }
    var cartform = document.getElementById("cartform");
    cartform.submit();


}
function chooseitem() {
    var iid = document.getElementById("itemid").value;
    var wlist = document.getElementById("witemid");
    wlist.value = iid;

    var divs = document.getElementsByTagName('DIV');
    for (i = 0; i < divs.length; i++) {
        if (divs[i].id.indexOf('av_') == 0) {

            divs[i].style.display = 'none';
        }
    }


    var av = document.getElementById("av_" + iid);
    if (av != null) {
        av.style.display = '';
    }
}

function toggleTab(num) {
    var mytab_div = $('tab_div' + num);
    //    var mytab = $('tab_li' + num);
    var myimg = $('tab_img' + num);

    if (mytab_div.style.display == 'none') {
        for (var i = 1; i <= 10; i++) {
            var tab = $('tab_li' + i);
            var tab_div = $('tab_div' + i);
            var tab_img = $('tab_img' + i);
            if (!tab) {
                break;
            }
            if (i == num) {
                continue;
            }
            tab_div.style.display = 'none';
            var name = tab_img.src.substring(0, tab_img.src.lastIndexOf('_'));
            tab_img.src = name + "_off.gif";
        }
        var myname = myimg.src.substring(0, myimg.src.lastIndexOf('_'));

        myimg.src = myname + "_on.gif";

        mytab_div.style.display = 'block';

    }
}

//QL
var qlOpen = false;
var cur_itemid = null;
function openQuickLookLauncher(targetTd, itemid) {
    if (qlOpen) {
        return;
    }
    cur_itemid = itemid;
    var btn = document.getElementById('quickLookLauncher');
    var target = document.getElementById(targetTd);
    var pos = returnObjPosition(target);
    btn.style.top = (pos.y + 80) + 'px';
    btn.style.left = (pos.x + 10) + 'px';
    btn.style.visibility = 'visible';
    qlOpen = true;

}
function closeQuickLookLauncher(e) {
    if (e) {
        var ele = e.target || e.fromElement;
        Position.cumulativeOffset(ele);
        Element.getDimensions(ele);
        if (Position.within(ele, Event.pointerX(e), Event.pointerY(e))) return;
    }
    var btn = document.getElementById('quickLookLauncher');
    btn.style.top = '-100px';
    btn.style.left = '-100px';
    btn.style.visibility = 'hidden';
    qlOpen = false;
}
function returnObjPosition(element) {
    var valueT = 0, valueL = 0;
    do {
        valueT += element.offsetTop || 0;
        valueL += element.offsetLeft || 0;
        element = element.offsetParent;
    } while (element);
    return {x:valueL, y:valueT};
}
function launchQuickLook() {
    var target = document.getElementById('quickLookLauncher');
    var quickLook = document.getElementById('quickLook');

    var browserW = document.documentElement.clientWidth || window.innerWidth || document.body.clientWidth;
    var browserH = document.documentElement.clientHeight || window.innerHeight || document.body.clientHeight;
    var minX = document.documentElement.scrollLeft || window.pageXOffset || document.body.scrollLeft;
    var minY = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;
    var qlw = quickLook.offsetWidth;
    var qlh = quickLook.offsetHeight;
    var qlpos = returnObjPosition(target);
    var qlposx = Math.max(minX + 30, Math.min(browserW - qlw - 30, qlpos.x - qlw / 2));
    var qlposy = Math.max(minY + 30, Math.min(browserH - qlh - 260, qlpos.y - qlh / 2));

    var myAjax = new Ajax.Updater('quickInfo', "/jzv/quick/view",
    {
        method: 'post',
        parameters: {prodId: cur_itemid},
        onComplete: showQuickLaunch,
        qlposx: qlposx,
        qlposy: qlposy

    });

}
function closeQlook() {
    var quickLook = document.getElementById('quickLook');

    quickLook.style.visibility = 'hidden';


}
function showQuickLaunch(request) {

    var quickLook = document.getElementById('quickLook');
    if (request.request.options.qlposx > 20 && request.request.options.qlposy > 20) {
        quickLook.style.top = request.request.options.qlposy + 'px';
        quickLook.style.left = request.request.options.qlposx + 'px';
        quickLook.style.visibility = 'visible';
    }
    new Draggable('quickLook', {handle:'dragArea'});

}

function rollover(i, url) {
    var images = new Array;
    images[i] = new Image();
    images[i].src = url;

    document.getElementById('mainimg').src = images[i].src;
}

var sliding = false;
var Timer;
var dist;
function ScrollLeft(id, pos, right, vertical, del)
{
    var scroller = document.getElementById(id);
    var scr = vertical ? scroller.scrollTop : scroller.scrollLeft;

    if ((right == 1 && scr >= pos) ||
        (right == -1 && scr <= pos)
            ) {
        clearInterval(Timer);
        sliding = false;
        return;
    }
    dist = 2 + 4 * Math.abs(Math.sin(Math.PI * (scr - pos) / del));
    var was = scr;
    scr += right * dist;
    if (vertical) {
        scroller.scrollTop = scr;
        if (scroller.scrollTop == was) {
            clearInterval(Timer);
            sliding = false;
            return;
        }
    } else {
        scroller.scrollLeft = scr;
        if (scroller.scrollLeft == was) {
            clearInterval(Timer);
            sliding = false;
            return;
        }
    }


}


function slide(right, vertical, id) {
    var del = 300;
    var scroller = document.getElementById(id);

    var pos = (vertical ? scroller.scrollTop : scroller.scrollLeft) + (right * del);
    if (sliding) {
        return;
    }
    if (pos < 0) {
        pos = 0;
    }
    var sz = vertical ? scroller.scrollMaxY : scroller.scrollMaxX;
    if (pos > (sz)) {
        pos = sz;
    }

    sliding = true;
    Timer = setInterval("ScrollLeft('" + id + "', " + pos + ", +" + right + "," + vertical + "," + del + ")", 10);


}

var slideTimer;
var curSlide = 1;
var interval = 5000;
var sleepInterval = 10000;
function startSlide(pref) {
    slideTimer = setInterval("swSlide(\"" + pref + "\")", interval);
}
function showSlide(pref, num) {
    var element = document.getElementById(pref + num);
    var but = document.getElementById(pref + "_button_" + num);

    element.style.visibility = "visible"
    var ind = but.src.indexOf("_on.gif");
    if (ind < 0) {
        ind = but.src.indexOf(".gif");

    }
    var pr = but.src.substring(0, ind);
    but.src = pr + "_on.gif";

}
function stopAndShowSlide(pref, num) {
    clearInterval(slideTimer);
    clearTimeout(slideTimer);
    slideTimer = setTimeout("startSlide(\"" + pref + "\")", sleepInterval);
    hideCurrent(pref);
    showSlide(pref, num);
    curSlide = num;

}
function hideSlide(pref, num) {
    var element = document.getElementById(pref + num);
    var but = document.getElementById(pref + "_button_" + num);
    element.style.visibility = "hidden";
    var ind = but.src.indexOf("_on.gif");
    if (ind < 0) {
        ind = but.src.indexOf(".gif");

    }
    var pr = but.src.substring(0, ind);
    but.src = pr + ".gif";
}
function hideCurrent(pref) {
    for (var i = 1; i <= 10; i++) {
        //        if (i != num) {
        var d = document.getElementById(pref + i);
        if (d == null) {
            return;
        }
        if (d.style.visibility == "visible") {
            hideSlide(pref, i);
        }
        //        }
    }
}
function swSlide(pref) {

    hideCurrent(pref);

    showSlide(pref, curSlide);
    var nextelement = document.getElementById(pref + (curSlide + 1));
    curSlide = nextelement != null ? curSlide + 1 : 1;
}


var TimeToFade = 1000.0;

function fade(eid)
{
    var element = document.getElementById(eid);
    if (element == null)
        return;

    if (element.FadeState == null)
    {
        if (element.style.opacity == null
                || element.style.opacity == ''
                || element.style.opacity == '1')
        {
            element.FadeState = 2;
        }
        else
        {
            element.FadeState = -2;
        }
    }

    if (element.FadeState == 1 || element.FadeState == -1)
    {
        element.FadeState = element.FadeState == 1 ? -1 : 1;
        element.FadeTimeLeft = TimeToFade - element.FadeTimeLeft;
    }
    else
    {
        element.FadeState = element.FadeState == 2 ? -1 : 1;
        element.FadeTimeLeft = TimeToFade;
        setTimeout("animateFade(" + new Date().getTime()
                + ",'" + eid + "')", 33);
    }
}

function animateFade(lastTick, eid)
{
    var curTick = new Date().getTime();
    var elapsedTicks = curTick - lastTick;

    var element = document.getElementById(eid);

    if (element.FadeTimeLeft <= elapsedTicks)
    {
        element.style.opacity = element.FadeState == 1 ? '1' : '0';
        element.style.filter = 'alpha(opacity = '
                + (element.FadeState == 1 ? '100' : '0') + ')';
        element.FadeState = element.FadeState == 1 ? 2 : -2;
        return;
    }

    element.FadeTimeLeft -= elapsedTicks;
    var newOpVal = element.FadeTimeLeft / TimeToFade;
    if (element.FadeState == 1)
        newOpVal = 1 - newOpVal;

    element.style.opacity = newOpVal;
    element.style.filter =
    'alpha(opacity = ' + (newOpVal * 100) + ')';

    setTimeout("animateFade(" + curTick
            + ",'" + eid + "')", 33);
}

//-->


// menu



var timeout	= 500;
var closetimer	= 0;
var ddmenuitem	= 0;

// open hidden layer
function mopen(id)
{	
	// cancel close timer
	mcancelclosetime();

	// close old layer
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';

	// get new layer and show it
	ddmenuitem = document.getElementById(id);
	ddmenuitem.style.visibility = 'visible';

}
// close showed layer
function mclose()
{
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
}

// go close timer
function mclosetime()
{
	closetimer = window.setTimeout(mclose, timeout);
}

// cancel close timer
function mcancelclosetime()
{
	if(closetimer)
	{
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

// close layer when click-out
document.onclick = mclose; 


//->
