﻿/**
 * タブ切り替え用
 * @require jQuery, jQuery.easing
 * @version 1.0 - 20:25 2010/04/20
 */

Kaas.tabs = {
    length: 5,                    // タブの総数
    containerPrefix: 'photoBox',  // コンテナのid名から数字を抜いた文字列
    buttonPrefix: 'button',       // トリガ（img要素）のid名から数字を抜いた文字列
    imgsrc: './img/photobox_btn', // トリガへの数字の手前までのパス
    imgover: '_alpha',            // _alpha, または_rollover
	imgextention: 'gif',          // トリガの拡張子
	
	/**
	 * @param num 
	 * @param arguments[1] String  タブが上下に存在する際の下側のタブのid名から数字を抜いた文字列
	 * @param arguments[2] Boolean スムーススクロールでコンテンツトップへ移動するか
	 */
	changeAct: function (num) {
		for (var i = 0, l = Kaas.tabs.length; i < l; i++) {
			Kaas.tabs.run(document.getElementById(Kaas.tabs.buttonPrefix + i), num, i);
			if (arguments[1]) Kaas.tabs.run(document.getElementById(arguments[1] + i), num, i);
			if (arguments[2] == 'scroll') jQuery('html,body').animate({ scrollTop: 280 }, 500, 'easeOutExpo');
		}
		// set jCarouselLite for modelhouses
		if (Kaas.hasClassName(document.body, 'modelhouse-inner')) {
			$(".imageGallery" + num + " li img").css({width:"120px",height:"90px"});
			$(".imageGallery" + num).jCarouselLite({ btnNext: ".arwB" + num, btnPrev: ".arwA" + num, circular: false });
			$(".imageGallery" + num).css({width:"802px"});
		}
	},
	
	/**
	 * @param target
	 * @param num    Number
	 * @param i      Number
	 */
	run: function(target, num, i) {
		var container = document.getElementById(Kaas.tabs.containerPrefix + i);
		var src = Kaas.tabs.imgsrc, ext = Kaas.tabs.imgextention;
		target.onmouseover = target.onmousedown = target.onmouseout = null;
		if (i != num) {
			container.style.display = 'none';
			target.src = src + i + Kaas.tabs.imgover + '.' + ext;
			Kaas.imageRollover.set(target);
			Kaas.removeClass(target.parentNode, 'current');
		} else {
			container.style.display = 'block';
			target.src = src + i + '_current.' + ext;
			Kaas.addClass(target.parentNode, 'current');
		}
	},
	
	/**
	 * @param arguments[0] String  タブが上下に存在する際の下側のタブのid名から数字を抜いた文字列
	 */
	init: function () {
		var hash = location.hash.substr(1);
		var containerPrefix = Kaas.tabs.containerPrefix;
		var strlen = containerPrefix.length;
		var num = 0;
		if (hash.substr(0, strlen) == containerPrefix) {
			num = hash.substr(strlen);
			jQuery('html,body').animate({ scrollTop: 280 }, 500, 'easeOutExpo');
		}
		if (!arguments[0]) Kaas.tabs.changeAct(num);
		else Kaas.tabs.changeAct(num, arguments[0]);
	}
}

