var mooSlide=new Class({initialize:function(containerSelector,slideSelector,contentTag, withPager, option, tagOption){var self=this;if(!$type(containerSelector)||!$type(slideSelector)){return;}if(!$type(withPager)){var withPager = true}if (!$type(option)){ var option={};}self.option = option;if (!$type(tagOption)){ var tagOption={};}self.tagOption = tagOption;
this.containerSelector=containerSelector;this.slideSelector=slideSelector;this.contentTag=contentTag;if($type(contentTag)){$$(containerSelector+' > '+slideSelector).each(function(item){if(!$chk(item.getElement(contentTag))){item.destroy();}});}
$$(containerSelector+' > :not('+slideSelector+')').destroy();var container=$$(containerSelector);var slides=$$(containerSelector+' > '+slideSelector);container.store('totalPage',slides.length);container.store('currentPage',1);
if (withPager) {
	var pager = new Element('div', {'class': 'pager'});for (var i = 1; i <= slides.length; i++) {
		var aTag = new Element('a');
		aTag.store('page', i);
		if (i == 1) {
			aTag.addClass('current');
		}
		if (!$type(tagOption.name) || tagOption.name == 'a') {
			aTag.set('text', i);
			aTag.addEvent('click', function(){
				self.changeSlide(this.retrieve('page'));
				return false;
			});
		}else if(tagOption.name=='canvas'){
            (function(aTag, tagOption){
            	roundCornerImage(aTag, tagOption);
                canvasCircle(aTag.getElement('canvas'), tagOption);
            })(aTag, tagOption);
			/*
			aTag.getElement('canvas').addEvents({
				'mouseover': function(){
					var currentOption = $unlink(tagOption);
					currentOption.color = currentOption.hoverColor;
					canvasCircle(this, currentOption);
				},
				'mouseout': function(){
					var currentOption = $unlink(tagOption);
					currentOption.color = this.getParent('a').hasClass('current') ? currentOption.hoverColor : currentOption.color;
					canvasCircle(this, currentOption);
				}
			})
			*/
			aTag.addEvent('click', function(){
				self.changeSlide(this.retrieve('page'));
				return false;
			});
		}
		pager.grab(aTag);
	}
	container.grab(pager);
	self.changeSlide(1);
}
if (!$type(self.option.ms)) {self.option.ms = 5000;}
container.addEvents({'mouseover':function(){this.addClass('mouseover');},'mouseout':function(){this.removeClass('mouseover');}});$$(containerSelector+' > '+slideSelector+':not(:first-child)').addClass('hide');container.store('lastSlide',(new Date()).getTime());setTimeout(function(){self.autoChangeIndexSlide();},self.option.ms);},autoChangeIndexSlide:function(){var self=this;var containerSelector=this.containerSelector;var container=$$(containerSelector);if(container.hasClass('mouseover')[0]||(new Date()).getTime()-container.retrieve('lastSlide')<self.option.ms-100){setTimeout(function(){self.autoChangeIndexSlide();},self.option.ms);return;}
var totalPage=parseInt(container.retrieve('totalPage'));var currentPage=parseInt(container.retrieve('currentPage'));var toPage=currentPage<totalPage?currentPage+1:1;self.changeSlide(toPage);},
changeSlide:function(pageNo){
	var self=this;pageNo=parseInt(pageNo);var containerSelector=this.containerSelector;var slideSelector=this.slideSelector;$$(containerSelector).store('currentPage',pageNo);var nextSlide=$$(containerSelector+' > '+slideSelector+':nth-child('+pageNo+')');$$(containerSelector+' > .pager a').removeClass('current');
	
	var aTagContnet = $$(containerSelector+' > .pager a:nth-child('+pageNo+')');
	
	if(aTagContnet.length > 0 && aTagContnet.hasChild('canvas')){
		(function(tagOption){
			
			$$(containerSelector + ' > .pager a canvas').each(function(item){
				canvasCircle(item, tagOption);
			});
			
			var currentOption = $unlink(tagOption);
			currentOption.color = tagOption.hoverColor;
			//var ctx;
			$$(containerSelector+' > .pager a:nth-child('+pageNo+')').addClass('current');
			var canvas = $$(containerSelector + ' > .pager a:nth-child(' + pageNo + ')').getElement('canvas')[0];
			canvasCircle(canvas, currentOption);
		})(self.tagOption);
	}
	self.showSlide(nextSlide);setTimeout(function(){self.autoChangeIndexSlide();},self.option.ms);
},showSlide:function(item){var containerSelector=this.containerSelector;var slideSelector=this.slideSelector;var container=$$(containerSelector);var slides=$$(containerSelector+' > '+slideSelector);slides.addClass('hide');item.setStyle('opacity',0).removeClass('hide').fade('in');container.store('lastSlide',(new Date()).getTime());}});


