/**
* J.Cambier pour Akimedia
 */
(function($){
    $.fn.akislide = function(h){
        h = jQuery.extend({
            width: 150,
			height: 100,
			pos: 1,
			col: 1,
			effect: 'swing',
			fade: false,
			horiz: true,
			autolink: true,
			multipage :false,
			prevNext:true,
			plus :'next',
			moins : 'previous',
			marge : 0,
			duration: 1500
        }, h);
        function gogogo(g){
            g.each(function(i){
                var a = $(this);
				var uniqid = a.attr('id');
				if(uniqid == undefined){
					uniqid = 'wslide'+i;
				}
				
				$(this).wrap('<div class="akislideslide-wrap" id="'+uniqid+'-wrap"></div>');
				a = $('#'+uniqid+'-wrap');
				if (h.height=='auto'){
					// alert(a.find('ul li:first img:first').height());
					h.height=a.find('ul').height();
				}
				a.wrap('<div class="akislide" id="'+uniqid+'-akislide" style="width:'+h.width+'px;height:'+h.height+'px;"></div>');
				var b = a.find('ul li');
               	var effets = h.effect;
				if(jQuery.easing.easeInQuad == undefined && (effets!='swing' || effets!='normal')){
					effets = 'swing';
				}
				
				
				var typex = h.width;
				var typey = h.height;
				
				
				
				function resultante(prop){
					var tempcalc = prop;
					tempcalc = tempcalc.split('px');
					tempcalc = tempcalc[0];
					return Number(tempcalc);
				}
				var litypex = typex-(resultante(b.css('padding-left'))+resultante(b.css('padding-right')));
				var litypey = typey-(resultante(b.css('padding-top'))+resultante(b.css('padding-bottom')));
				var col = h.col;
				if(h.horiz){
					col =  Number(b.length+1);
				}
				
				var manip = '';
				var ligne = Math.ceil(Number(b.length)/col);
				a.css('overflow','hidden').css('position','relative').css('text-align','left').css('height',typey+'px').css('width',typex+'px').css('margin','0').css('padding','0').css('float','left');
				a.find('ul').css('position','absolute').css('margin','0').css('padding','0').css('width',Number((col+0)*(typex+h.marge))+'px').css('height',Number(ligne*typey)+'px');
				var posLeft =0;
				var posTop =0;
				b.each(function (i) {
					if (h.horiz== true){
						posLeft= (i*h.width) + (i*h.marge);
					}else{
						posTop= (i*h.height);
						
					}
					$(this).css({'display':'block','position':'absolute','height':litypey-40+'px','width':litypex+'px','top':posTop+'px','left':posLeft+'px'});
					$(this).attr('id',uniqid+'-'+Number(i+1)).attr('rel', posLeft+':'+posTop);
					manip += ' <a href="#'+uniqid+'-'+Number(i+1)+'">'+Number(i+1)+'</a>';
				});
				
				
				if (h.multipage==true){
					if(typeof h.autolink == 'boolean'){
						if(h.autolink){
							a.after('<div class="wslide-menu" id="'+uniqid+'-menu">'+manip+'</div>');
						}
					}else if (typeof h.autolink == 'string'){
						if($('#'+h.autolink).length){
							$('#'+h.autolink).html(manip);
						}else{
							a.after('<div id="#'+h.autolink+'">'+manip+'</div>');
						}
					}
				
				
				
				
				}else if(h.prevNext==true){
					a.before('<a href="#moins" class="slideshow_nav" id="'+uniqid+'Moins" style="opacity:0;-moz-opacity : 0.0;-ms-filter: \'alpha(opacity=0)\';filter : alpha(opacity=0);">'+h.moins+'</a>');
					a.after('<a href="#plus" class="slideshow_nav" id="'+uniqid+'Plus">'+h.plus+'</a>');
					if(a.find('ul li').length==1){
						$('#'+uniqid+'Plus').css({opacity:0});
					}
				}
				var start = '#'+uniqid+'-';
				var stoccurent = "";
				$('a[href*="'+start+'"]').click(function () {
						$('a[href*="'+stoccurent+'"]').removeClass("wactive");
						$(this).addClass("wactive");
						var tri = $(this).attr('href');
						tri=tri.split('#');
						tri='#'+tri[1];
						stoccurent = tri;
						var decal = $(tri).attr('rel');
						decal = decal.split(':');
						var decal2 = decal[1];
						decal2 = -decal2;
						decal = decal[0];
						decal = -decal;
						if(h.fade){
							a.find('ul').animate({ opacity: 0 }, h.duration/2, effets, function(){$(this).css('top',decal2+'px').css('left',decal+'px');$(this).animate({ opacity: 1 }, h.duration/2, effets)} );
						}else{
							a.find('ul').animate({ top: decal2+'px',left: decal+'px' }, h.duration, effets );
						}
						return false;
				});
				$('a#'+uniqid+'Moins').click(function(){
					if (h.pos>1){
						h.pos --;
						anime();
					}
					return false;
					
					
				});
				$('a#'+uniqid+'Plus').click(function(){
					if (h.pos<a.find('ul li').length){
						h.pos ++;
						anime();
					}
					
					return false;
					
				});
				function anime(){
					if(h.fade){
						a.find('ul').animate({ opacity: 0 }, h.duration/2, effets, function(){$(this).css('top',decal2+'px').css('left',decal+'px');$(this).animate({ opacity: 1 }, h.duration/2, effets)} );
					}else{
						var decalTop=0;
						var decalLeft=0;
						if (h.horiz==true){
							decalTop =0;
							decal = a.find('ul').find('li').eq(h.pos-1).attr('rel');
							decal = decal.split(':');
							decalLeft = -decal[0];
							//decalLeft = - (h.pos-1)*h.width + (h.marge*h.pos-1);
							
						}else{
							decalTop= -(h.pos-1)*h.height;
							decalLeft = 0;
							
						}
						a.find('ul').animate({ top: decalTop+'px',left: decalLeft+'px' }, h.duration, effets );
					}
					if (h.pos==1){
						$('a#'+uniqid+'Moins').animate({opacity:0},500,function(){$('a#'+uniqid+'Moins').hide()});
					}else{
						$('a#'+uniqid+'Moins').show();
						$('a#'+uniqid+'Moins').animate({opacity:1},500);
					}
					if (h.pos == a.find('ul li').length){
						$('a#'+uniqid+'Plus').animate({opacity:0},500);
					}else{
						$('a#'+uniqid+'Plus').animate({opacity:1},500);
					}
					
					
					
				
				}
					
				
				
				if(h.pos <= 0){
					
					h.pos = 1;
				}
				
				// $('a[href$="'+start+h.pos+'"]').addClass("wactive");
				// var tri = $('a[href*="'+start+'"]:eq('+Number(h.pos-1)+')').attr('href');
				// tri=tri.split('#');
				// tri='#'+tri[1];
				// stoccurent = tri;
				// var decal = $(tri).attr('rel');
				// decal = decal.split(':');
				// var decal2 = decal[1];
				// decal2 = -decal2;
				// decal = decal[0];
				// decal = -decal;
				// a.find('ul').css('top',decal2+'px').css('left',decal+'px');

            })
        }
        gogogo(this);
		return this;
    }
})(jQuery);

