﻿/// <reference path="jquery-1.4.2.min.js" />
var animatingOfferPreview = false;
var mouseOverPreview = false;
var actionTimer = null;
var mouseX = 0;
var mouseY = 0;
var timer = null;

//When dom is ready.
$(document).ready(function () {

    //Setup menu 1
    $(".menu1-item").mouseenter(function () {

        $(this).prev().addClass("next-active");
        $(this).next().addClass("prev-active");
    });

    $(".menu1-item").mouseleave(function () {

        $(this).prev().removeClass("next-active");
        $(this).next().removeClass("prev-active");
    });

    $(".facebook-button").click(function () {

        $(".div-facebook-button-root").animate({ "height": "toggle" }, "slow");
    });

    //Setup offer preview scroll
    $(".div-offer-preview-arrow-up").click(function () {

        if (!animatingOfferPreview) {
            animatingOfferPreview = true;
            var top = $(".div-offer-preview-document").position().top;
            if (top < 0)
                $(".div-offer-preview-document").stop(true, true).animate({ "top": (top + calcValue(130)) + "px" }, "slow", "", function () { animatingOfferPreview = false; });
            else
                animatingOfferPreview = false;
        } //if
    });

    $(".div-offer-preview-arrow-down").click(function () {
        if (!animatingOfferPreview) {
            animatingOfferPreview = true;
            var top = $(".div-offer-preview-document").position().top;
            if (top > -1 * ($(".div-offer-preview-item").length - 2) * calcValue(130))
                $(".div-offer-preview-document").stop(true, true).animate({ "top": (top - calcValue(130)) + "px" }, "slow", "", function () { animatingOfferPreview = false; });
            else
                animatingOfferPreview = false;
        } //if
    });

    $(".div-offer-preview-item").click(function () {

        var offset = $(".div-offer-preview-document").position().top;
        var url = $(this).attr("ref");
        if (url.indexOf("?") > 0)
            url += "&offset=" + offset;
        else
            url += "?offset=" + offset;


        window.location.href = url;
    });

    //Start gallery preview fader
    startImageFader("div-gallery-teaser-container");

    switch (pagetype) {

        case 1: /*Frontpage*/
            //Start news teaser slider
            startNewsTeaserSlider();

            //Start main image fader
            startImageFader("div-image-container");
            break;
        case 2: /*Article*/

            $(".toggle-close").click(function () {

                $(".div-image-text-root").removeClass("show");
                $(".div-image-text-root").addClass("hidden");
            });

            $(".toggle-show").click(function () {

                $(".div-image-text-root").addClass("show");
                $(".div-image-text-root").removeClass("hidden");
            });


            if ($(".div-image-preview-document ul").children().length > 3) {
                $(".div-image-preview-container").mouseenter(function () {

                    //Update flag
                    mouseOverPreview = true;

                    $(".div-image-preview-container").mousemove(function (e) {
                        mouseX = e.pageX - $(".div-image-preview-container").position().left - $(".div-image-preview-root").position().left - $(".site").position().left;
                    });

                    //Start action timer
                    actionTimer = setInterval("mouseOverImagePreview();", 10);
                });
            } //if

            if ($(".div-image-preview-document ul").children().length > 3) {
                $(".div-image-preview-container").mouseleave(function () {

                    //Stop action timer
                    clearInterval(actionTimer);

                    $(".div-image-preview-container").unbind('mousemove');

                    //Update flag
                    mouseOverPreview = false;

                    var $currentPreviewImage = $(".div-image-preview-container .selected");
                    if (!mouseOverPreview) {
                        //Check if current not first and not second to last
                        if ($currentPreviewImage.prev().length > 0 && $currentPreviewImage.next().next().length > 0) {

                            var counter = -1;
                            var $tmpElement = $currentPreviewImage;
                            while ($tmpElement.prev().length > 0) {
                                $tmpElement = $tmpElement.prev();
                                counter++;
                            } //while

                            var left = -(resValue(61, 77, 96) + resValue(8, 10, 12) + 2) * counter;

                            $(".div-image-preview-document").animate({ "left": left + "px" }, "slow");
                        } //if
                    } //if
                });
            } //if

            $(".div-image-preview-document li").click(function () {

                if (!$(this).hasClass("selected")) {

                    //Stop timer
                    clearInterval(timer);

                    //Complete any animation
                    $(".div-image-preview-document li").stop(true, true);

                    //Update selected preview
                    $(".div-image-preview-document li").removeClass("selected");
                    $(this).addClass("selected");

                    var first = false;
                    var last = false;
                    var counter = -1;

                    //Check if not first and not last
                    if ($(this).prev().length > 0 && $(this).next().length > 0) {

                        var $tmpElement = $(this);
                        while ($tmpElement.prev().length > 0) {
                            $tmpElement = $tmpElement.prev();
                            counter++;
                        } //while
                        var left = -(resValue(61, 77, 96) + resValue(8, 10, 12) + 2) * counter;
                        $(".div-image-preview-document").animate({ "left": left + "px" }, "slow");
                    } //if
                    //Check if first
                    else if ($(this).prev().length == 0) {

                        first = true;
                        $(".div-image-preview-document").animate({ "left": "0px" }, "slow");
                    } //else if
                    //Check if last
                    else if ($(this).next().length == 0) {

                        var last = true;
                        var itemCount = $(".div-image-preview-document li").length - 3;
                        $(".div-image-preview-document").css({ "left": (-1 * (itemCount * calcValue(96) + 2 + (itemCount - 1) * resValue(8, 10, 12))) + "px" });
                    } //else if
                    else {
                    }

                    //Change image and image counter
                    /*********************************************************************************/
                    var $currentImage = $(".div-image-container .show");
                    var $nextImage;
                    var $currentImageCounter = $(".div-image-counter-container .show");
                    var $nextImageCounter;

                    counter++;

                    if (first) {
                        $nextImage = $(".div-image-container :first");
                        $nextImageCounter = $(".div-image-counter-container :first");
                    }
                    else if (last) {
                        $nextImage = $(".div-image-container :last");
                        $nextImageCounter = $(".div-image-counter-container :last");
                    }
                    else {

                        $nextImage = $(".div-image-container :first");
                        $nextImageCounter = $(".div-image-counter-container :first");
                        while (counter > 0) {

                            $nextImage = $nextImage.next();
                            $nextImageCounter = $nextImageCounter.next();
                            counter--;
                        }
                    } //else

                    $nextImage.css({ "display": "block", "z-index": "1", "opacity": "0.0" });
                    $currentImage.css({ "z-index": "0" });

                    $nextImageCounter.css({ "display": "block", "z-index": "1", "opacity": "0.0" });
                    $currentImageCounter.css({ "z-index": "0" });

                    $nextImage.animate({ "opacity": "1.0" }, 1000, "", function () {

                        $(".div-image-container .show").css({ "display": "none", "opacity": "0.0" }).addClass("hidden").removeClass("show");
                        $(this).addClass("show").removeClass("hidden");
                    });

                    $nextImageCounter.animate({ "opacity": "1.0" }, 1000, "", function () {

                        $(".div-image-counter-container .show").css({ "display": "none", "opacity": "0.0" }).addClass("hidden").removeClass("show");
                        $(this).addClass("show").removeClass("hidden");
                    });

                    //Restart timer
                    if ($(".div-image-container").children().length > 1)
                        timer = setInterval("articlefadeToNextImage('div-image-container','div-image-preview-document')", 5000);
                    /*********************************************************************************/
                }
            });

            //Start article image fader
            startArticleImageFader("div-image-container", "div-image-preview-document");
            break;
        case 3: /*Calender*/
            var calendarOffset = querySt("offset");

            if (calendarOffset)
                $(".divCalenderContentDocument").css({ "top": calendarOffset + "px" });

            if (querySt("id")) {

                var showTop = -calcValue(100);
                var hiddenTop = showTop + $(".divCalenderEventDetailsRoot").height();
                $(".divCalenderEventDetailsRoot").css({ "top": hiddenTop + "px", "display": "block" });
                $(".divCalenderEventDetailsRoot").animate({ "top": showTop + "px" }, "slow");
            } //if

            InitScrollBar("divCalenderContentRoot", "divCalenderContentContainer", "divCalenderContentDocument", "div-calender-content-scrollbar", false);

            $(".trCalendarWeek").mouseenter(function () {
                $(".tdCalenderDayCell", this).addClass("tdCalenderDayCellOn");
            });

            $(".trCalendarWeek").mouseleave(function () {
                $(".tdCalenderDayCell", this).removeClass("tdCalenderDayCellOn");
            });

            $(".divCalendarEventContainer").mouseenter(function () {
                $(".tdCalendarEventTopOff", this).addClass("tdCalendarEventTopOn");
                $(".tdCalendarEventTopOff", this).removeClass("tdCalendarEventTopOff");

                $(".tdCalendarEventCenterOff", this).addClass("tdCalendarEventCenterOn");
                $(".tdCalendarEventCenterOff", this).removeClass("tdCalendarEventCenterOff");

                $(".tdCalendarEventBottomOff", this).addClass("tdCalendarEventBottomOn");
                $(".tdCalendarEventBottomOff", this).removeClass("tdCalendarEventBottomOff");

                $(".divCalendarInfoOff", this).addClass("divCalendarInfoOn");
                $(".divCalendarInfoOff", this).removeClass("divCalendarInfoOff");
            });

            $(".divCalendarEventContainer").mouseleave(function () {
                $(".tdCalendarEventTopOn", this).addClass("tdCalendarEventTopOff");
                $(".tdCalendarEventTopOn", this).removeClass("tdCalendarEventTopOn");

                $(".tdCalendarEventCenterOn", this).addClass("tdCalendarEventCenterOff");
                $(".tdCalendarEventCenterOn", this).removeClass("tdCalendarEventCenterOn");

                $(".tdCalendarEventBottomOn", this).addClass("tdCalendarEventBottomOff");
                $(".tdCalendarEventBottomOn", this).removeClass("tdCalendarEventBottomOn");

                $(".divCalendarInfoOn", this).addClass("divCalendarInfoOff");
                $(".divCalendarInfoOn", this).removeClass("divCalendarInfoOn");
            });

            $(".divCalendarEventContainer").click(function () {

                //Get event id
                var eventId = this.id.split("_")[1];
                var date = this.id.split("_")[2]

                var offset = $(".divCalenderContentDocument").position().top;
                var url = $(this).attr("ref");
                if (url.indexOf("?") > 0)
                    url += "&offset=" + offset;
                else
                    url += "?offset=" + offset;

                window.location.href = url;
            });

            $(".divCalenderEventDetailsHideContainer").click(function () {

                //Hide outer container with slide effect
                $(".divCalenderEventDetailsOuterContainer").animate({ top: calcValue(658) + "px" }, 500, "", function () { $(".divCalenderEventDetailsRoot").css({ "display": "none" }); });
            });


            $(".divCalenderEventDetailsHideContainer").mouseenter(function () {
                $(".toggleBackgroundOffRight", this).addClass("toggleBackgroundOnRight");
                $(".toggleBackgroundOffRight", this).removeClass("toggleBackgroundOffRight");

                $(".toggleBackgroundOffCenter", this).addClass("toggleBackgroundOnCenter");
                $(".toggleBackgroundOffCenter", this).removeClass("toggleBackgroundOffCenter");

                $(".toggleContainer").addClass("toggleContainerOn").removeClass("toggleContainerOff");
            });

            $(".divCalenderEventDetailsHideContainer").mouseleave(function () {
                $(".toggleBackgroundOnRight", this).addClass("toggleBackgroundOffRight");
                $(".toggleBackgroundOnRight", this).removeClass("toggleBackgroundOnRight");

                $(".toggleBackgroundOnCenter", this).addClass("toggleBackgroundOffCenter");
                $(".toggleBackgroundOnCenter", this).removeClass("toggleBackgroundOnCenter");

                $(".toggleContainer").addClass("toggleContainerOff").removeClass("toggleContainerOn");
            });

            break;
        case 5:
            var offerMenuOffset = querySt("offset");

            if (offerMenuOffset)
                $(".div-offer-preview-document").css({ "top": offerMenuOffset + "px" });

            //Start main image fader
            startImageFader("div-image-container", "div-image-counter-container");
            break;
        case 10:
            InitScrollBar("div-large-textfield-root", "div-large-textfield-container", "div-large-textfield-document", "div-large-textfield-scrollbar", false);
            break;
        case 11:
            setTimeout("LoadFlash('div-flash-container');", 100);
            break;
    } //switch
});

