	/************************************************************************************************************	(C) www.dhtmlgoodies.com, October 2005		This is a script from www.dhtmlgoodies.com. You will find this and a lot of other scripts at our website.			Terms of use:	You are free to use this script as long as the copyright message is kept intact. However, you may not	redistribute, sell or repost it without our permission.		Updated:				March, 14th, 2006 - Create new tabs dynamically		March, 15th, 2006 - Dynamically delete a tab			Thank you!		www.dhtmlgoodies.com	Alf Magne Kalleland		************************************************************************************************************/			var textPadding = 5; 	var strictDocType = true; 	var tabView_maxNumberOfTabs = 6;			/* 以下の変数は変更不可 */	var dhtmlgoodies_tabObj = new Array();	var activeTabIndex = new Array();	var MSIE = navigator.userAgent.indexOf('MSIE')>=0?true:false;		var regExp = new RegExp(".*MSIE ([0-9]\.[0-9]).*","g");	var navigatorVersion = navigator.userAgent.replace(regExp,'$1');		var ajaxObjects = new Array();	var tabView_countTabs = new Array();	var tabViewHeight = new Array();	var tabDivCounter = 0;	var closeImageHeight = 8;	// 閉じるボタンの高さ　ピクセル	var closeImageWidth = 8;	// 閉じるボタンの幅　ピクセル			function setPadding(obj,padding){		var span = obj.getElementsByTagName('SPAN')[0];		span.style.paddingLeft = padding + 'px';			span.style.paddingRight = padding + 'px';		}	function showTab(parentId,tabIndex)	{		var parentId_div = parentId + "_";		if(!document.getElementById('tabView' + parentId_div + tabIndex)){			return;		}		if(activeTabIndex[parentId]>=0){			if(activeTabIndex[parentId]==tabIndex){				return;			}				var obj = document.getElementById('tabTab'+parentId_div + activeTabIndex[parentId]);						obj.className='tabInactive';			var img = obj.getElementsByTagName('IMG')[0];			if(img.src.indexOf('tab_')==-1)img = obj.getElementsByTagName('IMG')[1];			img.src = 'images/tab_right_inactive.gif';			document.getElementById('tabView' + parentId_div + activeTabIndex[parentId]).style.display='none';		}				var thisObj = document.getElementById('tabTab'+ parentId_div +tabIndex);						thisObj.className='tabActive';		var img = thisObj.getElementsByTagName('IMG')[0];		if(img.src.indexOf('tab_')==-1)img = thisObj.getElementsByTagName('IMG')[1];		img.src = 'images/tab_right_active.gif';				document.getElementById('tabView' + parentId_div + tabIndex).style.display='block';		activeTabIndex[parentId] = tabIndex;				var parentObj = thisObj.parentNode;		var aTab = parentObj.getElementsByTagName('DIV')[0];		countObjects = 0;		var startPos = 2;		var previousObjectActive = false;		while(aTab){			if(aTab.tagName=='DIV'){				if(previousObjectActive){					previousObjectActive = false;					startPos-=2;				}				if(aTab==thisObj){					startPos-=2;					previousObjectActive=true;					setPadding(aTab,textPadding+1);				}else{					setPadding(aTab,textPadding);				}								aTab.style.left = startPos + 'px';				countObjects++;				startPos+=2;			}						aTab = aTab.nextSibling;		}				return;	}		function tabClick()	{		var idArray = this.id.split('_');				showTab(this.parentNode.parentNode.id,idArray[idArray.length-1].replace(/[^0-9]/gi,''));			}		function rolloverTab()	{		if(this.className.indexOf('tabInactive')>=0){			this.className='inactiveTabOver';			var img = this.getElementsByTagName('IMG')[0];			if(img.src.indexOf('tab_')<=0)img = this.getElementsByTagName('IMG')[1];			img.src = 'images/tab_right_over.gif';		}			}	function rolloutTab()	{		if(this.className ==  'inactiveTabOver'){			this.className='tabInactive';			var img = this.getElementsByTagName('IMG')[0];			if(img.src.indexOf('tab_')<=0)img = this.getElementsByTagName('IMG')[1];			img.src = 'images/tab_right_inactive.gif';		}			}		function hoverTabViewCloseButton()	{		this.src = this.src.replace('close.gif','close_over.gif');	}		function stopHoverTabViewCloseButton()	{		this.src = this.src.replace('close_over.gif','close.gif');	}		function initTabs(mainContainerID,tabTitles,activeTab,width,height,closeButtonArray,additionalTab)	{		if(!closeButtonArray)closeButtonArray = new Array();				if(!additionalTab || additionalTab=='undefined'){						dhtmlgoodies_tabObj[mainContainerID] = document.getElementById(mainContainerID);			width = width + '';			if(width.indexOf('%')<0)width= width + 'px';			dhtmlgoodies_tabObj[mainContainerID].style.width = width;									height = height + '';			if(height.length>0){				if(height.indexOf('%')<0)height= height + 'px';				dhtmlgoodies_tabObj[mainContainerID].style.height = height;			}						tabViewHeight[mainContainerID] = height;						var tabDiv = document.createElement('DIV');					var firstDiv = dhtmlgoodies_tabObj[mainContainerID].getElementsByTagName('DIV')[0];							dhtmlgoodies_tabObj[mainContainerID].insertBefore(tabDiv,firstDiv);				tabDiv.className = 'dhtmlgoodies_tabPane';						tabView_countTabs[mainContainerID] = 0;		}else{			var tabDiv = dhtmlgoodies_tabObj[mainContainerID].getElementsByTagName('DIV')[0];			var firstDiv = dhtmlgoodies_tabObj[mainContainerID].getElementsByTagName('DIV')[1];			height = tabViewHeight[mainContainerID];			activeTab = tabView_countTabs[mainContainerID];								}								for(var no=0;no<tabTitles.length;no++){			var aTab = document.createElement('DIV');			aTab.id = 'tabTab' + mainContainerID + "_" +  (no + tabView_countTabs[mainContainerID]);			aTab.onmouseover = rolloverTab;			aTab.onmouseout = rolloutTab;			aTab.onclick = tabClick;			aTab.className='tabInactive';			tabDiv.appendChild(aTab);			var span = document.createElement('SPAN');			span.innerHTML = tabTitles[no];			span.style.position = 'relative';			aTab.appendChild(span);						if(closeButtonArray[no]){				var closeButton = document.createElement('IMG');				closeButton.src = 'images/close.gif';				closeButton.height = closeImageHeight + 'px';				closeButton.width = closeImageHeight + 'px';				closeButton.setAttribute('height',closeImageHeight);				closeButton.setAttribute('width',closeImageHeight);				closeButton.style.position='absolute';				closeButton.style.top = '6px';				closeButton.style.right = '0px';				closeButton.onmouseover = hoverTabViewCloseButton;				closeButton.onmouseout = stopHoverTabViewCloseButton;								span.innerHTML = span.innerHTML + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';									var deleteTxt = span.innerHTML+'';				closeButton.onclick = function(){ deleteTab(this.parentNode.innerHTML) };				span.appendChild(closeButton);			}						var img = document.createElement('IMG');			img.valign = 'bottom';			img.src = 'images/tab_right_inactive.gif';			// IE5.X FIX			if((navigatorVersion && navigatorVersion<6) || (MSIE && !strictDocType)){				img.style.styleFloat = 'none';				img.style.position = 'relative';					img.style.top = '4px'				span.style.paddingTop = '4px';				aTab.style.cursor = 'hand';			}	// End IE5.x FIX			aTab.appendChild(img);		}		var tabs = dhtmlgoodies_tabObj[mainContainerID].getElementsByTagName('DIV');		var divCounter = 0;		for(var no=0;no<tabs.length;no++){			if(tabs[no].className=='dhtmlgoodies_aTab' && tabs[no].parentNode.id == mainContainerID){				if(height.length>0)tabs[no].style.height = height;				tabs[no].style.display='none';				tabs[no].id = 'tabView' + mainContainerID + "_" + divCounter;				divCounter++;			}					}			tabView_countTabs[mainContainerID] = tabView_countTabs[mainContainerID] + tabTitles.length;			showTab(mainContainerID,activeTab);		return activeTab;	}			function showAjaxTabContent(ajaxIndex,parentId,tabId)	{		var obj = document.getElementById('tabView'+parentId + '_' + tabId);		obj.innerHTML = ajaxObjects[ajaxIndex].response;			}		function resetTabIds(parentId)	{		var tabTitleCounter = 0;		var tabContentCounter = 0;						var divs = dhtmlgoodies_tabObj[parentId].getElementsByTagName('DIV');				for(var no=0;no<divs.length;no++){			if(divs[no].className=='dhtmlgoodies_aTab'){				divs[no].id = 'tabView' + parentId + '_' + tabTitleCounter;				tabTitleCounter++;			}			if(divs[no].id.indexOf('tabTab')>=0){				divs[no].id = 'tabTab' + parentId + '_' + tabContentCounter;					tabContentCounter++;			}										}			tabView_countTabs[parentId] = tabContentCounter;	}			function createNewTab(parentId,tabTitle,tabContent,tabContentUrl,closeButton)	{		if(tabView_countTabs[parentId]>=tabView_maxNumberOfTabs)return;	// Maximum number of tabs reached - return		var div = document.createElement('DIV');		div.className = 'dhtmlgoodies_aTab';		dhtmlgoodies_tabObj[parentId].appendChild(div);				var tabId = initTabs(parentId,Array(tabTitle),0,'','',Array(closeButton),true);		if(tabContent)div.innerHTML = tabContent;		if(tabContentUrl){					var ajaxIndex = ajaxObjects.length;			ajaxObjects[ajaxIndex] = new sack();			ajaxObjects[ajaxIndex].requestFile = tabContentUrl;	// ゲットするファイルを指定			ajaxObjects[ajaxIndex].onCompletion = function(){ showAjaxTabContent(ajaxIndex,parentId,tabId); };	// ファイルをゲットした後に実行する関数を指定			ajaxObjects[ajaxIndex].runAJAX();		// AJAX関数を実行					}					}		function getTabIndexByTitle(tabTitle)	{		var regExp = new RegExp("(.*?)&nbsp.*$","gi");		tabTitle = tabTitle.replace(regExp,'$1');		for(var prop in dhtmlgoodies_tabObj){			var divs = dhtmlgoodies_tabObj[prop].getElementsByTagName('DIV');			for(var no=0;no<divs.length;no++){				if(divs[no].id.indexOf('tabTab')>=0){					var span = divs[no].getElementsByTagName('SPAN')[0];					var regExp2 = new RegExp("(.*?)&nbsp.*$","gi");					var spanTitle = span.innerHTML.replace(regExp2,'$1');										if(spanTitle == tabTitle){												var tmpId = divs[no].id.split('_');												return Array(prop,tmpId[tmpId.length-1].replace(/[^0-9]/g,'')/1);					}						}			}		}				return -1;			}		/* タブ内に外部ファイルを読み込みたい場合に呼ぶ関数 */		function addAjaxContentToTab(tabTitle,tabContentUrl)	{		var index = getTabIndexByTitle(tabTitle);		if(index!=-1){			var ajaxIndex = ajaxObjects.length;						tabId = index[1];			parentId = index[0];									ajaxObjects[ajaxIndex] = new sack();			ajaxObjects[ajaxIndex].requestFile = tabContentUrl;	// ゲットするファイルを指定			ajaxObjects[ajaxIndex].onCompletion = function(){ showAjaxTabContent(ajaxIndex,parentId,tabId); };	// ファイルをゲットした後に実行する関数を指定			ajaxObjects[ajaxIndex].runAJAX();		// AJAX関数を実行									}		}			function deleteTab(tabLabel,tabIndex,parentId)	{		if(tabLabel){			var index = getTabIndexByTitle(tabLabel);			if(index!=-1){				deleteTab(false,index[1],index[0]);			}					}else if(tabIndex>=0){			if(document.getElementById('tabTab' + parentId + '_' + tabIndex)){				var obj = document.getElementById('tabTab' + parentId + '_' + tabIndex);				var id = obj.parentNode.parentNode.id;				obj.parentNode.removeChild(obj);				var obj2 = document.getElementById('tabView' + parentId + '_' + tabIndex);				obj2.parentNode.removeChild(obj2);				resetTabIds(parentId);				activeTabIndex[parentId]=-1;				showTab(parentId,'0');			}					}										}		
