function namespace() {
    var a=arguments, o=null, i, j, d;
    for (i=0; i<a.length; i=i+1) {
        d=a[i].split(".");
        o=window;
        for (j=0; j<d.length; j=j+1) {
            o[d[j]]=o[d[j]] || {};
            o=o[d[j]];
        }
    }
    return o;
};

namespace('Page.Gallery');

Page.Gallery.wedding = {name:"Wedding",gallery:[
    {title:"",img:"/includes/img/galleries/Weddings/20100515.17.25.30.IMG_3118.jpg"},
    {title:"",img:"/includes/img/galleries/Weddings/20100515.17.28.29.IMG_3131.jpg"},
    {title:"",img:"/includes/img/galleries/Weddings/20100515.17.28.48.IMG_3135.jpg"},
    {title:"",img:"/includes/img/galleries/Weddings/20100516.15.39.38.IMG_3387.jpg"},
    {title:"",img:"/includes/img/galleries/Weddings/20100516.15.49.05.IMG_3412.jpg"},
    {title:"",img:"/includes/img/galleries/Weddings/20100516.16.14.49.IMG_3502.jpg"},
    {title:"",img:"/includes/img/galleries/Weddings/20090816.18.38.26.IMG_7349_resize.jpg"},
    {title:"",img:"/includes/img/galleries/Weddings/20090816.18.42.56.IMG_7371_resize.jpg"},
    {title:"",img:"/includes/img/galleries/Weddings/MegsPhotography-64 of 95_resize.jpg"},
    {title:"",img:"/includes/img/galleries/Weddings/MegsPhotography-75 of 95_resize.jpg"},
    {title:"",img:"/includes/img/galleries/Weddings/IMG_0273.jpg"},
    {title:"",img:"/includes/img/galleries/Weddings/IMG_0342.jpg"}]};
Page.Gallery.lifestyle = {name:"Lifestyle",gallery:[
    {title:"",img:"/includes/img/galleries/Lifestyle/IMG_5505.jpg"},
    {title:"",img:"/includes/img/galleries/Lifestyle/IMG_8583.jpg"},
    {title:"",img:"/includes/img/galleries/Lifestyle/IMG_5243.jpg"},
    {title:"",img:"/includes/img/galleries/Lifestyle/IMG_8557.jpg"},
    {title:"",img:"/includes/img/galleries/Lifestyle/IMG_8564.jpg"},
    {title:"",img:"/includes/img/galleries/Lifestyle/IMG_5799.jpg"},
    {title:"",img:"/includes/img/galleries/Lifestyle/IMG_5223.jpg"},
    {title:"",img:"/includes/img/galleries/Lifestyle/IMG_5104.jpg"},
    {title:"",img:"/includes/img/galleries/Lifestyle/IMG_3632.jpg"},
    {title:"",img:"/includes/img/galleries/Lifestyle/IMG_3589.jpg"},
    {title:"Joane 6",img:"/includes/img/galleries/Lifestyle/IMG_5815.jpg"},
    {title:"Ian and the Z",img:"/includes/img/galleries/Lifestyle/IMG_6464.jpg"},
    {title:"Z Sunset",img:"/includes/img/galleries/Lifestyle/IMG_6529.jpg"},
    {title:"The Guitarist",img:"/includes/img/galleries/Lifestyle/IMG_8122.jpg"},
    {title:"Mother Vision",img:"/includes/img/galleries/Lifestyle/IMG_9246.jpg"}]};