function mouseOverImagePreview() {

    //Check if mouse over left
    if (mouseX < calcValue(106-50)) {

        if( $(".div-image-preview-document").position().left + parseInt((calcValue(106)-mouseX) / 10) < 0 ){
            $(".div-image-preview-document").css({ "left": $(".div-image-preview-document").position().left + parseInt((calcValue(106)-mouseX) / 15) + "px" });
        }
        else{
            $(".div-image-preview-document").css({ "left": "0px" });
        }//else
    }//if
    //Check if mouse over right
    else if (mouseX > calcValue(212+50)) {

        var itemCount = $(".div-image-preview-document li").length - 3;
        if ($(".div-image-preview-document").position().left > (-1 * (itemCount * (resValue(61, 77, 96) + 2) + (itemCount) * resValue(8, 10, 12)))) {
            $(".div-image-preview-document").css({ "left": $(".div-image-preview-document").position().left - parseInt((mouseX - calcValue(212)) / 15) + "px" });
        }
        else {
            $(".div-image-preview-document").css({ "left": (-1 * (itemCount * (resValue(61, 77, 96) + 2) + (itemCount) * resValue(8, 10, 12))) + "px" });
        } //else
    }
    //Check if mouse over center
    else {
    }
}

function querySt(ji) {
    hu = window.location.search.substring(1);
    gy = hu.split("&");
    for (i = 0; i < gy.length; i++) {
        ft = gy[i].split("=");
        if (ft[0] == ji) {
            return ft[1];
        }
    }
}

