var Gallery = function() {
    return {
        photoMiniCarousel: false,
        photoOverlayCarousel: false,
        photoOverlayStart: 1,
        flickrMiniCarousel: false,
        flickrOverlayCarousel: false,
        flickrOverlayStart: 1,  
        initPhotos: function() {
             // step5 / example/ instigator page - user images gallery overlay:
             //open photo overlay
            $('#photos .open-overlay').click(function() {
                 var PhotoUrl = $(this).attr('href') + '/ajax/photos';
                 $('.overlay-bg').fadeIn('normal', function() {
                    //call the ajax
                    $.ajax({
                        url: PhotoUrl,
                        type: 'get',
                        timeout: '20000',
                        dataType: 'json',
                        error: this.onError,
                        success: function(data) {
                            Gallery.onPhotoSuccess(data);
                        }
                    });
                 });
                 return false;
            });
            
            if(document.getElementById('gallery-carousel')) {
                Gallery.photoOverlayCarousel = $('#gallery-carousel').jcarousel( {
                            scroll   : 1,
                            visible  : 1,
                            start: Gallery.photoOverlayStart}
                );
            }
        },                               
        initFlickr: function() {
            // flickr carousel stuff
            Gallery.flickrMiniCarousel = $('#flickr .jcarousel').jcarousel({
                scroll: 1,
                visible: 1
            });
            
            // step5 / example/ instigator page - user images gallery overlay:
             //open photo overlay
            $('#flickr .open-overlay').click(function() {
                 var PhotoUrl = $(this).attr('href') + '/ajax/flickr';
                 $('.overlay-bg').fadeIn('normal', function() {
                    //call the ajax
                    $.ajax({
                        url: PhotoUrl,
                        type: 'get',
                        timeout: '20000',
                        dataType: 'json',
                        error: this.onError,
                        success: function(data) {
                            Gallery.onFlickrSuccess(data);
                        }
                    });
                 });
                 return false;
            });
            
            if(document.getElementById('flickr-gallery-overlay')) {
                Gallery.flickrOverlayCarousel = $('#flickr-gallery-carousel').jcarousel( {
                            scroll   : 1,
                            visible  : 1,
                            start: Gallery.flickrOverlayStart}
                );
            } 
        },
        initYoutube: function() {
            $('#videos .open-overlay').click(function() {
                var VideoUrl = $(this).attr('href') + '/ajax/youtube';
                $('.overlay-bg').fadeIn('normal', function() {
                    //call the ajax
                    $.ajax({
                        url: VideoUrl,
                        type: 'get',
                        timeout: '20000',
                        dataType: 'json',
                        error: this.onError,
                        success: function(data) {
                            Gallery.onYoutubeSuccess(data);
                        }
                    });
                });
                return false;
            });
        },
        onError: function() {
        },
        onPhotoSuccess: function(Response) {
            if(Response.Status && 'ok' == Response.Status && Response.Template) {
                if(document.getElementById('gallery-overlay')) {
                    $('#gallery-overlay').replaceWith(Response.Template);
                    
                } else {
                     $('.overlay-bg').after(Response.Template);
                }
                Gallery.photoOverlayCarousel = $('#gallery-carousel').jcarousel( {
                  scroll   : 1,
                  visible  : 1,
                  start: Gallery.photoOverlayStart});
                Gallery.updateView();
                
            }
        },
        onFlickrSuccess: function(Response) {
            if(Response.Status && 'ok' == Response.Status && Response.Template) {
                if(document.getElementById('flickr-gallery-overlay')) {
                    $('#flickr-gallery-overlay').replaceWith(Response.Template);
                    
                } else {
                     $('.overlay-bg').after(Response.Template);
                }
                Gallery.flickrOverlayCarousel = $('#flickr-gallery-carousel').jcarousel( {
                  scroll   : 1,
                  visible  : 1,
                  start: Gallery.flickrOverlayStart});
                Gallery.updateView();
                
            }
        },
        onYoutubeSuccess: function(Response) {
            if(Response.Status && 'ok' == Response.Status && Response.Template) {
                if(document.getElementById('youtube-overlay')) {
                    $('#youtube-overlay').replaceWith(Response.Template);
                    
                } else {
                     $('.overlay-bg').after(Response.Template);
                }
                Gallery.updateView();
                
            }
        },
        updateView: function() {
            // generic close overlay
        	$('.close-overlay').click(function() {
        		//the fadeout doesn't look at all nice in ie6
                if(navigator.userAgent.toLowerCase().match('msie 6')) {
                    $('.overlay-container').hide();
        		    $('.overlay-bg').hide();
                } else {
                    $('.overlay-container').customFadeOut('normal', function() {
                        $('.overlay-bg').customFadeOut('normal');
                    });
                }
                //remove it if Youtube - because it doesn't stop playing..........
                if(document.getElementById('youtube-overlay')) {
                    $('#youtube-overlay').remove();
                }
        		return false;
        	});
        
        }
    }
}();

$(document).ready(function() {
    Gallery.initPhotos();
    Gallery.initFlickr();
    Gallery.initYoutube();
});
    
	/*	
    // step5 / example/ instigator page - user videos gallery overlay:
    
	
    // step5 / example/ instigator page - user images gallery overlay:
    $('#cruk-videos .open-overlay').click(function() {
        $('.overlay-bg').fadeIn('normal', function() {
            $('#cruk-overlay').fadeIn('normal', function() {
                $('.jcarousel').jcarousel( {
                    scroll   : 1,
                    visible  : 1
                });
            });
        });
        return false;
    });
});    
*/
