// JavaScript Document
google.setOnLoadCallback(function() {
$(document).ready(function() {
	
	// The gallery type dependencies are loaded dynamically page-by-page 
	if($("div.image_gallery div.Fancybox").length){
		$.ajax({ 
			url: '/waipa_networks/model/external/fancybox/jquery.fancybox-1.3.4.pack.js',
			dataType: 'script', 
			cache: true, 
			success:  function(){
				$.ajax({ 
					url: '/waipa_networks/model/external/fancybox/jquery.mousewheel-3.0.4.pack.js',
					dataType: 'script', 
					cache: true, 
					success:  function(){
						$('head').append('<link rel="stylesheet" href="/waipa_networks/model/external/fancybox/jquery.fancybox-1.3.4.css" type="text/css" />');
						$(".Fancybox a.single_image").fancybox();
					}
				});
			}
		});	
	}	
	
	if($("div.image_gallery div.Galleria").length){
		$.ajax({ 
			url: '/waipa_networks/model/external/galleria/galleria-1.2.4.min.js',
			dataType: 'script', 
			cache: true, 
			success:  function(){			
				
				Galleria.loadTheme('/waipa_networks/model/external/galleria/themes/classic/galleria.classic.min.js');
				$('head').append('<link rel="stylesheet" href="/waipa_networks/model/external/galleria/themes/classic/galleria.classic.css" type="text/css" />');
				$('div.Galleria').galleria({width:850,height:500});
		
			}
		});	
	}
	
	if($("div.image_gallery div.Galleriffic").length){
		$.ajax({ 
			url: '/waipa_networks/model/external/galleriffic/js/jquery.galleriffic.js',
			dataType: 'script', 
			cache: true, 
			success:  function(){			

				$.ajax({ 
					url: '/waipa_networks/model/external/galleriffic/js/jquery.opacityrollover.js',
					dataType: 'script', 
					cache: true, 
					success:  function(){	

						$.ajax({ 
							url: '/waipa_networks/model/external/galleriffic/js/jquery.history.js',
							dataType: 'script', 
							cache: true, 
							success:  function(){
		
								$('head').append('<link rel="stylesheet" href="/waipa_networks/model/external/galleriffic/css/basic.css" type="text/css" />');
								$('head').append('<link rel="stylesheet" href="/waipa_networks/model/external/galleriffic/css/galleriffic-5.css" type="text/css" />');
								$('head').append('<link rel="stylesheet" href="/waipa_networks/model/external/galleriffic/css/black.css" type="text/css" />');

								// We only want these styles applied when javascript is enabled
								$('div.content').css('display', 'block');
				
								// Initially set opacity on thumbs and add
								// additional styling for hover effect on thumbs
								var onMouseOutOpacity = 0.67;
								$('#thumbs ul.thumbs li, div.navigation a.pageLink').opacityrollover({
									mouseOutOpacity:   onMouseOutOpacity,
									mouseOverOpacity:  1.0,
									fadeSpeed:         'fast',
									exemptionSelector: '.selected'
								});
								
								// Initialize Advanced Galleriffic Gallery
								var gallery = $('#thumbs').galleriffic({
									delay:                     2500,
									numThumbs:                 12,
									preloadAhead:              11,
									enableTopPager:            true,
									enableBottomPager:         false,
									maxPagesToShow:            7,
									imageContainerSel:         '#slideshow',
									controlsContainerSel:      '#controls',
									captionContainerSel:       '#caption',
									loadingContainerSel:       '#loading',
									renderSSControls:          true,
									renderNavControls:         true,
									playLinkText:              'Play Slideshow',
									pauseLinkText:             'Pause Slideshow',
									prevLinkText:              '&lsaquo; Previous Photo',
									nextLinkText:              'Next Photo &rsaquo;',
									nextPageLinkText:          'Next &rsaquo;',
									prevPageLinkText:          '&lsaquo; Prev',
									enableHistory:             true,
									autoStart:                 false,
									syncTransitions:           true,
									defaultTransitionDuration: 900,
									onSlideChange:             function(prevIndex, nextIndex) {
										// 'this' refers to the gallery, which is an extension of $('#thumbs')
										this.find('ul.thumbs').children()
											.eq(prevIndex).fadeTo('fast', onMouseOutOpacity).end()
											.eq(nextIndex).fadeTo('fast', 1.0);
				
										// Update the photo index display
										this.$captionContainer.find('div.photo-index')
											.html('Photo '+ (nextIndex+1) +' of '+ this.data.length);
									},
									onPageTransitionOut:       function(callback) {
										this.fadeTo('fast', 0.0, callback);
									},
									onPageTransitionIn:        function() {
										var prevPageLink = this.find('a.prev').css('visibility', 'hidden');
										var nextPageLink = this.find('a.next').css('visibility', 'hidden');
										
										// Show appropriate next / prev page links
										if (this.displayedPage > 0)
											prevPageLink.css('visibility', 'visible');
				
										var lastPage = this.getNumPages() - 1;
										if (this.displayedPage < lastPage)
											nextPageLink.css('visibility', 'visible');
				
										this.fadeTo('fast', 1.0);
									}
								});
				
								/**************** Event handlers for custom next / prev page links **********************/
				
								gallery.find('a.prev').click(function(e) {
									gallery.previousPage();
									e.preventDefault();
								});
				
								gallery.find('a.next').click(function(e) {
									gallery.nextPage();
									e.preventDefault();
								});
				
								/****************************************************************************************/
				
								/**** Functions to support integration of galleriffic with the jquery.history plugin ****/
				
								// PageLoad function
								// This function is called when:
								// 1. after calling $.historyInit();
								// 2. after calling $.historyLoad();
								// 3. after pushing "Go Back" button of a browser
								function pageload(hash) {
									// alert("pageload: " + hash);
									// hash doesn't contain the first # character.
									if(hash) {
										$.galleriffic.gotoImage(hash);
									} else {
										gallery.gotoIndex(0);
									}
								}
				
								// Initialize history plugin.
								// The callback is called at once by present location.hash. 
								$.historyInit(pageload, "advanced.html");
				
								// set onlick event for buttons using the jQuery 1.3 live method
								$("a[rel='history']").live('click', function(e) {
									if (e.button != 0) return true;
				
									var hash = this.href;
									hash = hash.replace(/^.*#/, '');
				
									// moves to a new page. 
									// pageload is called at once. 
									// hash don't contain "#", "?"
									$.historyLoad(hash);
				
									return false;
				
								});	
								
							}
						});
					}
				});
		
			}
		});	
	}
	
});
});
