/*tab*/
var TabSwitch = new Class({	initialize:function(id){	this.tabW = $(id); this.tabs = this.tabW.getElements('li'); this.tabCons = [this.tabW.getNext()]; this.tabs.each(function(tab,index){	this.tabCons[index+1] = this.tabCons[index].getNext(); this.tabCons[index].setStyle('display','none');	  tab.store('n',index);	tab.setStyle('cursor','default'); },this);		this.lastTab = 0; this.lastOne = 0;		this.tabCons[this.lastOne].setStyle('display','block');	this.tabW.addEvent('mouseover',this.switcher.bindWithEvent(this));		},	
	switcher:function(event){ 
		if(event.target.tagName.toLowerCase() == "li"){
			var tab = $(event.target);	
		} else if(event.target.parentNode.tagName.toLowerCase() == 'li'){ 
			var tab = $(event.target.parentNode);	
		} else{ return false }
		var n = tab.retrieve('n'); 
		if(n == this.lastOne){return;} 
		if(this.tabCons[n].getElement('textarea')){
			var c = this.tabCons[n].getElement('textarea').value;
			this.tabCons[n].getChildren().dispose();
			this.tabCons[n].set('html',c);		
		}
		this.tabCons[n].setStyle('display','block'); 
		this.tabCons[this.lastOne].setStyle('display','none');
		this.tabs[n].set('class','current');
		this.tabs[this.lastOne].set('class','');
		this.lastOne = n; 	
	} 
});	  

/* ·­ΖΑΝΌ */
var Slide = new Class({
	Implements: Options,
	options: {
		iInterval: 10,
		iTimeout: 3000,
		sTarget: "_blank",
		sMask: "mask",
		sInfo: "info",
		sCurrent: "current"
	},
	initialize: function(sId, oOptions) {
		var oThis = this;
		oThis.oNode = $(sId);
		oThis.iIndex = 1;
		oThis.setOptions(oOptions);
		oThis.exec(oThis);
	},
	exec: function(oThis) {
		oThis.initItem(oThis);
		oThis.initInfo(oThis);
		oThis.initList(oThis);
		oThis.play(oThis);
	},
	initItem: function(oThis) {
		oThis.oView = oThis.oNode.getFirst();
		oThis.aLinks = oThis.oView.getChildren();
		if(oThis.aLinks.length > 1) {
			oThis.aLinks[0].inject(oThis.oView);
		}
	},
	initInfo: function(oThis) {
		var oMask = new Element("div", {
			"class": oThis.options.sMask
		}).inject(oThis.oNode);
		var oInfo = new Element("div", {
			"class": oThis.options.sInfo
		}).inject(oThis.oNode);
		oThis.title = new Element("h4", {
			"html": '<a href="' + (oThis.aLinks[0].getProperty("href") || "#") + '">' + oThis.aLinks[0].getFirst().getProperty("title") + '</a>'
		}).inject(oInfo);
		oThis.info = new Element("div", {
			"text": oThis.aLinks[0].getFirst().getProperty("alt")
		}).inject(oInfo);
	},
	initList: function(oThis) {
		var oOl = new Element("ol");
		for(var i = 1, len = oThis.aLinks.length; i <= len; i++) {
			var oLi = new Element("li", {
				"text": i
			});
			oLi.addEvent("mouseover", function() {
				oThis.pause(oThis);
				oThis.alt(oThis, $(this));
			});
			oLi.addEvent("mouseout", function() {
				oThis.play(oThis);
			});
			if(i == 1) {
				oLi.addClass("current");
				oThis.oLastLi = oLi;
			}
			oOl.appendChild(oLi);
		}
		oThis.aLis = oOl.childNodes;
		oOl.inject(oThis.oNode);
	},
	alt: function(oThis, oLi) {
		if(oThis.oLastLi) {
			oThis.oLastLi.removeClass(oThis.options.sCurrent);
		}
		oLi.addClass(oThis.options.sCurrent);
		oThis.oLastLi = oLi;
		oThis.iIndex = oLi.get("text");
		oThis.title.set("html", '<a href="' + (oThis.aLinks[oThis.iIndex - 1].getProperty("href") || "#") + '">' + oThis.aLinks[oThis.iIndex - 1].getFirst().getProperty("title") + '</a>');
		oThis.info.set("text", oThis.aLinks[oThis.iIndex - 1].getFirst().getProperty("alt"));
		var oA = oThis.aLinks[oThis.iIndex - 1];
		var iCount = 0;
		oA.setStyles({
			"opacity": 0,
			"filter": "alpha(opacity=0)"
		});
		if(oThis.lastA) {
			oThis.lastA.setStyles({
				"opacity": 1,
				"filter": "alpha(opacity=100)"
			});
		}
		oThis.lastA = oA;
		if(oThis.oLastInterval) {
			clearInterval(oThis.oLastInterval);
		}
		var oInterval = setInterval(function() {
			oA.setStyles({
				"opacity": ++iCount * 0.1,
				"filter": "alpha(opacity=" + iCount * 10 + ")"
			});
			if(iCount >= 10) {
				clearInterval(oInterval);
				oThis.bIsAlt = false;
			}
		}, oThis.options.iInterval);
		oThis.oLastInterval = oInterval;
		oA.inject(oThis.oView);
	},
	play: function(oThis) {
		oThis.timeout = setTimeout(function() {
			var i = (++oThis.iIndex - 1) % oThis.aLis.length;
			oThis.alt(oThis, oThis.aLis[i]);
			oThis.timeout = setTimeout(arguments.callee, oThis.options.iTimeout);
		}, oThis.options.iTimeout);
	},
	pause: function(oThis) {
		if(oThis.timeout) {
			clearTimeout(oThis.timeout);
		}
	}
});

