function ge(n){
	return document.getElementById(n);
}
function getElementsByClassName(name, parent){
	for(var o = [], n = new RegExp("\\b" + name.replace(/([(){}|*+?.,^$\[\]\\])/g, "\\\$1") + "\\b"), l = (parent || document).getElementsByTagName("*"), i = l.length; i--;)
		n.test(l[i].className) && (o[o.length] = l[i]);
	return o;
}
function findAncestor(o, tag){
	for(tag = tag.toLowerCase(); o = o.parentNode;)
		if(o.tagName && o.tagName.toLowerCase() == tag)
			return o;
	return null;
}

function findNext(o, tag){
	for(tag = tag.toLowerCase(); o = o.nextSibling;)
		if(o.tagName && o.tagName.toLowerCase() == tag)
			return o;
	return null;
}
function findPrevious(o, tag){
	for(tag = tag.toLowerCase(); o = o.previousSibling;)
		if(o.tagName && o.tagName.toLowerCase() == tag)
			return o;
	return null;
}
function SimpleGallery(image, navList, imgPath, srcs){
	var current = 0, img = ge(image), list = ge(navList);
	new function(){
		/*var previousli = list.appendChild(document.createElement("li"));
		previousli.innerHTML = '<img src="img/previous.gif"/>';
		previousli.onclick = previous;*/
		for(var i = 0, len = srcs.length; i < len; i++ ) {
			createLi(i);
		}
		/*var nextli = list.appendChild(document.createElement("li"));
		nextli.innerHTML = '<img src="img/next.gif"/>';
		nextli.onclick = next;*/
	}
	
	function createLi(i){
		var li = list.appendChild(document.createElement("li"));
		if(i==0) li.className = "current";
		
		li.innerHTML = '<img src="' + imgPath + 'tb_' + srcs[i] + '"/>';
		li.onclick = function(){ setClick(i); }
	}
	function setClick(i) {
		current = i, img.src = imgPath + srcs[i];
		var lis =  list.getElementsByTagName("li"), j =  lis.length;
		while(j--){
			var lic = lis[j].className;
			if(lic != 'next' && lic != 'previous') {
				lis[j].className = "";
			}
		}
		lis[i].className = "current";
	}
	function next(){
		if(current < srcs.length-1)
			current ++;
			setClick(current);
	}
	function previous(){
		if(current > 0 )
			current --;
			setClick(current);
	}
}
var getMouse = function(e){
	var w = window, b = document.body;
	return {
	x: e.clientX + (w.scrollX || b.scrollLeft || b.parentNode.scrollLeft || 0),
	y: e.clientY + (w.scrollY || b.scrollTop || b.parentNode.scrollTop || 0)
	};
};
function scroller(obj){
	var s = ge(obj);
	
	for(var x = s.offsetLeft, y = s.offsetTop, v = s; v = v.offsetParent; x += v.offsetLeft, y += v.offsetTop);
	var w = s.offsetHeight, sw = (s.scrollHeight - w), it, m = 0;

	var scroll = function(){
		s.scrollTop += (((m - y) << 1) - w) / w * 10;
		if(s.scrollTop >= sw){
			clearInterval(it), it = 0;
		}
	}
	addEvent(s, "mousemove", function(e){
			m = getMouse(e).y;
			!it && (it = setInterval(scroll, 10));
		}
	);
	addEvent(s, "mouseout", function(e){
			clearInterval(it), it = 0;
		}
	);
}
