﻿//Javascript init
var jsSize = 0;
var runningTextFieldAnimation = false;
switch(websiteSize)
{
    case 0:
        jsSize = 0.64;
    break;
    case 1:
        jsSize = 0.8;
    break;
    case 2:
        jsSize = 1;
    break;
}//switch

function resValue(int1, int2, int3) {

    switch (websiteSize) {
        case 0:
            return int1;
            break;
        case 1:
            return int2;
            break;
        case 2:
            return int3;
            break;
    } //switch
} //resValue


function calcValue(intValue) {
    return parseInt(intValue * jsSize);
} //calcValue

//When dom is ready.
$(document).ready(function() {
    
    InitElements();
});

function InitElements(){

    switch (pagetype) {

        case 1: /*Article*/
            $(".div-arrow-left-container").click(function() {

                prevImageListImage("div-article-image-container");
            });

            $(".div-arrow-right-container").click(function() {

                nextImageListImage("div-article-image-container");
            });

            $(".div-toogle-text-field").click(function() {

                if (!runningTextFieldAnimation) {
                    runningTextFieldAnimation = true;

                    if ($(".label-hide").hasClass("show")) {

                        $(".label-show").addClass("show").removeClass("hide");
                        $(".label-hide").addClass("hide").removeClass("show");

                        $(".div-text-field-root").stop(true, true).animate({ "height": "toggle" }, 1000, "", function() {

                            $(".div-toogle-text-field").stop(true, true).animate({ "width": calcValue(150) + "px" }, 1000);

                            $(".label-show").css({ "display": "block" });
                            $(".label-hide").css({ "display": "none" });
                            runningTextFieldAnimation = false;
                        });
                    } //if
                    else {

                        $(".div-toogle-text-field").stop(true, true).animate({ "width": calcValue(560) + "px" }, 1000, "", function() {

                            $(".label-hide").addClass("show").removeClass("hide");
                            $(".label-show").addClass("hide").removeClass("show");

                            $(".div-text-field-root").stop(true, true).animate({ "height": "toggle" }, 1000, "", function() {

                                $(".label-show").css({ "display": "none" });
                                $(".label-hide").css({ "display": "block" });
                                runningTextFieldAnimation = false;
                            });

                        });
                    } //else
                } //if
            });

            //Setup srcollbar
            InitScrollBar("article-text-field-root", "article-text-field-container", "article-text-field-document", "text-field-scrollbar", false);

            break;
        case 2: /*News*/
            
            $(".div-arrow-left-container").click(function() {

                prevImageListImage("div-article-image-container");
            });

            $(".div-arrow-right-container").click(function() {

                nextImageListImage("div-article-image-container");
            });
            
            $(".div-toogle-text-field").click(function() {

                if (!runningTextFieldAnimation) {
                    runningTextFieldAnimation = true;

                    if ($(".label-hide").hasClass("show")) {

                        $(".label-show").addClass("show").removeClass("hide");
                        $(".label-hide").addClass("hide").removeClass("show");

                        $(".div-text-field-root").stop(true, true).animate({ "height": "toggle" }, 1000, "", function() {

                            $(".div-toogle-text-field").stop(true, true).animate({ "width": calcValue(150) + "px" }, 1000);

                            $(".label-show").css({ "display": "block" });
                            $(".label-hide").css({ "display": "none" });
                            runningTextFieldAnimation = false;
                        });
                    } //if
                    else {

                        $(".div-toogle-text-field").stop(true, true).animate({ "width": calcValue(560) + "px" }, 1000, "", function() {

                            $(".label-hide").addClass("show").removeClass("hide");
                            $(".label-show").addClass("hide").removeClass("show");

                            $(".div-text-field-root").stop(true, true).animate({ "height": "toggle" }, 1000, "", function() {

                                $(".label-show").css({ "display": "none" });
                                $(".label-hide").css({ "display": "block" });
                                runningTextFieldAnimation = false;
                            });

                        });
                    } //else
                } //if
            });
        
            //Setup srcollbar
            InitScrollBar("news-text-field-root", "news-text-field-container", "news-text-field-document", "text-field-scrollbar", false);
            break;
        case 3: /*Advertisment*/
            $(".div-annex-right-arrow").click(function() {

                //get annex id (show)
                var annexId = $(this).attr("rel");

                $(".div-annex-" + annexId).animate({ "height": "toggle" }, 1000);

                $(this).addClass("hidden");
                $(".down-arrow-" + annexId).removeClass("hidden");

                //Setup srcollbar
                setTimeout("InitScrollBar('annex-text-field-root', 'annex-text-field-container', 'annex-text-field-document', 'text-field-scrollbar', false);", 1000);
            });

            $(".div-annex-down-arrow").click(function() {

                //get annex id (hide)
                var annexId = $(this).attr("rel");

                $(".div-annex-" + annexId).animate({ "height": "toggle" }, 1000);
                $(this).addClass("hidden");
                $(".right-arrow-" + annexId).removeClass("hidden");

                //Setup srcollbar
                setTimeout("InitScrollBar('annex-text-field-root', 'annex-text-field-container', 'annex-text-field-document', 'text-field-scrollbar', false);", 1000);
            });

            $(".div-annex-header").click(function() {

                //get annex id (show)
                var annexId = $(this).attr("rel");

                $(".div-annex-" + annexId).animate({ "height": "toggle" }, 1000);

                if ($(".down-arrow-" + annexId).hasClass("hidden")) {

                    $(".down-arrow-" + annexId).removeClass("hidden");
                    $(".right-arrow-" + annexId).addClass("hidden");
                }
                else {
                    
                    
                    $(".down-arrow-" + annexId).addClass("hidden");
                    $(".right-arrow-" + annexId).removeClass("hidden");
                }
                
                //Setup srcollbar
                setTimeout("InitScrollBar('annex-text-field-root', 'annex-text-field-container', 'annex-text-field-document', 'text-field-scrollbar', false);", 1000);
            });


            //Setup srcollbar
            InitScrollBar("annex-text-field-root", "annex-text-field-container", "annex-text-field-document", "text-field-scrollbar", false);
            break;
        case 4: /*Machine*/
            // Apply a class on mouse over and remove it on mouse out.
            $('.link-table tr').mouseenter(function() {
                $(this).addClass('Highlight');
            });

            $('.link-table tr').mouseleave(function() {
                $(this).removeClass('Highlight');
            });

            // Assign a click handler that grabs the URL from the first cell and redirects the user.
            $('.link-table tr').click(function() {
                location.href = $(this).find('td a').attr('href');
            });

            $(".div-toogle-text-field").click(function() {

                if (!runningTextFieldAnimation) {
                    runningTextFieldAnimation = true;

                    if ($(".label-hide").hasClass("show")) {

                        $(".label-show").addClass("show").removeClass("hide");
                        $(".label-hide").addClass("hide").removeClass("show");

                        $(".div-text-field-root").stop(true, true).animate({ "height": "toggle" }, 1000, "", function() {

                            $(".div-toogle-text-field").stop(true, true).animate({ "width": calcValue(150) + "px" }, 1000);

                            $(".label-show").css({ "display": "block" });
                            $(".label-hide").css({ "display": "none" });
                            runningTextFieldAnimation = false;
                        });
                    } //if
                    else {

                        $(".div-toogle-text-field").stop(true, true).animate({ "width": calcValue(560) + "px" }, 1000, "", function() {

                            $(".label-hide").addClass("show").removeClass("hide");
                            $(".label-show").addClass("hide").removeClass("show");

                            $(".div-text-field-root").stop(true, true).animate({ "height": "toggle" }, 1000, "", function() {

                                $(".label-show").css({ "display": "none" });
                                $(".label-hide").css({ "display": "block" });
                                runningTextFieldAnimation = false;
                            });

                        });
                    } //else
                } //if
            });

            //Setup imge menu hover
            $(".img-menu-item").mouseover(function() {

                //if (!$(this).hasClass("selected")) {
                    $(".div-machine-image-popup").css({ "background-image": "url(" + $(this).attr("rel") + ")" });
                    $(".div-machine-image-popup").addClass("div-machine-image-popup-show");
                //} //if
            });
            $(".img-menu-item").mouseout(function() {
                //if (!$(this).hasClass("selected")) {
                    $(".div-machine-image-popup").removeClass("div-machine-image-popup-show");
                    $(".div-machine-image-popup").css({ "background-image": "url(gfx/x.gif)" });
                //} //if
            });

            $(".img-menu-item").click(function() {

                $(".img-machine-background").attr("src", $(this).attr("rel"));
                $(".div-machine-image-popup").removeClass("div-machine-image-popup-show");
                $(".div-machine-image-popup").css({ "background-image": "url(gfx/x.gif)" });

                $(".div-spareparts-bottom-image-menu-document .selected").removeClass("selected");
                $(this).addClass("selected");
            });

            $(".div-arrow-left-container").click(function() {

                var $current = $(".div-spareparts-bottom-image-menu-document .selected");
                var $previous = $current.parent().prev().children(":first");

                if ($previous.length) {
                    $(".img-machine-background").attr("src", $previous.attr("rel"));

                    $current.removeClass("selected");
                    $previous.addClass("selected");
                } //if
            });

            $(".div-arrow-right-container").click(function() {

                var $current = $(".div-spareparts-bottom-image-menu-document .selected");
                var $next = $current.parent().next().children(":first");

                if ($next.length) {
                    $(".img-machine-background").attr("src", $next.attr("rel"));
                    $current.removeClass("selected");
                    $next.addClass("selected");
                }//if
            });

            //Start image gallery fader
            startTeaserFader("teaser-container");

            //Setup srcollbar
            InitScrollBar("machine-description-field-root", "machine-description-field-container", "machine-description-field-document", "text-field-scrollbar", false);

            //Setup srcollbar
            InitScrollBar("machine-text-field-root", "machine-text-field-container", "machine-text-field-document", "text-field-scrollbar", false);
            break;
        case 5:
            $(".div-arrow-left-container").click(function() {

                prevImageListImage("div-spareparts-image-container");
            });

            $(".div-arrow-right-container").click(function() {

                nextImageListImage("div-spareparts-image-container");
            });

            $(".div-toogle-text-field").click(function() {

                if (!runningTextFieldAnimation) {
                    runningTextFieldAnimation = true;

                    if ($(".label-hide").hasClass("show")) {

                        $(".label-show").addClass("show").removeClass("hide");
                        $(".label-hide").addClass("hide").removeClass("show");

                        $(".div-text-field-root").stop(true, true).animate({ "height": "toggle" }, 1000, "", function() {

                            $(".div-toogle-text-field").stop(true, true).animate({ "width": calcValue(150) + "px" }, 1000);

                            $(".label-show").css({ "display": "block" });
                            $(".label-hide").css({ "display": "none" });
                            runningTextFieldAnimation = false;
                        });
                    } //if
                    else {

                        $(".div-toogle-text-field").stop(true, true).animate({ "width": calcValue(560) + "px" }, 1000, "", function() {

                            $(".label-hide").addClass("show").removeClass("hide");
                            $(".label-show").addClass("hide").removeClass("show");

                            $(".div-text-field-root").stop(true, true).animate({ "height": "toggle" }, 1000, "", function() {

                                $(".label-show").css({ "display": "none" });
                                $(".label-hide").css({ "display": "block" });
                                runningTextFieldAnimation = false;
                            });

                        });
                    } //else
                } //if
            });

            //Setup srcollbar
            InitScrollBar("spareparts-text-field-root", "spareparts-text-field-container", "spareparts-text-field-document", "text-field-scrollbar", false);

            //Setup image menu hover
            $(".img-menu-item").mouseover(function() {

                if (!$(this).hasClass("selected")) {
                    $(".div-spareparts-image-popup").css({ "background-image": "url(" + $(this).attr("rel") + ")" });
                    $(".label-spareparts-image-popup-name-field").html($(this).attr("alt"));
                    $(".div-spareparts-image-popup").addClass("div-spareparts-image-popup-show");
                } //if
            });
            $(".img-menu-item").mouseout(function() {
                if (!$(this).hasClass("selected")) {
                    $(".div-spareparts-image-popup").removeClass("div-spareparts-image-popup-show");
                    $(".div-spareparts-image-popup").css({ "background-image": "none" });
                    $(".label-spareparts-image-popup-name-field").html("");
                } //if
            });

            break;    
          
        case 6:
            $(".divGalleryImageContainer").click(function() {

                //Position flash div
                var lightbox = document.getElementById('divGalleryFlashFrame');
                var w = $("#divGalleryFlashFrame").width();
                var h = $("#divGalleryFlashFrame").height();

                var top = parseInt(document.documentElement.scrollTop ?
                    document.documentElement.scrollTop :
                    document.body.scrollTop);

                // the important part
                lightbox.style.top = getViewportHeight() / 2 - (h / 2) + top + 'px';
                lightbox.style.left = getViewportWidth() / 2 - (w / 2) + 'px';

                //Show background div
                $("#divGalleryBox").css({ "display": "block", width: getViewportWidth() + "px", height: getViewportHeight() + "px", opacity: 0.0 }).animate({ opacity: 0.8 }, 500);
                $("#divGalleryFlashFrame").css({ "display": "block", opacity: 0.0 }).animate({ opacity: 1.0 }, 500);

                //Get selected gallery id
                var selectedItemId = $(this).attr("id").split("_")[1];
                
                //Load gallery images
                onGetGalleryImagesDataComplete($(".divImageGalleryMask", $(this)).attr("rel").split(";"));
                
                //ScriptService.GetGalleryImageData(selectedItemId, onGetGalleryImagesDataComplete, OnTimeOut, OnError);
            });

            $(".divGalleryImageContainer").mouseenter(function() {

                //Start change preview image
                boolContinueImageChange = true;
                var galleryId = $(this).attr("id").split('_')[1];
                imageGalleryTimer = setInterval("changePreviewImage(" + galleryId + ")", 0);
            });

            $(".divGalleryImageContainer").mouseleave(function() {

                //Stop change preview image
                clearInterval(imageGalleryTimer);
                boolContinueImageChange = false;
            });

            $(".divGalleryFlashFrame").mouseenter(function() {

                //Show close box
                $(".divCloseGallery").css({ "display": "block" });
                $(".divGalleryControlBoard").css({ "display": "block" });
            });

            $(".divGalleryFlashFrame").mouseleave(function() {

                //Hide close box
                $(".divCloseGallery").css({ "display": "none" });
                $(".divGalleryControlBoard").css({ "display": "none" });
            });

            $(".divCloseGallery").click(function() {

                //Stop and close flash gallery
                closeFlashGallery();
            });

            $(".tdGalleryBack").click(function() {

                //Gallery back
                flashGalleryBack();
            });

            $(".tdGalleryPlay").click(function() {

                //Gallery next
                flashGalleryPlay();

                //toggle play/pause
                $(".tdGalleryPlay").removeClass("show");
                $(".tdGalleryPause").addClass("show");

                $(".tdGalleryPlay").css({ "display": "none" });
                $(".tdGalleryPause").css({ "display": "block" });
            });

            $(".tdGalleryPause").click(function() {

                //Gallery next
                flashGalleryPause();

                //toggle play/pause
                $(".tdGalleryPlay").addClass("show");
                $(".tdGalleryPause").removeClass("show");
                $(".tdGalleryPlay").css({ "display": "block" });
                $(".tdGalleryPause").css({ "display": "none" });
            });

            $(".tdGalleryNext").click(function() {

                //Gallery next
                flashGalleryNext();
            });
            break;
        case 7:
            //Setup srcollbar
            InitScrollBar("contact-text-field-root", "contact-text-field-container", "contact-text-field-document", "text-field-scrollbar", false);
            break;
        case 9: /*Sitemap*/
            
            //Setup srcollbar
            InitScrollBar("sitemap-text-field-root", "sitemap-text-field-container", "sitemap-text-field-document", "text-field-scrollbar", false);
            break;
        case 10: /*Frontpage*/

            //Start image & text fader
            startImageFader();
            break;
        case 11: /*Download*/

            $(".div-annex-right-arrow").click(function() {

                //get annex id (show)
                var annexId = $(this).attr("rel");

                $(".div-annex-" + annexId).animate({ "height": "toggle" }, 1000);

                $(this).addClass("hidden");
                $(".down-arrow-" + annexId).removeClass("hidden");

                //Setup srcollbar
                setTimeout("InitScrollBar('annex-text-field-root', 'annex-text-field-container', 'annex-text-field-document', 'text-field-scrollbar', false);",1000);
            });

            $(".div-annex-down-arrow").click(function() {

                //get annex id (hide)
                var annexId = $(this).attr("rel");

                $(".div-annex-" + annexId).animate({ "height": "toggle" }, 1000);
                $(this).addClass("hidden");
                $(".right-arrow-" + annexId).removeClass("hidden");

                //Setup srcollbar
                setTimeout("InitScrollBar('annex-text-field-root', 'annex-text-field-container', 'annex-text-field-document', 'text-field-scrollbar', false);", 1000);
            });

            $(".div-annex-header").click(function() {

                //get annex id (show)
                var annexId = $(this).attr("rel");

                $(".div-annex-" + annexId).animate({ "height": "toggle" }, 1000);

                if ($(".down-arrow-" + annexId).hasClass("hidden")) {

                    $(".down-arrow-" + annexId).removeClass("hidden");
                    $(".right-arrow-" + annexId).addClass("hidden");
                }
                else {


                    $(".down-arrow-" + annexId).addClass("hidden");
                    $(".right-arrow-" + annexId).removeClass("hidden");
                }

                //Setup srcollbar
                setTimeout("InitScrollBar('annex-text-field-root', 'annex-text-field-container', 'annex-text-field-document', 'text-field-scrollbar', false);", 1000);
            });

            //Setup srcollbar
            InitScrollBar("annex-text-field-root", "annex-text-field-container", "annex-text-field-document", "text-field-scrollbar", false);

            break;
        case 12: /*Offer*/
            $(".div-arrow-left-container").click(function() {

                prevImageListImage("div-article-image-container");
            });

            $(".div-arrow-right-container").click(function() {

                nextImageListImage("div-article-image-container");
            });

            $(".div-toogle-text-field").click(function() {

                if (!runningTextFieldAnimation) {
                    runningTextFieldAnimation = true;

                    if ($(".label-hide").hasClass("show")) {

                        $(".label-show").addClass("show").removeClass("hide");
                        $(".label-hide").addClass("hide").removeClass("show");

                        $(".div-text-field-root").stop(true, true).animate({ "height": "toggle" }, 1000, "", function() {

                            $(".div-toogle-text-field").stop(true, true).animate({ "width": calcValue(150) + "px" }, 1000);

                            $(".label-show").css({ "display": "block" });
                            $(".label-hide").css({ "display": "none" });
                            runningTextFieldAnimation = false;
                        });
                    } //if
                    else {

                        $(".div-toogle-text-field").stop(true, true).animate({ "width": calcValue(560) + "px" }, 1000, "", function() {

                            $(".label-hide").addClass("show").removeClass("hide");
                            $(".label-show").addClass("hide").removeClass("show");

                            $(".div-text-field-root").stop(true, true).animate({ "height": "toggle" }, 1000, "", function() {

                                $(".label-show").css({ "display": "none" });
                                $(".label-hide").css({ "display": "block" });
                                runningTextFieldAnimation = false;
                            });

                        });
                    } //else
                } //if
            });

            //Setup srcollbar
            InitScrollBar("offer-text-field-root", "offer-text-field-container", "offer-text-field-document", "text-field-scrollbar", false);
            break;
    }
}//InitElements


