mgmUI = {};
(function(m$,$){
	m$.ps_slider = {
		init : function(nextBtn, backBtn, pic_box, thumb_item, direction, thumb_margin, speed,travel){
			container_width = $(pic_box).width();
			container_height = $(pic_box).height();
			thumb_width = $(thumb_item).width();
			thumb_height = $(thumb_item).height();
			$(pic_box).attr('data-traveled','0');
			
			var thumb_count = $(pic_box+' '+thumb_item).length;
			if(direction == '' || direction == 'horz'){	direction ='marginLeft';}else if(direction = 'vert'){direction = 'marginTop';};
			
			m$.ps_slider.wrap_elements(pic_box,container_height,thumb_item, thumb_count, thumb_margin,thumb_width,thumb_height, direction);
			m$.ps_slider.set_event_listeners(nextBtn, backBtn, pic_box, speed, direction,travel,container_width,thumb_margin);
		},
		wrap_elements : function(pic_box,container_height,thumb_item, thumb_count, thumb_margin, thumb_width, thumb_height, width_height){
			var thumb_length;
			$(pic_box).wrapInner("<div class='thumb_wrapper'></div>");
			if(width_height == 'marginLeft'){
				thumb_length = thumb_width;
				wrapper_long = (thumb_margin*thumb_count)+(thumb_length*thumb_count);
				$(pic_box +' .thumb_wrapper').css({'width': wrapper_long+'px','height':container_height+'px','position':'relative'});
			}else{
				thumb_length = thumb_height;
				wrapper_long = (thumb_margin*thumb_count)+(thumb_length * thumb_count);
				$(pic_box +' .thumb_wrapper').css({'height': wrapper_long+'px'});
			};	
		},
		set_event_listeners : function(nextBtn, backBtn, pic_box, speed, direction,travel,container_width, thumb_margin){
			wrapper_long = $(pic_box+' .thumb_wrapper').width();
			$(nextBtn).live('click',function(){
				m$.ps_slider.next_btn(container_width,thumb_margin,pic_box, speed, direction,travel);
			});
			$(backBtn).live('click',function(){
				traveled = parseInt($(pic_box).attr('data-traveled'));
				if(wrapper_long > (wrapper_long  + traveled)){
					m$.ps_slider.back_btn(pic_box, speed, direction,travel);
				};
			});
		},
		back_btn : function(pic_box, speed, direction, travel){
			traveled = parseInt($(pic_box).attr('data-traveled'));
			$(pic_box).attr('data-traveled',(traveled+travel));
			pic_box = pic_box+' .thumb_wrapper';
			if(direction == 'marginLeft'){
				$(pic_box).animate({marginLeft :(traveled+travel)},speed);
			}else{
				$(pic_box).animate({marginTop :(traveled+travel)},speed);
			};
		},
		next_btn : function(container_width,thumb_margin,pic_box, speed, direction, travel){
			wrapper_long = $(pic_box+' .thumb_wrapper').width();
			traveled = parseInt($(pic_box).attr('data-traveled'));
			if(container_width < (wrapper_long  + traveled - thumb_margin)){
				traveled = $(pic_box).attr('data-traveled');
				$(pic_box).attr('data-traveled',(traveled-travel));
				pic_box = pic_box+' .thumb_wrapper';
				if(direction == 'marginLeft'){
					$(pic_box).animate({marginLeft :(traveled-travel)},speed);
				}else{
					$(pic_box).animate({marginTop :(traveled-travel)},speed);
				};
			}else{
				return false
			};
		}
	};
})(mgmUI,jQuery);

