var SlideShow  = {

	params: {
		eventTimer: null,
		link: [],
		list: [],
		intervalTime: 10000,
		fadeTime: 300,
		count: 0,
		elem: "",
		img_elem: "",
		repeat_flg: false
	},

	start: function() {
		if (arguments.length == 0) return false; 
		SlideShow.params.elem = arguments[0];
		SlideShow.params.list = arguments[1];
		SlideShow.params.link = arguments[2];
		SlideShow.params.repeat_flg = (!arguments[3])? false : arguments[3];

		while (SlideShow.params.elem.childNodes.length>0) {
			SlideShow.params.elem.removeChild(SlideShow.params.elem.firstChild);
		}

		for (var i=0; i<SlideShow.params.list.length; i++) {
			var imgElem = document.createElement('img');
			imgElem.setAttribute("src", SlideShow.params.list[i]);
			imgElem.style.position = 'absolute';

			$_extend(imgElem);
			imgElem.setOpacity(0);
			SlideShow.params.elem.appendChild(imgElem);
		}

		SlideShow.params.elem.setAttribute("href", SlideShow.params.link[0]);
		SlideShow.params.elem.childNodes[0].fadeIn(60);

		SlideShow.params.eventTimer = setInterval(SlideShow.slider,SlideShow.params.intervalTime);
	},

	slider: function(){

		if (SlideShow.params.count+1 >= SlideShow.params.list.length){
			if (!SlideShow.params.repeat_flg) {
				SlideShow.params.count = 0;
				clearInterval(SlideShow.params.eventTimer);
				return;
			}
			SlideShow.params.elem.childNodes[SlideShow.params.count].fadeOut(100);
			SlideShow.params.count = 0;
		} else {
			SlideShow.params.elem.childNodes[SlideShow.params.count].fadeOut(100);
			SlideShow.params.count++;
		}

		setTimeout(SlideShow.fadeIn, SlideShow.params.fadeTime);
	},

	fadeIn: function(){
		SlideShow.params.elem.setAttribute("href", SlideShow.params.link[SlideShow.params.count]);
		SlideShow.params.elem.childNodes[SlideShow.params.count].fadeIn(60);
	}

};