/***********************************************************************************/
/************************** Image gallery funtions  ********************************/
/***********************************************************************************/
var boolContinueImageChange = false;
var imageGalleryTimer;

function thisMovie(movieName) {
    return document[movieName];
} //thisMovie

function changePreviewImage(galleryId) {

    clearInterval(imageGalleryTimer);

    if (boolContinueImageChange) {

        //if no IMGs have the show class, grab the first image
        var current = ($('#divImageGallery_' + galleryId + ' .divImageContainer img.show') ? $('#divImageGallery_' + galleryId + ' .divImageContainer img.show') : $('#divImageGallery_' + galleryId + ' .divImageContainer img:first'));

        //Get next image, if it reached the end of the slideshow, rotate it back to the first image
        var next = ((current.next().length) ? (current.next()) : $('#divImageGallery_' + galleryId + ' .divImageContainer img:first'));

        //Update next pointer
        next.addClass('show');
        next.css({ "display": "block" });
        current.removeClass('show');
        current.css({ "display": "none" });

        //Start timer
        imageGalleryTimer = setInterval("changePreviewImage(" + galleryId + ")", 2000);
    } //if
} //changePreviewImage

function getViewportWidth() {

    var width = self.innerWidth;  // Safari
    var mode = document.compatMode;
    if (mode || isIE) { // IE, Gecko, Opera
        width = (mode == 'CSS1Compat') ?
        document.documentElement.clientWidth : // Standards
        document.body.clientWidth; // Quirks
    }
    return width;
}

