 document.documentElement.className+='js_active';
(function($)
	{
	$.fn.aviaSlider=function(g)
		{
		var h=
			{
			slides:'li',animationSpeed:900,autorotation:true,autorotationSpeed:3,appendControlls:'',slideControlls:'items',blockSize:
				{
				height:'full',width:'full'
			}
			,betweenBlockDelay:60,display:'topleft',switchMovement:false,showText:true,transition:'fade',backgroundOpacity:0.8,transitionOrder:['diagonaltop','diagonalbottom','topleft','bottomright','random']
		};
		var j=$.extend(h,g);
		return this.each(function()
			{
			var f=$(this),slides=f.find(j.slides),slideImages=slides.find('img'),slideCount=slides.length,slideWidth=slides.width(),slideHeight=slides.height(),blockNumber=0,currentSlideNumber=0,reverseSwitch=false,currentTransition=0,current_class='active_item',controlls='',skipSwitch=true,interval='',blockSelection='',blockSelectionJQ='',blockOrder=[];
			if(j.blockSize.height=='full')
				{
				j.blockSize.height=slideHeight
			}
			if(j.blockSize.width=='full')
				{
				j.blockSize.width=slideWidth
			}
			f.methods=
				{
				init:function()
					{
					var a=0,posY=0,generateBlocks=true,bgOffset='';
					slides.filter(':first').css(
						{
						'z-index':'5',display:'block'
					}
					);
					while(generateBlocks)
						{
						blockNumber++;
						bgOffset="-"+a+"px -"+posY+"px";
						$('<div class="kBlock"></div>').appendTo(f).css(
							{
							zIndex:20,position:'absolute',display:'none',left:a,top:posY,height:j.blockSize.height,width:j.blockSize.width,backgroundPosition:bgOffset
						}
						);
						a+=j.blockSize.width;
						if(a>=slideWidth)
							{
							a=0;
							posY+=j.blockSize.height
						}
						if(posY>=slideHeight)
							{
							generateBlocks=false
						}
					}
					blockSelection=f.find('.kBlock');
					blockOrder['topleft']=blockSelection;
					blockOrder['bottomright']=$(blockSelection.get().reverse());
					blockOrder['diagonaltop']=f.methods.kcubit(blockSelection);
					blockOrder['diagonalbottom']=f.methods.kcubit(blockOrder['bottomright']);
					blockOrder['random']=f.methods.fyrandomize(blockSelection);
					slides.each(function()
						{
						$.data(this,"data",
							{
							img:$(this).find('img').attr('src')
						}
						)
					}
					);
					if(slideCount<=1)
						{
						f.aviaSlider_preloadhelper(
							{
							delay:200
						}
						)
					}
					else
						{
						f.aviaSlider_preloadhelper(
							{
							callback:f.methods.preloadingDone
						}
						);
						f.methods.appendControlls().addDescription()
					}
				}
				,appendControlls:function()
					{
					if(j.slideControlls=='items')
						{
						var b=j.appendControlls||f[0];
						controlls=$('<div></div>').addClass('slidecontrolls').insertAfter(b);
						slides.each(function(i)
							{
							var a=$('<a href="#" class="ie6fix '+current_class+'"></a>').appendTo(controlls);
							a.bind('click',
								{
								currentSlideNumber:i
							}
							,f.methods.switchSlide);
							current_class=""
						}
						);
						controlls.width(controlls.width()).css('float','none')
					}
					return this
				}
				,addDescription:function()
					{
					if(j.showText)
						{
						slides.each(function()
							{
							var a=$(this),description=a.find('img').attr('alt'),splitdesc=description.split('::');
							if(splitdesc[0]!="")
								{
								if(splitdesc[1]!=undefined)
									{
									description="<strong>"+splitdesc[0]+"</strong>"+splitdesc[1]
								}
								else
									{
									description=splitdesc[0]
								}
							}
							if(description!="")
								{
								$('<div></div>').addClass('feature_excerpt').html(description).css(
									{
									display:'block','opacity':j.backgroundOpacity
								}
								).appendTo(a.find('a'))
							}
						}
						)
					}
				}
				,preloadingDone:function()
					{
					skipSwitch=false;
					slides.css(
						{
						'backgroundColor':'transparent','backgroundImage':'none'
					}
					);
					if(j.autorotation)
						{
						f.methods.autorotate();
						slideImages.bind("click",function()
							{
							clearInterval(interval)
						}
						)
					}
				}
				,autorotate:function()
					{
					interval=setInterval(function()
						{
						currentSlideNumber++;
						if(currentSlideNumber==slideCount)currentSlideNumber=0;
						f.methods.switchSlide()
					}
					,(parseInt(j.autorotationSpeed)*1000)+(j.betweenBlockDelay*blockNumber)+j.animationSpeed)
				}
				,switchSlide:function(c)
					{
					var d=false;
					if(c!=undefined&&!skipSwitch)
						{
						if(currentSlideNumber!=c.data.currentSlideNumber)
							{
							currentSlideNumber=c.data.currentSlideNumber
						}
						else
							{
							d=true
						}
					}
					if(c!=undefined)clearInterval(interval);
					if(!skipSwitch&&d==false)
						{
						skipSwitch=true;
						var e=slides.filter(':visible'),nextSlide=slides.filter(':eq('+currentSlideNumber+')'),nextURL=$.data(nextSlide[0],"data").img,nextImageBG='url('+nextURL+')';
						if(j.slideControlls)
							{
							controlls.find('.active_item').removeClass('active_item');
							controlls.find('a:eq('+currentSlideNumber+')').addClass('active_item')
						}
						blockSelectionJQ=blockOrder[j.display];
						slides.find('>a>img').css(
							{
							opacity:1,visibility:'visible'
						}
						);
						if(j.switchMovement&&(j.display=="topleft"||j.display=="diagonaltop"))
							{
							if(reverseSwitch==false)
								{
								blockSelectionJQ=blockOrder[j.display];
								reverseSwitch=true
							}
							else
								{
								if(j.display=="topleft")blockSelectionJQ=blockOrder['bottomright'];
								if(j.display=="diagonaltop")blockSelectionJQ=blockOrder['diagonalbottom'];
								reverseSwitch=false
							}
						}
						if(j.display=='random')
							{
							blockSelectionJQ=f.methods.fyrandomize(blockSelection)
						}
						if(j.display=='all')
							{
							blockSelectionJQ=blockOrder[j.transitionOrder[currentTransition]];
							currentTransition++;
							if(currentTransition>=j.transitionOrder.length)currentTransition=0
						}
						blockSelectionJQ.css(
							{
							backgroundImage:nextImageBG
						}
						).each(function(i)
							{
							var b=$(this);
							setTimeout(function()
								{
								var a=new Array();
								if(j.transition=='drop')
									{
									a['css']=
										{
										height:1,width:j.blockSize.width,display:'block',opacity:0
									};
									a['anim']=
										{
										height:j.blockSize.height,width:j.blockSize.width,opacity:1
									}
								}
								else if(j.transition=='fade')
									{
									a['css']=
										{
										display:'block',opacity:0
									};
									a['anim']=
										{
										opacity:1
									}
								}
								else
									{
									a['css']=
										{
										height:1,width:1,display:'block',opacity:0
									};
									a['anim']=
										{
										height:j.blockSize.height,width:j.blockSize.width,opacity:1
									}
								}
								b.css(a['css']).animate(a['anim'],j.animationSpeed,function()
									{
									if(i+1==blockNumber)
										{
										f.methods.changeImage(e,nextSlide)
									}
								}
								)
							}
							,i*j.betweenBlockDelay)
						}
						)
					}
					return false
				}
				,changeImage:function(a,b)
					{
					a.css(
						{
						zIndex:0,display:'none'
					}
					);
					b.css(
						{
						zIndex:3,display:'block'
					}
					);
					blockSelectionJQ.fadeOut(j.animationSpeed*1/3,function()
						{
						skipSwitch=false
					}
					)
				}
				,fyrandomize:function(a)
					{
					var b=a.length,objectSorted=$(a);
					if(b==0)return false;
					while(--b)
						{
						var c=Math.floor(Math.random()*(b+1)),temp1=objectSorted[b],temp2=objectSorted[c];
						objectSorted[b]=temp2;
						objectSorted[c]=temp1
					}
					return objectSorted
				}
				,kcubit:function(a)
					{
					var b=a.length,objectSorted=$(a),currentIndex=0,rows=Math.ceil(slideHeight/j.blockSize.height),columns=Math.ceil(slideWidth/j.blockSize.width),oneColumn=blockNumber/columns,oneRow=blockNumber/rows,modX=0,modY=0,i=0,rowend=0,endreached=false,onlyOne=false;
					if(b==0)return false;
					for(i=0;
					i<b;
					i++)
						{
						objectSorted[i]=a[currentIndex];
						if((currentIndex%oneRow==0&&blockNumber-i>oneRow)||(modY+1)%oneColumn==0)
							{
							currentIndex-=(((oneRow-1)*modY)-1);
							modY=0;
							modX++;
							onlyOne=false;
							if(rowend>0)
								{
								modY=rowend;
								currentIndex+=(oneRow-1)*modY
							}
						}
						else
							{
							currentIndex+=oneRow-1;
							modY++
						}
						if((modX%(oneRow-1)==0&&modX!=0&&rowend==0)||(endreached==true&&onlyOne==false))
							{
							modX=0.1;
							rowend++;
							endreached=true;
							onlyOne=true
						}
					}
					return objectSorted
				}
			};
			f.methods.init()
		}
		)
	}
}
)(jQuery);
(function($)
	{
	$.fn.aviaSlider_preloadhelper=function(e)
		{
		var f=
			{
			fadeInSpeed:800,delay:0,callback:''
		};
		var g=$.extend(f,e);
		return this.each(function()
			{
			var d=jQuery(this),images=d.find('img').css(
				{
				opacity:0,visibility:'hidden',display:'block'
			}
			),imagesToLoad=images.length,img=[];
			d.operations=
				{
				preload:function()
					{
					var c=true;
					images.each(function(i,a)
						{
						var b=new Image(),passImg=$(this);
						b.src=this.src;
						if(!b.complete)
							{
							$(b).bind('error load',
								{
								currentImage:passImg
							}
							,d.operations.showImage)
						}
						else
							{
							d.operations.showImage(passImg)
						}
					}
					);
					return this
				}
				,showImage:function(c)
					{
					imagesToLoad--;
					if(c.data.currentImage!=undefined)
						{
						c=c.data.currentImage
					}
					if(g.delay<=0)c.css('visibility','visible').animate(
						{
						opacity:1
					}
					,g.fadeInSpeed);
					if(imagesToLoad==0)
						{
						if(g.delay>0)
							{
							images.each(function(i,a)
								{
								var b=$(this);
								setTimeout(function()
									{
									b.css('visibility','visible').animate(
										{
										opacity:1
									}
									,g.fadeInSpeed,function()
										{
										$(this).parent().removeClass('preloading')
									}
									)
								}
								,g.delay*(i+1))
							}
							);
							if(g.callback!='')
								{
								setTimeout(g.callback,g.delay*images.length)
							}
						}
						else if(g.callback!='')
							{
							(g.callback)()
						}
					}
				}
			};
			d.operations.preload()
		}
		)
	}
}
)(jQuery);
