	
	/* 
	 *   Horizontal and Vertical Scroll Slider 
	 * 
	 * */
	 jQuery.fn.mousehold = function(timeout, f) {
	if (timeout && typeof timeout == 'function') {
		f = timeout;
		timeout = 200;
	}
	if (f && typeof f == 'function') {
		var timer = 0;
		var fireStep = 0;
		return this.each(function() {
			jQuery(this).mousedown(function() {
				fireStep = 1;
				var ctr = 0;
				var t = this;
				timer = setInterval(function() {
					ctr++;
					f.call(t, ctr);
					fireStep = 2;
				}, timeout);
			})

			clearMousehold = function() {
				clearInterval(timer);
				if (fireStep == 1) f.call(this, 1);
				fireStep = 0;
			}
			
			jQuery(this).mouseout(clearMousehold);
			jQuery(this).mouseup(clearMousehold);
		})
	}
}
	//selector
	var scrollSelector;
	//slider selector
	var contentSliderSelector;
	var isHorizontal;
	var nextLimit = false;
	var prevLimit = false;
	
	function createScroll(pageType,slowMotion){
		scrollSelector = "#"+pageType+"Inner";
		if(pageType=="h_small" || pageType=="h_large"){
			contentSliderSelector = "#content-slider";
			isHorizontal = true;
			//reset
			$(scrollSelector).scrollLeft(0);		
			//start settings
			var options = {
		    	animate: true,
		    	change: handleSliderChange,
				min: 0,
				max: 100,
				value: 0
		  	}				
		}else if(pageType=="v_small" || pageType=="v_large"){
			contentSliderSelector = "#content-sliderV";
			isHorizontal = false;
			//reset
			$(scrollSelector).scrollTop(0);
			//start settings
			var options = {
		    	animate: true,
		    	change: handleSliderChange,
				min: 0,
				max: 100,
				value: 100,
				orientation: 'vertical'
		  	}	
		}
		//init
		$(contentSliderSelector).slider(options);
		
		//-----mousewheel binding	
	   $().bind('mousewheel', function(event, delta) {
	   	
	       var sVal = $(contentSliderSelector).slider('option', 'value');		   
	       if (isHorizontal) {
			   	//hide arrow
				$("#scrollArea").removeClass("downArrow");
		   		$("#scrollOuter").stop().animate({top:'0px'},200);
		  		if(delta < -0.65){
				   	if (sVal < 100) {
						$(contentSliderSelector).slider('value', sVal + 7);
					};
			       }
				   if(delta > 0.65){
				   	if (sVal > 0) {
						$(contentSliderSelector).slider('value', sVal - 7);
					};
			       }
		   } else {
		   	 	//hide arrow
				$("#scrollAreaV").removeClass("leftArrow");
		   		$("#scrollOuterV").stop().animate({left:'0px'},200);
		   		if(delta < -0.65){
			   	if (sVal > 0) {
					$(contentSliderSelector).slider('value', sVal - 7);
				};
		       }
			   if(delta > 0.65){
			   	if (sVal < 100) {
					$(contentSliderSelector).slider('value', sVal + 7);
				};
		       }		   	
		   } 
	       return false;
	   });
	    
		//set limits after config  
		ifOnLimits();
		
		//-----next 
	    $("#nextSlide").mousehold(function () { 
	      nextSlide(); 
	    });
		//-----previous
	    $("#previousSlide").mousehold(function () { 
	      previousSlide(); 
	    });
		
		$("#nextSlide").hover(
	      function () {
	      	if(nextLimit == false){
		        if (isHorizontal) {
					 $(".nextSlideH").css('background-position','0px -14px');
				} else {
					 $(".previousSlideV").css('background-position','-14px 0px');
				}
	      	}
	      }, 
	      function () {
	        if(nextLimit == false){
		        if (isHorizontal) {
					$(".nextSlideH").css('background-position', '0px 0px');
				} else {
					$(".previousSlideV").css('background-position', '0px 0px');
				}
	        }
	      }
	    );

		//-----previous
	    $("#previousSlide").hover(
	      function () {
	      	if(prevLimit == false){
		        if (isHorizontal) {
					 $(".previousSlideH").css('background-position','0px -14px');
				} else {
					 $(".nextSlideV").css('background-position','-14px 0px');
				}
	      	}
	      }, 
	      function () {
	      	if(prevLimit == false){
		        if (isHorizontal) {
					$(".previousSlideH").css('background-position', '0px 0px');
				} else {
					$(".nextSlideV").css('background-position', '0px 0px');
				}
	      	}
	      }
	    );
		
		//-----handle Slider Change
		function handleSliderChange(e, ui){
			var maxScroll;
			//horizontal
			if(isHorizontal){
			  	maxScroll = $(scrollSelector).attr("scrollWidth") - $(scrollSelector).width();
				$(scrollSelector).stop().animate({scrollLeft: ui.value * (maxScroll / 100) }, 1000);
			}else{
				maxScroll = $(scrollSelector).attr("scrollHeight") - $(scrollSelector).height();
				$(scrollSelector).stop().animate({scrollTop: (100 - ui.value) * (maxScroll / 100) }, 1000);
			}
			ifOnLimits();
			if(nextLimit == false && prevLimit == false){
				slowMotion();
			}
		}
		
		//-----move to next slide
		function nextSlide(){
			var sVal = $(contentSliderSelector).slider('option', 'value') + 1; //+1 ensure step will occure
			var targetstep;
			//horizontal
			if(nextLimit == false){
				if (isHorizontal) {
					var totalWidth = $(scrollSelector).attr("scrollWidth");
					var maxScroll = $(scrollSelector).attr("scrollWidth") - $(scrollSelector).width();
					targetstep = 25/Math.round((totalWidth/maxScroll));		
				}else{
					var totalHeight = $(scrollSelector).attr("scrollHeight");
					var maxScrollV = $(scrollSelector).attr("scrollHeight") - $(scrollSelector).height();
					targetstep = 25/Math.round((totalHeight/maxScrollV));
				}
				var istep = Math.ceil(sVal/targetstep) * targetstep;
				$(contentSliderSelector).slider('value',istep); //+step value
			};
		}
		
		//-----move to previous slide
		function previousSlide(){
			var sVal = $(contentSliderSelector).slider('option', 'value') - 1; //-1 ensure step will occure
			var targetstep;
			//horizontal
			if(prevLimit == false){
				if (isHorizontal) {
					var totalWidth = $(scrollSelector).attr("scrollWidth");
					var maxScroll = $(scrollSelector).attr("scrollWidth") - $(scrollSelector).width();
					targetstep = 25/Math.round((totalWidth/maxScroll));		
				}else{
					var totalHeight = $(scrollSelector).attr("scrollHeight");
					var maxScrollV = $(scrollSelector).attr("scrollHeight") - $(scrollSelector).height();
					targetstep = 25/Math.round((totalHeight/maxScrollV));
				}
				var istep = Math.floor(sVal/targetstep) * targetstep;
				$(contentSliderSelector).slider('value',istep); //+step value
			};
		}
		
		//-----check if is on max or min limits, to hide or show links
		function ifOnLimits(){
			var sVal = $(contentSliderSelector).slider('option', 'value');
			var sMin = $(contentSliderSelector).slider('option', 'min');	
			var sMax = $(contentSliderSelector).slider('option', 'max');
			if(sVal >= sMax){
				nextLimit = true
				prevLimit = false
				if (isHorizontal) {
					 $(".nextSlideH").css('background-position','0px -28px');
					 $(".previousSlideH").css('background-position', '0px 0px');
				} else {
					 $(".previousSlideV").css('background-position','-28px 0px');
					 $(".nextSlideV").css('background-position', '0px 0px');
				}	
			} else
			if(sVal <= sMin){
				prevLimit = true
				nextLimit = false
				if (isHorizontal) {
					 $(".previousSlideH").css('background-position','0px -28px');
					 $(".nextSlideH").css('background-position', '0px 0px');
				} else {
					 $(".nextSlideV").css('background-position','-28px 0px');
					 $(".previousSlideV").css('background-position', '0px 0px');
				}
			} else {
				nextLimit = false
				prevLimit = false
				if (isHorizontal) {
					 $(".previousSlideH").css('background-position', '0px 0px');
					 $(".nextSlideH").css('background-position', '0px 0px');
				} else {
					 $(".previousSlideV").css('background-position', '0px 0px');
					 $(".nextSlideV").css('background-position', '0px 0px');
				}
			}
		}
	};	