function getViewportHeight() {
    var height = self.innerHeight; // Safari, Opera
    var mode = document.compatMode;
    if ((mode || isIE) && !isOpera) { // IE, Gecko
        height = (mode == 'CSS1Compat') ?
        document.documentElement.clientHeight : // Standards
        document.body.clientHeight; // Quirks
    }
    return height;
}

var galleryTimer = null;
var galleryImageArr = null;
var currentImageIndex = 0;
function onGetGalleryImagesDataComplete(args) {

    //Prepare data for slideshow
    galleryImageArr = args;

    //Load flash
    loadGalleryFlash(galleryImageArr[currentImageIndex]);

    //Start update timer.
    galleryTimer = setInterval("UpdateGalleryFlash()", 5000);
} //

function closeFlashGallery() {

    //Stop timer
    clearInterval(galleryTimer);

    //Hide gallery
    $("#divGalleryBox").css({ "display": "none" });
    $("#divGalleryFlashFrame").css({ "display": "none" });
}

function UpdateGalleryFlash() {

    //Update image index
    if (currentImageIndex < galleryImageArr.length - 1)
        currentImageIndex++;
    else
        currentImageIndex = 0;

    thisMovie("flashGallery").displayImage(galleryImageArr[currentImageIndex]);
}

function flashGalleryBack() {

    //Stop timer
    clearInterval(galleryTimer);

    //Update index
    if (currentImageIndex > 0)
        currentImageIndex--;
    else
        currentImageIndex = galleryImageArr.length - 1;

    //Show new index
    thisMovie("flashGallery").displayImage(galleryImageArr[currentImageIndex]);

    //Check if restart gallery
    if ($(".tdGalleryPause").hasClass("show")) {

        //Start update timer.
        galleryTimer = setInterval("UpdateGalleryFlash()", 5000);
    }
}

