/* 
	Scroll Controller
	-------------- 
	Given an element, checks if it is inside the view of the user
*/
var ScrollController = function() {

	var element;

	var init = function (ele) {

		element = document.getElementById(ele);
		onScrolling();
		window.addEventListener("scroll", onScrolling);

	};

	var onScrolling = function(){

		if (isScrolledIntoView()){
    		window.removeEventListener("scroll", onScrolling);
    		showElement(element);
    	}		
	};


	var isScrolledIntoView = function(){

		var elementTop    = element.getBoundingClientRect().top,
        elementBottom = element.getBoundingClientRect().bottom;
        
        // controlo que al menos se vean 100px del elemento
		return elementTop >= 0 && (elementTop + 100) <= window.innerHeight;

	};

	// STEF: esto tendría que estar en la vista
	var showElement = function(){

		element.className = element.className + " fade-in"; 
		
	};


	return {
		init: init
	};

};

module.exports = new ScrollController();
@@ -180,17 +180,16 @@
 (ele) %7B%0A
-%0A
 %09%09elemen
@@ -224,16 +224,17 @@
 ele);%0A%09%09
+_
 onScroll
@@ -268,32 +268,33 @@
 tener(%22scroll%22, 
+_
 onScrolling);%0A%0A%09
@@ -302,16 +302,17 @@
 ;%0A%0A%09var 
+_
 onScroll
@@ -336,16 +336,17 @@
 %0A%0A%09%09if (
+_
 isScroll
@@ -403,16 +403,17 @@
 croll%22, 
+_
 onScroll
@@ -424,16 +424,17 @@
 ;%0A    %09%09
+_
 showElem
@@ -454,17 +454,16 @@
 %0A    %09%7D%09
-%09
 %0A%09%7D;%0A%0A%0A%09
@@ -466,16 +466,17 @@
 %0A%0A%0A%09var 
+_
 isScroll
@@ -819,16 +819,17 @@
 ta%0A%09var 
+_
 showElem
@@ -846,17 +846,16 @@
 tion()%7B%0A
-%0A
 %09%09elemen
@@ -900,17 +900,16 @@
 de-in%22; 
-%0A
 %09%09%0A%09%7D;%0A%0A

Improve scope