// JavaScript Document
var $change=function (opt){
	var my=this,o=opt||{};
	o.def=o.def||0;my.o=o;
	my.version='0.1';
	my.author='zidou';
	my.copyright='zidou.net@2009';
	my.$id=function(id){
			var e=document.getElementById(id);
			return e?e:false;
	};
	my.child=function(p){ // 兼容火狐，取子元素
		if(!p) return false;
		var node,nodes = new Array();
		for(var i=0;node= p.childNodes[i];i++){
			if(node.nodeType == 1)
			nodes.push(node);
		}
		return nodes;
	}
	my.auto=function(){
		var callgo = function(){ my.to(my.nowno); };
		if(o.t>0) my.timer=setInterval(callgo,o.t);
	}
	my.to=function(x){
		my.nowno=x||0;
		my.nowno=my.nowno%(my.lists.length>my.zs.length?my.zs.length:my.lists.length);
		if(my.o.nowstyle.constructor != window.Array){
			for(var i=0; i<my.lists.length; i++){
				my.lists[i].className='';
			}
			my.lists[my.nowno].className=my.o.nowstyle;
		}else{
			my.$id(my.o.listid).className='';
			my.$id(my.o.listid).className=my.o.nowstyle[my.nowno];
		}
		var zzs=my.child(my.zs[my.nowno]);
		my.nowno++;
		if(!zzs){
			if(o.mode>1) alert('数据表有误');
			return false;
		}
		if(!my.o.showid||my.o.showid.constructor != window.Array){
			if(o.mode>1) alert('showid输入格式有误');
			return false;
		}
		var leng=zzs.length>my.o.showid.length?my.o.showid.length:zzs.length;
		for(var i=0; i<leng; i++){
			my.$id(my.o.showid[i]).innerHTML=zzs[i].innerHTML;
		}
	}

	var con=function(){
		my.onthis=function(){
			var j=0;
			for( ; j<my.lists.length; j++) if (my.lists[j]==this) break;
			clearInterval(my.timer);
			my.to(j);
			return false;
		}
		for(var i=0; i<my.lists.length; i++){
			if(my.o.event=='mouseover') my.lists[i].onmouseover=my.onthis;
			else my.lists[i].onclick=my.onthis;
		}
	}
	my.lists=my.child(my.$id(my.o.listid));
	my.zs=my.child(my.$id(my.o.dataid));
	if(!my.lists||!my.zs){
		if(!my.lists&&o.mode>1) alert('控制列表有误');
		if(!my.zs&&o.mode>1) alert('数据列表有误');
		return false;
	}
	if(o.mode>1&&my.lists.length>my.zs.length) alert('数据列表数目不够');
	if(o.mode>1&&my.lists.length<my.zs.length) alert('控制列表数目不够');
	con();
	my.to(o.def);
	my.auto();
	if(o.mode>1) if(confirm(
			'运行通畅，当前信息'+
			'\r\n\r\n 运行模式为:'+o.mode+
			'\r\n\r\n 列表id:'+o.listid+
			'\r\n\r\n 列表数目:'+my.lists.length+
			'\r\n\r\n 数据id:'+o.dataid+
			'\r\n\r\n 数据数目:'+my.zs.length+
			'\r\n\r\n 展示id:'+o.showid+
			'\r\n\r\n 默认显示:'+o.def+
			'\r\n\r\n 当前样式class:'+o.nowstyle+
			'\r\n\r\n 事件:'+o.event+
			'\r\n\r\n\r\n\r\n是否查看相关HTML？'
	)) alert('列表HTML:\r\n\r\n'+my.$id(o.listid).innerHTML+'\r\n\r\n数据HTML:\r\n\r\n'+my.$id(o.dataid).innerHTML);
}