function flashGalleryPlay() {

    //Stop timer (just in case..)
    clearInterval(galleryTimer);

    //Start update timer.
    galleryTimer = setInterval("UpdateGalleryFlash()", 5000);
}

function flashGalleryPause() {

    //Stop timer
    clearInterval(galleryTimer);
}

function flashGalleryNext() {

    //Stop timer
    clearInterval(galleryTimer);

    //Update index
    if (currentImageIndex < galleryImageArr.length - 1)
        currentImageIndex++;
    else
        currentImageIndex = 0;

    //Show new index
    thisMovie("flashGallery").displayImage(galleryImageArr[currentImageIndex]);

    //Check if restart gallery
    if ($(".tdGalleryPause").hasClass("show")) {

        //Start update timer.
        galleryTimer = setInterval("UpdateGalleryFlash()", 5000);
    } //if
}

function loadGalleryFlash(firstImage) {

    document.getElementById("divGalleryBoxFlashBox").innerHTML = AC_FL_RunContent(
		    'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,24,0',
		    'width', '100%',
		    'height', '100%',
		    'src', 'slide_js',
		    'quality', 'high',
		    'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
		    'align', 'top',
		    'play', 'true',
		    'loop', 'true',
		    'scale', 'noscale',
		    'wmode', 'transparent',
		    'devicefont', 'false',
		    'id', 'flashGallery',
		    'bgcolor', '#cccccc',
		    'name', 'flashGallery',
		    'menu', 'true',
		    'allowScriptAccess', 'sameDomain',
		    'allowFullScreen', 'false',
		    'movie', 'slide_js',
		    'FlashVars', "test=false&intern=false&id=largeFlash&lib=img_gallery/&imgs=" + firstImage + "&display_sec=4&fade_sec=1&stage_width=100%&stage_height=100%",
		    'salign', 'lt'
		    ); //end AC code
} //

