﻿// JavaScript Document
var Adtab = Class.create({
			 initialize:function(adData,tabsholder,update,descbtn){
				this._data=adData;
				this._descbtn = $(descbtn);
				this._tabsHolder=$(tabsholder);
				this._dataPlace=$(update);
				this._intro = this._dataPlace.down("div");
				this._upplace=$(update);
				this._items = new Array();
				this.makeTab();
				this.hideAll(false);
				this.addTabEvent();	
				this._descbtn.observe("click",this.descEvent.bindAsEventListener(this));
			 },
			 descEvent:function(e){
				 this.hideAll(false);
				 this._intro.show();
			 },
			 makeTab:function(){
				for(var i=0; i<this._data.length; i++){
				  var tabobj = this._data[i];
				  var titleTab=new Element("div", {"class" : "adtab",style:""});
				  if(tabobj.url){
				    var a = new Element("a",{"href":tabobj.url , "target":"_blank", "class":"fltrt visitpage"});
					a.update("访问");
				    titleTab.insert(a);
				  }
				  var span = new Element("span",{"class":"title"});
				  span.update(tabobj.name);
				  titleTab.insert(span);
				  var tabCnt = new Element("div" , {"class" : "adtabcnt"});
				  var imgelem=false;
				  if(tabobj.image){
					  var imgelem = new Element("img" , {"src":tabobj.image});
				  };				  
				  this._tabsHolder.insert(titleTab);
				  this._tabsHolder.insert(tabCnt);
				  this._items.push({"tab":titleTab ,
								   "cnt":tabCnt , 
								   "loaded":false , 
								   "pageurl":tabobj.page ,
								   "img":imgelem});
				};
			 },
			 hideAll:function(hideintro){
				 if(hideintro){
				   this._intro.hide();
				 }
				 this._items.each(function(item){
										   item.cnt.hide();
										   if(item.addata) item.addata.hide();
										   item.opened = false;
										   item.tab.removeClassName("on")});
			 },
			 addAjax:function(num){
				 var value=num
				 var target = this._items[value];
				 if(!target.addata){
				   var div = new Element("div",{"class":"addata"});
				   target.addata=div;
				   this._dataPlace.insert(target.addata);
				   new Ajax.Updater(target.addata,target.pageurl,{method:'get',
									                              onComplete:function(){
																	  new Xtable(target.addata);}
																  });
				 }else{target.addata.show()}
			 },
			 addTabEvent:function(){
				 for(var i=0; i < this._items.length; i++){
					 this._items[i].tab.observe("click",this.tabHandle.bindAsEventListener(this,i));
				 };
			 },
			 tabHandle:function(e){
				 var show = $A(arguments)[1];
				 this.hideAll(true); 
				 this.showCnt(show);
				 this.addAjax(show);
			 },
			 showCnt:function(num){
				var item = this._items[num];
				if(item.loaded){
				  item.cnt.show();
				}else{
				  item.loaded = true;
				  item.cnt.show();
				  item.cnt.insert(item.img);
				};
				item.tab.addClassName('on');
			 }
			 });