function LoadFlash(containerId) {

    //get src
    var flashSrc = $("#" + containerId).attr("rel").split(".swf")[0];

    document.getElementById(containerId).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', flashSrc,
		    'quality', 'high',
		    'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
		    'align', 'top',
		    'play', 'true',
		    'loop', 'true',
		    'scale', 'noscale',
		    'wmode', 'transparent',
		    'devicefont', 'false',
		    'id', 'flash',
		    'bgcolor', '#cccccc',
		    'name', 'flashGallery',
		    'menu', 'true',
		    'allowScriptAccess', 'sameDomain',
		    'allowFullScreen', 'false',
		    'movie', flashSrc,
		    'FlashVars', "",
		    'salign', 'lt'
		    ); //end AC code
}

function startNewsTeaserSlider() {

    if ($(".div-news-teaser-item").length > 1) {
        setTimeout("slideNewsTeaserBox();", 5000);        
    }//if
} //startNewsTeaserSlider

function slideNewsTeaserBox() {

    var top = $(".div-news-teaser-document").position().top;

    if (top > -1 * ($(".div-news-teaser-item").length - 1) * calcValue(95)) {
        //Slide down
        $(".div-news-teaser-document").animate({ "top": "" + top - calcValue(95) + "px" }, "slow");
    }//if
    else {
        //Goto top
        $(".div-news-teaser-document").animate({ "top": "0px" }, "slow");
    } //else

    setTimeout("slideNewsTeaserBox();", 5000);  
} //slideNewsTeaserBox

