﻿function GetDocumentHeight() { return Math.max(document.body.scrollHeight, document.body.offsetHeight, document.documentElement.clientHeight, document.documentElement.scrollHeight, document.documentElement.offsetHeight); }

function OpenCloseDiv(divID) {
    if (document.getElementById(divID).style.display == "none")
        document.getElementById(divID).style.display = "block";
    else
        document.getElementById(divID).style.display = "none";
}

function GoToBottom() {
    document.documentElement.scrollTop = GetDocumentHeight();
}

// Get query string
var queryStringParam = new Array();
function GetQueryString() {
    var query = window.location.search.substring(1);

    if (!query || query == "") return;

    var params = query.split('&');
    for (var i = 0; i < params.length; i++) {
        var pos = params[i].indexOf('=');
        if (pos > 0) {
            var key = params[i].substring(0, pos);
            var val = params[i].substring(pos + 1);
            queryStringParam[key] = val;
        }
    }
} 


// ************************************************************
// * Slide show with cross fade
// ************************************************************
var ssImages; var ssImg0; var ssImg1;
var curImgIx;
var noOfImages;
var ImgShowingTime = 5000;
function PreloadImages() {
    divSlideShow1c = document.getElementById('div_SlideShow_1_c');
    ssImg0 = document.getElementById('ssImg_0');
    ssImg1 = document.getElementById('ssImg_1');
    ssImg0.style.width = ssImg1.style.width = divSlideShow1c.style.width;
    ssImg0.style.height = ssImg1.style.height = divSlideShow1c.style.height;
    frameImg = document.getElementById('SlideShowFrame');
    if (frameImg) {
        frameImg.style.width = divSlideShow1c.style.width;
        frameImg.style.height = divSlideShow1c.style.height;
    }
    noOfImages = PreloadImages.arguments.length - 1;
    ssImages = new Array(noOfImages);
    totalImagesLoaded = 0;

    // Load the 1st image and display immediately
    divSlideShow1 = document.getElementById('divSlideShow_1');
    img0 = new Image();
    img0.onload = function() { img0.style.width = divSlideShow1c.style.width; img0.style.height = divSlideShow1c.style.height; ssImg0.src = img0.src; ssImg0.style.display = 'block'; ssImages[0] = img0; totalImagesLoaded++; };
    img0.src = PreloadImages.arguments[0] + PreloadImages.arguments[1];
    // Load the rest of the images and once loaded start the slideshow
    for (ix = 1; ix < noOfImages; ix++) {
        anImg = new Image();
        anImg.onload = function() {
            totalImagesLoaded++;
            if (totalImagesLoaded == noOfImages) {
                ssImg1.src = ssImages[1].src;
                curImgIx = 0;
                DoSlideShow();
            }
        };
        anImg.style.width = divSlideShow1c.style.width;
        anImg.style.height = divSlideShow1c.style.height;
        anImg.src = PreloadImages.arguments[0] + PreloadImages.arguments[ix + 1];
        ssImages[ix] = anImg;
    }
}

opaVal = noOfFadingSteps = 50;
factor100 = 100 / noOfFadingSteps;
function DoSlideShow() {
    // Place the current image in ssImg_0 and next image in ssImg_1
    ssImg0.src = ssImages[curImgIx].src;
    nextImgIx = curImgIx + 1;
    if (nextImgIx > noOfImages - 1) nextImgIx = 0;
    ssImg1.src = ssImages[nextImgIx].src;

    ssImg1.style.display = 'block';
    setTimeout('CrossFade()', ImgShowingTime);
}
stepCntr = 0;
function CrossFade() {
    // Fade out
    ssImg0.style.opacity = opaVal / noOfFadingSteps; // ff 1.0 to 0.0
    ssImg0.style.filter = 'alpha(opacity=' + opaVal * factor100 + ')'; // ie 100 to 0
    // Fade in
    ssImg1.style.opacity = (noOfFadingSteps - opaVal) / noOfFadingSteps; // ff 0.0 to 1.0
    ssImg1.style.filter = 'alpha(opacity=' + (noOfFadingSteps - opaVal) * factor100 + ')'; // ie 0 to 100

    opaVal--;
    if (opaVal < 0) {
        ssImg0.src = ssImg1.src;
        ssImg0.style.opacity = 1; ssImg0.style.filter = 'alpha(opacity=100)';
        ssImg1.style.display = 'none';
        opaVal = noOfFadingSteps;
        curImgIx++;
        if (curImgIx > (noOfImages - 1)) curImgIx = 0;
        DoSlideShow();
        return;
    }
    setTimeout('CrossFade()', 20);
}



// ************************************************************
// * News displayer with fades
// ************************************************************
var isNewsPaused = false;
var newsItems;
var newsIx = -1;
var newsElement;
var divNewsHeight;
var divNewsWidth;