Page.Gallery.children = {name:"Children",gallery:[
    {title:"",img:"/includes/img/galleries/Children/20091101.13.33.32.IMG_8808.jpg"},
    {title:"",img:"/includes/img/galleries/Children/20100124.11.19.09.IMG_0284.jpg"},
    {title:"",img:"/includes/img/galleries/Children/20100124.11.29.25.IMG_0371.jpg"},
    {title:"",img:"/includes/img/galleries/Children/20090919.16.58.05.IMG_8196.jpg"},
    {title:"",img:"/includes/img/galleries/Children/20090919.15.04.14.IMG_7908.jpg"},
    {title:"",img:"/includes/img/galleries/Children/IMG_0731_resize.jpg"},
    {title:"",img:"/includes/img/galleries/Children/IMG_0744_resize.jpg"},
    {title:"",img:"/includes/img/galleries/Children/IMG_6382.jpg"},
    {title:"",img:"/includes/img/galleries/Children/IMG_3625.jpg"},
    {title:"",img:"/includes/img/galleries/Children/IMG_3561.jpg"},
    {title:"",img:"/includes/img/galleries/Children/IMG_3556_resize.jpg"},
    {title:"",img:"/includes/img/galleries/Children/20091017.09.34.08.IMG_8693.jpg"},
    {title:"",img:"/includes/img/galleries/Children/20091017.09.42.01.IMG_8223.jpg"},
    {title:"",img:"/includes/img/galleries/Children/IMG_1070_resize.jpg"},
    {title:"",img:"/includes/img/galleries/Children/IMG_1046_resize.jpg"},
    {title:"",img:"/includes/img/galleries/Children/IMG_1050.jpg"},
    {title:"",img:"/includes/img/galleries/Children/IMG_1674_resize.jpg"},
    {title:"",img:"/includes/img/galleries/Children/IMG_1733_resize.jpg"},
    {title:"",img:"/includes/img/galleries/Children/IMG_3785_resize.jpg"},
    {title:"",img:"/includes/img/galleries/Children/IMG_3919_resize.jpg"},
    {title:"",img:"/includes/img/galleries/Children/IMG_4020_resize.jpg"},
    {title:"",img:"/includes/img/galleries/Children/IMG_9503_resize.jpg"}]};
    
Page.Gallery.all = [];
Page.Gallery.all=Page.Gallery.all.concat(Page.Gallery.children.gallery);
Page.Gallery.all=Page.Gallery.all.concat(Page.Gallery.lifestyle.gallery);
Page.Gallery.all=Page.Gallery.all.concat(Page.Gallery.wedding.gallery);


(function() {

    namespace("Page.Home");

    Page.Home = function() {
        
        var _showImage = function () {
            var rnd = Math.floor(Math.random() * Page.Gallery.all.length);
            var img = Page.Gallery.all[rnd];
            if (img)
            {
                var homeImg = new Image();
                $(homeImg).load(function () {
                   $('#home-gallery-img img').stop().animate({opacity : "0.0"},750).remove();
                   $('#home-gallery-img').append(this);
                   $('#home-gallery-img img').stop().animate({opacity : "1.0"},2000);
                   $('#home-gallery-frame').stop().animate({width : this.width > 750 ? "750px" : (this.width + 4) + "px"},500);
                }).attr('src', img.img)
                //_homeImg.src = img.img;
            }
        };

        return {
            init: function() {
                if ($("#home-gallery-frame").length > 0) {
                    _showImage();
                    setInterval(_showImage,5000);
                }
            }
        };
    } ();

    $(document).ready(Page.Home.init);

})();

