// SlideAD v1.0
function PreLoadImages(){
	this.arr;
	this.imgs = [];
	
	this.load = function(arr){
		this.arr = arr;
		for (i = 0; i < this.arr.length; i++) {
			this.imgs[i] = new Image();
			this.imgs[i].src = this.arr[i];
		}
	}
}

function SlideAD(styles, arr, duration){
	this.styles = styles;
	this.arr = arr;
	this.duration = duration;
	
	var imgs_b = [];
	var imgs_s = [];
	for(var i = 0; i < this.arr.length; i++){
		imgs_b[i] = this.arr[i].img_b;
		imgs_s[i] = this.arr[i].img_s;
	}
	
	var oDIV_slidead;
	var oDIV_slidead_block;
	var oDIV_salver;
	var oUL;
	var oLI = [];
	var oA = [];
	var oIMG = [];
	var oA_screen;
	var oIMG_screen;
	
	var fade_duration = 1;
	
	var oPLI_b;
	var oPLI_s;
	
	var curr_t;
	var curr_i;
	
	var superthis = this;
	var object;
	
	this.createToObj = function(obj){
		/*try{
			document.execCommand('BackgroundImageCache', false, true);
		}catch(e){}*/
		
		object = obj;
		oPLI_b = new PreLoadImages();
		oPLI_b.load(imgs_b);
		oPLI_s = new PreLoadImages();
		oPLI_s.load(imgs_s);
				
		oDIV_slidead = document.createElement('div');
		oDIV_slidead.className = this.styles.slidead;
		
		oDIV_slidead_block = document.createElement('div');
		oDIV_slidead_block.className = this.styles.slidead_block;
		
		oDIV_salver = document.createElement('div');
		oDIV_salver.className = this.styles.slidead_salver;
		
		oUL = document.createElement('ul');
		oUL.className = this.styles.ul_slider;
		
		oIMG_screen = document.createElement('img');
		oIMG_screen.className = this.styles.img_screen;
		
		oA_screen = document.createElement('a');
		oA_screen.className = this.styles.a_screen;
		oA_screen.href = "javascript:void(0)";

		var interval;
		
		var interval2;
		
		var curr_t = 1;
		var curr_i = 0;
		
		var len = this.arr.length;
		
		function activeCurrent(o){
			for(var k = 1; k < 4; k++){
				oA[k].className = superthis.styles.a_thumbnails_normal;
			}
			o.className = superthis.styles.a_thumbnails_active;
		}
		
		function setAlpha(o, i){
			o.style.opacity = i / 100;
			o.style.filter = 'alpha(opacity=' + i + ')';
		}
		
		function fadeIn(o){
			activeCurrent(oA[curr_t]);
			var i = o.alpha + 5;
			if(i <= 100){
				setAlpha(o, i);
				o.alpha = i;
			}else{
				o.removeAttribute("style");
				o.parentNode.style.background = "url(" + o.src + ") no-repeat left top";
				clearInterval(interval2);
			}
		}
		
		function move(d){
			
			if(curr_t < 3){
				curr_t++;
			}else{
				curr_t = 1;
			}
			if(curr_i < len - 1){
				curr_i++;
			}else{
				curr_i = 0;
			}
			
			oIMG_screen.src = oPLI_b.imgs[curr_i].src;
			oIMG_screen.alpha = 0;
			setAlpha(oIMG_screen, 0);
			clearInterval(interval2);
			interval2 = window.setInterval(bindInterval(fadeIn,oIMG_screen), fade_duration);
			oA_screen.href = superthis.arr[curr_i].href;
			oA_screen.target = superthis.arr[curr_i].target;

			
			
			
	　	}
		
		
		for(var i = 0; i < 5; i++){
			oLI[i] = document.createElement('li');
			oA[i] = document.createElement('a');
			oA[i].href = "javascript:void(0)";
			oA[i].onfocus = function(){
				this.blur();
			}
			switch(i){
				case 0:
					oA[i].className = this.styles.a_arrow_left;
					oLI[i].className = this.styles.li_arrow;
					oLI[i].appendChild(oA[i]);
					break;
					
				case 4:
					oA[i].className = this.styles.a_arrow_right;
					oLI[i].className = this.styles.li_arrow;
					oLI[i].appendChild(oA[i]);
					break;
					
				default :
					oLI[i].className = this.styles.li_thumbnails;
					if(this.arr[i - 1] != undefined){
						if(i == 1){
							oA[i].className = this.styles.a_thumbnails_active;
						}else{
							oA[i].className = this.styles.a_thumbnails_normal;
						}
						oA[i].sid = i;
						oIMG[i] = document.createElement('img');
						oIMG[i].className = this.styles.img_thumbnails;
						oIMG[i].sid = i;
						oIMG[i].src = oPLI_s.imgs[i - 1].src;
						oIMG[i].onmouseover = function(){
							oIMG_screen.src = oPLI_b.imgs[this.parentNode.sid - 1].src;
							oIMG_screen.alpha = 0;
							setAlpha(oIMG_screen, 0);
							curr_t = this.parentNode.sid;
							curr_i = this.parentNode.sid - 1;
							clearInterval(interval);
							clearInterval(interval2);
							if(this.parentNode.className != superthis.styles.a_thumbnails_active){
								interval2 = window.setInterval(bindInterval(fadeIn,oIMG_screen), fade_duration);
							}else{
								setAlpha(oIMG_screen, 100);
							}
							oA_screen.href = superthis.arr[this.parentNode.sid - 1].href;
							oA_screen.target = superthis.arr[this.parentNode.sid - 1].target;
						}
						oIMG[i].onmouseout = function(){
							clearInterval(interval);
							interval = window.setInterval(bindInterval(move,"LEFT"), duration);
						}
						
						oA[i].appendChild(oIMG[i]);
						oLI[i].appendChild(oA[i]);
						
					}
					break;
			}
			oUL.appendChild(oLI[i]);
		}
		
		if(oPLI_b.imgs[0] != undefined){
			oIMG_screen.src = oPLI_b.imgs[0].src;
			oA_screen.href = this.arr[0].href;
			oA_screen.target = this.arr[0].target;
			oUL.style.display = '';
		}
		oIMG_screen.alpha = 0;
		setAlpha(oIMG_screen, 0);
		clearInterval(interval2);
		interval2 = window.setInterval(bindInterval(fadeIn,oIMG_screen), fade_duration);
		oA_screen.appendChild(oIMG_screen);
		oA_screen.onfocus = function(){
			this.blur();
		}
		oA_screen.onmouseover = function(){
			clearInterval(interval);
		}
		oA_screen.onmouseout = function(){
			clearInterval(interval);
			interval = window.setInterval(bindInterval(move,"LEFT"), duration);
		}
		
		oDIV_slidead_block.appendChild(oUL);
		oDIV_slidead_block.appendChild(oDIV_salver);
		oDIV_slidead_block.appendChild(oA_screen);
		oDIV_slidead.appendChild(oDIV_slidead_block);
		obj.appendChild(oDIV_slidead);
		
		clearInterval(interval);
		interval = window.setInterval(bindInterval(move,"LEFT"), duration);
		
	}
}