function startImageFader(containerClass) {

    if ($("." + containerClass).children().length > 1)
        setInterval("fadeToNextImage('" + containerClass + "')", 5000);

} //startImageFader

function startImageFader(containerClass, counterContainerClass) {

    if ($("." + containerClass).children().length > 1)
        setInterval("fadeToNextImage('" + containerClass + "', '" + counterContainerClass + "')", 5000);

} //startImageFader

function startArticleImageFader(mainImageContainerClass, previewImageContainerClass) {

    if ($("." + mainImageContainerClass).children().length > 1)
        timer = setInterval("articlefadeToNextImage('" + mainImageContainerClass + "','" + previewImageContainerClass + "')", 5000);

} //startImageFader

function articlefadeToNextImage(mainImagecontainerClass, previewImageContainerClass) {

    //MAIN IMAGE
    var restart = false;
    var $currentImage = $("." + mainImagecontainerClass + " .show");
    var $nextImage;
    if ($currentImage.next().length > 0)
        $nextImage = $currentImage.next()
    else {
        $nextImage = $("." + mainImagecontainerClass + " :first");
        restart = true;
    }//else

    $nextImage.css({ "display": "block", "z-index": "1", "opacity": "0.0" });
    $currentImage.css({ "z-index": "0" });

    $nextImage.animate({ "opacity": "1.0" }, 1000, "", function () {

        $("." + mainImagecontainerClass + " .show").css({ "display": "none", "opacity": "0.0" }).addClass("hidden").removeClass("show");
        $(this).addClass("show").removeClass("hidden");
    });

    //IMAGE COUNTER
    var $currentImageCounter = $(".div-image-counter-container .show");
    var $nextImageCounter;
    if ($currentImageCounter.next().length > 0)
        $nextImageCounter = $currentImageCounter.next()
    else {
        $nextImageCounter = $(".div-image-counter-container :first");
        restart = true;
    } //else

    $nextImageCounter.css({ "display": "block", "z-index": "1", "opacity": "0.0" });
    $currentImageCounter.css({ "z-index": "0" });

    $nextImageCounter.animate({ "opacity": "1.0" }, 1000, "", function () {

        $(".div-image-counter-container .show").css({ "display": "none", "opacity": "0.0" }).addClass("hidden").removeClass("show");
        $(this).addClass("show").removeClass("hidden");
    });

    //PREVIEW
    var $currentPreviewImage = $("." + previewImageContainerClass + " .selected");
    var $nextPreviewImage = $currentPreviewImage.next().length > 0 ? $currentPreviewImage.next() : $("." + previewImageContainerClass + " ul :first");
    if (!mouseOverPreview) {
        //Check if current not first and not second to last
        if ($currentPreviewImage.prev().length > 0 && $currentPreviewImage.next().next().length > 0) {

            var counter = -1;
            var $tmpElement = $currentPreviewImage;
            while ($tmpElement.prev().length > 0) {
                $tmpElement = $tmpElement.prev();
                counter++;
            }//while

            var left = -(resValue(61, 77, 96) + resValue(8,10,12) + 2) * counter;

            $(".div-image-preview-document").animate({ "left": left - (resValue(61, 77, 96) + resValue(8, 10, 12) + 2) + "px" }, "slow");
        } //if

        if (restart) {

            $(".div-image-preview-document").animate({ "left": "0px" }, "slow");
        } //if
    }//if

    $currentPreviewImage.removeClass("selected");
    $nextPreviewImage.addClass("selected");

    
    //IMAGE TEXT
    var $currentImageText = $(".div-image-text-container .show");
    var $nextImageText = $currentImageText.next().length > 0 ? $currentImageText.next() : $(".div-image-text-container :first");

    $currentImageText.addClass("hidden");
    $currentImageText.removeClass("show");
    $nextImageText.addClass("show");
    $nextImageText.removeClass("hidden");

} //nextImage