(function() {

    namespace("Page");

    Page.Galleries = function() {
    
        var _index = 0;
        var _galleryArray;
        var _intervalId;
        var _inHover = false;
        
        var _thumbClick = function (e) {
            var id = $(this).parent().attr("id");
            id = id.replace('gallery-index-img','');
            _index = id * 1;
            clearInterval(_intervalId);
            $('#gallery-index .gallery-hover').removeClass('gallery-hover');
            $('#gallery-index .gallery-select').removeClass('gallery-select');
            $('#gallery-index-img' + _index).addClass("gallery-select");
            var img = _galleryArray[_index];
            if (img) {
                _displayImage(img);
            };
        };
        
        var _setThumbnails = function () {
            var gal = $("#gallery-index ul");
            gal.empty();
            for(var i = 0; i < _galleryArray.length; i++)
            {
                gal.append('<li id="gallery-index-img' + i + '"><a class="gallery-index-frame" href="javascript:;"><img src="' + _galleryArray[i].img.replace('galleries/','handler.ashx?Path=') + '&thumb=true" /></a></li>');
            }
            
            $("#gallery-index .gallery-index-frame").click(_thumbClick);
            $("#gallery-index").scrollTop(0);
        };
        
        var _displayImage = function (img) {
            var homeImg = new Image();
            $(homeImg).load(function () {
               $('#gallery-img img').stop().animate({opacity : 0},750).remove();
               $('#gallery-img').append(this);
               $('#gallery-img img').stop().animate({opacity : 1},2000);
               $('#gallery-frame').stop().animate({width : this.width > 750 ? "750px" : (this.width + 4) + "px"},500);
            }).attr('src', img.img)
        };
        
        var _scrollIfHidden = function () {
            if(!_inHover) {
                var parY = $("#gallery-index").offset().top;
                var tcY = $(this).offset().top;
                if ((tcY - parY) > 470)
                {
                    this.scrollIntoView();
                }
            }
        };
        
        var _showImage = function () {
            var img = _galleryArray[_index];
            if (img)
            {
                $('#gallery-index .gallery-hover').removeClass('gallery-hover');
                $('#gallery-index-img' + _index).addClass('gallery-hover').each(_scrollIfHidden);
                _displayImage(img);
            }
            _index++;
            if(_index > _galleryArray.length) {
                _index = 0;
            }
        };
        
        var _setGallery = function (str) {
            switch(str) {
                case "lifestyle":
                    _galleryArray = Page.Gallery.lifestyle.gallery;
                    break;
                case "children":
                    _galleryArray = Page.Gallery.children.gallery;
                    break;
                case "wedding":
                    _galleryArray = Page.Gallery.wedding.gallery;
                    break;
                default:
                    _galleryArray = Page.Gallery.children.gallery;
                    break;
            };
        };

        return {
            init: function() {
                if ($("#gallery-frame").length > 0) {
                    var gallery = $.query.get('gallery');
                    _setGallery(gallery);
                    _setThumbnails();
                    _showImage();
                    _intervalId = setInterval(_showImage,5000);
                    
                    var lastPos = $('#gallery-index li:last').position().top + 100;
                    
                    $('.gallery_link').click(function (evt) {
                        evt.preventDefault();
                        var href = $(this).attr("href");
                        var gallery = href.substr(href.indexOf('=') + 1);
                        _setGallery(gallery);
                        _setThumbnails();
                        clearInterval(_intervalId);
                        lastPos = $('#gallery-index li:last').position().top + 100;
                        _index = 0;
                        _showImage();
                        _intervalId = setInterval(_showImage,5000);
                    });
                    
                    $("#gallery-index").mousemove(
                        function (e) {
                            _inHover = true;
                            var mouseY = e.pageY;
                            var tcY = $(this).offset().top;
                            var offset = (mouseY - tcY)/470;
                            var realLeft = (lastPos - 450) * offset;
                            //console.debug(mouseY + "," + tcY + "," + offset + "," + lastPos + "," + realLeft);
                            $("#gallery-index").scrollTop((realLeft > 0 ? realLeft : 0));
                            //$("#gallery-index ul").css("top", -realLeft);
                        }
                     ).mouseout(function (e) { _inHover = false; }) ;
                }
            }
        };
    } ();

    $(document).ready(Page.Galleries.init);

})();

(function() {

    namespace("Page");

    Page.About = function() {
    
        

        return {
            init: function() {
                if ($("#about_slideshow_arrows").length > 0) {
                    var curLeft = 0;
                    var lastPos = $('#about_slideshow_container li:last').position().left - 380;
                    $('#about_slideshow_arrows_prev').click( function(e) {
                         if(curLeft > 0) {
                            curLeft = curLeft - 380;
                        }
                        //$('#about_slideshow_container ul').css('left', -(curLeft));
                        $('#about_slideshow_container ul').animate({left: -(curLeft)},500, 'swing');
                    });
                    
                    $('#about_slideshow_arrows_next').click( function(e) {
                        if(curLeft <= lastPos) {
                            curLeft = curLeft + 380;
                        }
                        //$('#about_slideshow_container ul').css('left', -(curLeft));
                        $('#about_slideshow_container ul').animate({left: -(curLeft)},500, 'swing');
                    });
                }
            }
        };
    } ();

    $(document).ready(Page.About.init);

})();

