$(document).ready(function(){
	$('ul.jr-list, ul.jrn').column({cs:2});
	$('.ls-nw').column({cs:2, ci:'.it-cnt'});
	$('.filter ul').filter();
	$('.sub-menu li .sub').magazine({ac:'hover', cl:'hov'});
	$('.jtm .jcr-cnt').scrollRm({size:3, prev:'.prev-page', next:'.next-page', rs:'60'});
	$('.stm .op-cnt').css({opacity:0.5});
	$('.stm .scr-cnt').scrollRm({size:1, prev:'.prev-Page', next:'.next-Page', navi:'.nv-cnt', easing:'fade', clickable:false, as:true});
	
});

if(jQuery) (function($){
	$.fn.filter = function(params){
		var params = $.extend({
			ci:5,
			cs:3
		}, params);
		return this.each(function(){
			var e = {
				obj:$(this),
				params:params
			};
			e.nm = e.obj.children('li');
			e.ln = e.nm.length;
			if(e.ln > e.params.ci) {
				e.nm.slice(e.params.cs, e.ln).css({display:'none'});
				e.lm = document.createElement('li');
				$(e.lm).addClass('close').html('<a href="#" title="Meer">Meer</a>');
				e.obj.append(e.lm);
				e.lnk = $(e.lm, 'a');
				$(e.lm).click(function() {
					showit(e.lm);
					return false;

				});
			}
			function showit(itch) {
				if($(itch).hasClass('close')) {
					e.nm.slice(e.params.cs, e.ln).css({display:'block'});
					$(itch).addClass('open').removeClass('close');
				} else {
					e.nm.slice(e.params.cs, e.ln).css({display:'none'});
					$(itch).addClass('close').removeClass('open');

				}
			}
		})
	};
	$.fn.column = function(params){
		var params = $.extend({ci:'li',cs:3,br:0}, params);
		return this.each(function(){
			var e = {
				obj:$(this),
				params:params
			};
			e.l = e.obj.children().size()-1;
			e.s = 0;
			$.each(e.obj.children(), function(i) { if($(this).is(e.params.ci)) {e.s++} });
			e.m = Math.ceil(e.s/e.params.cs);
			e.t = e.m;
			e.g = e.obj[0].tagName.toLowerCase();
			e.k = 0;
			e.n = $('<div class="'+e.obj.attr('class')+'"></div>');
			e.i = $('<'+e.g+'></'+e.g+'>');
			$.each(e.obj.children(), function(i) {
				if((e.k == e.t) && $(this).is(e.params.ci)) {
					e.t += e.m;
					$(e.n).append(e.i).insertBefore(e.obj);
					e.i = $('<'+e.g+'></'+e.g+'>');
				}
				if($(this).is(e.params.ci)) e.k++;
				e.i.append($(this));
				if(i == e.l) { $(e.n).append(e.i).insertBefore(e.obj); if(e.params.br != 0)$(e.i).css('border', 'none')}
			});
			$(this).replaceWith(e.obj.html());
		});
	};
	$.fn.magazine = function(params){
		var params = $.extend({ac:'click',cl:'active'}, params);
		return this.each(function(){
			var e = {
				obj:$(this),
				params:params
			};
			e.obj.parent().eq(0).hoverIntent({
				timeout: 150,
				over: function(){
					if(e.params.ac == 'hover'){
						e.obj.css('opacity', 0).css('visibility', 'visible').animate({opacity:1}, 100);
						$(this).addClass(e.params.cl);
					}
				},
				out: function(){
					e.obj.animate({opacity:0}, 100, function(){e.obj.css('visibility', 'hidden')});
					$(this).children().eq(0).removeClass('active');
					$(this).removeClass(e.params.cl);
				}
			});
			if(e.params.ac == 'click'){
				e.obj.parent().children().eq(0).click(function(){
					if(e.obj.css('visibility') == 'hidden') {
						e.obj.css('opacity', 0).css('visibility', 'visible').animate({opacity:1}, 100);
						$(this).addClass(e.params.cl);
					} else {
						e.obj.animate({opacity:0}, 100, function(){e.obj.css('visibility', 'hidden')});
						$(this).removeClass(e.params.cl);
					}
				});
			}
		});
	};
	$.fn.scrollRm = function(params){
		var conf = $.extend({size:1,vertical:false,speed:400,keyboard:true,keyboardSteps:null,disabledClass:"disabled",hoverClass:null,clickable:true,activeClass:"active",easing:"swing",loop:true,items:".items",item:null,prev:".prev",next:".next",prevPage:".prevPage",nextPage:".nextPage",api:false, rs:null, rsi:'.jrn-cvr',navi:null,tg:'h3',as:null}, params);
		return this.each(function(){
			var c,m=conf,o=$(this), pr=null;
			var r=this,p=$(this),d=!m.vertical,e=o.children(),k=0,i,nv,ng,ai,af,ah=true;
			if(!c){c=r}
			$.each(m,function(s,t){
				if($.isFunction(t)){p.bind(s,t)}
			});
			if(e.length>1){e=$(m.items,o)}
			function l(t){
				var s=$(t);
				return m.globalNav?s:o.parent().find(t)
			}
			o.data("finder",l);
			var f=l(m.prev),h=l(m.next),g=l(m.prevPage),n=l(m.nextPage);
			
			$.extend(r,{
				getIndex:function(){return k},
				getClickIndex:function(){
					var s=r.getItems();
					return s.index(s.filter("."+m.activeClass))
				},
				getConf:function(){return m},
				getSize:function(){return r.getItems().size()},

				getPageAmount:function(){return Math.ceil(this.getSize()/m.size)},
				getPageIndex:function(){return Math.ceil(k/m.size)},
				getNaviButtons:function(){return f.add(h).add(g).add(n)},
				getRoot:function(){return o},
				getItemWrap:function(){return e},
				getItems:function(){return e.children(m.item)},
				getVisibleItems:function(){return r.getItems().slice(k,k+m.size)},
				seekTo:function(s,w,t){
					var u=r.getItems().eq(s);
					if(s<0){s=0}
					if(k===s){return r}
					if($.isFunction(w)){t=w}
					if(s>r.getSize()-m.size){
						return m.loop?r.begin():this.end()
					}
					if(!u.length){return r}
					var v=$.Event("onBeforeSeek");
					p.trigger(v,[s]);
					if(v.isDefaultPrevented()){return r}
					if(w===undefined||$.isFunction(w)){w=m.speed}
					function x(){
						if(t){t.call(r,s)}
						p.trigger("onSeek",[s])
					}
					if(m.easing == 'fade'){
						nt=l('.scr-fk');
						nt.css({display:'block'});
							if(d){e.css({left:-u.position().left})}
							else{e.css({top:-u.position().top})}
						nt.fadeOut('slow');
						x();
					}else{
						if(d){
							e.animate({left:-u.position().left},w,m.easing,x)
						}else{
							e.animate({top:-u.position().top},w,m.easing,x)
						}
					}
					c=r;
					k=s;
					v=$.Event("onStart");
					p.trigger(v,[s]);
					if(v.isDefaultPrevented()){return r}
					f.add(g).toggleClass(m.disabledClass,s===0);
					h.add(n).toggleClass(m.disabledClass,s>=r.getSize()-m.size);
					return r
				},
				move:function(u,t,s){
					i=u>0;
					return this.seekTo(k+u,t,s)
				},
				next:function(t,s){return this.move(1,t,s)},
				prev:function(t,s){return this.move(-1,t,s)},
				movePage:function(w,v,u){
					i=w>0;
					var s=m.size*w;
					var t=k%m.size;
					if(t>0){s+=(w>0?-t:m.size-t)}
					return this.move(s,v,u)
				},
				prevPage:function(t,s){return this.movePage(-1,t,s)},
				nextPage:function(t,s){return this.movePage(1,t,s)},
				setPage:function(t,u,s){return this.seekTo(t*m.size,u,s)},
				begin:function(t,s){i=false;return this.seekTo(0,t,s)},
				end:function(t,s){
					i=true;
					var u=this.getSize()-m.size;
					return u>0?this.seekTo(u,t,s):r
				},
				reload:function(){p.trigger("onReload");return r},
				focus:function(){c=r;return r},
				click:function(u){
					var v=r.getItems().eq(u),s=m.activeClass,t=m.size;
					if(u<0||u>=r.getSize()){return r}
					if(t==1){if(m.loop){return r.next()}
					if(u===0||u==r.getSize()-1){i=(i===undefined)?true:!i}
						return i===false?r.prev():r.next()
					}
					if(t==2){
						if(u==k){u--}r.getItems().removeClass(s);
						v.addClass(s);
						return r.seekTo(u,time,fn)
					}
					if(!v.hasClass(s)){
						r.getItems().removeClass(s);
						v.addClass(s);
						var x=Math.floor(t/2);
						var w=u-x;
						if(w>r.getSize()-t){w=r.getSize()-t}
						if(w!==u){return r.seekTo(w)}}
					return r
				},
				bind:function(s,t){p.bind(s,t);return r},
				unbind:function(s){p.unbind(s);return r}
			});
			function navi(){
				nv=l(m.navi);
				if(!nv.children().length||nv.data("navi")==r){
					nv.empty();
					nv.data("navi",r);
					for(var z=0;z<r.getPageAmount();z++){
						nv.append($("<li>").html($(r.getItems()[z]).find(m.tg).clone()));
					}
					nv.wrapInner('<ul>');
					ng=nv.find('li').each(function(n){
						var o=$(this);
						o.click(function(p){
							r.setPage(n);
							return p.preventDefault()
						});
					})
				}
				ng.eq(0).addClass(m.activeClass)
			}
			if(m.as){
				r.play=function(){
					if(ai){return}
					ah=false;
					ai=setInterval(function(){
						r.move(1)
					},4000);
					r.move(1)
				};
				r.pause=function(){
					ai=clearInterval(ai)
				};
				r.stop=function(){
					r.pause();
					ah=true
				};
				r.getRoot().hover(function(){
					r.pause();
					clearInterval(af)
				},function(){
					if(!ah){af=setTimeout(r.play,4000)}
				})
				setTimeout(r.play,4000)
			}
			
			$.each("onBeforeSeek,onStart,onSeek,onReload".split(","),function(s,t){
				r[t]=function(u){return r.bind(t,u)}
			});
			f.addClass(m.disabledClass).click(function(){r.prev()});
			h.click(function(){r.next()});
			n.click(function(){r.nextPage()});
			if(r.getSize()<m.size){
				h.add(n).addClass(m.disabledClass)
			}
			g.addClass(m.disabledClass).click(function(){
				r.prevPage()
			});
			function ew(a){return Math.floor((a.width()-(a.width()*m.rs/100))/2)}
			function eh(a){return Math.floor((a.height()-(a.height()*m.rs/100))/2)}
			var j=m.hoverClass,q="keydown."+Math.random().toString().substring(10);
			r.onReload(function(){
				if(j){
					r.getItems().hover(function(){
						$(this).addClass(j)
					},function(){
						$(this).removeClass(j)
					})
				}
				if(m.clickable){
					r.getItems().each(function(s){
						$(this).unbind("click.scrollable").bind("click.scrollable",function(t){
							if($(t.target).is("a")){return}
							return r.click(s)
						})
					})
				}
				if(m.rs){
					pr = r.getIndex()+Math.floor(r.getVisibleItems().size()/2);
					r.getItems().each(function(){
						$(this).find(m.rsi).css({width:m.rs+'%', height:m.rs+'%', left:ew($(this)), top:eh($(this)), position:'absolute'})
					})
					r.getItems().eq(pr).find(m.rsi).css({width:'100%', height:'100%', left:0, top:0}, m.speed)
					l('.scr-txt').html(r.getItems().eq(pr).find('.cnt').clone());
				}
				if(m.navi){navi()}
				if(m.keyboard){
					$(document).unbind(q).bind(q,function(t){
						if(t.altKey||t.ctrlKey){return}
						if(m.keyboard!="static"&&c!=r){return}
						var u=m.keyboardSteps;
						if(d&&(t.keyCode==37||t.keyCode==39)){
							r.move(t.keyCode==37?-u:u);
							return t.preventDefault()
						}
						if(!d&&(t.keyCode==38||t.keyCode==40)){
							r.move(t.keyCode==38?-u:u);
							return t.preventDefault()
						}
						return true
					})
				}else{
					$(document).unbind(q)
				}
			});
			r.onStart(function(){
				if(m.rs){
					r.getItems().eq(pr).find(m.rsi).animate({width:m.rs+'%', height:m.rs+'%', left:ew(r.getItems().eq(pr)), top:eh(r.getItems().eq(pr))}, m.speed);
					pr = r.getIndex()+Math.floor(r.getVisibleItems().size()/2);
					r.getItems().eq(pr).find(m.rsi).animate({width:'100%', height:'100%', left:'0', top:'0'}, m.speed);
					l('.scr-txt').html(r.getItems().eq(pr).find('.cnt').clone());
				}
				if(m.navi){ng.removeClass(m.activeClass).eq(r.getPageIndex()).addClass(m.activeClass)}
			})
			r.reload()
		})
	};

})(jQuery);