var textPadding = 28; 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'; 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';}
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; 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();}
}
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();}
}
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');}
}
}
