(function ($){
	$.fn.extend({
		vimeobridge: function(options){
			
			
			 var defaults = {  width:400,
							   height:250,
							   thumbWidth:96,
							   thumbHeight:63,
							   bordercolor:'#AAA',
							   darkcolor:'#CCC',
							   hilightcolor:'#C00',
							   backgroundcolor:'#FFF',
							   showUI:false,
							   kbshortcuts:false,
							   data:null
	 						};  
              
            var options = $.extend(defaults, options);  
			
			return this.each(function(){
				o = options;
				var obj = $(this);  
				var isIE6 = false;
				 if($.browser.msie && $.browser.version < 7){
					isIE6 = true;
				}
				
				var htmlFrameWork = '<div class="iv-video"><iframe id="vimeoframe" width="849" height="552" frameborder="0"></iframe></div><div class="iv-thumbnails"><div class="iv-dock"></div></div><div class="close-thumb"><img src="images/close-x.png" /></div>';
				obj.html(htmlFrameWork);
				var bigImage = $(".iv-images img", obj);
				var dock  = $(".iv-dock", obj);
				var titleElement = $(".iv-title", obj);
				var dockItems =$(".iv-thumbnails img", obj);
				var UI =  $(".iv-ui", obj);
				var dock_next = $(".iv-dock-next", obj);
				var dock_prev = $(".iv-dock-prev", obj);
				
				//scoping properties
				currentSelectionIndex = 0;
				currentSelectionItem = null;
				totalItems = 0; 
				var links;
				var images;
			
				
				var inited = false;
				
				
				
				hideUI()
				applyCSS();
				
				if(o.data.length > 0){
					
					loadBigImage('http://player.vimeo.com/video/'+ o.data[0].id, true);

				}else{
					throwError('noimages');
				}
				
				function continueInit(){
			
				if(inited == true)return;
				inited= true;
				
				if(o.data ==null){
					links = $( "a", obj); 
					images = $( "img", obj)
				}else{
					imageList =  '<div>'
					for ( i = 0; i < o.data.length; i++ ) {
						imageList +=  '<a href="http://player.vimeo.com/video/'+  o.data[i].id +'"><img src="uploads/video/'+  o.data[i].id +'.jpg" /></a>';
					}
					imageList +=  '</div>'
					images = $( "img", imageList)
					links = $( "a", imageList)
				}
				console.log(imageList, links);
				images.appendTo(dock);
				
				dockItems =$(".iv-thumbnails img", obj);
				
				totalItems = dockItems.length;
				UI =  $(".iv-ui", obj);
				dock_next = $(".iv-dock-next", obj);
				dock_prev = $(".iv-dock-prev", obj);
				
					$(dockItems, obj).each(
					function(i,v){
						//var d = '<div class="iv-dockitem iv-dockitem'+i+'"><div class="iv-dockitem-highlight iv-dockitem-highlight'+i+'"></div></div>';
						var last =(i%7==6)?' last ': '' ;
						var d = '<div class="iv-dockitem iv-dockitem'+i+ last +'"></div>';
						dock.append(d);
						$(v).appendTo($('div.iv-dockitem:last', obj)); 							
						$(v).addClass("di-" +  i, obj);		
					}
				)
	
		
			//applyDockCSS()
			$(".close-thumb", obj).css({'display':'none'});
			$(".iv-thumbnails", obj).css({'display':'none'});
			//$('.iv-ui-container', obj).css({'width': o.width+'px'});
			$('.gallery-meta').html((currentSelectionIndex+1) + ' / ' + totalItems);
			//$('#navigation').fadeIn('fast');

			initDockEvents();
			resizeIt();
		   }
			
	function applyCSS(){
			//init styles

	}
	
	function applyDockCSS(){
			//position vars for dock
			//if($.cookie('thumbnailsvisible')=='false'){
			//	$(".iv-thumbnails", obj).css({'display':'none'});
			//}
			
			
	}
	
	function loadBigImage(videoID){
		console.log("DATA>>" + 'http://player.vimeo.com/video/'+  videoID);
		obj.trigger('new-image');
		$('#vimeoframe').attr('src',  videoID );	  
       	continueInit();
	}
	function throwError(e){
	
		if(e=='noimages'){
			obj.html('No images to display');
		}
	}
	function setCurrentImage(){
		//highlight  
		
		$('.iv-dockitem-highlight', obj).hide();
		$('.iv-dockitem-highlight' + currentSelectionIndex , obj).show();
		//image swap
		
		loadBigImage(links[currentSelectionIndex]);
	
		
		$('.gallery-meta').html((currentSelectionIndex+1) + ' / ' + totalItems);
	//	$('#navigation').fadeIn('fast');
		
		
	}
	
	
 	   
	function removeMetric(s){
			return Number(s.substr(0, s.length-2))
	}
	
	
	function initDockEvents(){
	
	//prefs
			if(o.kbshortcuts==true){
				keyboardShortCut();
			}
			
	dockItems.click(function (e) {
			index = Number($(e.target).attr('class').split(' ')[0].split('-')[1])
			if(currentSelectionIndex != index){
      			currentSelectionIndex = index;
      			setCurrentImage();
 				e.preventDefault();
 				hideThumbs();
 			}
      		return false;
 	   });
	
	
 	  nextItem = function(){
		   if(currentSelectionIndex == totalItems-1){
			currentSelectionIndex=0;
		   }else{
			 currentSelectionIndex++;        
		   }
		   	setCurrentImage();
 	   }
 	     prevItem = function(){
 	     	if(currentSelectionIndex == 0){
			currentSelectionIndex=totalItems-1;
			}else{
			 currentSelectionIndex--;        
		   }
		   	setCurrentImage();
 	   }
 	 } 
 	   	//ui   
 	if(o.showUI){
		//$('.iv-ui-container', obj).hover(function(){showUI()}, function(){hideUI()});
		 $('.iv-ui-next-wrapper', obj).hover(function(){ $('img', this).show()}, function(){$('img', this).hide()});
		 $('.iv-ui-prev-wrapper', obj).hover(function(){ $('img', this).show()}, function(){$('img', this).hide()});
	}
	function showUI(){;if(!o.showUI)return;UI.show()};
	function hideUI(){$('.iv-ui-next-wrapper img', obj).hide();$('.iv-ui-prev-wrapper img', obj).hide()}
	 $('.close-thumb', obj).click(function(){hideThumbs();});
 	 $('.iv-ui-next-wrapper', obj).click(function(){nextItem()});
 	 $('.iv-ui-prev-wrapper', obj).click(function(){prevItem()});
 	// $('.iv-ui-info', obj).click(function(){showTitle()});
 	 //$('.iv-ui-close', obj).click(function(){hideTitle()});
 	 
 	  
 	   function keyboardShortCut(){
		   $(document).keydown(function(e){
		   switch(e.keyCode) { 
			 // User pressed "up" arrow
			 case 39:
			   self.nextItem();
			 break;
			 // User pressed "down" arrow
			 case 37:
			   self.prevItem();
			 break;
			}  });
		}
			
			});
		}
	})
	
	
$.fn.vimeobridge.getCurrentPic = function() {
	return(o.data[currentSelectionIndex].id);
};

$.fn.vimeobridge.getCurrentPicArtist = function() {
	return(o.data[currentSelectionIndex].artist);
};

$.fn.vimeobridge.setCurrentPicItem = function(){

};
$.fn.vimeobridge.setTotalPicItem = function(){

};



$.fn.vimeobridge.nextPicture = function(){
	nextItem();
};
	
$.fn.vimeobridge.previousPicture = function(){
	prevItem()
};


}) (jQuery);

