function toggleMusic(item, reset){
    try {
        if (parent.music_frm) {
            var elm = parent.music_frm.document.getElementById(item);
            if (elm) {
                var current = readCookie("bg_site_music");
                if (!current) {
                    current = "on";
                }
                if (reset) {
                    if (current == "on") {
                        current = "off";
                    }
                    else {
                        current = "on";
                    }
                }
                var btn = document.getElementById(item + "Button");
                if (btn) {
                    if (current == "off") {
                        elm.innerHTML = '';
                        createCookie("bg_site_music", current, 360);
                        btn.src = baseUrl + "/images/player-off.gif";
                    }
                    else {
                        if (elm.innerHTML == "") {
                            elm.innerHTML = bgMusicContent;
                            createCookie("bg_site_music", current, 360);
                            btn.src = baseUrl + "/images/player-on.gif";
                        }


                    }
                }
            }
        }
    }
    catch (e) {
        alert(e);
    }
}

var lastDescription = null;
function openDescription(item){
    closeDescription();
    try {
        document.getElementById("desc" + item).style.display = "block";
        document.getElementById("musician" + item).className = "musician-name-on";
        lastDescription = item;
    }
    catch (e) {
    }
}

function closeDescription(){
    try {
        document.getElementById("desc" + lastDescription).style.display = "none";
        document.getElementById("musician" + lastDescription).className = "musician-name";
        lastDescription = null;
    }
    catch (e) {
    }
}

var lastEvent = null;
function showEventDesc(item){
    closeDescription();
    try {
        document.getElementById("desc" + item).style.display = "block";
        document.getElementById("eventTitle" + item).className = "on";
        lastEvent = item;
    }
    catch (e) {
    }
}

function hideEventDesc(){
    try {
        document.getElementById("desc" + lastEvent).style.display = "none";
        document.getElementById("eventTitle" + lastEvent).className = "";
        lastEvent = null;
    }
    catch (e) {
    }
}

function switchImgMenu(){
    try {
        for (var ctr = 0; ctr < switchImgMenu.arguments.length; ctr += 2)
            document[switchImgMenu.arguments[ctr]].src = switchImgMenu.arguments[ctr + 1];
    }
    catch (e) {
    }
}

function newImg(f){
    r = new Image();
    r.src = f;
    return r;
}

function hideImage(id){
    temp = document.getElementById(id)
    if (temp && temp.style) {
        temp.style.display = "none";
        temp.style.height = "0px";
    }
}

function showImage(id){
    temp = document.getElementById(id);
    if (temp && temp.style) {
        temp.style.display = "block";
        temp.style.height = "";
    }
}

function switchImgByURL(){
    if (document.images) {
        for (var ctr = 0; ctr < switchImgByURL.arguments.length; ctr += 2) {
            img = document.getElementById(switchImgByURL.arguments[ctr]);
            if (img && img.src) {
                img.src = switchImgByURL.arguments[ctr + 1];
            }
        }
    }
}

function switchContent(){
    for (var ctr = 0; ctr < switchContent.arguments.length; ctr += 2) {
        var item = document.getElementById(switchContent.arguments[ctr]);
        if (item) {
            item.innerHTML = switchContent.arguments[ctr + 1];
        }
    }
}

function switchImg(){
    if (document.images) {
        for (var ctr = 0; ctr < switchImg.arguments.length; ctr += 2) {
            img = document.getElementById(switchImg.arguments[ctr]);
            if (img && img.src) {
                img.src = eval(switchImg.arguments[ctr + 1] + ".src");
            }
        }
    }
}

function switchImgByPath(){
    if (document.images) {
        for (var ctr = 0; ctr < switchImgByPath.arguments.length; ctr += 2) {
            img = document.getElementById(switchImgByPath.arguments[ctr]);
            if (img && img.src) {
                img.src = switchImgByPath.arguments[ctr + 1];
            }
        }
    }
}

function getImgRdm(list){
    var core = 0;
    var ran = Math.random() * list.length;
    core = Math.floor(ran);
    return list[core];
}

function switchImgTool(){
    if (document.images) {
        for (var ctr = 0; ctr < switchImgTool.arguments.length; ctr += 2) {
            var img = document.getElementById(switchImgTool.arguments[ctr]);
            if (img && img.src && img.src.indexOf('smaller') < 0) {
                val = largerEnabled;
            }
            else {
                val = smallerEnabled;
            }
            if (val) {
                img.src = eval(switchImgTool.arguments[ctr + 1] + ".src");
            }
        }
    }
}

function switchBgImg(){
    if (document.images) {
        for (var ctr = 0; ctr < switchBgImg.arguments.length; ctr += 2) {
            var temp = document.getElementById("mnu" + switchBgImg.arguments[ctr]).style;
            temp.backgroundImage = "url('" + switchBgImg.arguments[ctr + 1] + "')";
        }
    }
}

function switchBgColor(){
    for (var ctr = 0; ctr < switchBgColor.arguments.length; ctr += 2) {
        var temp = document.getElementById(switchBgColor.arguments[ctr]).style;
        temp.backgroundColor = switchBgColor.arguments[ctr + 1];
    }
}

function switchColor(){
    for (var ctr = 0; ctr < switchColor.arguments.length; ctr += 2) {
        var temp = document.getElementById(switchColor.arguments[ctr]).style;
        temp.color = switchColor.arguments[ctr + 1];
    }
}

function switchStyle(){
    for (var ctr = 0; ctr < switchStyle.arguments.length; ctr += 2) {
        var temp = document.getElementById(switchStyle.arguments[ctr]);
        if (temp)
            temp.className = switchStyle.arguments[ctr + 1];
    }
}