function OnTimeOut(args)
{ }

function OnError(args)
{ }
/***********************************************************************************/




function prevImageListImage(containerClass) {

    var $currentImage = $("." + containerClass + " .show");
    $currentImage.stop(true, true);
    
    var $nextImage = $currentImage.prev().length > 0 ? $currentImage.prev() : $("." + containerClass + " :last");
    $nextImage.css({ "display": "block", "z-index": "1", "opacity": "0.0" });
    $nextImage.addClass("show").removeClass("hidden");
    $currentImage.css({ "z-index": "0" });
    $currentImage.addClass("last").removeClass("show");
    $nextImage.stop(true,true).animate({ "opacity": "1.0" }, 1000, "", function() {

        $("." + containerClass + " .last").css({ "display": "none", "opacity": "0.0" }).addClass("hidden").removeClass("last");
    });
}//prevImage

function nextImageListImage(containerClass) {

    var $currentImage = $("." + containerClass + " .show");
    $currentImage.stop(true, true);
    
    var $nextImage = $currentImage.next().length > 0 ? $currentImage.next() : $("." + containerClass + " :first");
    $nextImage.css({ "display": "block", "z-index": "1", "opacity": "0.0" });
    $nextImage.addClass("show").removeClass("hidden");
    $currentImage.css({ "z-index": "0" });
    $currentImage.addClass("last").removeClass("show");
    $nextImage.stop(true, true).animate({ "opacity": "1.0" }, 1000, "", function() {

        $("." + containerClass + " .last").css({ "display": "none", "opacity": "0.0" }).addClass("hidden").removeClass("last");
    });
}//nextImage

function startImageFader() {

    if ($(".div-frontpage-image-container").children().length > 0)
        setInterval("nextImage()", 6000);
} //



function nextImage() {

    //IMAGE
    var $currentImage = $(".div-frontpage-image-container .show");
    var $nextImage = $currentImage.next().length > 0 ? $currentImage.next() : $(".div-frontpage-image-container :first");

    $nextImage.css({ "display": "block", "z-index" : "1", "opacity" : "0.0" });
    $currentImage.css({ "z-index": "0" });
    
    $nextImage.animate({ "opacity": "1.0" }, 1000, "", function() {

        $(".div-frontpage-image-container .show").css({ "display": "none", "opacity": "0.0" }).addClass("hidden").removeClass("show");
        $(this).addClass("show").removeClass("hidden");
    });

    //TEXT
    var $currentText = $(".div-frontpage-text-container .show");
    var $nextText = $currentText.next().length > 0 ? $currentText.next() : $(".div-frontpage-text-container :first");

    $nextText.css({ "display": "block", "z-index": "1", "opacity": "0.0" });
    $currentText.css({ "z-index": "0" });


    $currentText.animate({ "opacity": "0.0" }, 1000, "", function() {

        $(this).addClass("hidden").removeClass("show");
    });
    $nextText.animate({ "opacity": "1.0" }, 1000, "", function() {

        $(this).addClass("show").removeClass("hidden");
    });
} //nextImage

