/**
 * wSlide 0.1 - http://www.webinventif.fr/wslide-plugin/
 * 
 * Rendez vos sites glissant !
 *
 * Copyright (c) 2008 Julien Chauvin (webinventif.fr)
 * Licensed under the Creative Commons License:
 * http://creativecommons.org/licenses/by/3.0/
 *
 * Date: 2008-01-27
 */
(function($){
		  $.fn.wslide=function(h){
			  h=jQuery.extend({
							  width:150,
							  height:150,
							  pos:1,
							  col:1,
							  effect:'swing',
							  fade:false,
							  horiz:false,
							  autolink:true,
							  duration:1500},h);
			  function gogogo(g){
				  g.each(function(i){
								  var a=$(this);
								  var e=a.attr('id');
								  if(e==undefined){e='wslide'+i}
								  $(this).wrap('<div class="wslide-wrap" id="'+e+'-wrap"></div>');
								  a=$('#'+e+'-wrap');
								  var b=a.find('ul li');
								  var f=h.effect;
								  if(jQuery.easing.easeInQuad==undefined&&(f!='swing'||f!='normal')){f='swing'}
									  var g=h.width;
									  var j=h.height;
									  function resultante(a){
										  var b=a;
										  b=b.split('px');
										  b=b[0];
										  return Number(b)}
										  
										  var k=g-(resultante(b.css('padding-left'))+resultante(b.css('padding-right')));
										  var l=j-(resultante(b.css('padding-top'))+resultante(b.css('padding-bottom')));
										  var m=h.col;if(h.horiz){m=Number(b.length+1)}var n='';var o=Math.ceil(Number(b.length)/m);
										  
										  a.css('overflow','hidden').css('position','relative').css('text-align','left').css('height',j+'px').css('width',g+'px').css('margin','0').css('padding','0');
										  a.find('ul').css('position','absolute').css('margin','0').css('padding','0').css('width',Number((m+0)*g)+'px').css('height',Number(o*j)+'px');
										  b.css('display','block').css('overflow','hidden').css('float','left').css('height',l+'px').css('width',k+'px');
										  b.each(function(i){
														  var b=a.offset();
														  var c=$(this).offset();
														  $(this).attr('id',e+'-'+Number(i+1)).attr('rel',Number(c.left-b.left)+':'+Number(c.top-b.top));
														  n+=' <a href="#'+e+'-'+Number(i+1)+'">'+Number(i+1)+'</a>'}
														  );
										  
										  if(typeof h.autolink=='boolean'){
											  if(h.autolink){
												  a.after('<div class="wslide-menu" id="'+e+'-menu">'+n+'</div>')
												  }
												  }
												  else if(typeof h.autolink=='string'){
													  if($('#'+h.autolink).length){
														  $('#'+h.autolink).html(n)}
														  else{
															  a.after('<div id="#'+h.autolink+'">'+n+'</div>')
															  }
															  }
															  var p='#'+e+'-';
															  var q="";
															  //$('a[href*="'+p+'"]').click(function(){
															  $('a[href*="'+p+'"]').mouseover(function(){
																								   $('a[href*="'+q+'"]').removeClass("wactive");
																								   $(this).addClass("wactive");
																								   var b=$(this).attr('href');
																								   b=b.split('#');b='#'+b[1];
																								   q=b;var c=$(b).attr('rel');
																								   c=c.split(':');
																								   var d=c[1];
																								   d=-d;
																								   c=c[0];
																								   c=-c;
																								   if(h.fade){
																									   a.find('ul').animate({opacity:0},h.duration/2,f,function(){$(this).css('top',d+'px').css('left',c+'px');$(this).animate({opacity:1},h.duration/2,f)})}
																									   else{a.find('ul').animate({top:d+'px',left:c+'px'},h.duration,f)}return false});
															  if(h.pos<=0){
																  h.pos=1}
																  $('a[href$="'+p+h.pos+'"]').addClass("wactive");
																  var r=$('a[href*="'+p+'"]:eq('+Number(h.pos-1)+')').attr('href');
																  r=r.split('#');
																  r='#'+r[1];
																  q=r;
																  var s=$(r).attr('rel');
																  s=s.split(':');
																  var t=s[1];
																  t=-t;
																  s=s[0];
																  s=-s;
																  a.find('ul').css('top',t+'px').css('left',s+'px')})}gogogo(this);return this}})(jQuery);