// JavaScript Document
(function($){
	$.fn.jpanel = function(options){
		var opts = $.extend({},$.fn.jpanel.defaults,options);
		return this.each(function(){
			opts.container = $(this);
			opts.height = $(this).height();
			opts.width	= $(this).width();
			opts.container.css('overflow','hidden');
			opts.maxwidth = opts.width-((Number(opts.minwidth)+Number(opts.margin))*(opts.images.length-1));
			opts.currentanimation = -1;
			if(opts.images.length>0){
				l = 0;
				$.each(opts.images,function(idx,val){
					if(!opts.rtl && idx==(opts.images.length-1)){
						w = opts.maxwidth;		
					}else if(opts.rtl && idx==0){
						w = opts.maxwidth;
					}else{
						w = opts.minwidth;	
					}
					if(!opts.headingclass){
						hc = 'style="font-size:'+opts.headingfontsize+'px;color:'+opts.headingcolor+';"';	
					}else{
						hc = 'class="'+opts.headingclass+'"';
					}
					if(!opts.captionclass){
						cc = 'style="color:'+opts.captioncolor+';font-size:'+opts.captioncolor+'px;"';
					}else{
						cc = 'class="'+opts.captionclass+'"';
					}
					opts.container.append('<div class="jpanel_slide_panel" id="jpanel_slide_'+idx+'" style="width:'+w+'px;height:'+opts.height+'px;position:absolute;top:0px;left:'+l+'px;background-image:url('+val[0]+');cursor:pointer;">' +
												'<div class="jpanel_slide_captioncontainer" id="jpanel_slide_captioncontainer_'+idx+'" style="width:100%;height:'+opts.captionheight+'px;background-color:'+opts.captionbackgroundcolor+';Filter: Alpha(Opacity='+(opts.captionbackgroundopacity*100)+');opacity:'+opts.captionbackgroundopacity+';bottom:-'+opts.captionheight+'px;position:absolute;"></div>' +
												'<div class="jpanel_slide_caption" id="jpanel_slide_caption_'+idx+'" style="width:100%;height:'+opts.captionheight+'px;bottom:-'+opts.captionheight+'px;position:absolute;">'+
													'<div style="padding:10px;font-family:'+opts.font+';">'+
														'<div '+hc+'>' +
															val[1] +
														'</div>'+
														'<div '+cc+'>' +
															val[2] +
														'</div>'+
													'</div>' +
												'</div>' +
										  '</div>');						
					l+=Number(w)+Number(opts.margin);
				});
				
			}
			opts.container.mouseover(function(){return false;});
			$('.jpanel_slide_panel').mouseover(function(){
														
				pindex = $(".jpanel_slide_panel").index(this);
				if(pindex!=opts.currentanimation){
					opts.currentanimation = pindex;
					l	= 0;
					$('.jpanel_slide_panel').each(function(idx,val){
						$(this).stop();
						$(this).children('.jpanel_slide_captioncontainer').stop();
						$(this).children('.jpanel_slide_caption').stop();
						if(idx!=pindex){
							$(this).animate({width: opts.minwidth,left: l},opts.duration,"swing");
							$(this).children('.jpanel_slide_captioncontainer').animate({bottom:-opts.captionheight},opts.duration,"swing");
							$(this).children('.jpanel_slide_caption').animate({bottom:-opts.captionheight},opts.duration,"swing");
							l+=Number(opts.minwidth)+Number(opts.margin);
						}else{
							$(this).animate({width: opts.maxwidth,left: l},opts.duration,"swing");	
							$(this).children('.jpanel_slide_captioncontainer').animate({bottom:0},opts.duration,"swing");
							$(this).children('.jpanel_slide_caption').animate({bottom:0},opts.duration,"swing");
							l+=Number(opts.maxwidth)+Number(opts.margin);
						}
					});
				}
				return false;
			});
			$('.jpanel_slide_panel div').mouseover(function(){
				return false;											   
			});
			//
			if(opts.reset){
				$(window).mouseover(function(){
					opts.currentanimation = -1;
					if(opts.rtl)pindex = 0;
					else pindex = opts.images.length-1;
					l	= 0;
					$('.jpanel_slide_panel').each(function(idx,val){
						$(this).stop();
						$(this).children('.jpanel_slide_captioncontainer').stop();
						$(this).children('.jpanel_slide_caption').stop();
						if(idx!=pindex){
							$(this).animate({width: opts.minwidth,left: l},opts.duration,"swing");
							$(this).children('.jpanel_slide_captioncontainer').animate({bottom:-opts.captionheight},opts.duration,"swing");
							$(this).children('.jpanel_slide_caption').animate({bottom:-opts.captionheight},opts.duration,"swing");
							l+=Number(opts.minwidth)+Number(opts.margin);
						}else{
							$(this).animate({width: opts.maxwidth,left: l},opts.duration,"swing");
							$(this).children('.jpanel_slide_captioncontainer').animate({bottom:0},opts.duration,"swing");
							$(this).children('.jpanel_slide_caption').animate({bottom:0},opts.duration,"swing");
							l+=Number(opts.maxwidth)+Number(opts.margin);
						}
					});							 
				});
			}
			//
			if(opts.rtl){
				$('.jpanel_slide_panel:first').mouseover();				
			}else{
				$('.jpanel_slide_panel:last').mouseover();
			}
		});
	}
	$.fn.jpanel.defaults = {
		minwidth:					80,
		margin:						10,
		rtl:						false,
		duration:					500,
		reset:						true,
		captionheight:				100,
		captionbackgroundcolor:		'#000000',
		captionbackgroundopacity:	0.5,
		captioncolor:				'#ffffff',
		captionfontsize:			14,
		headingfontsize:			18,
		font:						'Lucida Sans Unicode',
		headingcolor:				'#ffffff',
		captionclass:				null,
		headingclass:				null
	};
})(jQuery);