function startTeaserFader(containerClass) {

    if ($("." + containerClass).children().length > 0)
        setInterval("fadeToNextImage('" + containerClass + "')", 3000);
} //

function fadeToNextImage(containerClass) {

    //IMAGE
    var $currentImage = $("." + containerClass + " .show");
    var $nextImage = $currentImage.next().length > 0 ? $currentImage.next() : $("." + containerClass + " :first");

    $nextImage.css({ "display": "block", "z-index": "1", "opacity": "0.0" });
    $currentImage.css({ "z-index": "0" });

    $nextImage.animate({ "opacity": "1.0" }, 1000, "", function() {

        $("." + containerClass + " .show").css({ "display": "none", "opacity": "0.0" }).addClass("hidden").removeClass("show");
        $(this).addClass("show").removeClass("hidden");
    });
} //nextImage


/****************************************/
/*          SCROLL FUNCTIONS            */
/****************************************/

var scrollTimer = null;
var scrollSpeed = 10;

function InitScrollBar(rooId, containerId, documentId, scrollContainerClassName, resizeRootElement) {

    //Get container and document
    var divRoot = document.getElementById(rooId);
    var divContainer = document.getElementById(containerId);
    var divDocument = document.getElementById(documentId);

    //Check if elements exists
    if (divContainer && divDocument) {

        //Check if document is higher that container
        if (divContainer.offsetHeight < divDocument.offsetHeight) {

            //Setup mouse wheel
            $('#' + documentId).mousewheel(function(event, delta) {

                if (delta > 0) {

                    scrollSpeed = 30;
                    Scroll(1, containerId, documentId);
                    scrollSpeed = 10;
                } //if
                else if (delta < 0) {

                    scrollSpeed = 30;
                    Scroll(-1, containerId, documentId);
                    scrollSpeed = 10;
                } //else if
                return false; // prevent default
            });

            //Create silder and arrows
            // Get the parent node 
            var c = document.getElementById(rooId);
            if (!c)
                return;

            //Remove old
            $("." + scrollContainerClassName).remove();

            // Create a new div 
            var d = document.createElement("div");
            d.innerHTML = "<div class=\"" + scrollContainerClassName + "\" style=\"height:" + divContainer.offsetHeight + "px;\">" +
                            "<table cellpadding='0' cellspacing='0' style='height:" + divContainer.offsetHeight + "px;'>" +
                                "<tr>" +
                                    "<td style='height:0%;'>" +
                                        "<div class='interactiveElement arrow-up' onmouseup='SetScrollSpeed(10);' onmousedown='SetScrollSpeed(15);' onmouseout='StopScroll();' onmouseover='StartScroll(1,\"" + containerId + "\",\"" + documentId + "\");'></div>" +
                                    "</td>" +
                                "</tr>" +
                                "<tr>" +
                                    "<td style='height:90%;'>" +
                                        "<div id='" + containerId + "ScrollbarBackground' style='position:relative;top:0px;left:0px;height:100%;'>" +
                                            "<div style='position:relative;left:" + resValue(4 - 2, 5 - 2, 7 - 3) + "px; margin-top:1px;margin-bottom:1px;height:100%;background-color:#7c8288;width:1px;'/>" +
                                            "<div id='" + containerId + "ScrollbarSlider' style='position:absolute;top:0px;left:-" + resValue(2, 2, 3) + "px;width:" + resValue(5, 5, 7) + "px;height:" + resValue(20, 20, 30) + "px;background-color:#7c8288;' class='interactiveElement ui-draggable'/>" +
                                        "</div>" +
                                    "</td>" +
                                "</tr>" +
                                "<tr>" +
                                    "<td style='height:0%;'>" +
                                        "<div class='interactiveElement arrow-down' onmouseup='SetScrollSpeed(10);' onmousedown='SetScrollSpeed(15);' onmouseout='StopScroll();' onmouseover='StartScroll(-1,\"" + containerId + "\",\"" + documentId + "\");'></div>" +
                                    "</td>" +
                                "</tr>" +
                             "</table>" +
                            "</div>";

            // add the new div to container 
            c.appendChild(d);

            //Setup dragable
            $('#' + containerId + 'ScrollbarSlider').draggable({ axis: 'y', containment: 'parent', drag: function(event, ui) { ScrollDraggin(event, ui, containerId, documentId, containerId + 'ScrollbarBackground', containerId + 'ScrollbarSlider'); } });
        } //if
        else {

            //Remove old (if any)
            $("." + scrollContainerClassName).remove();

            //Restart top
            divDocument.style.top = "0px";

            //Resize root and container
            if (resizeRootElement) {
                var diff = divContainer.offsetHeight - (divDocument.offsetHeight + calcValue(25));
                divContainer.style.height = divDocument.offsetHeight + calcValue(25) + "px";
                divRoot.style.height = divRoot.offsetHeight - diff + "px";
            } //if
        } //else
    } //if
} //InitScrollBar

