//<!--
// *** Config ***
var BannerWidth = 1500;
var BannerFadeRate = 3.0;
var BannerSlideRate = 2.0;
var BannerContentSlideRate = 2.0;
var BannerContentDelay = 0.25;
var BannerAutoDelay = 9;
var FeatureAutoDelay = 7;
var FeatureFadeRate = 1.5;
var FeatureFadeWindow = 2;
// *** Init ***
var _supportedBrowsers = ['MSIE 7', 'MSIE 8', 'Chrome', 'Firefox', 'Safari/5'];
var _autoBannerId = 1;
var _autoBannerPause = false;
var _autoFeatureId = 1;
var _autoFeaturePause = false;
var _sliding = false;
function mainPageInit() {
    //if (null == browserSupported()) bannersSetNoAlpha();
    addJsRollover('banner-btn', -20);
    featuresInit(1);
    window.setTimeout('bannerShowAuto()', BannerAutoDelay * 1000);
    window.setTimeout('featureShowAuto()', FeatureAutoDelay * 1000);
}
function addJsRollover(className, offset) {
    var divs = document.getElementsByTagName('div');
    for (var n = 0; n < divs.length; n++) {
        if (className == divs[n].className) {
            divs[n].onmouseover = new Function('this.style.backgroundPosition = "left ' + offset + 'px"; bannerPause();');
            divs[n].onmouseout = new Function('this.style.backgroundPosition = "left top"; bannerUnPause();');
        }
    }
}
// *** Shared functions ***
function browserSupported() {
    var _supportedBrowsers = ['MSIE 7', 'MSIE 8', 'Safari/5', 'Firefox'];
    var _currentBrowser = null;
    for (i = 0; i < _supportedBrowsers.length; i++) {
        if (navigator.userAgent.match(_supportedBrowsers[i]))
            _currentBrowser = _supportedBrowsers[i];
    }
    return _currentBrowser;
}
function objSetAlpha(obj, alpha) {
    if (obj.filters && alpha < 100) {
        obj.style.filter = 'alpha(opacity=' + alpha + ')';
    } else if (obj.filters) {
        obj.style.filter = '';
    }
    obj.style.opacity = alpha / 100;
}
// *** Banner Functions ***
function bannerShow(bannerId) {
    if (_sliding || !bannerSetPager(bannerId)) return;
    _sliding = true;
    browserSupported() ? bannerSlide(bannerId) : bannerFlip(bannerId);
    _autoBannerId = 0;
}
function bannerShowAuto() {
    if (_autoBannerId < 1) return;
    if (!_autoBannerPause) {
        _autoBannerId++;
        if (null == document.getElementById('banner' + _autoBannerId)) _autoBannerId = 1;
        bannerSetPager(_autoBannerId);
        browserSupported() ? bannerSlide(_autoBannerId) : bannerFlip(_autoBannerId);
    }
    window.setTimeout('bannerShowAuto()', BannerAutoDelay * 1000);
}
function bannersSetNoAlpha() {
    var banner;
    for (n = 1; banner = document.getElementById('banner' + n); n++) {
        banner.style.background = banner.style.background.replace('png', 'jpg');
    }
}
function bannerHide(bannerId) {
    var banner;
    for (n = 1; banner = document.getElementById('banner' + n); n++) {
        if ('block' == banner.style.display && n != bannerId)
            bannerFade(n);
    }
}
function bannerFlip(bannerId) {
    var banner;
    for (n = 1; banner = document.getElementById('banner' + n); n++) {
        banner.style.display = (n == bannerId) ? 'block' : 'none';
    }
    _sliding = false;
}
function bannerFade(bannerId) {
    var banner = document.getElementById('banner' + bannerId);
    objSetAlpha(banner, 100);
    bannerFadeStep(bannerId, 0);
}
function bannerFadeStep(bannerId, bannerAlpha) {
    var banner = document.getElementById('banner' + bannerId);
    var currentAlpha = banner.style.opacity * 100;
    var newAlpha = bannerAlpha - Math.ceil((bannerAlpha - currentAlpha) / BannerFadeRate);
    objSetAlpha(banner, newAlpha);
    if (newAlpha != bannerAlpha) {
        window.setTimeout('bannerFadeStep(\'' + bannerId + '\', ' + bannerAlpha + ')', 100);
    } else {
        banner.style.display = 'none';
        objSetAlpha(banner, 100);
    }
}
function bannerSlide(bannerId) {
    var banner = document.getElementById('banner' + bannerId);
    bannerContentSlide(bannerId);
    bannerHide(bannerId);
    banner.style.backgroundPosition = BannerWidth + 'px 0px';
    banner.style.display = 'block';
    var browserWidth = window.innerWidth || document.body.clientWidth;
    var bannerLeft = Math.ceil((browserWidth - BannerWidth) / 2);
    if (!navigator.userAgent.match('MSIE')) bannerLeft -= 5; // IE HACK
    bannerSlideStep(bannerId, bannerLeft);
}
function bannerSlideStep(bannerId, bannerLeft) {
    var banner = document.getElementById('banner' + bannerId);
    var currentLeft = parseInt(banner.style.backgroundPosition);
    banner.style.backgroundPosition = (currentLeft - Math.ceil((currentLeft - bannerLeft) / BannerSlideRate)) + 'px 0px';
    if (currentLeft - bannerLeft > 0) {
        window.setTimeout('bannerSlideStep(\'' + bannerId + '\', \'' + bannerLeft + '\')', 50);
    } else {
        banner.style.backgroundPosition = 'center top';
        _sliding = false;
    }
}
function bannerContentSlide(bannerId) {
    var banner = document.getElementById('banner-content' + bannerId);
    banner.style.top = '300px';
    window.setTimeout('bannerContentSlideStep(\'' + bannerId + '\', \'0\')', BannerContentDelay * 1000);
}
function bannerContentSlideStep(bannerId, bannerTop) {
    var banner = document.getElementById('banner-content' + bannerId);
    var currentTop = parseInt(banner.offsetTop);
    banner.style.top = (currentTop - Math.ceil((currentTop - bannerTop) / BannerContentSlideRate)) + 'px';
    if (currentTop - bannerTop > 0) {
        window.setTimeout('bannerContentSlideStep(\'' + bannerId + '\', \'' + bannerTop + '\')', 50);
    } else {
        banner.style.top = '0px';
        _sliding = false;
    }
}
function bannerSlideWithText(bannerId) {
    var banner = document.getElementById('banner' + bannerId);
    bannerHide(bannerId);
    banner.style.left = BannerWidth + 'px';
    banner.style.width = BannerWidth + 'px';
    banner.style.display = 'block';
    var browserWidth = window.innerWidth || document.body.clientWidth;
    var bannerLeft = Math.ceil((browserWidth - BannerWidth) / 2);
    if (!navigator.userAgent.match('MSIE')) bannerLeft -= 5; // IE HACK
    bannerSlideWithTextStep(bannerId, bannerLeft);
}
function bannerSlideWithTextStep(bannerId, bannerLeft) {
    var banner = document.getElementById('banner' + bannerId);
    var currentLeft = parseInt(banner.offsetLeft);
    banner.style.left = (currentLeft - Math.ceil((currentLeft - bannerLeft) / BannerSlideRate)) + 'px';
    if (currentLeft - bannerLeft > 0) {
        window.setTimeout('bannerSlideWithTextStep(\'' + bannerId + '\', \'' + bannerLeft + '\')', 50);
    } else {
        banner.style.width = '100%';
        banner.style.left = '0px';
        _sliding = false;
    }
}
function bannerSetPager(bannerId) {
    var changed = true;
    var bannerPager;
    for (n = 1; bannerPager = document.getElementById('banner-pager' + n); n++) {
        if (n == bannerId) {
            if ('current' == bannerPager.className) {
                changed = false;
            } else {
                bannerPager.className = 'current';
            }
        } else {
            bannerPager.className = '';
        }
    }
    return changed;
}
function bannerPause() {
    _autoBannerPause = true;
}
function bannerUnPause() {
    _autoBannerPause = false;
}
// *** Featured works ***
function featuresInit(featureId) {
    var feature;
    for (var n = 1; null != (feature = document.getElementById('feature' + n)); n++) {
        if (n == featureId) {
            feature.style.display = 'block';
            feature.style.zIndex = '11';
            objSetAlpha(feature, 100);
        } else {
            feature.style.display = 'none';
            feature.style.zIndex = '10';
            objSetAlpha(feature, 0);
        }
        feature.style.position = 'absolute';
    }
}
function featureCurrentId() {
    var feature;
    for (var n = 1; null != (feature = document.getElementById('feature' + n)); n++) {
        if ('block' == feature.style.display) return n;
    }
}
function featureFade(featureId, alpha) {
    var feature = document.getElementById('feature' + featureId);
    var currentAlpha = feature.style.opacity * 100;
    var newAlpha = alpha - Math.ceil((alpha - currentAlpha) / FeatureFadeRate);
    if (Math.abs(newAlpha - alpha) <= FeatureFadeWindow) newAlpha = alpha;
    objSetAlpha(feature, newAlpha);
    if (currentAlpha != alpha) {
        window.setTimeout('featureFade(\'' + featureId + '\', ' + alpha + ')', 100);
    } else if (alpha == 0) {
        feature.style.display = 'none';
    } else { // no fade out
        featuresInit(featureId);
    }
}
function featureShow(featureId) {
    var feature = document.getElementById('feature' + featureId);
    //featureHide(featureCurrentId());
    feature.style.display = 'block';
    feature.style.zIndex = '12';
    featureFade(featureId, 100);
}
function featureShowAuto() {
    if (!_autoFeaturePause) {
        _autoFeatureId++;
        if (null == document.getElementById('feature' + _autoFeatureId)) _autoFeatureId = 1;
        featureShow(_autoFeatureId);
    }
    window.setTimeout('featureShowAuto()', FeatureAutoDelay * 1000);
}
function featureHide(featureId) {
    var feature = document.getElementById('feature' + featureId);
    feature.style.zIndex = '10';
    featureFade(featureId, 0);
}
function featurePause() {
    _autoFeaturePause = true;
}
function featureUnPause() {
    _autoFeaturePause = false;
}
//-->