//**********************************************************************************************************************
/**
* DOCUMENT: /core/plugins/media/front/media.front.js
* DEVELOPED BY: Dustin Dikes
* COMPANY: Zipline Interactive
* EMAIL: dustin@gozipline.com
* PHONE: 509-321-2849
* DATE: 10/20/2010
* DESCRIPTION: This document has all of the javascript functions required for the media plugin.
*/
//***********************************************************************************************************************

//*******************************************************************************************************************
//THIS FUNCTION WILL SHOW THE ZL DIALOG WINDOW
//*******************************************************************************************************************
function zl_window() {

	var item = ''

	//OFFSET TO RAISE THE HEIGHT OF THE WINDOW 
	var offset = 0;

	//LETS HIDE AND ANO OTHER ZL WINDOW INSTANCES JUST TO BE SAFE
	//hide_zl_window();
	
	//LETS GET THE ITEM OBJECT
	var zl_window = $(".zl_window");

	//CALCULATE THE PROPER INITIAL POSITION OF THE WINDOW AND ADJUST ACCORDINGLY
	zl_position(zl_window);
	
	//SHOW THE WINDOW
	show_zl_window(zl_window);
	
	//CREATE EVENT TO HIDE WINDOW ON HIT OF ESC
	$(window).bind('keydown', function(e) {	 if (e == null) {  keycode = event.keyCode; } else { keycode = e.which; } if(keycode == 27){ hide_zl_window(); } });
	
	//IF SOMEONE CLICKS OFF THE ELEMENT THEN CLOSE IT
	$(document).bind('click', function(e) { var clicked = $(e.target); if (!(clicked.is("zl_window") || clicked.parents().is(".zl_window") || clicked.is('.video-link,.photo-link,#upload-photos,#upload-videos') || clicked.parents().is('.video-link,.photo-link,#upload-photos,#upload-videos')) ) {  hide_zl_window(); } });
	
	//IF THE WINDOW GETS RESIZED WHEN THE DIALOG IS UP
	$(window).bind('resize', function (e) { zl_position(zl_window); });
	
	//IF THE USER SCROLLS WHEN THE DIALOG IS UP
	$(window).bind('scroll', function (e) { zl_position(zl_window); });
	
	//CREATE A CLOSE BUTTON
	$('.close_zl_window').bind('click', hide_zl_window);
		
	//HIDE THE WINDOW UPON REQUEST
	function hide_zl_window() {
		$('.zl_window').html('');
		$('.zl_window').fadeOut('fast');
		$('#zl_overlay').fadeOut('fast');
		$(window).unbind('keydown');
		$(document).unbind('click');
		$(window).unbind('resize');
		$(window).unbind('scroll');
	}
	
	//ADJUSTS THE POSITION
	function zl_position(zl_window) {
		var height = zl_window.height();
		var width = zl_window.width();
		var browser_height = $(window).height();
		var browser_width = $(window).width();
		var scroll_top = $(window).scrollTop();
		var zl_top = (((browser_height - height) / 2) - offset) + scroll_top;
		var zl_left = (browser_width - width) / 2;
		zl_window.css({ top: + zl_top, left: + zl_left });
	}
	
	//SHOWS THE WINDOW
	function show_zl_window(zl_window) {
		zl_window.fadeIn('normal');
	}
	
}


//*******************************************************************************************************************
//THIS FUNCTION WILL SHOW A YOUTUBE VIDEO BASED ON A VID
//*******************************************************************************************************************

function show_photo() {
	
	
		
	var image 	= $(this).attr('rel');
	var url		= $(this).attr('id');
	
	$('.zl_window').load('/index.php?action=load_image&image='+image,function(){

		$('.zl_window img').load(function(){		
		
			$.post('#', { action: 'like_button', url: url },function(btn) {
				$('.zl_window .photo').append('<br />'+btn);
			});
			
			$('.zl_window .photo').append('<div class="close_zl_window"></div>');
			
					
			zl_window();	
			
			var width = $(this).width();
			$('.zl_window').css('width',width+'px');
			
			zl_window();	
			
		});
	});
		
}

function show_video() {

	var vid 	= $(this).attr('rel');
	var url		= 'http://www.youtube.com/watch?v='+vid;
	
	$('.zl_window').load('/index.php?action=load_video&vid='+vid+'&height=385&width=640',function(){
		
		$.post('#', { action: 'like_button', url: url },function(btn) {
			$('.zl_window .video').append('<br />' + btn);
		});
		
		$('.zl_window .video').append('<div class="close_zl_window"></div>');
		
		zl_window();				
			
	});
		
}



//***********************************************************************************************************************
//ON DOCUMENT READY FUNCTIONS
//***********************************************************************************************************************
$(function() {
	
	/************************************************************************
	/ Videos
	/************************************************************************/
	
	$('.video-link').bind('click',show_video);
	
	$('#resort-dropdown-videos').change(function(){
	
		var resort = $(this).val();
		
		$.post("#", { action: 'update_videos', resort: resort },function(data){
			
			$('#videos').html(data);
			
			$('.video-link').bind('click',show_video);
			
		});
	
	});
	
	$('#upload-videos').click(function(){
	
		$('.zl_window').html('<div id="upload"><p>Choose a video:</p><form enctype="multipart/form-data" action="#" method="post"><input type="file" name="file" /><input type="hidden" name="action" value="upload_file" /><input type="hidden" name="type" value="video" /><input type="submit" name="submit" value="Upload" id="submit-btn" /></form><br class="clear" /></div>');
		zl_window();
	
	});
	
	/************************************************************************
	/ Photos
	/************************************************************************/
	
	$('.photo-link').bind('click',show_photo);
	
	$('#resort-dropdown-photos').change(function(){
	
		var resort = $(this).val();
		
		$.post("#", { action: 'update_photos', resort: resort },function(data){
			
			$('#photos').html(data);
			
			$('.photo-link').bind('click',show_photo);
			
		});
	
	});
		
	$('#upload-photos').click(function(){
	
		$('.zl_window').html('<div id="upload"><p>Choose a photo:</p><form enctype="multipart/form-data" action="#" method="post"><input type="file" name="file" /><input type="hidden" name="action" value="upload_file" /><input type="hidden" name="type" value="photo" /><input type="submit" name="submit" value="Upload" id="submit-btn" /></form><br class="clear" /></div>');
		zl_window();
	
	});
			
});