/***********************************************************************************/
/***************** Dynamic website size helper functions  **************************/
/***********************************************************************************/
var jsSize = 0;
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



/***********************************************************************************/
/************************** 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 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 + "')", 5000);
} //

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

function fadeToNextImage(containerClass, counterContainerClass) {

    //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");
    });

    //Counter
    var $currentText = $("." + counterContainerClass + " .show");
    var $nextText = $currentText.next().length > 0 ? $currentText.next() : $("." + counterContainerClass + " :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

/****************************************/
/*          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%; vertical-align:bottom;'>" +
                                        "<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:#b3ccd8;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:#b3ccd8;' class='interactiveElement ui-draggable'/>" +
                                        "</div>" +
                                    "</td>" +
                                "</tr>" +
                                "<tr>" +
                                    "<td style='height:0%; vertical-align:top;'>" +
                                        "<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;
}



/****************************************************************
                 IMAGE GALLERY FUNCTIONS
****************************************************************/
var boolContinueImageChange = false;
    var imageGalleryTimer;

    $(document).ready(function () {

        $(".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];

            //Build image path array
            var imagePaths = new Array();
            $("#imagepaths-gallery-" + selectedItemId + " span").each(function () {

                imagePaths[imagePaths.length] = $(this).html();
            });

            //Start image gallery viewer
            startImageGallery(imagePaths);
        });

        $(".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();
        });
    });

    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 + ")", 1000);
        }//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 startImageGallery(imagePaths) {

        //Prepare data for slideshow
        galleryImageArr = imagePaths;

        //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
    } //
