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

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


var preloader;
var preloaderPrefix     = 'assets/banner-';
var preloaderSuffix     = '.jpg';
var preloaderPadding    = 1;
var preloaderCount      = 4;

window.onload = redraw;
window.onresize = redraw;

function redraw() {
    var pageHeaderWrap = document.getElementById('PageHeaderWrap');
    var pageBodyWrap = document.getElementById('PageBodyWrap');
    var pageFooterWrap = document.getElementById('PageFooterWrap');
    var pageBody = document.getElementById('PageBody');
    var leftColumn = document.getElementById('LeftColumn');
    var rightColumn = document.getElementById('RightColumn');

    if (leftColumn && rightColumn) {
        pageBody.style.height = null;
        leftColumn.style.height = null;
        rightColumn.style.height = null;
        var pageBodyHeight = Math.max(
                leftColumn.scrollHeight, 
                rightColumn.scrollHeight,  
                document.body.clientHeight - pageHeaderWrap.clientHeight - pageFooterWrap.clientHeight);
        pageBodyWrap.style.height = pageBodyHeight + 'px';
        pageBody.style.height = pageBodyHeight + 'px';
    }
    
    ibElement = document.getElementById('Banner');
    ibElementTXT = document.getElementById('BannerTXT');
    
    preloader = document.getElementById('Preloader');
    preload(1);
}

function sb(aID) {
    var e = document.getElementById(aID);
    e.src = e.src.replace(/-p\./,'-a.')
}

function db(aID) {
    var e = document.getElementById(aID);
    e.src = e.src.replace(/-a\./,'-p.')
}

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; }
 
    str = str + '';
    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');
    ibElementTXT.src = ibElementTXT.src.replace(/([\\\/]banner-txt-)\d\.png/, '$1' + i + '.png');
}

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

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

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

function ibFadeOut() {
    if (0 < ibOpacity) {
        setOpacity(ibElement, --ibOpacity);
        setOpacity(ibElementTXT, --ibOpacity);
        ibTimeout = setTimeout("ibFadeOut()", ibSpeed);
    } else {
        if (ibGetIndex() == ibImageCount) {
            ibSetIndex(1);
        } else {
            ibNext();
        }
        ibFadeIn();
    }
}

