/* CLASS */


var offibaActivityGallery = {
	
	offibaClass: {
	  create: function() {
	    return function() {
	      this.initialize.apply(this, arguments);
	    }
	  }
	},
	
	init: function(func) {
		this.gallery = document.getElementById('activity_gallery');
		//this.gallery.style.marginTop = '30px';
		
		this.getFlameLeft();
		//this.getMousePos();
		this.scrollImages(func);
	},
	
	getFlameLeft: function() {
		this.flameLeft = 0;
		var el = this.gallery;
		do {
			this.flameLeft += el.offsetLeft || 0;
			//top += el.offsetTop || 0;
			el = el.offsetParent;
		} while (el);
	},
	
	scrollImages: function(func) {
		offibaConf = {
			imgWidth: 120,
			imgHeight: 160,
			pHeight: 180,
			migration: 100,
			galleryWidth: screen.width,
			fastMigration: 50,
			maxMigration: 4,
			minMigration: 1,
			fps: 100,
			acceleration: 0,
			accelerationValue: 2,
			galleryWidth: j$('#activity_gallery').width()
			//dummyPng: "http://park.nike.jp/wp-content/themes/jdi/img/dummy/dummy.png"
		}
		
		offibaFlames = new Array;
		
		// GALLERY
		//offibaActivityGallery.ElementMakePositioned(this.gallery);		
	
		// GALLERY CHAPTER
		var _gallery = document.getElementById('activity_gallery_chapter');
		//offibaActivityGallery.ElementMakePositioned(_gallery);
	
		var offibaP = _gallery.getElementsByTagName('p');
		var L = offibaP.length;
		for (var i = 0; i < L; i++) {
			//offibaActivityGallery.ElementMakePositioned(offibaP[i]);
			offibaFlames[i] = new offibaActivityGallery.imagesClass(offibaP[i], i);
		}
		//this.movStart();
		if (typeof func == "function") func();
	},
	
	ElementMakePositioned: function(node) {
		node.style.position = "relative";
	},
	
	ElementMakeClipping: function(node) {
		//node.style.overflow = "hidden";
	},

	slide: function() {
		for (var i=0, L=offibaFlames.length; i<L; i++) {
			offibaFlames[i].slide(offibaConf);
		}
	},
	
	movStop: function() {
		/*for (var i=0, L=offibaFlames.length; i<L; i++) {
			clearTimeout(offibaFlames[i].mov);
		}*/	
		clearTimeout(this.mov);
	},
	
	movStart: function() {
		/*for (var i=0, L=offibaFlames.length; i<L; i++) {
			offibaFlames[i].slide();
		}*/
		clearTimeout(this.mov);
		var _this = this;
		this.mov = setInterval (function(){_this.slide();}, offibaConf.fps); 
	}
}

