/*
jQuery groupTabs Plugin
	* Version 1.0
	* 2011-9-16 14:00
	* Description: jQuery Plugin 群組物件成為tabs，如果無支援js則會展開。
	* Author: sam
	* Copyright: Copyright (c) 2011 infobee
*/

;(function($) {
	$.fn.groupTabs = function(settings) {
		var _defaultSettings = {
			groupNode:"body",
			groupContex:"",//以|隔開各區塊的xpath,ex:#test|#test2|#test3
			contentNode:"",
			callback: function () {				
			}
		};
		var _settings = $.extend(_defaultSettings, settings);
		var _TabsTemplate=[{     // 頁籤的dom
				  tagName : 'ul',   // a basic template
				  className:"iTabs",
				  childNodes : []				  
		}];	
		var _Cttemplate=[{     // 頁籤內容DOM
				  tagName : 'div',   // for our list.
				  className:"tabContentBox",
				  childNodes : []
		}];
		var showContent=function(index){
			$(_settings.groupNode).find("div[id*=content]").hide().eq(index).show();
		}
		
		var _contexArray=_settings.groupContex.split("|");
		var _contexArrayLen=_contexArray.length;
		
		$.each(_contexArray, function(index, value) { 
			var tabcontex=_contexArray[index].split(".");
				tabcontex=tabcontex[1];
			var contentId=tabcontex+"content";
			var _tabsDomTemplate=new Object();		
				_tabsDomTemplate.tagName="li";
			var tabsIMG="";			
				_tabsDomTemplate.innerHTML="<a href=\"javascript:;\" "+tabsIMG+"><span>"+$("."+tabcontex).find(".panelTitle").text()+"</span></a>";
				_tabsDomTemplate.className="tabs tabs"+tabcontex;
				_tabsDomTemplate.onclick=function(){
					    showContent(index);					
				}			
				_TabsTemplate[0].childNodes.push(_tabsDomTemplate);
				//
			var _domtemplate=new Object();
			    _domtemplate.tagName="div";
				_domtemplate.id=$("."+tabcontex).attr("id")+"content";
				_domtemplate.className=$("."+tabcontex).attr("className")+" subTabContent ";
				if(_settings.contentNode===""){
					_domtemplate.innerHTML=$("."+tabcontex).html();
				}else{
					_domtemplate.innerHTML=$("."+tabcontex).find(_settings.contentNode).html();
				}
				
			_Cttemplate[0].childNodes.push(_domtemplate);
			$("."+tabcontex).remove();			
		});
		$(_settings.groupNode).addClass("tabsbox");
		$(_settings.groupNode).appendDom(_TabsTemplate);
		$(_settings.groupNode).appendDom(_Cttemplate);
		showContent(0);
	};
})(jQuery);
