function addEvent ( elem , eve , func ) {
	if( window.addEventListener ) {
		elem.addEventListener( eve , func )
	} else {
		elem.attachEvent( 'on' + eve , func )
	}
};
function getClass ( elem ) {
	if( document.getElementsByClassName ) {
		return document.getElementsByClassName( elem );
	} else {
		var all = document.getElementsByTagName( '*' ) ,
			class_node = [];
		for( var i = 0 ; i < all.length ; i++ ) {
			if( all[ i ].className.indexOf( elem ) > -1 ) {
				class_node[ class_node.length ] = all[ i ];
			}
		}
		return class_node;
	}
}
function children ( elem ) {
	var child_node = elem.getElementsByTagName( '*' ) ,
		child = [];
	for( var i = 0 ; i < child_node.length ; i++ ) {
		if( child_node[ i ].parentNode == elem ) {
			child[ child.length ] = child_node[ i ];
		}
	}
	return child;
}
function getElem ( elem ) {
	if( elem[ 0 ] == '#' ) {
		return document.getElementById( elem.split( '#' ).pop() );
	} else {
		return getClass( elem.split( '.' ).pop() )[ 0 ];
	}
}
function scrollTop ( natrue ) {
	var elem = getElem( natrue.name );
	var elem_child = children( elem )[ 0 ];
	var length = children( elem_child ).length ,
		height = elem_child.offsetHeight ,
		html = elem_child.innerHTML;
	elem_child.innerHTML += elem_child.innerHTML;
	
	function getHeight () {
		var timers = setInterval( function () {
			height = elem_child.offsetHeight / 2;
			if( height > 100 ) {
				clearInterval( timers );
			}
		} , 50 );
	}
	getHeight();
	function roll () {
		if( ( elem.scrollTop += natrue.ani ) >= height ) {
			elem.scrollTop = 0;
		}
	}
	var timer = setInterval( roll , natrue.spend );
	function stop () {
		function change() {
			getHeight();
			if(window.innerWidth <= natrue.stop) {
				clearInterval(timer);
				elem.scrollTop = 0;
				elem_child.innerHTML = html;
			} else {
				clearInterval(timer);
				elem_child.innerHTML = html + html;
				timer = setInterval(roll, natrue.spend);
			}
		}
		change();
		addEvent( window , 'resize' , change );
	}
	natrue.stop && stop();
	elem.onmouseenter = function () {
		clearInterval( timer );
	}
	elem.onmouseleave = function () {
		clearInterval( timer );
		timer = setInterval( roll , natrue.spend );
	}
}