//imagesClass
offibaActivityGallery.imagesClass = offibaActivityGallery.offibaClass.create();
offibaActivityGallery.imagesClass.prototype = {

	initialize: function(node, i) {
		
		if(j$("#activity_gallery").attr('title') == 'activity') {
			j$('#content_window_contents #contentsText .text').css({position: "relative", top: 0}).animate(
				{top: 200},
				1000,
				function(){
					j$('#activity_gallery_wrapper').css({display: "block"}).animate({opacity:1},1000);
					j$('#contentsText .subsection').css({height: j$(this).height() + 200});
					j$(window).trigger('resize');
				}
			);
			j$('#activity_gallery_wrapper').css({position: "absolute", top: -200, opacity: 0});
		} else {
			j$('#activity_gallery_wrapper').css({display: "block"});
		}
		
		this.offibaFlame = node;
		//this.offibaFlame.style.visibility = 'hidden';
		//offibaActivityGallery.ElementMakePositioned(this.offibaFlame);
						
		this.offibaId = i;
		this.imageLength = this.offibaFlame.getElementsByTagName('img').length;
		this.offibaFlameWidth = offibaConf.imgWidth * this.imageLength;

		
		var _channel = '<span id="lCh'+i+'" class="lCh">&lt;</span><span id="rCh'+i+'" class="rCh">&gt;</span><span id="line'+i+'"class="line">'
		this.offibaFlame.innerHTML = _channel + this.offibaFlame.innerHTML + '</span>';
			
		this.offibaLine = document.getElementById('line'+i); 
		this.width = this.offibaFlameWidth;
		this.offibaLine.style.width = this.width + "px";
		this.offibaLine.style.left = 20 + "px";
		//this.offibaLine.style.left = -10 + "px";
		
		this.posX = 20;
		this.bent = (i%2==0)? 1 : -1;

		var _lCh = document.getElementById('lCh'+i);
		var _rCh = document.getElementById('rCh'+i);

		var _this = this;
		
		_lCh.onmouseover = function() {
			_this.bent = 1;
			_this.start();
			this.style.backgroundColor = '#303030';
		};
		
		_lCh.onmouseout = function() {
			_this.stop();
			this.style.backgroundColor = '#000000'
		}
		
		_rCh.onmouseover = function() {
			_this.bent = -1;
			_this.start();
			this.style.backgroundColor = '#303030';
		};
		
		_rCh.onmouseout = function() {
			_this.stop();
			this.style.backgroundColor = '#000000'
		}
		
	},
	
	
	// offibaActivityGallery.imagesClass CollorFull
	colorFull: function() {
		for (var i=0, L=this.offibaImage.length, C=255/L; i<L; i++) {
			var img = this.offibaImage[i];
			var imgUrl = img.parentNode.href;
			if(imgUrl) { 
				if( imgUrl.match(/jpg$|jpeg$|gif$|png$/i)) {
					img.parentNode.rel = "lightbox["+this.offibaId+"]";
				} else {
					img.parentNode.rel = "mediabox[531 437]";
				}
			}
				
				
			var bColor = Math.floor(i*C).toString(16);
			img.style.backgroundColor = "#" + bColor + bColor + bColor;

			offibaActivityGallery.ElementMakePositioned(img);

			//var parNode = img.parentNode;
		}
	},



	slide: function() {
		/*if ( this.posX <= -( this.offibaFlameWidth * 2)|| this.posX >= 0) {
			this.posX = -(this.offibaFlameWidth)  -40;
		}
		this.offibaLine.style.left = this.posX + "px" ;*/
		
		//var _left = offibaConf.galleryWidth - this.offibaFlameWidth - 150;
		var _left = offibaConf.galleryWidth - this.width;
		
		if(this.posX >= _left && this.posX <= 10) {
			this.posX = this.posX + (this.bent * 10);
			this.offibaLine.style.left = this.posX + "px";
		} else {
			this.posX = (this.posX>10)? 10 : _left;
		}
	},
	
	start: function() {
		clearInterval(this.mov);
		var _this = this;
		this.mov = setInterval(function(){_this.slide();},50);	
	},
	
	stop: function() {
		clearInterval(this.mov);	
	}
}


/* MAIN */
offibaActivityGallery.init(function(){
	var _height = offibaConf.pHeight * offibaFlames.length;

	j$('#activity_gallery_chapter').css({overflow:'hidden'});
	
	//document.getElementById('ajaxContents').style.display = 'block';
	//j$('#contents_window').css({'background-color':'#000000'});
	
	j$('#closewindow').hide();
	
	j$(window).resize(function(){
		var _width = (j$(window).width()-330 > 1240)? 1240: j$(window).width()-330;
		var _gallery = j$('#activity_gallery');
		//var _width = _gallery.width();
		offibaConf.galleryWidth = _width;
		_gallery.width(_width);
		_gallery.find('.rCh').each(function(){
			j$(this).css({left:_width - 40});
		});
	});
	j$(window).trigger('resize');
	j$(document).one("conWinClose", function(e){
		offibaActivityGallery.movStop();
		j$('#activity_gallery').remove();
		delete offibaActivityGallery;
		offibaConf = {};
		delete offibaFlames;
		//j$('#contents_window').css({'background-color':''});
		//j$('#closewindow').show();
		/*j$('body').one("mouseover", function(e){
			j$(window).trigger('resize');
		});*/
	});
});

j$(function() {	if(typeof j$().lightBox == 'function')j$('#activity_gallery a').lightBox();});

