/**
 * imagebox.js
 * @version	2.1 - 2009/10/07
 */


var imageBox = {

	init: function(parentBox, image, thumbnail, text, data){

		if(document.getElementById(parentBox)) {
			this.set(document.getElementById(parentBox), image, thumbnail, text, data);
		} else {
			var _div = document.getElementsByTagName('div');
			
			for(var i = 0, l = _div.length; i < l; i++) {
				if(this.hasClassName(_div[i], parentBox)) this.set(_div[i], image, thumbnail, text, data);	
			};
		};
	},

	
	set: function(_div, image, thumbnail, text, data){
	
		var _img = _div.getElementsByTagName('img');
				
		for(var i = 0, l = _img.length; i < l; i++) {
			if(this.hasClassName(_img[i], image)){
				var _src = _img[i];
				var _xxx = _src.src;
			};
		};
		
		var _tags = _div.getElementsByTagName('*');

		for(var j = 0, l = _tags.length; j < l; j++) {
			
			if(this.hasClassName(_tags[j], text)){
				var _text = _tags[j]
			};
			
			if(this.hasClassName(_tags[j], thumbnail)){
				var _a = _tags[j].getElementsByTagName('a');
				
				for(var k = 0, l = _a.length; k < l; k++) {
					this.mouseEvent(_a, k, _src, _xxx, _text, data);
				};
			};
		};
	},

	
	mouseEvent: function(_a, k, _src, _xxx, _text, data){

		_a[k].onclick = function (){
			return false;
		};
		
		_a[k].onmouseover = function(){
			_src.src = this.href;
			if(data) _text.innerHTML = data[k].text;
			return false;
		};
		
		_a[k].onmouseout = function(){
				_src.src = _xxx;
		};
	},
	
	
	hasClassName: function(target, value) {
		var c = target.className.split(' ');
		var i = c.length;
		while(i--) {
			if (c[i] == value) {
				return true;
				break;
			}
		}
	}

};



/*
::: imageBox.dataを使う場合、parentBoxにid指定
::: imageBox.dataを使わない場合、textBoxとimageBox.data引数は無し
imageBox.init('parentBox (id or class)', 'mainImage (class)', 'thumbnailBox (class)', 'textBox（class）', imageBox.data);

::: テキストがある場合、以下で設定
imageBox.data = [
	{
		text: '説明文1'
	},{
		text: '説明文2'
	},{
		text: '説明文3'
	}
];
*/


window.onload = function() {
	imageBox.init('fL', 'placeholder', 'imagegallery');
};

