﻿var GalleryViewer = function(containerID) {
    //properties
    var container = jQuery('#' + containerID);
    var gallery = this;
    var imagesArray = jQuery('.img_scroller img', container);
    var firstImg, lastImg, currentImg;

    //methods
    this.SelectImage = function(imgObj) {
        imagesArray.css('-moz-opacity', '30%').css('filter', 'alpha(opacity=30)');
        imgObj.animate({ 'opacity': 1 }, 200, 'linear');
        $('#mainimg', container).attr('src', imgObj.attr('largeimg')).hide().fadeIn(500);
        $('#caption', container).text(imgObj.attr('caption'));
        currentImg = imgObj;
    }
    this.GetNextImage = function() {
        var nextImg = currentImg.next('img[largeimg]');
        if (nextImg.attr('largeimg') != undefined) {
            gallery.SelectImage(nextImg);
        } else {
        gallery.SelectImage(firstImg);
        }
    }
    this.GetPrevImage = function() {
        var prevImg = currentImg.prev('img[largeimg]');
        if (prevImg.attr('largeimg') != undefined) {
            gallery.SelectImage(prevImg);
        } else {
        gallery.SelectImage(lastImg);
        }
    }

    //init
    jQuery('.mainimg_container #rarrow', container).click(function() { gallery.GetNextImage(); });
    jQuery('.mainimg_container #larrow', container).click(function() { gallery.GetPrevImage(); });
    imagesArray.click(function() { gallery.SelectImage($(this), false) });
    imagesArray.hover(function() { $(this).animate({ 'opacity': 1 }, 200, 'linear') });
    imagesArray.mouseout(function() {
        if ($(this).attr('caption') != currentImg.attr('caption'))
            $(this).animate({ 'opacity': 0.3 }, 170, 'linear')

    });

    firstImg = jQuery('.img_scroller img:eq(0)', container);
    lastImg = jQuery('.img_scroller img:eq(' + (imagesArray.length - 1) + ')', container);
    gallery.SelectImage(firstImg);
}


function ChangeFile(fileName) {
    var host = $('#VideoPlayer')[0];
    host.content.findName("mediaPlayer").Pause();
    host.content.findName("mediaPlayer").source = fileName;
    host.content.findName("mediaPlayer").play();
}


function PauseVideo() {
    var host = $('#VideoPlayer')[0];
    if(host!=null)
    host.content.findName("mediaPlayer").Pause();
}


var VideoViewer = function(containerID) {
    //properties
    var container = jQuery('#' + containerID);
    var gallery = this;
    var imagesArray = jQuery('.img_scroller img', container);
    var firstImg, lastImg, currentImg;

    //methods
    this.SelectImage = function(imgObj, changeFile) {
        imagesArray.css('-moz-opacity', '30%').css('filter', 'alpha(opacity=30)');
        imgObj.animate({ 'opacity': 1 }, 200, 'linear');
    
    if(changeFile)
        ChangeFile(imgObj.attr('largeimg'));

        $('#caption', container).text(imgObj.attr('caption'));
        currentImg = imgObj;
    }

    this.GetNextImage = function() {
        var nextImg = currentImg.next('img[largeimg]');
        if (nextImg.attr('largeimg') != undefined) {
            gallery.SelectImage(nextImg, true);
        } else {
            gallery.SelectImage(firstImg, true);
        }

        
    }

    this.GetPrevImage = function() {
        var prevImg = currentImg.prev('img[largeimg]');
        if (prevImg.attr('largeimg') != undefined) {
            gallery.SelectImage(prevImg, true);
        } else {
            gallery.SelectImage(lastImg, true);
        }
        
    }

    //init
    jQuery('.mainimg_container #rarrow', container).click(function() { gallery.GetNextImage(); });
    jQuery('.mainimg_container #larrow', container).click(function() { gallery.GetPrevImage(); });
    imagesArray.click(function() { gallery.SelectImage($(this), true) });
    imagesArray.hover(function() { $(this).animate({ 'opacity': 1 }, 200, 'linear') });
    imagesArray.mouseout(function() {
        if ($(this).attr('caption') != currentImg.attr('caption'))
            $(this).animate({ 'opacity': 0.3 }, 170, 'linear')

    });

    firstImg = jQuery('.img_scroller img:eq(0)', container);
    lastImg = jQuery('.img_scroller img:eq(' + (imagesArray.length - 1) + ')', container);
    gallery.SelectImage(firstImg, false);
}