function getPosition(element) {
    //The counters for the total offset values.
    var left = 0;
    var top = 0;

    //Loop while this element has a parent.
    while (element.offsetParent) {

        //Sum the current offsets with the total.
        left += element.offsetLeft;
        top += element.offsetTop;

        //Switch position to this element's parent.
        element = element.offsetParent;
    }

    //Do a final increment in case there was no parent or if //the last parent has an offset.
    left += element.offsetLeft;
    top += element.offsetTop;
    //Return the values as x,y.
    return { x: left, y: top };
}


function ScrollDraggin(event, ui, containerId, documentId, scrollbarBackgroundId, scrollbarSlider) {

    var divContainer = document.getElementById(containerId);
    var divDocument = document.getElementById(documentId);

    var total = document.getElementById(scrollbarBackgroundId).offsetHeight - document.getElementById(scrollbarSlider).offsetHeight;
    var percent = (ui.position.top * 100) / total;

    divDocument.style.top = ((divDocument.offsetHeight + 10 - divContainer.offsetHeight) / 100 * percent * -1) + "px";
} //ScrollDraggin

function StartScroll(direction, containerId, documentId) {

    scrollTimer = setInterval("Scroll(" + direction + ",'" + containerId + "','" + documentId + "')", 100);
} //StartScroll

function StopScroll() {

    clearInterval(scrollTimer);
} //StopScroll

function SetScrollSpeed(newSpeed) {

    scrollSpeed = newSpeed;
} //SetScrollSpeed

function InitScrollPosition(containerId, documentId, topPosition) {

    var divContainer = document.getElementById(containerId);
    var divDocument = document.getElementById(documentId);

    divDocument.style.top = topPosition + "px";

    //Move slider
    var total = divDocument.offsetHeight - divContainer.offsetHeight;
    var percent = (parseInt(divDocument.style.top.substring(0, divDocument.style.top.length - 2)) * 100) / total * -1;

    if (percent > 100)
        percent = 100;

    //Move slider
    document.getElementById(containerId + 'ScrollbarSlider').style.top = ((document.getElementById(containerId + 'ScrollbarBackground').offsetHeight - document.getElementById(containerId + 'ScrollbarSlider').offsetHeight) / 100 * percent) + "px";
}

function Scroll(direction, containerId, documentId) {

    var divContainer = document.getElementById(containerId);
    var divDocument = document.getElementById(documentId);

    if (direction == 1) {

        /*Scroll up.*/
        var maxScrollPosition = 0;

        if (OffsetTop(divDocument) + scrollSpeed > maxScrollPosition) {
            divDocument.style.top = maxScrollPosition + "px";
        } //if
        else {
            divDocument.style.top = OffsetTop(divDocument) + scrollSpeed + "px";
        } //else

        //Move slider
        var total = divDocument.offsetHeight - divContainer.offsetHeight;
        var percent = (parseInt(divDocument.style.top.substring(0, divDocument.style.top.length - 2)) * 100) / total * -1;

        if (percent > 100)
            percent = 100;

        //Move slider
        document.getElementById(containerId + 'ScrollbarSlider').style.top = ((document.getElementById(containerId + 'ScrollbarBackground').offsetHeight - document.getElementById(containerId + 'ScrollbarSlider').offsetHeight) / 100 * percent) + "px";
    } //if
    else if (direction == -1) {

        /*Scroll down.*/
        var maxScrollPosition = divContainer.offsetHeight - divDocument.offsetHeight - 10;

        if (OffsetTop(divDocument) - scrollSpeed < maxScrollPosition) {
            divDocument.style.top = maxScrollPosition + "px";
        } //if
        else {
            divDocument.style.top = OffsetTop(divDocument) - scrollSpeed + "px";
        } //else

        //Move slider
        var total = divDocument.offsetHeight - divContainer.offsetHeight;
        var percent = (parseInt(divDocument.style.top.substring(0, divDocument.style.top.length - 2)) * 100) / total * -1;

        if (percent > 100)
            percent = 100;

        //Move slider
        document.getElementById(containerId + 'ScrollbarSlider').style.top = ((document.getElementById(containerId + 'ScrollbarBackground').offsetHeight - document.getElementById(containerId + 'ScrollbarSlider').offsetHeight) / 100 * percent) + "px";
    } //else if
} //Scroll

function OffsetTop(element) {

    if (element.style.top.length > 2)
        return parseInt(element.style.top.substring(0, element.style.top.length - 2));
    else
        return 0;
} //OffsetTop

//v1.7
// Flash Player Version Detection
// Detect Client Browser type
// Copyright 2005-2007 Adobe Systems Incorporated.  All rights reserved.
var isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;

function ControlVersion() {
    var version;
    var axo;
    var e;

    // NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry

    try {
        // version will be set for 7.X or greater players
        axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
        version = axo.GetVariable("$version");
    } catch (e) {
    }

    if (!version) {
        try {
            // version will be set for 6.X players only
            axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");

            // installed player is some revision of 6.0
            // GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
            // so we have to be careful. 

            // default to the first public version
            version = "WIN 6,0,21,0";

            // throws if AllowScripAccess does not exist (introduced in 6.0r47)		
            axo.AllowScriptAccess = "always";

            // safe to call for 6.0r47 or greater
            version = axo.GetVariable("$version");

        } catch (e) {
        }
    }

    if (!version) {
        try {
            // version will be set for 4.X or 5.X player
            axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
            version = axo.GetVariable("$version");
        } catch (e) {
        }
    }

    if (!version) {
        try {
            // version will be set for 3.X player
            axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
            version = "WIN 3,0,18,0";
        } catch (e) {
        }
    }

    if (!version) {
        try {
            // version will be set for 2.X player
            axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
            version = "WIN 2,0,0,11";
        } catch (e) {
            version = -1;
        }
    }

    return version;
}

