/* Author: tchew */

$('.tabs').tabs();

$("textarea").tinymce({
    // Location of TinyMCE script
    script_url : "/js/tinymce/jscripts/tiny_mce/tiny_mce.js",
    theme : "advanced",
    theme_advanced_buttons1 : "bold,italic,underline,link,unlink,bullist,blockquote,undo,image,code", 
    theme_advanced_buttons2 : "", 
    theme_advanced_buttons3 : ""
});

if($(".gallery-launcher").length)
{
	$(".gallery-launcher").fancybox({
		'width'				: 940,
		'height'			: 500,
		'autoScale'			: false,
		'transitionIn'		: 'none',
		'transitionOut'		: 'none',
		'type'				: 'iframe',
		centerOnScroll		: true,
		scrolling			: 'false'
	});
}
	
if ($('#gallery').length){
	// We only want these styles applied when javascript is enabled
	$('div.navigation').css({'width' : '200px', 'float' : 'left'});
	$('div.content').css('display', 'block');
	
	//Set caption to fadeIn on rollover
	$('.slideshow-container').bind('mouseenter', function(){
		$('.caption-container').fadeIn();
	});
	
	$('.slideshow-container').bind('mouseleave', function(){
		$('.caption-container').fadeOut();
	});
	
	// Initially set opacity on thumbs and add
	// additional styling for hover effect on thumbs
	var onMouseOutOpacity = 0.67;
	$('#thumbs ul.thumbs li').opacityrollover({
		mouseOutOpacity:   onMouseOutOpacity,
		mouseOverOpacity:  1.0,
		fadeSpeed:         'fast',
		exemptionSelector: '.selected'
	});
	
	// Initialize Advanced Galleriffic Gallery
	var gallery = $('#thumbs').galleriffic({
		delay:                     2500,
		numThumbs:                 15,
		preloadAhead:              10,
		enableTopPager:            true,
		enableBottomPager:         true,
		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);
		},
		onTransitionIn: function(slide,caption,isSync) {
			
			var $i = $('.slideshow img')
			, $c = $('.caption-container')
			, cHeight = $c.outerHeight()
			, iHeight = $i.outerHeight()
			, iWidth = $i.width();
			
			$c.css({'width': iWidth,'top':iHeight-cHeight, 'left': 3});
			
			slide.fadeTo('fast',1.0)
			caption.fadeTo('fast',1.0);
		},
		onTransitionOut: function(slide,caption,isSync) {
			slide.fadeTo('fast',0.0)
			caption.fadeTo('fast',0.0);
		},
		onPageTransitionOut: function(callback) {
			this.fadeTo('fast', 0.0, callback);
		},
		onPageTransitionIn: function() {
			this.fadeTo('fast', 1.0);
		}
	});
	
	/**** 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;
	});
}

/*******************************************************************************/
