﻿function slide(navwrapper,conts,on,ac,step){
	var crtab = 0,navs = [];
		for(var i=0; i<conts.length; i++){
			var nav = document.createElement("a");
			nav.innerHTML = i+1;
			nav.href = "javascript:void(0)";
			navwrapper.appendChild(nav);
			navs.push(nav);
		}
	_addClass(navs[crtab],ac);
	_addClass(conts[crtab],ac);
	var autoId = step > 0 ? setInterval(autoPlay,step) : 0;
	for(var i=0; i<navs.length; i++){
		navs[i].tabNo = i;
		navs[i][on] = function(){
			if(autoId) clearInterval(autoId);	
			_removeClass(navs[crtab],ac);
			_removeClass(conts[crtab],ac);
			crtab = this.tabNo;
			_addClass(this,ac);
			_addClass(conts[crtab],ac);
			return false;
		}
		navs[i].onmouseout = function(){
			if(autoId) clearInterval(autoId);	
			autoId = step > 0 ? setInterval(autoPlay,step) : 0;
		}
		if(step){
			conts[i].onmouseover = function(){
				if(autoId) clearInterval(autoId);	
			}
			conts[i].onmouseout = function(){
				if(autoId) clearInterval(autoId);
				autoId = setInterval(autoPlay,step);
			}
		}
	}
	function autoPlay(){
		_removeClass(navs[crtab],ac);
		_removeClass(conts[crtab],ac);
		crtab<navs.length-1 ? crtab++ : crtab = 0;
		_addClass(navs[crtab],ac);
		_addClass(conts[crtab],ac);
	}
}

function _removeClass(obj,name){
	var pattern = new RegExp('(^|\\s)'+name+'(\\s|$)');
	if(obj.className) obj.className = obj.className.replace(pattern,'');
}
function _addClass(obj,name){
	var pattern = new RegExp('(^|\\s)'+name+'(\\s|$)');
	if(!pattern.test(obj.className)) obj.className += " " + name;
}

function getMoreId(cls){
    var elem = document.getElementsByTagName("*");
    var elems = [];
	var pattern = new RegExp('(^|\\s)'+cls+'(\\s|$)');
    for(var i=0; i<elem.length; i++){
        if(pattern.test(elem[i].className)){
            elems.push(elem[i]);
        }
    }
    return elems;
}
