
var ie = (document.all) ? true : false;

var ibImageCount = 9;
var ibIndex = 1;
var ibOpacity = 100;
var ibTimeout = setTimeout("ibFadeOut()", 8000);
var ibElement;
var ibSpeed = 9;

var zoomBG;
var zoomDiv;
var zoomImg;

var preloader;
var preloaderPrefix = 'assets/banner-';
var preloaderSuffix = '.jpg';
var preloaderPadding = 2;
var preloaderCount = 8;

window.onload = initDocument;
window.onresize = redrawDocument;
window.onscroll = zoomScroll;
    
function initDocument() {
    ibElement = document.getElementById('Banner');
    zoomBG = document.getElementById('ZoomBG');
    zoomDiv = document.getElementById('ZoomDIV');
    zoomImg = document.getElementById('ZoomIMG');
    zoomBG.onclick = zoomClick;
    zoomDiv.onclick = zoomClick;
    zoomImg.onclick = zoomClick;
    zoomImg.onload = zoomLoad;
    
    redrawDocument();
    
    preloader = document.getElementById('Preloader');
    preload(1);
}

function redrawDocument() {
    var pageBody = document.getElementById('PageBody');
    var pageBodySidebar = document.getElementById('PageBodySidebar');
    var winFooter = document.getElementById('WinFooter');
    var sidebarNavi = document.getElementById('SidebarNavi');
            
    if (pageBody) {
        pageBody.style.height = null;
        pageBodySidebar.style.height = null;
        var pageBodyHeight = Math.max(pageBody.scrollHeight, pageBodySidebar.scrollHeight + sidebarNavi.clientHeight, document.body.clientHeight - pageBody.offsetTop - 80);
        var pageFooterHeight = document.getElementById('PageFooter').clientHeight;
        var winFooterHeight = document.getElementById('WinFooter').clientHeight;
        pageBody.style.height = pageBodyHeight + 'px';
        winFooter.style.top = pageBody.offsetTop + 5 + pageBodyHeight + pageFooterHeight - winFooterHeight + 'px';
        sidebarNavi.style.top = pageBody.offsetTop + 5 + pageBodyHeight - sidebarNavi.clientHeight + 'px';
        sidebarNavi.style.visibility = 'visible';
    }
}

var STR_PAD_LEFT = 1;
var STR_PAD_RIGHT = 2;
var STR_PAD_BOTH = 3;
 
function pad(str, len, pad, dir) {
 
    if (typeof(len) == "undefined") { var len = 0; }
    if (typeof(pad) == "undefined") { var pad = ' '; }
    if (typeof(dir) == "undefined") { var dir = STR_PAD_LEFT; }
 
    if (len + 1 >= str.length) {
        switch (dir){
            case STR_PAD_LEFT:
                str = Array(len + 1 - str.length).join(pad) + str;
                break;
 
            case STR_PAD_BOTH:
                var right = Math.ceil((padlen = len - str.length) / 2);
                var left = padlen - right;
                str = Array(left+1).join(pad) + str + Array(right+1).join(pad);
                break;
 
            default:
                str = str + Array(len + 1 - str.length).join(pad);
            break;
        }
    }
    return str;
}

function preload(index) {
    preloader.src = preloaderPrefix + pad(index, preloaderPadding, '0') + preloaderSuffix;
    if (index < preloaderCount) {
        index++;
        if (ie)
            preloader.onLoad = preload(index);
        else
            preloader.onload = preload(index);
    } else {
        if (ie)
            preloader.onLoad = null;
        else
            preloader.onload = null;
    }
}

function setOpacity(element, opacity) {
    element.style.opacity = (opacity / 100);
    element.style.MozOpacity = (opacity / 100);
    element.style.KhtmlOpacity = (opacity / 100);
    element.style.filter = "alpha(opacity=" + opacity + ")";
}


if (ie) {
    ibSpeed = 1;
}

function ibGetIndex() {
    return ibElement.src.replace(/.*[\\\/]banner-(\d)\.jpg/, '$1');
}

function ibSetIndex(i) {
    ibElement.src = ibElement.src.replace(/([\\\/]banner-)\d\.jpg/, '$1' + i + '.jpg');
}

function ibNext(id) {
    var i = ibGetIndex();

    if (i < ibImageCount) {
        ibSetIndex(i - (-1));
    }
}

function ibFadeIn() {
    if (ibOpacity < 100) {
        setOpacity(ibElement, ibOpacity += 3);
        ibTimeout = setTimeout("ibFadeIn()", ibSpeed);
    } else {
        ibTimeout = setTimeout("ibFadeOut()", 8000);
    }
}

function ibFadeOut() {
    if (0 < ibOpacity) {
        setOpacity(ibElement, --ibOpacity);
        ibTimeout = setTimeout("ibFadeOut()", ibSpeed);
    } else {
        if (ibGetIndex() == ibImageCount) {
            ibSetIndex(1);
        } else {
            ibNext();
        }
        ibFadeIn();
    }
}
                     
function zoom(img) {
    if (zoomBG && zoomImg) {
        if (ie)
            zoomBG.style.top = document.body.scrollTop + 'px';
        else
            zoomBG.style.top = '0px';
        zoomBG.style.left = '0px';
        zoomBG.style.width = document.documentElement.scrollWidth + 'px';
        zoomBG.style.height = document.documentElement.scrollHeight + 'px';
        
        zoomBG.style.cursor = 'wait';

        zoomImg.src = img.src.replace(/\/thm-/, '/img-');
        
        setOpacity(zoomBG, 90);
        zoomBG.style.visibility = 'visible';
    }
}

function zoomClick() {
    if (zoomBG && zoomImg) {
        zoomBG.style.visibility = 'hidden';
        zoomDiv.style.visibility = 'hidden';
    }
}

function zoomScroll() {
    if (zoomBG && zoomImg) {
        zoomBG.style.visibility = 'hidden';
        zoomDiv.style.visibility = 'hidden';
    }
}

function zoomLoad() {
    if (zoomBG && zoomImg) {
        zoomDiv.style.width = zoomImg.clientWidth + 20 + 'px';
        zoomDiv.style.height = zoomImg.clientHeight + 40 + 'px';
        if (ie) {
            zoomDiv.style.top = document.body.scrollTop + (document.body.clientHeight - zoomDiv.clientHeight) / 2 + 'px';
            zoomDiv.style.left = (document.body.clientWidth - zoomDiv.clientWidth) / 2 + 'px';
        } else {
            
            zoomDiv.style.top = window.scrollY + (window.innerHeight - zoomDiv.clientHeight) / 2 + 'px';
            zoomDiv.style.left = (window.innerWidth - zoomDiv.clientWidth) / 2 + 'px';
        }
        
        zoomBG.style.cursor = 'pointer';
        zoomDiv.style.visibility = 'visible';
    }
}

function toggle(id) {
    var e = document.getElementById('Oferta' + id);
    if (e) {
        if (e.style.display == '' || e.style.display == 'none') 
            e.style.display = 'block';
        else
            e.style.display = 'none';
        redrawDocument();
    }
}

function pictureZoom(img) {
    zoom(img);
}

