var ytplayer;

function onYouTubePlayerReady(playerId) {
	ytplayer = document.getElementById("myytplayer");
}

$(document).ready(function(){
	// Cufon headers
	Cufon.replace('h2.subtitle, h3.gallery-title');
	
	// fix transparent pngs for ie 6
	$(document).pngFix();
	
	// photo gallery
	// hide all large images, then show the first one
	$('.photo-gallery').hide();
	$('.photo-gallery:first').show();
	
	// append borders to thumbnail images
	$('.gallery-thumbnails li a.thumb').append('<a class="border">&nbsp;</a>');
	
	function updateThumbs(){
		$('.gallery-thumbnails li a.thumb:not(".selected")').hover(
		  function () {
			$(this).addClass('hover');
		  }, 
		  function () {
			$(this).removeClass('hover');
		  }
		);
	}
	
	if($('div.gallery-thumbnails').size() > 0){
		var leftArray = new Array();
		leftArray[0] = 0;
		leftArray[1] = 0;
		leftArray[2] = 0;
		
		//Get our elements for faster access and set overlay width
		for(var i=0; i<$('div.gallery-thumbnails').size(); i++){
			$('div.gallery-thumbnails:eq(' + i + ') ul').css('width',$('div.gallery-thumbnails:eq(' + i + ') ul li').size() * 72 +'px');
			
			//Remove scrollbars
			$('div.gallery-thumbnails:eq(' + i + ')').css({overflow: 'hidden'});
		}
		
			
		// handle btn clicks
		$('a.arrow.left').click(function(e){
			var thisIndex = $('a.arrow.left').index(this);
			e.preventDefault();
			var maxLeft = 0;
			var thisLeft = leftArray[thisIndex];
			if(thisLeft+72 <= maxLeft){
				thisLeft+= 72;
				leftArray[thisIndex] = thisLeft;
				$(e.target).parent().find('ul').stop().animate({'left':(thisLeft)+'px' }, 200);	
			}
		});
		
		$('a.arrow.right').click(function(e){
			var thisIndex = $('a.arrow.right').index(this);
			e.preventDefault();
			var divWidthString = $(e.target).parent().css('width');
			var divWidthArray = divWidthString.split('px');
			var divWidth = Number(divWidthArray[0]);
			var listwidth = $($(e.target).parent()).find('ul').width();
			var minLeft = divWidth - listwidth - 8;
			var thisLeft = leftArray[thisIndex];
			if(thisLeft-72 >= minLeft){
				thisLeft-=72;
				leftArray[thisIndex] = thisLeft;
				$($(e.target).parent()).find('ul:eq(0)').stop().animate({'left':(thisLeft)+'px' }, 200);	
			}
		});
	}
	
	// youtube player
	var ytparams = { allowScriptAccess: "always" };
	var ytatts = { id: "myytplayer" };
	swfobject.embedSWF("http://www.youtube.com/v/3fAqoh8UJ1Q?enablejsapi=1&playerapiid=ytplayer", "ytapiplayer", "550", "334", "8", null, null, ytparams, ytatts);
	
	// show/hide large images on thumbnail clicks
	$('.gallery-thumbnails li a.thumb').click(function(event){
		event.preventDefault();
		if(ytplayer){
			ytplayer.stopVideo();	
		}
		$('.gallery-thumbnails li a.thumb').removeClass('selected');
		$('.gallery-thumbnails li a.thumb').unbind('hover');
		$(this).addClass('selected');
		updateThumbs();
		$('.photo-gallery').hide();
		$($(this).attr('href')).show();
	});
	
	updateThumbs();
	
	
	
	// home page flash header
	$('#flash-header').flash({ swf: 'assets/flash/flash-header.swf', height: 249, width: 880  });
	
	$('ul.accordion-panel ul:not(:first)').hide();
	$('li.header a.header:first').addClass('selected');
	$('li.header a.header').click(function(event){
		var theHiders = $('ul.accordion-panel ul:not(this)');
		theHiders.hide('slow');
		$('li.header a.header:not(this)').removeClass('selected');
		$(this).addClass('selected');														   
		$($(this).attr('href')).show('slow');
		event.preventDefault();
	});
	
	
	
	// external links
	$("a.popup").each(function (i){  

         // Add an onClick behavior to this link  
        $(this).click(function(event) {  
   
             // Prevent the browser's default onClick handler  
             event.preventDefault();  
   
             // Grab parameters using jQuery's data() method  
             var params = $(this).data("popup") || {};              
   
             // Use the target attribute as the window name  
             if ($(this).attr("target"))  
             {  
                 params.windowName = $(this).attr("target");  
             }  
   
             // Pop up the window  
             var windowObject = UTIL.popup.open(this.href, params);  
   
             // Save the window object for other code to use  
             $(this).data("windowObject", windowObject);  
         });  
     });  
});


// Create a namespace for our utilities  
var UTIL = UTIL || {};  
UTIL.popup = UTIL.popup || {};  
  
/** 
 * Open popup window 
 * 
 * Opens a popup window using as little as a URL. An optional params object can 
 * be passed. 
 * 
 * @param {String} href 
 * @param {Object} params 
 * @return {WindowObjectReference} 
 */  
UTIL.popup.open = function (href, params)  
{  
    // Defaults (don't leave it to the browser)  
    var defaultParams = {  
        "width":       "800",   // Window width  
        "height":      "600",   // Window height  
        "top":         "0",     // Y offset (in pixels) from top of screen  
        "left":        "0",     // X offset (in pixels) from left side of screen  
        "directories": "no",    // Show directories/Links bar?  
        "location":    "no",    // Show location/address bar?  
        "resizeable":  "yes",   // Make the window resizable?  
        "menubar":     "no",    // Show the menu bar?  
        "toolbar":     "no",    // Show the tool (Back button etc.) bar?  
        "scrollbars":  "yes",   // Show scrollbars?  
        "status":      "no"     // Show the status bar?  
    };  
  
    var windowName = params["windowName"] || "new_window";  
  
    var i, useParams = "";  
  
    // Override defaults with custom values while we construct the params string  
    for (i in defaultParams)  
    {  
        useParams += (useParams === "") ? "" : ",";  
        useParams += i + "=";  
        useParams += params[i] || defaultParams[i];  
    }  
  
    return window.open(href, windowName, useParams);  
};  








