window.addEvent('domready', function(){	
	clearFormFields({
		clearInputs: true,
		clearTextareas: true,
		passwordFieldText: true,
		addClassFocus: "focus",
		filterClass: "default"
	});
	initTabs();
	initGallerys();
});

function initGallerys(){
	if($$(".carousel")[0])
	{
		
		var _e = new GalSliding($$(".carousel")[0], {
			holder: ".carousel-holder",
			nextItem: ".next",
			prevItem: ".prev",
			pagingCreate: "gallery-nav"
		});
		$$(".carousel .gallery-nav").setStyle('display', "none");
	}
	var gallery  = $$('div.main-gallery');	
	if (gallery.length) {
		new slideshow(gallery[0]);
	}
}

var slideshow = new Class({
	Implements : [Options, Events],
	options:{
		slides:'div.slide',
		nextBtn:false,
		prevBtn:false,
		pagingHolder:'div.switcher',
		pagingTag:'li',
		slidesActiveClass:'active',
		pagingActiveClass:'active',
		autoHeight:false,
		createPaging:false,
		autoPlay:true,
		dynamicLoad:false,
		imgAttr:'alt',
		effect:'fade',//fade, slideX, slideY,
		startSlide:false,
		switchTime:3700,
		animSpeed:Browser.ie ? 0 : 700
	},
	initialize:function(element, options) {
		this.mainHolder = $(element);
		this.setOptions(options);
		this.slides = this.mainHolder.getElements(this.options.slides);		
		if (this.options.nextBtn) this.nextBtn = this.mainHolder.getElement(this.options.nextBtn);
		if (this.options.prevBtn) this.prevBtn = this.mainHolder.getElement(this.options.prevBtn);
		
		this.previous = -1;
		this.loadingFrame = 1;
		this.busy = false;
		this.direction = 1;
		this.timer;
		this.pagingArray = new Array;
		this.loadArray = new Array;
		this.preloader = new Array;
		this.slidesParent = this.slides[0].getParent();
		this.slideW = this.slidesParent.getSize().x;
		this.slideH = this.slidesParent.getSize().y;
		this.autoPlay = this.options.autoPlay;
		
		this.initStartSlide();
		this.initPaging();
		this.setStyles();
		this.bindEvents();
		this.showSlide();
	},
	
	initStartSlide:function(){
		if (this.options.startSlide) this.current = this.options.startSlide
		else {
			var active = -1;
			for(var i = 0; i< this.slides.length-1; i++) {
				if (this.slides[i].hasClass(this.options.slidesActiveClass)) {
					active = i;
					break;						
				}
			}
			if (active != -1) this.current = active;
			else this.current = 0;
		}
	},
	
	initPaging:function(){
		this.pagingHolder = this.mainHolder.getElements(this.options.pagingHolder);
		
		if (this.options.createPaging) {
			this.pagingHolder.each(function(paging,i){
				paging.empty();
				var list = new Element('ul');
				var html = '';
				for (var i = 0; i < this.slides.length; i++) {
					html += '<li><a href="#">' + (i + 1) + '</a></li>';
				}
				list.innerHTML = html;
				list.inject(paging);
			}.bind(this));
		}
		
		this.pagingHolder.each(function(paging){
			this.pagingArray.push(paging.getElements(this.options.pagingTag))
		}.bind(this));
	},
	
	setStyles:function(){
		//loader
		if (this.options.dynamicLoad) {
			this.loader = new Element('div').addClass('loader');
			this.loaderDiv = new Element('div').inject(this.loader);
			this.loader.inject(this.slidesParent);
		}
		
		//slides
		this.slides.each(function(slide,i){
			if (this.options.effect == 'fade') {
				if (i != this.current) slide.setStyles({display:'none'});
				else slide.setStyles({display:'block'});
			} else if (this.options.effect == 'slideX'){
				if (i != this.current) slide.setStyles({display: 'none',left:-this.slideW});
				else slide.setStyles({display:'block',left:0});
			} else if (this.options.effect == 'slideY'){
				if (i != this.current) slide.setStyles({display:'none',top:-this.slideH});
				else slide.setStyles({display:'block',top:0});
			}
		}.bind(this));
		
		if (this.options.autoHeight) {
			this.slidesParent.setStyles({
				height:this.slides[this.current].getSize().y
			});
		}
	},
	
	bindEvents:function(){
		if (this.nextBtn) this.nextBtn.addEvent('click',function(){
			if (!this.busy) this.nextSlide();
			return false;
		}.bind(this));
		
		if (this.prevBtn) this.prevBtn.addEvent('click',function(){
			if (!this.busy) this.prevSlide();
			return false;
		}.bind(this));
		this.pagingArray.each(function(paging){
			paging.each(function(btn,i){
				btn.addEvent('click',function(){
					if (i != this.current && !this.busy) {
						this.previous = this.current;
						this.current = i;
						if (this.previous > i) this.direction = -1
						else this.direction = 1;
						this.showSlide();
					}
					return false;
				}.bind(this));
			}.bind(this));
		}.bind(this));
		
		if (this.options.dynamicLoad) this.loader.addEvent('click',this.abortLoading.bind(this));
	},
	
	nextSlide:function(){
		this.previous = this.current;
		if (this.current < this.slides.length-1) this.current++
		else this.current = 0;
		this.direction = 1;
		this.showSlide();
	},
	
	prevSlide:function(){
		this.previous = this.current;
		if (this.current > 0) this.current--
		else this.current = this.slides.length-1;
		this.direction = -1;
		this.showSlide();
	},
	
	showSlide:function(){
		if (this.previous == this.current) return; 
		var _current = this.current;
		this.busy = true;
		clearTimeout(this.timer);
		if (typeof this.loadArray[_current] != 'undefined' || !this.options.dynamicLoad) {
			//slide already loaded
			this.switchSlide();
		} else {
			//slide not loaded
			this.showLoading();
			var images = this.slides[this.current].getElements(this.options.dynamicLoad);
			if (images.length) {
				var counter = 0;
				images.each(function(img){
					var preloader = new Image;
					this.preloader.push(preloader);
					preloader.onload = function(){
						counter++;
						checkImages.apply(this);
					}.bind(this);
					preloader.onerror = function(){
						//ignore errors
						counter++;
						checkImages.apply(this);
					}.bind(this);
					preloader.src = img.getProperty(this.options.imgAttr);
				}.bind(this));
				
				function checkImages(){
					if (counter == images.length) {
						images.each(function(img){
							img.setProperty('src',img.getProperty(this.options.imgAttr));
						}.bind(this));
						successLoad.apply(this);
					}
				}
			} else successLoad.apply(this);
		}
		
		function successLoad(){
			this.loadArray[_current] = 1;
			this.hideLoading();
			this.switchSlide();
		}
	},
	
	switchSlide:function(){
		var obj = this;
		
		if (this.previous != -1) {
			var nextSlide = this.slides[this.current];
			var prevSlide = this.slides[this.previous];
			nextSlide.setStyles({display:'block'});
				
				
			if (this.options.effect == 'slideX'){
				this.slideW = this.slides[this.current].getSize().x;
				var nextFx = new Fx.Morph(nextSlide,{duration:this.options.animSpeed});
				var prevFx = new Fx.Morph(prevSlide,{duration:this.options.animSpeed,onComplete:callback.bind(this)});
				
				nextSlide.setStyles({left:this.slideW*this.direction})
				nextFx.start({left:0});
				prevFx.start({left:-this.slideW*this.direction});
			} else if (this.options.effect == 'slideY'){
				this.slideH = this.slides[this.current].getSize().y
				var nextFx = new Fx.Morph(nextSlide,{duration:this.options.animSpeed});
				var prevFx = new Fx.Morph(prevSlide,{duration:this.options.animSpeed,onComplete:callback.bind(this)});
				
				nextSlide.setStyles({top:this.slideH*this.direction});
				nextFx.start({top:0});
				prevFx.start({top:-this.slideH*this.direction});
			} else {
				var nextFx = new Fx.Morph(nextSlide,{duration:this.options.animSpeed,onComplete:function(){
					nextSlide.setStyles({opacity:1});
				}});
				var prevFx = new Fx.Morph(prevSlide,{duration:this.options.animSpeed,onComplete:callback.bind(this)});
				nextSlide.setStyles({display:'block',opacity:0});
				nextFx.start({opacity:1});
				prevSlide.setStyles({opacity:1});
				prevFx.start({opacity:0});
			}
			
			if (this.options.autoHeight) {
				this.slideH = this.slides[this.current].getSize().y
				var parentFx = new Fx.Morph(this.slidesParent,{duration:this.options.animSpeed});
				parentFx.start({height:this.slideH});
			}
		} else {
			if (this.autoPlay) this.startAutoPlay();
			this.busy = false;
		}
		
		this.refreshStatus();
		
		function callback(){
			prevSlide.setStyles({display:'none'});
			if (this.autoPlay) this.startAutoPlay();
			this.busy = false;
		}
	},
	
	refreshStatus:function(){
		if (this.pagingArray.length) {
			this.pagingArray.each(function(paging){
				if (this.previous != -1) paging[this.previous].removeClass(this.options.pagingActiveClass);
				paging[this.current].addClass(this.options.pagingActiveClass);
			}.bind(this));
		}
		if (this.previous != -1) this.slides[this.previous].removeClass(this.options.pagingActiveClass);
		this.slides[this.current].addClass(this.options.pagingActiveClass);
	},
	
	showLoading:function(){
		this.loader.setStyles({display:'block'});
		clearInterval(this.loadingTimer);
		this.loadingTimer = setInterval(animateLoading.bind(this), 66);
		
		function animateLoading(){
			this.loaderDiv.setStyles({'top': this.loadingFrame * -40});
			this.loadingFrame = (this.loadingFrame + 1) % 12;
		}
	},
	
	hideLoading:function(){
		this.loader.setStyles({display:'none'});
		clearInterval(this.loadingTimer);
	},
	
	abortLoading:function(){
		this.busy = false;
		this.hideLoading();
		this.current = this.previous;
		for (var i = 0; i < this.preloader.length; i++) {
			this.preloader[i].onload = null;
			this.preloader[i].onerror = null;
		}
		if (this.autoPlay) this.startAutoPlay();
	},
	
	startAutoPlay:function(){
		clearTimeout(this.timer);
		this.timer = setTimeout(this.nextSlide.bind(this),this.options.switchTime);
	}
});