function InitNews() {
    //The following is a temp fix and must be removed if height alignment with another div is not required
    document.getElementById('div_news_c').style.height = document.getElementById('div_intro').offsetHeight - 12 + 'px';

    divNewsHeight = document.getElementById('div_news_c').offsetHeight - document.getElementById('div_news_h').offsetHeight;
    divNewsWidth = document.getElementById('div_news_c').offsetWidth;
    document.getElementById('div_news').style.height = (divNewsHeight - 15) + 'px';
    document.getElementById('div_news').style.width = (divNewsWidth - 10) + 'px';
    (document.getElementById('div_news')).onmouseover = PauseNews;
    (document.getElementById('div_news')).onmouseout = ResumeNews;
    newsItems = document.getElementById('div_news').getElementsByTagName('div');
    setTimeout('ShowNews()', 2000);
}

function ShowNews() {
    newsIx++;
    if (newsIx == newsItems.length) newsIx = 0;
    newsElement = newsItems[newsIx];
    
    // Fade in
//    newsElement.style.opacity = 0.0; // ff 0.0 to 1.0
//    newsElement.style.filter = 'alpha(opacity=0)'; // ie 0 to 100
//    newsElement.style.display = 'block';
//    DoFadeInElement();

    // Scroll up
    vScroolPos = divNewsHeight;
    newsElement.style.marginTop = divNewsHeight + 'px';
    newsElement.style.display = 'block';
    newsElement.style.opacity = 1.0; // ff 0.0 to 1.0
    newsElement.style.filter = 'alpha(opacity=100)'; // ie 0 to 100
    DoScrollUpElement();
}

var vScroolPos;

function DoScrollUpElement() {
    newsElement.style.marginTop = vScroolPos + 'px';

    vScroolPos = vScroolPos - 2;

    if (vScroolPos < 0) {
        // Scroll up complete
        setTimeout('DoFadeOutElement()', 5000);
        return;
    }

    setTimeout('DoScrollUpElement()', 25);
}

var newsNoOfFadingSteps = 50; var newsOpacityValue = 50; var newsFactor100 = 100 / newsNoOfFadingSteps;

function DoFadeInElement() {
    newsElement.style.opacity = (newsNoOfFadingSteps - newsOpacityValue) / newsNoOfFadingSteps; // ff 0.0 to 1.0
    newsElement.style.filter = 'alpha(opacity=' + (newsNoOfFadingSteps - newsOpacityValue) * newsFactor100 + ')'; // ie 0 to 100

    newsOpacityValue--;

    if (newsOpacityValue < 0) {
        // FadeIn complete
        newsOpacityValue = newsNoOfFadingSteps;
        setTimeout('DoFadeOutElement()', 3000);
        return;
    }

    setTimeout('DoFadeInElement()', 20);
}

function DoFadeOutElement() {
    if (isNewsPaused) { setTimeout('DoFadeOutElement()', 1000); return; }
    newsElement.style.opacity = newsOpacityValue / newsNoOfFadingSteps; // ff 1.0 to 0.0
    newsElement.style.filter = 'alpha(opacity=' + newsOpacityValue * newsFactor100 + ')'; // ie 100 to 0

    newsOpacityValue--;

    if (newsOpacityValue < 0) {
        // FadeIn complete
        newsOpacityValue = newsNoOfFadingSteps;
        newsElement.style.display = 'none';
        newsElement.style.opacity = 1.0; // ff 1.0 to 0.0
        newsElement.style.filter = 'alpha(opacity=100)'; // ie 100 to 0
        setTimeout('ShowNews()', 1000);
        return;
    }

    setTimeout('DoFadeOutElement()', 20);
}

function PauseNews() {
    isNewsPaused = true;
}
function ResumeNews() {
    isNewsPaused = false;
}




function DoFlash() {
    MM_CheckFlashVersion('8,0,0,0', 'Content on this page requires a newer version of Adobe Flash Player. Do you want to download it now?');
}

function MM_CheckFlashVersion(reqVerStr, msg) {
    with (navigator) {
        var isIE = (appVersion.indexOf("MSIE") != -1 && userAgent.indexOf("Opera") == -1);
        var isWin = (appVersion.toLowerCase().indexOf("win") != -1);
        if (!isIE || !isWin) {
            var flashVer = -1;
            if (plugins && plugins.length > 0) {
                var desc = plugins["Shockwave Flash"] ? plugins["Shockwave Flash"].description : "";
                desc = plugins["Shockwave Flash 2.0"] ? plugins["Shockwave Flash 2.0"].description : desc;
                if (desc == "") flashVer = -1;
                else {
                    var descArr = desc.split(" ");
                    var tempArrMajor = descArr[2].split(".");
                    var verMajor = tempArrMajor[0];
                    var tempArrMinor = (descArr[3] != "") ? descArr[3].split("r") : descArr[4].split("r");
                    var verMinor = (tempArrMinor[1] > 0) ? tempArrMinor[1] : 0;
                    flashVer = parseFloat(verMajor + "." + verMinor);
                }
            }
            // WebTV has Flash Player 4 or lower -- too low for video
            else if (userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 4.0;

            var verArr = reqVerStr.split(",");
            var reqVer = parseFloat(verArr[0] + "." + verArr[2]);

            if (flashVer < reqVer) {
                if (confirm(msg))
                    window.location = "http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash";
            }
        }
    }
}