// JavaScript helper required to detect Flash Player PlugIn version information
function GetSwfVer() {
    // NS/Opera version >= 3 check for Flash plugin in plugin array
    var flashVer = -1;

    if (navigator.plugins != null && navigator.plugins.length > 0) {
        if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
            var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
            var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
            var descArray = flashDescription.split(" ");
            var tempArrayMajor = descArray[2].split(".");
            var versionMajor = tempArrayMajor[0];
            var versionMinor = tempArrayMajor[1];
            var versionRevision = descArray[3];
            if (versionRevision == "") {
                versionRevision = descArray[4];
            }
            if (versionRevision[0] == "d") {
                versionRevision = versionRevision.substring(1);
            } else if (versionRevision[0] == "r") {
                versionRevision = versionRevision.substring(1);
                if (versionRevision.indexOf("d") > 0) {
                    versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
                }
            }
            var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
        }
    }
    // MSN/WebTV 2.6 supports Flash 4
    else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
    // WebTV 2.5 supports Flash 3
    else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
    // older WebTV supports Flash 2
    else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
    else if (isIE && isWin && !isOpera) {
        flashVer = ControlVersion();
    }
    return flashVer;
}

// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision) {
    versionStr = GetSwfVer();
    if (versionStr == -1) {
        return false;
    } else if (versionStr != 0) {
        if (isIE && isWin && !isOpera) {
            // Given "WIN 2,0,0,11"
            tempArray = versionStr.split(" "); 	// ["WIN", "2,0,0,11"]
            tempString = tempArray[1]; 		// "2,0,0,11"
            versionArray = tempString.split(","); // ['2', '0', '0', '11']
        } else {
            versionArray = versionStr.split(".");
        }
        var versionMajor = versionArray[0];
        var versionMinor = versionArray[1];
        var versionRevision = versionArray[2];

        // is the major.revision >= requested major.revision AND the minor version >= requested minor
        if (versionMajor > parseFloat(reqMajorVer)) {
            return true;
        } else if (versionMajor == parseFloat(reqMajorVer)) {
            if (versionMinor > parseFloat(reqMinorVer))
                return true;
            else if (versionMinor == parseFloat(reqMinorVer)) {
                if (versionRevision >= parseFloat(reqRevision))
                    return true;
            }
        }
        return false;
    }
}

function AC_AddExtension(src, ext) {
    if (src.indexOf('?') != -1)
        return src.replace(/\?/, ext + '?');
    else
        return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) {
    var str = '';
    if (isIE && isWin && !isOpera) {
        str += '<object ';
        for (var i in objAttrs) {
            str += i + '="' + objAttrs[i] + '" ';
        }
        str += '>';
        for (var i in params) {
            str += '<param name="' + i + '" value="' + params[i] + '" /> ';
        }
        str += '</object>';
    }
    else {
        str += '<embed ';
        for (var i in embedAttrs) {
            str += i + '="' + embedAttrs[i] + '" ';
        }
        str += '> </embed>';
    }

    return str;
}

function AC_FL_RunContent() {
    var ret =
    AC_GetArgs
    (arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
    return AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent() {
    var ret =
    AC_GetArgs
    (arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
    AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType) {
    var ret = new Object();
    ret.embedAttrs = new Object();
    ret.params = new Object();
    ret.objAttrs = new Object();
    for (var i = 0; i < args.length; i = i + 2) {
        var currArg = args[i].toLowerCase();

        switch (currArg) {
            case "classid":
                break;
            case "pluginspage":
                ret.embedAttrs[args[i]] = args[i + 1];
                break;
            case "src":
            case "movie":
                args[i + 1] = AC_AddExtension(args[i + 1], ext);
                ret.embedAttrs["src"] = args[i + 1];
                ret.params[srcParamName] = args[i + 1];
                break;
            case "onafterupdate":
            case "onbeforeupdate":
            case "onblur":
            case "oncellchange":
            case "onclick":
            case "ondblclick":
            case "ondrag":
            case "ondragend":
            case "ondragenter":
            case "ondragleave":
            case "ondragover":
            case "ondrop":
            case "onfinish":
            case "onfocus":
            case "onhelp":
            case "onmousedown":
            case "onmouseup":
            case "onmouseover":
            case "onmousemove":
            case "onmouseout":
            case "onkeypress":
            case "onkeydown":
            case "onkeyup":
            case "onload":
            case "onlosecapture":
            case "onpropertychange":
            case "onreadystatechange":
            case "onrowsdelete":
            case "onrowenter":
            case "onrowexit":
            case "onrowsinserted":
            case "onstart":
            case "onscroll":
            case "onbeforeeditfocus":
            case "onactivate":
            case "onbeforedeactivate":
            case "ondeactivate":
            case "type":
            case "codebase":
            case "id":
                ret.objAttrs[args[i]] = args[i + 1];
                break;
            case "width":
            case "height":
            case "align":
            case "vspace":
            case "hspace":
            case "class":
            case "title":
            case "accesskey":
            case "name":
            case "tabindex":
                ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i + 1];
                break;
            default:
                ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i + 1];
        }
    }
    ret.objAttrs["classid"] = classid;
    if (mimeType) ret.embedAttrs["type"] = mimeType;
    return ret;
}