//clear forms
function clearFormFields(o)
{
	if (o.clearInputs == null) o.clearInputs = true;
	if (o.clearTextareas == null) o.clearTextareas = true;
	if (o.passwordFieldText == null) o.passwordFieldText = false;
	if (o.addClassFocus == null) o.addClassFocus = false;
	if (!o.filter) o.filter = "default";
	if(o.clearInputs) {
		var inputs = document.getElementsByTagName("input");
		for (var i = 0; i < inputs.length; i++ ) {
			if((inputs[i].type == "text" || inputs[i].type == "password") && inputs[i].className.indexOf(o.filterClass)) {
				inputs[i].valueHtml = inputs[i].value;
				inputs[i].onfocus = function ()	{
					if(this.valueHtml == this.value) this.value = "";
					if(this.fake) {
						inputsSwap(this, this.previousSibling);
						this.previousSibling.focus();
					}
					if(o.addClassFocus && !this.fake) {
						this.className += " " + o.addClassFocus;
						this.parentNode.className += " parent-" + o.addClassFocus;
					}
				}
				inputs[i].onblur = function () {
					if(this.value == "") {
						this.value = this.valueHtml;
						if(o.passwordFieldText && this.type == "password") inputsSwap(this, this.nextSibling);
					}
					if(o.addClassFocus) {
						this.className = this.className.replace(o.addClassFocus, "");
						this.parentNode.className = this.parentNode.className.replace("parent-"+o.addClassFocus, "");
					}
				}
				if(o.passwordFieldText && inputs[i].type == "password") {
					var fakeInput = document.createElement("input");
					fakeInput.type = "text";
					fakeInput.value = inputs[i].value;
					fakeInput.className = inputs[i].className;
					fakeInput.fake = true;
					inputs[i].parentNode.insertBefore(fakeInput, inputs[i].nextSibling);
					inputsSwap(inputs[i], null);
				}
			}
		}
	}
	if(o.clearTextareas) {
		var textareas = document.getElementsByTagName("textarea");
		for(var i=0; i<textareas.length; i++) {
			if(textareas[i].className.indexOf(o.filterClass)) {
				textareas[i].valueHtml = textareas[i].value;
				textareas[i].onfocus = function() {
					if(this.value == this.valueHtml) this.value = "";
					if(o.addClassFocus) {
						this.className += " " + o.addClassFocus;
						this.parentNode.className += " parent-" + o.addClassFocus;
					}
				}
				textareas[i].onblur = function() {
					if(this.value == "") this.value = this.valueHtml;
					if(o.addClassFocus) {
						this.className = this.className.replace(o.addClassFocus, "");
						this.parentNode.className = this.parentNode.className.replace("parent-"+o.addClassFocus, "");
					}
				}
			}
		}
	}
	function inputsSwap(el, el2) {
		if(el) el.style.display = "none";
		if(el2) el2.style.display = "inline";
	}
}