(function(m$,$){
	m$.lion_box = {
		init 		  : function(settings){
			m$.lion_box.event_list(settings);
		},
		event_list    : function(settings){
			$(settings.click_elem).live('click',function(){
				m$.lion_box.load_content(settings,$(this).attr('href'),$(this));		
				return false;
			});
			$('#lion_box_bg').live('click',function(){
				m$.lion_box.hide_window(settings);									   
			})
			$('#lion_box_close').live('click',function(){
				m$.lion_box.hide_window(settings);													   
		   });
			$('#lion_box_next').live('click',function(){
				if($('#lion_box_loader').length == 0){
					m$.lion_box.next_pic(settings,$(this));	
				};
				return false;
		   });
			$('#lion_box_back').live('click',function(){
				if($('#lion_box_loader').length == 0){
					m$.lion_box.back_pic(settings,$(this));
				};
				return false;
		   });
		},
		load_content  : function(settings,src,element,counter){
			var img = new Image();
			var d = new Date();
			if(element == 'next' || element == 'back'){
				$('#lion_box_next').attr('data-lionbox-whereat',parseInt(counter)+1);
				$('#lion_box_back').attr('data-lionbox-whereat',parseInt(counter)-1);
			}else{
				m$.lion_box.create_bg(settings);
				m$.lion_box.create_loader();
				var count = $('.lion_box').index(element);
				$('#lion_box_next').attr('data-lionbox-whereat',count+1);
				$('#lion_box_back').attr('data-lionbox-whereat',count-1);
			};
			$(img).load(function(){
				m$.lion_box.position_elements(settings,$(this));
			}).error(function(){
				alert('Sorry there was a problem loading the picture, we are trying to fix it ASAP!!!');	
				m$.lion_box.hide_window(settings);
			}).attr({'src':src+'?'+d.getTime(),'id':'lion_pic'})
			.css({'opacity':'0','position':'absolute','left':'0px'})
			.prependTo('body');
		},
		create_bg     : function(settings){
			
			$('#vp_video_box').css({'display':'none'});
			$('<div id="lion_box_bg"></div>').css({'opacity':settings.opacity,'background':settings.background,'width':$(window).width()+'px','height':$(document).height()+'px','position':'absolute','display':'none','zIndex':'100000','left':0,'textAlign':'left'}).prependTo('body').fadeIn(settings.speed);		
			$('<div id="lion_box_close"><a href="#" onclick="return false" ><img src="images/close_btn.png"  border="0" alt="CLOSE"/></a></div>').css({'zIndex':2000000,'position':'absolute','float':'left','opacity':0}).prependTo('#lion_box_bg');
			$('<div id="lion_box_next"><a href="#"><img src="images/small_next.gif" alt="NEXT" border="0"/></a></div>').css({'position':'absolute','display':'block','float':'left','marginLeft':'0','opacity':0}).prependTo('#lion_box_bg');
			$('<div id="lion_box_back"><a href="#"><img src="images/small_back.gif" alt="BACK" border="0"/></a></div>').css({'position':'absolute','display':'block','float':'left','marginLeft':'0','opacity':0}).prependTo('#lion_box_bg');
		},
		position_elements  : function(settings,elem){
			var pic_width = $(elem).width();
			var pic_height = $(elem).height();
			var doc_height = $(window).height();
			var doc_width = $(window).width();
			var ratio = pic_width/pic_height;
			var btn_top_pos = $(window).scrollTop();
			if((doc_height-200) <= pic_height){
				pic_height = doc_height - 100;
				pic_width = pic_height * ratio;
			};
			var top_offset = ((doc_height - pic_height)/2) + $(window).scrollTop();
			var left_offset = (doc_width - pic_width)/2;
			$('#lion_box_loader').fadeOut(function(){$(this).remove();});
			$(elem)
				.css({'zIndex':'100001','marginTop':top_offset+'px','marginLeft':left_offset,border:'2px solid black','width':pic_width+'px','height':pic_height+'px'})
				.animate({'opacity':'1'});
			$('#lion_box_close')
			.animate({'marginTop':(btn_top_pos+10) + 'px','marginLeft':((doc_width/2)-($('#lion_box_close').width()/2))+'px','opacity':1})
			$('#lion_box_next').animate({'top':(btn_top_pos+10) + 'px','marginLeft':(left_offset+pic_width - $('#lion_box_next').width())+'px','opacity':1});
			$('#lion_box_back').animate({'top':(btn_top_pos+10) + 'px','marginLeft':left_offset+'px','opacity':1});
		},
		hide_window   : function(settings){
			$('#lion_box_bg').fadeOut(settings.speed,function(){
				$(this).remove();										   
			});
			$('#lion_pic').fadeOut(settings.speed,function(){
				$(this).remove();										   
			});
			$('#vp_video_box').css({'display':'block'});
		},
		next_pic       : function(settings,elem){
			var count = $(elem).attr('data-lionbox-whereat');
			var src = $('.lion_box').eq(count).attr('href');
			if(count < $('.lion_box').length){
				$('#lion_pic').fadeOut(function(){
					$(this).remove();
					m$.lion_box.create_loader();
					m$.lion_box.load_content(settings,src,'next',count);							
				});
			}
		},
		back_pic       : function(settings,elem){
			var count = $(elem).attr('data-lionbox-whereat');
			var src = $('.lion_box').eq(count).attr('href');
			if(count >= 0){
				$('#lion_pic').fadeOut(function(){
					$(this).remove();
					m$.lion_box.create_loader();
					m$.lion_box.load_content(settings,src,'next',count);							
				});
			}
		},
		create_loader  : function(){
			$('<div id="lion_box_loader"><img src="images/loader.gif" alt="LOADING"/></div>').css({'marginLeft':($(window).width()/2)-($('#lion_box_loader').width()/2)+'px','marginTop':($(window).height()/2)-($('#lion_box_loader').height()/2)+'px'}).appendTo('#lion_box_bg');
		}
	};
	
})(mgmUI,jQuery);