function switchBgColorMany(id, color, nb){
    for (var i = 1; i <= nb; i++) {
        var menuElm = document.getElementById(id + i);
        if (menuElm && menuElm.style) {
            menuElm.style.backgroundColor = color;
            menuElm.style.cursor = "hand";
        }
    }
}

function OpenScrollWindow(url, name, width, height){
    var params;
    params = "width=" + width + ",height=" + height + ",resizable=yes,scrollbars=yes,status=no";
    myEngineWin = window.open(url, name, params);

} // end OpenJahiaWindow
function OpenWindow(url, name, width, height){
    var params;
    var x = 0;
    var y = 0;

    x = (screen.availWidth / 2) - (width / 2);
    y = (screen.availHeight / 2) - (height / 2);

    if (screen.availHeight < 600) {
        params = "width=" + width + ",height=" + height + ",resizable=yes,scrollbars=yes,status=no,left=" + x + ",top=" + y;
    }
    else {
        params = "width=" + width + ",height=" + height + ",resizable=yes,scrollbars=no,status=no,left=" + x + ",top=" + y;
    }
    //alert(params);
    var theMatrix = Math.round(Math.random() * 10000);

    var newURL = url;

    myEngineWin = window.open(newURL, name, params);
    myEngineWin.focus();
} // end OpenJahiaWindow
function getMatrix(){
    return Math.round(Math.random() * 10000);
}

function isInArray(id, arr){
    for (var i = 0; i < arr.length; i++) {
        if (arr[i] == id) {
            return true;
        }
    }
}

function setClassName(element, className){
    element = $(element);
    element.className = className;
}

function getDimensions(element){
    element = $(element);
    var display = getStyle(element, 'display');
    if (display != 'none' && display != null) // Safari bug
        return {
            width: element.offsetWidth,
            height: element.offsetHeight
        };

    // All *Width and *Height properties give 0 on elements with display none,
    // so enable the element temporarily
    var els = element.style;
    var originalVisibility = els.visibility;
    var originalPosition = els.position;
    var originalDisplay = els.display;
    els.visibility = 'hidden';
    els.position = 'absolute';
    els.display = 'block';
    var originalWidth = element.clientWidth;
    var originalHeight = element.clientHeight;
    els.display = originalDisplay;
    els.position = originalPosition;
    els.visibility = originalVisibility;
    return {
        width: originalWidth,
        height: originalHeight
    };
}

function getStyle(element, style){
    element = $(element);
    style = style == 'float' ? 'cssFloat' : camelize(style);
    var value = element.style[style];
    if (!value) {
        var css = null;
        try {
            css = document.defaultView.getComputedStyle(element, null);
        }
        catch (e) {
        }
        value = css ? css[style] : null;
    }
    if (style == 'opacity')
        return value ? parseFloat(value) : 1.0;
    return value == 'auto' ? null : value;
}

function camelize(style){
    var parts = style.split('-'), len = parts.length;
    if (len == 1)
        return parts[0];

    var camelized = style.charAt(0) == '-' ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1) : parts[0];

    for (var i = 1; i < len; i++)
        camelized += parts[i].charAt(0).toUpperCase() + parts[i].substring(1);

    return camelized;
}

function setStyle(element, styles){
    camelized = true;
    element = $(element);
    var elementStyle = element.style;

    for (var property in styles)
        if (property == 'opacity')
            element.setOpacity(styles[property])
        else
            elementStyle[(property == 'float' || property == 'cssFloat') ? (elementStyle.styleFloat === undefined ? 'cssFloat' : 'styleFloat') : (camelized ? property : property.camelize())] = styles[property];

    return element;
}

function cumulativeOffset(element){
    var valueT = 0, valueL = 0;
    do {
        valueT += element.offsetTop || 0;
        valueL += element.offsetLeft || 0;
        element = element.offsetParent;
    }
    while (element);
    return [valueL, valueT];
}

function $(element){
    if (arguments.length > 1) {
        for (var i = 0, elements = [], length = arguments.length; i < length; i++)
            elements.push($(arguments[i]));
        return elements;
    }
    if (typeof element == 'string')
        element = document.getElementById(element);
    return element;
}

var currentSlideShow = 0;

function nextSlide(){
    hideAllSlide();
    currentSlideShow++;
    if (currentSlideShow >= slideShowList.length) {
        currentSlideShow = 0;
    }
    setStyle(slideShowList[currentSlideShow], {
        display: 'block'
    });
}

function previousSlide(){
    hideAllSlide();
    currentSlideShow--;
    if (currentSlideShow < 0) {
        currentSlideShow = slideShowList.length - 1;
    }
    setStyle(slideShowList[currentSlideShow], {
        display: 'block'
    });
}

function hideAllSlide(){
    for (var i = 0; i < slideShowList.length; i++) {
        setStyle(slideShowList[i], {
            display: 'none'
        });
    }
}

var lastEventPopup = null;

function showEventPopup(id){
    hideEventPopup();
    setStyle(id, {
        display: 'block',
        left: '280px',
        top: '200px'
    });
    lastEventPopup = id;
}

function hideEventPopup(){
    if (lastEventPopup)
        setStyle(lastEventPopup, {
            display: 'none'
        });
}

function createCookie(name, value, days){
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        var expires = "; expires=" + date.toGMTString();
    }
    else
        expires = "";
    document.cookie = name + "=" + value + expires + "; path=/";
}

function readCookie(name){
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ')
            c = c.substring(1, c.length);
        if (c.indexOf(nameEQ) == 0)
            return c.substring(nameEQ.length, c.length);
    }
    return null;
}