// Gallery
var GalSliding=new Class({Implements:[Options],options:{holder:".holder",elementsParent:"ul",elements:"li",nextItem:".next",prevItem:".prev",stop:".stop",start:".start",pause:".btn-stop",speed:600,duration:4000,steps:1,current:0,stopOnHover:true,transition:Fx.Transitions.linear,direction:"horizontal",mode:"callback",disableClass:"disable",currentClass:"active",random:false,pagingCreate:"gallery-paging",paging:".gallery-paging li a",autoplay:0,autoplayOpposite:false,onStart:function(_1,_2,_3){},onPlay:function(_4,_5,_6){}},initialize:function(_7,_8){if(_7){this.gallery=_7;this.setOptions(_8);this.holder=this.gallery.getElement(this.options.holder);this.itemsParent=this.holder.getElement(this.options.elementsParent);this.items=this.itemsParent.getElements(this.options.elements);this.next=this.gallery.getElement(this.options.nextItem);var _9=this.next;var _a;this.prev=this.gallery.getElement(this.options.prevItem);this.stop=this.gallery.getElement(this.options.stop);this.start=this.gallery.getElement(this.options.start);this.pause=this.gallery.getElement(this.options.pause);this.current=this.options.current;this.bound={rotate:this.rotate.bind(this)};if(this.options.direction=="horizontal"){this.direction="margin-top";this.size=this.items[0].getHeight()+parseInt(this.items[0].getStyle("margin-bottom"))+parseInt(this.items[0].getStyle("margin-top"));this.visible=Math.round(this.holder.getHeight()/this.size);}else{this.direction="margin-top";this.size=this.items[0].getHeight();this.visible=Math.round(this.holder.getHeight()/this.size);}if(this.next==null){this.next=new Element("a").injectInside(this.gallery);}if(this.prev==null){this.prev=new Element("a").injectInside(this.gallery);}this.next.cl=this.next.className;this.prev.cl=this.prev.className;if(this.visible<this.items.length){if(this.options.random){Array.prototype.shuffle=function(b){var i=this.length,j,t;while(i){j=Math.floor((i--)*Math.random());t=b&&typeof this[i].shuffle!=="undefined"?this[i].shuffle():this[i];this[i]=this[j];this[j]=t;}return this;};this.items.shuffle(this.items);this.hidden=new Element("div");this.items.each(function(el,i){this.wrap=new Element("div").adopt(el);this.hidden.set("html",this.hidden.get("html"),this.wrap.get("html"));}.bind(this));this.itemsParent.set("html",this.hidden.get("html"));this.items=this.itemsParent.getElements(this.options.elements);}this.options.steps=this.options.steps>this.visible?this.visible:this.options.steps;this.options.duration=this.options.duration<1000?1000:this.options.duration;this.options.speed=this.options.speed>6000?6000:this.options.speed;if(this.options.paging&&!this.options.pagingCreate){this.paging=this.gallery.getElements(this.options.paging);for(var i=0;i<this.paging.length;i++){if(this.paging[i].hasClass(this.options.currentClass)){this.current=i;}}}if(this.options.mode!="circle"){if(this.visible+this.current>=this.items.length){this.margin=(this.items.length-this.visible)*this.size;this.current=this.items.length-this.visible;}else{this.margin=this.current*this.size;}if(this.options.paging){for(var i=0;i<this.items.length;i++){if(this.items[i].hasClass(this.options.currentClass)){this.current=i;}}if(this.options.pagingCreate){if(this.gallery.getElements("."+this.options.pagingCreate).length){this.paging=this.gallery.getElements("."+this.options.pagingCreate)[0];this.paging.innerHTML="";}else{this.paging=new Element("ul").injectInside(this.gallery).addClass(this.options.pagingCreate);}}else{this.paging=new Element("ul").injectInside(this.gallery).addClass("paging");}for(var i=0;i<this.items.length;i++){this.paging.innerHTML+="<li><a href=\"#\">"+parseInt(i+1)+"</a></li>";}this.paging=this.paging.getElements("a");this.paging[this.current].addClass(this.options.currentClass);this.paging.each(function(el,i){el.addEvent("click",function(){if(i*this.options.steps+this.visible>=this.items.length){this.margin=(this.items.length-this.visible)*this.size;this.current=this.items.length-this.visible;}else{this.current=i*this.options.steps;}this.margin=this.current*this.size;this.play(this.options.speed);return false;}.bind(this));}.bind(this));}this.play(0);}else{if(this.options.paging){for(var i=0;i<this.items.length;i++){if(this.items[i].hasClass(this.options.currentClass)){this.current=i;}}if(this.options.pagingCreate){if(this.gallery.getElements("."+this.options.pagingCreate).length){this.paging=this.gallery.getElements("."+this.options.pagingCreate)[0];this.paging.innerHTML="";}else{this.paging=new Element("ul").injectInside(this.gallery).addClass(this.options.pagingCreate);}}else{this.paging=new Element("ul").injectInside(this.gallery).addClass("paging");}for(var i=0;i<this.items.length;i++){this.paging.innerHTML+="<li><a href=\"#\">"+parseInt(i+1)+"</a></li>";}this.paging=this.paging.getElements("a");_a=this.paging;this.paging[this.current].addClass(this.options.currentClass);this.paging.each(function(el,i){el.addEvent("click",function(){if(this.current<i){for(var _b=this.current;_b<i;_b++){_9.fireEvent("click");}_a.removeClass("active");el.addClass("active");}else{if(this.current>i){for(var _b=this.current;_b<i+this.items.length;_b++){_9.fireEvent("click");}_a.removeClass("active");el.addClass("active");}}return false;}.bind(this));}.bind(this));}for(;this.items.length<this.options.steps+this.visible;){this.items.clone().inject(this.itemsParent,"bottom");this.items=this.itemsParent.getElements(this.options.elements);}if(this.current>this.items.length-1){this.current=this.items.length-1;}for(var i=0;i<this.current;i++){this.items[i].inject(this.itemsParent,"bottom");}this.options.paging=false;}this.next.addEvent("click",function(){if(this.options.mode!="circle"){if(this.visible+this.current>=this.items.length){if(this.options.mode=="callback"){this.margin=0;this.current=0;}}else{if(this.visible+this.current+this.options.steps>=this.items.length){this.margin=(this.items.length-this.visible)*this.size;this.current=this.items.length-this.visible;}else{this.current=this.current+this.options.steps;this.margin=this.current*this.size;}}this.play(this.options.speed);}else{var _c=this;this.margin=this.size*this.options.steps;this.itemsParent.set("tween",{duration:this.options.speed,transition:this.options.transition,property:this.direction,onComplete:function(){for(var i=0;i<_c.options.steps;i++){if(_c.current>=_c.items.length){_c.current=0;}_c.current++;_c.items[_c.current-1].inject(_c.itemsParent,"bottom");}this.set(0);_c.options.onPlay(_c.current,_c.visible,_c.items.length);},onCancel:function(){this.onComplete();}});this.itemsParent.tween(-this.margin);_a.removeClass("active");if(this.current+1<_a.length){_a[this.current+1].addClass("active");}else{_a[this.current-_a.length+1].addClass("active");}var lis=_c.items;var cur=_c.current;if(cur==lis.length)cur=0;var cur_pos=3;if(cur+cur_pos<lis.length)cur+=cur_pos;else cur=cur+cur_pos-lis.length;var left=cur-1;var right=cur+1;if(left<0)left=lis.length-1;if(right>lis.length-1)right=0;var img=$$(lis[cur].getElements('img'))[0];var ifx=new Fx.Morph(img,{link:'chain'});ifx.start({width:"123px","margin-top":0});var rimg=$$(lis[right].getElements('img'))[0];var limg=$$(lis[left].getElements('img'))[0];var lfx=new Fx.Morph(limg,{link:'chain'});lfx.start({width:"101px","margin-top":"20px"});var rfx=new Fx.Morph(rimg,{link:'chain'});rfx.start({width:"101px","margin-top":"20px"});var imgs=$$(lis.getElements('img'));imgs.each(function(i){if(i!=img&&i!=limg&&i!=rimg){var _fx=new Fx.Morph(i,{link:'chain'});_fx.start({width:"77px","margin-top":"30px"});}});}return false;}.bind(this));this.prev.addEvent("click",function(){if(this.options.mode!="circle"){if(this.current<=0){if(this.options.mode=="callback"){this.margin=(this.items.length-this.visible)*this.size;this.current=this.items.length-this.visible;}}else{if(this.current-this.options.steps<=0){this.margin=0;this.current=0;}else{this.current=this.current-this.options.steps;this.margin=this.current*this.size;}}this.play(this.options.speed);}else{for(var i=0;i<this.options.steps;i++){if(this.current-1<0){this.current=this.items.length;}--this.current;this.items[this.current].inject(this.itemsParent,"top");}this.itemsParent.setStyle(this.direction,-this.size*this.options.steps+"px");this.margin=0;this.play(this.options.speed);_a.removeClass("active");if(this.current<_a.length){_a[this.current].addClass("active");}else{_a[this.current-_a.length+1].addClass("active");}var _c=this;var lis=_c.items;var cur=_c.current-1;if(cur==lis.length)cur=0;var cur_pos=3;if(cur+cur_pos<lis.length)cur+=cur_pos;else cur=cur+cur_pos-lis.length;var left=cur-1;var right=cur+1;if(left<0)left=lis.length-1;if(right>lis.length-1)right=0;var img=$$(lis[cur].getElements('img'))[0];var ifx=new Fx.Morph(img,{link:'chain'});ifx.start({width:"123px","margin-top":0});var rimg=$$(lis[right].getElements('img'))[0];var limg=$$(lis[left].getElements('img'))[0];var lfx=new Fx.Morph(limg,{link:'chain'});lfx.start({width:"101px","margin-top":"20px"});var rfx=new Fx.Morph(rimg,{link:'chain'});rfx.start({width:"101px","margin-top":"20px"});var imgs=$$(lis.getElements('img'));imgs.each(function(i){if(i!=img&&i!=limg&&i!=rimg){var _fx=new Fx.Morph(i,{link:'chain'});_fx.start({width:"77px","margin-top":"30px"});}});}return false;}.bind(this));if(this.options.autoplay||this.start||this.stop){if(!this.options.autoplay){this.gallery.addClass("stopped");}this.timer=this.bound.rotate.delay(this.options.duration);this.gallery.addEvent("stopgal",function(){this.options.autoplay=false;$clear(this.timer);}.bind(this));this.gallery.addEvent("startgal",function(){$clear(this.timer);this.options.autoplay=true;this.timer=this.bound.rotate.delay(this.options.duration);}.bind(this));this.gallery.addEvent("mouseenter",function(){if(this.options.stopOnHover){this.options.autoplay=false;$clear(this.timer);}}.bind(this));this.gallery.addEvent("mouseleave",function(){if(!this.gallery.hasClass("stopped")&&this.options.stopOnHover){$clear(this.timer);this.options.autoplay=true;this.timer=this.bound.rotate.delay(this.options.duration);}}.bind(this));}if(this.stop){this.stop.addEvent("click",function(){this.gallery.addClass("stopped").fireEvent("stopgal");return false;}.bind(this));}if(this.start){this.start.addEvent("click",function(){this.gallery.removeClass("stopped").fireEvent("startgal");return false;}.bind(this));}if(this.pause){this.pause.addEvent("click",function(){if(this.gallery.hasClass("stopped")){this.gallery.removeClass("stopped").fireEvent("startgal");}else{this.gallery.addClass("stopped").fireEvent("stopgal");}return false;}.bind(this));}}else{this.next.addClass(this.next.cl+"-"+this.options.disableClass);this.prev.addClass(this.prev.cl+"-"+this.options.disableClass);this.next.addEvent("click",function(){return false;}.bind(this));this.prev.addEvent("click",function(){return false;}.bind(this));if(this.stop){this.stop.addEvent("click",function(){return false;}.bind(this));}if(this.start){this.start.addEvent("click",function(){return false;}.bind(this));}this.gallery.addClass("stopped");}this.options.onStart(this.current,this.visible,this.items.length);}},play:function(_d){this.sidesChecking();this.itemsParent.set("tween",{duration:_d,transition:this.options.transition});this.itemsParent.tween(this.direction,-this.margin);if(this.options.paging){this.paging.removeClass("active");this.paging[Math.ceil(this.current/this.options.steps)].addClass("active");}this.options.onPlay(this.current,this.visible,this.items.length);},rotate:function(){if(this.options.autoplay){if(!this.options.autoplayOpposite){this.next.fireEvent("click");}else{this.prev.fireEvent("click");}this.timer=this.bound.rotate.delay(this.options.duration);}},sidesChecking:function(){if(this.options.mode=="line"){this.next.removeClass(this.next.cl+"-"+this.options.disableClass);this.prev.removeClass(this.prev.cl+"-"+this.options.disableClass);if(this.visible+this.current>=this.items.length){this.next.addClass(this.next.cl+"-"+this.options.disableClass);}else{if(this.current==0){this.prev.addClass(this.prev.cl+"-"+this.options.disableClass);}}}}});

// Tabs
function initTabs()
{
	var sets = document.getElementsByTagName("ul");
	for (var i = 0; i < sets.length; i++)
	{
		if (sets[i].className.indexOf("tabset") != -1)
		{
			var tabs = [];
			var links = sets[i].getElementsByTagName("a");
			for (var j = 0; j < links.length; j++)
			{
				if (links[j].className.indexOf("tab") != -1)
				{
					tabs.push(links[j]);
					links[j].tabs = tabs;
					var c = document.getElementById(links[j].href.substr(links[j].href.indexOf("#") + 1));

					//reset all tabs on start
					if (c) if (links[j].className.indexOf("active") != -1) c.style.display = "block";
					else c.style.display = "none";

					links[j].onclick = function ()
					{
						var c = document.getElementById(this.href.substr(this.href.indexOf("#") + 1));
						if (c)
						{
							//reset all tabs before change
							for (var i = 0; i < this.tabs.length; i++)
							{
								document.getElementById(this.tabs[i].href.substr(this.tabs[i].href.indexOf("#") + 1)).style.display = "none";
								this.tabs[i].className = this.tabs[i].className.replace("active", "");
							}
							this.className += " active";
							c.style.display = "block";
							return false;
						}
					}
				}
			}
		}
	}
}
