if(!window.DHTMLSuite)var DHTMLSuite = new Object();
if(!String.trim)String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); };
var DHTMLSuite = new Object();
var standardObjectsCreated = false;	// The classes below will check this variable, if it is false, default help objects will be created
DHTMLSuite.eventElements = new Array();	// Array of elements that has been assigned to an event handler.
DHTMLSuite.createStandardObjects = function()
{
DHTMLSuite.clientInfoObj = new DHTMLSuite.clientInfo();	// Create browser info object
DHTMLSuite.clientInfoObj.init();
if(!DHTMLSuite.configObj){	// If this object isn't allready created, create it.
DHTMLSuite.configObj = new DHTMLSuite.config();	// Create configuration object.
DHTMLSuite.configObj.init();
}
DHTMLSuite.commonObj = new DHTMLSuite.common();	// Create configuration object.
DHTMLSuite.variableStorage = new DHTMLSuite.globalVariableStorage();;	// Create configuration object.
DHTMLSuite.commonObj.init();
DHTMLSuite.domQueryObj = new DHTMLSuite.domQuery();
window.onunload = function() { DHTMLSuite.commonObj.__clearMemoryGarbage(); }
standardObjectsCreated = true;
}
DHTMLSuite.config = function()
{
var imagePath;	// Path to images used by the classes.
var cssPath;	// Path to CSS files used by the DHTML suite.
var defaultCssPath;
var defaultImagePath;
}
DHTMLSuite.config.prototype = {
init:function()
{
this.imagePath = 'include_rllaser/tbs/';	// Path to images
this.cssPath = 'include_rllaser/tbs/';	// Path to images
this.defaultCssPath = this.cssPath;
this.defaultImagePath = this.imagePath;
}
,
setCssPath:function(newCssPath)
{
this.cssPath = newCssPath;
}
,
resetCssPath:function()
{
this.cssPath = this.defaultCssPath;
}
,
resetImagePath:function()
{
this.imagePath = this.defaultImagePath;
}
,
setImagePath:function(newImagePath)
{
this.imagePath = newImagePath;
}
}
DHTMLSuite.globalVariableStorage = function()
{
var menuBar_highlightedItems;	// Array of highlighted menu bar items
this.menuBar_highlightedItems = new Array();
var arrayOfDhtmlSuiteObjects;	// Array of objects of class menuItem.
this.arrayOfDhtmlSuiteObjects = new Array();
var ajaxObjects;
this.ajaxObjects = new Array();
}
DHTMLSuite.globalVariableStorage.prototype = {
}
DHTMLSuite.common = function()
{
var loadedCSSFiles;	// Array of loaded CSS files. Prevent same CSS file from being loaded twice.
var cssCacheStatus;	// Css cache status
var eventElements;
var isOkToSelect;	// Boolean variable indicating if it's ok to make text selections
this.okToSelect = true;
this.cssCacheStatus = true;	// Caching of css files = on(Default)
this.eventElements = new Array();
}
DHTMLSuite.common.prototype = {
init:function()
{
this.loadedCSSFiles = new Array();
}
,
loadCSS:function(cssFileName,prefixConfigPath)
{
if(!prefixConfigPath && prefixConfigPath!==false)prefixConfigPath=true;
if(!this.loadedCSSFiles[cssFileName]){
this.loadedCSSFiles[cssFileName] = true;
var linkTag = document.createElement('LINK');
if(!this.cssCacheStatus){
if(cssFileName.indexOf('?')>=0)cssFileName = cssFileName + '&'; else cssFileName = cssFileName + '?';
cssFileName = cssFileName + 'rand='+ Math.random();	// To prevent caching
}
if(prefixConfigPath){
linkTag.href = DHTMLSuite.configObj.cssPath + cssFileName;
}else{
linkTag.href = cssFileName;
}
linkTag.rel = 'stylesheet';
linkTag.media = 'screen';
linkTag.type = 'text/css';
document.getElementsByTagName('HEAD')[0].appendChild(linkTag);
}
}
,
getTopPos:function(inputObj)
{
var returnValue = inputObj.offsetTop;
while((inputObj = inputObj.offsetParent) != null){
if(inputObj.tagName!='HTML'){
returnValue += (inputObj.offsetTop - inputObj.scrollTop);
if(document.all)returnValue+=inputObj.clientTop;
}
}
return returnValue;
}
,
__setTextSelOk:function(okToSelect){
this.okToSelect = okToSelect;
}
,
__isTextSelOk:function()
{
return this.okToSelect;
}
,
setCssCacheStatus:function(cssCacheStatus)
{
this.cssCacheStatus = cssCacheStatus;
}
,
getLeftPos:function(inputObj)
{
var html = '';
var returnValue = inputObj.offsetLeft;
while((inputObj = inputObj.offsetParent) != null){
if(inputObj.tagName!='HTML'){
returnValue += inputObj.offsetLeft;
if(document.all)returnValue+=inputObj.clientLeft;
}
}
return returnValue;
}
,
getCookie:function(name) {
var start = document.cookie.indexOf(name+"=");
var len = start+name.length+1;
if ((!start) && (name != document.cookie.substring(0,name.length))) return null;
if (start == -1) return null;
var end = document.cookie.indexOf(";",len);
if (end == -1) end = document.cookie.length;
return unescape(document.cookie.substring(len,end));
}
,
setCookie:function(name,value,expires,path,domain,secure) {
expires = expires * 60*60*24*1000;
var today = new Date();
var expires_date = new Date( today.getTime() + (expires) );
var cookieString = name + "=" +escape(value) +
( (expires) ? ";expires=" + expires_date.toGMTString():"") +
( (path) ? ";path=" + path:"") +
( (domain) ? ";domain=" + domain:"") +
( (secure) ? ";secure":"");
document.cookie = cookieString;
}
,
deleteCookie:function( name, path, domain )
{
if ( this.getCookie( name ) ) document.cookie = name + "=" +
( ( path ) ? ";path=" + path:"") +
( ( domain ) ? ";domain=" + domain:"" ) +
";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}
,
cancelEvent:function()
{
return false;
}
,
addEvent:function(whichObject,eventType,functionName,suffix)
{
if(!suffix)suffix = '';
if(whichObject.attachEvent){
whichObject['e'+eventType+functionName+suffix] = functionName;
whichObject[eventType+functionName+suffix] = function(){whichObject['e'+eventType+functionName+suffix]( window.event );}
whichObject.attachEvent( 'on'+eventType, whichObject[eventType+functionName+suffix] );
} else
whichObject.addEventListener(eventType,functionName,false);
this.__addEventElement(whichObject);
}
,
removeEvent:function(whichObject,eventType,functionName)
{
if(whichObject.detachEvent){
whichObject.detachEvent('on'+eventType, whichObject[eventType+functionName]);
whichObject[eventType+functionName] = null;
} else
whichObject.removeEventListener(eventType,functionName,false);
}
,
__clearMemoryGarbage:function()
{
if(!DHTMLSuite.clientInfoObj.isMSIE)return;
for(var no in DHTMLSuite.variableStorage.arrayOfDhtmlSuiteObjects){
DHTMLSuite.variableStorage.arrayOfDhtmlSuiteObjects[no] = false;
}
for(var no=0;no<DHTMLSuite.eventElements.length;no++){
DHTMLSuite.eventElements[no].onclick = null;
DHTMLSuite.eventElements[no].onmousedown = null;
DHTMLSuite.eventElements[no].onmousemove = null;
DHTMLSuite.eventElements[no].onmouseout = null;
DHTMLSuite.eventElements[no].onmouseover = null;
DHTMLSuite.eventElements[no].onmouseup = null;
DHTMLSuite.eventElements[no].onfocus = null;
DHTMLSuite.eventElements[no].onblur = null;
DHTMLSuite.eventElements[no].onkeydown = null;
DHTMLSuite.eventElements[no].onkeypress = null;
DHTMLSuite.eventElements[no].onkeyup = null;
DHTMLSuite.eventElements[no].onselectstart = null;
DHTMLSuite.eventElements[no].ondragstart = null;
DHTMLSuite.eventElements[no].oncontextmenu = null;
DHTMLSuite.eventElements[no].onscroll = null;
}
window.onunload = null;
DHTMLSuite = null;
}
,
__addEventElement:function(el)
{
DHTMLSuite.eventElements[DHTMLSuite.eventElements.length] = el;
}
,
getSrcElement:function(e)
{
var el;
if (e.target) el = e.target;
else if (e.srcElement) el = e.srcElement;
if (el.nodeType == 3) // defeat Safari bug
el = el.parentNode;
return el;
}
,
isObjectClicked:function(obj,e)
{
var src = this.getSrcElement(e);
var string = src.tagName + '(' + src.className + ')';
if(src==obj)return true;
while(src.parentNode && src.tagName.toLowerCase()!='html'){
src = src.parentNode;
string = string + ',' + src.tagName + '(' + src.className + ')';
if(src==obj)return true;
}
return false;
}
,
getObjectByClassName:function(e,className)
{
var src = this.getSrcElement(e);
if(src.className==className)return src;
while(src && src.tagName.toLowerCase()!='html'){
src = src.parentNode;
if(src.className==className)return src;
}
return false;
}
,
getObjectByAttribute:function(e,attribute)
{
var src = this.getSrcElement(e);
var att = src.getAttribute(attribute);
if(!att)att = src[attribute];
if(att)return src;
while(src && src.tagName.toLowerCase()!='html'){
src = src.parentNode;
var att = src.getAttribute('attribute');
if(!att)att = src[attribute];
if(att)return src;
}
return false;
}
,
getUniqueId:function()
{
var no = Math.random() + '';
no = no.replace('.','');
var no2 = Math.random() + '';
no2 = no2.replace('.','');
return no + no2;
}
,
getAssociativeArrayFromString:function(propertyString)
{
if(!propertyString)return;
var retArray = new Array();
var items = propertyString.split(/,/g);
for(var no=0;no<items.length;no++){
var tokens = items[no].split(/:/);
retArray[tokens[0]] = tokens[1];
}
return retArray;
}
}
DHTMLSuite.clientInfo = function()
{
var browser;			// Complete user agent information
var isOpera;			// Is the browser "Opera"
var isMSIE;				// Is the browser "Internet Explorer"
var isOldMSIE;			// Is this browser and older version of Internet Explorer ( by older, we refer to version 6.0 or lower)
var isFirefox;			// Is the browser "Firefox"
var navigatorVersion;	// Browser version
}
DHTMLSuite.clientInfo.prototype = {
init:function()
{
this.browser = navigator.userAgent;
this.isOpera = (this.browser.toLowerCase().indexOf('opera')>=0)?true:false;
this.isFirefox = (this.browser.toLowerCase().indexOf('firefox')>=0)?true:false;
this.isMSIE = (this.browser.toLowerCase().indexOf('msie')>=0)?true:false;
this.isOldMSIE = (this.browser.toLowerCase().match(/msie [0-6]/gi))?true:false;
this.isSafari = (this.browser.toLowerCase().indexOf('safari')>=0)?true:false;
this.navigatorVersion = navigator.appVersion.replace(/.*?MSIE (\d\.\d).*/g,'$1')/1;
}
,
getBrowserWidth:function()
{
if(self.innerWidth)return self.innerWidth;
return document.documentElement.offsetWidth;
}
,
getBrowserHeight:function()
{
if(self.innerHeight)return self.innerHeight;
return document.documentElement.offsetHeight;
}
}
DHTMLSuite.domQuery = function()
{
document.getElementsByClassName = this.getElementsByClassName;
document.getElementsByAttribute = this.getElementsByAttribute;
}
DHTMLSuite.domQuery.prototype = {
getElementsByClassName:function(className,inputObj)
{
var returnArray = new Array();
if(inputObj)
var allElements = inputObj.getElementsByTagName('*');
else
var allElements = document.getElementsByTagName('*');
for(var no=0;no<allElements.length;no++){
if(allElements[no].className==className)returnArray[returnArray.length] = allElements[no];
}
return returnArray;
}
,
getElementsByAttribute:function(attribute,attributeValue,inputObj)
{
var returnArray = new Array();
if(inputObj)
var allElements = inputObj.getElementsByTagName('*');
else
var allElements = document.getElementsByTagName('*');
for(var no=0;no<allElements.length;no++){
var att = allElements[no].getAttribute(attribute);
if(!attributeValue){
if(att)returnArray[returnArray.length] = allElements[no];
}
else
if(att==attributeValue)returnArray[returnArray.length] = allElements[no];
}
return returnArray;
}
}
/*--------------------------*/


if(!window.DHTMLSuite)var DHTMLSuite = new Object();
DHTMLSuite.dynamicContent = function()
{
var enableCache;	// Cache enabled.
var jsCache;
var dynamicContent_ajaxObjects;
var waitMessage;
this.enableCache = true;
this.jsCache = new Array();
this.dynamicContent_ajaxObjects = new Array();
this.waitMessage = 'Loading content - please wait...';
this.waitImage = 'ajax-loader-darkblue.gif';
try{
if(!standardObjectsCreated)DHTMLSuite.createStandardObjects();	// This line starts all the init methods
}catch(e){
alert('You need to include the dhtmlSuite-common.js file');
}
var objectIndex;
this.objectIndex = DHTMLSuite.variableStorage.arrayOfDhtmlSuiteObjects.length;
DHTMLSuite.variableStorage.arrayOfDhtmlSuiteObjects[this.objectIndex] = this;
}
DHTMLSuite.dynamicContent.prototype = {
loadContent:function(divId,url,functionToCallOnLoaded)
{
var ind = this.objectIndex;
if(this.enableCache && this.jsCache[url]){
document.getElementById(divId).innerHTML = this.jsCache[url];
this.__evaluateJs(document.getElementById(divId));	// Call private method which evaluates JS content
this.__evaluateCss(document.getElementById(divId));	// Call private method which evaluates JS content
if(functionToCallOnLoaded)eval(functionToCallOnLoaded);
return;
}
var ajaxIndex = 0;
var waitMessageToShow = '';
if(this.waitImage){	// Wait image exists ?
waitMessageToShow = waitMessageToShow + '<div style="text-align:center;padding:10px"><img src="' + DHTMLSuite.configObj.imagePath + this.waitImage + '" border="0" alt=""></div>';
}
if(this.waitMessage){	// Wait message exists ?
waitMessageToShow = waitMessageToShow + '<div style="text-align:center">' + this.waitMessage + '</div>';
}
try{
document.getElementById(divId).innerHTML = waitMessageToShow ;
}catch(e){
}
var ajaxIndex = this.dynamicContent_ajaxObjects.length;
try{
this.dynamicContent_ajaxObjects[ajaxIndex] = new sack();
}catch(e){
alert('Could not create ajax object. Please make sure that ajax.js is included');
}
this.dynamicContent_ajaxObjects[ajaxIndex].requestFile = url;	// Specifying which file to get
this.dynamicContent_ajaxObjects[ajaxIndex].onCompletion = function(){ DHTMLSuite.variableStorage.arrayOfDhtmlSuiteObjects[ind].__ajax_showContent(divId,ajaxIndex,url,functionToCallOnLoaded); };	// Specify function that will be executed after file has been found
this.dynamicContent_ajaxObjects[ajaxIndex].onError = function(){ DHTMLSuite.variableStorage.arrayOfDhtmlSuiteObjects[ind].__ajax_displayError(divId,ajaxIndex,url,functionToCallOnLoaded); };	// Specify function that will be executed after file has been found
this.dynamicContent_ajaxObjects[ajaxIndex].runAJAX();		// Execute AJAX function
}
,
setWaitMessage:function(newWaitMessage)
{
this.waitMessage = newWaitMessage;
}
,
setWaitImage:function(newWaitImage)
{
this.waitImage = newWaitImage;
}
,
setCache:function(enableCache)
{
this.enableCache = enableCache;
}
,
__ajax_showContent :function(divId,ajaxIndex,url,functionToCallOnLoaded)
{
var obj = document.getElementById(divId);
obj.innerHTML = this.dynamicContent_ajaxObjects[ajaxIndex].response;
if(this.enableCache){	// Cache is enabled
this.jsCache[url] = this.dynamicContent_ajaxObjects[ajaxIndex].response;	// Put content into cache
}
this.__evaluateJs(obj);	// Call private method which evaluates JS content
this.__evaluateCss(obj);	// Call private method which evaluates JS content
if(functionToCallOnLoaded)eval(functionToCallOnLoaded);
this.dynamicContent_ajaxObjects[ajaxIndex] = null;	// Clear sack object
}
,
__ajax_displayError:function(divId,ajaxIndex,url,functionToCallOnLoaded)
{
document.getElementById(divId).innerHTML = '<h2>Message from DHTMLSuite.dynamicContent</h2><p>The ajax request for ' + url + ' failed</p>';
}
,
__evaluateJs:function(obj)
{
var scriptTags = obj.getElementsByTagName('SCRIPT');
var string = '';
var jsCode = '';
for(var no=0;no<scriptTags.length;no++){
if(scriptTags[no].src){
var head = document.getElementsByTagName("head")[0];
var scriptObj = document.createElement("script");
scriptObj.setAttribute("type", "text/javascript");
scriptObj.setAttribute("src", scriptTags[no].src);
}else{
if(DHTMLSuite.clientInfoObj.isOpera){
jsCode = jsCode + scriptTags[no].text + '\n';
}
else
jsCode = jsCode + scriptTags[no].innerHTML;
}
}
if(jsCode)this.__installScript(jsCode);
}
,
__installScript:function ( script )
{
try{
if (!script)
return;
if (window.execScript){
window.execScript(script)
}else if(window.jQuery && jQuery.browser.safari){ // safari detection in jQuery
window.setTimeout(script,0);
}else{
window.setTimeout( script, 0 );
}
}catch(e){
}
}
,
__evaluateCss:function(obj)
{
var cssTags = obj.getElementsByTagName('STYLE');
var head = document.getElementsByTagName('HEAD')[0];
for(var no=0;no<cssTags.length;no++){
head.appendChild(cssTags[no]);
}
}
}
/*-----------------------------------*/

if(!window.DHTMLSuite)var DHTMLSuite = new Object();
var refToTabViewObjects = new Array();	// Reference to objects of this class.
DHTMLSuite.tabView = function()
{
var textPadding;				// Tab spacing
var strictDocType ; 			// Using a strict document type, i.e. <!DOCTYPE>
var DHTMLSuite_tabObj;		// Reference to div surrounding the tab set
var activeTabIndex;				// Currently displayed tab(index - 0 = first tab)
var initActiveTabIndex;			// Initially displayed tab(index - 0 = first tab)
var ajaxObjects;				// Reference to ajax objects
var tabView_countTabs;
var tabViewHeight;
var tabSetParentId;				// Id of div surrounding the tab set.
var tabTitles;					// Tab titles
var width;						// width of tab view
var height;						// height of tab view
var layoutCSS;
var outsideObjectRefIndex;		// Which index of refToTabViewObjects refers to this object.
var maxNumberOfTabs;
var dynamicContentObj;
var closeButtons;
var refActiveTabContent;
var callbackOnTabSwitch;
this.initActiveTabIndex = 0;
this.callbackOnTabSwitch = '';
this.refActiveTabContent = '';
this.textPadding = 3;
this.strictDocType = true;
this.ajaxObjects = new Array();
this.tabTitles = new Array();
this.layoutCSS = 'tab-view.css';
this.maxNumberOfTabs = 6;
this.dynamicContentObj = false;
this.closeButtons = new Array();
this.width = '100%';
this.height = '500';
try{
if(!standardObjectsCreated)DHTMLSuite.createStandardObjects();	// This line starts all the init methods
}catch(e){
alert('You need to include the dhtmlSuite-common.js file');
}
}
DHTMLSuite.tabView.prototype = {
init:function()
{
DHTMLSuite.commonObj.loadCSS(this.layoutCSS);
this.outsideObjectRefIndex = refToTabViewObjects.length;
refToTabViewObjects[this.outsideObjectRefIndex] = this;
try{
this.dynamicContentObj = new DHTMLSuite.dynamicContent();
}catch(e){
alert('You need to include DHTMLSuite-dynamicContent.js');
}
this.__initializeAndParseTabs(false,false);
}
,
setCallbackOnTabSwitch:function(callbackOnTabSwitch)
{
this.callbackOnTabSwitch = callbackOnTabSwitch;
}
,
getMaximumNumberOfTabs:function()
{
return this.maxNumberOfTabs;
}
,
setMaximumTabs:function(maximumNumberOfTabs)
{
this.maxNumberOfTabs = maximumNumberOfTabs;
}
,
setParentId:function(idOfParentHTMLElement)
{
this.tabSetParentId = idOfParentHTMLElement;
this.DHTMLSuite_tabObj = document.getElementById(idOfParentHTMLElement);
}
,
setWidth:function(newWidth)
{
this.width = newWidth;
}
,
setHeight:function(newHeight)
{
this.height = newHeight;
}
,
setIndexActiveTab:function(indexOfNewActiveTab)
{
this.initActiveTabIndex = indexOfNewActiveTab;
}
,
setTabTitles:function(titleOfTabs)
{
this.tabTitles = titleOfTabs;
}
,
setCloseButtons:function(closeButtons)
{
this.closeButtons = closeButtons;
}
,
getReferenceToDivElementByTitle:function(tabTitle)
{
var index = this.getTabIndexByTitle(tabLabel);	// Get index of tab
if(index!=-1){
var obj = document.getElementById('tabView' + this.tabSetParentId + '_' + index);
return obj;
}
return false;
}
,
getReferenceToDivElementById:function(idOfTab)
{
var divs = this.DHTMLSuite_tabObj.getElementsByTagName('DIV');
for(var no=0;no<divs.length;no++){
var attr = divs[no].getAttribute('originalId');
if(!attr)attr = divs[no].originalid;
if(attr == idOfTab)return divs[no];
}
return false;
}
,
createNewTab:function(parentId,tabTitle,tabContent,tabContentUrl,closeButton)
{
var index = this.getTabIndexByTitle(tabTitle);   // Get index of tab
if(index!=-1){   // Tab exists if index<>-1
this.displayATab(tabTitle,index);
return false;
}
if(this.tabView_countTabs>=this.maxNumberOfTabs)return;   // Maximum number of tabs reached - return
var div = document.createElement('DIV');   // Create new tab content div.
div.className = 'DHTMLSuite_aTab';   // Assign new tab to CSS class DHTMLSuite_aTab
this.DHTMLSuite_tabObj.appendChild(div);         // Appending new tab content div to main tab view div
var tabId = this.__initializeAndParseTabs(true,tabTitle,closeButton);   // Call the init method in order to create tab header and tab images
if(tabContent)div.innerHTML = tabContent;   // Static tab content specified, put it into the new div
if(tabContentUrl){   // Get content from external file
this.dynamicContentObj.loadContent('tabView' + parentId +'_' + tabId,tabContentUrl);
}
return true;
}
,
deleteTab:function(tabLabel,tabIndex)
{
if(tabLabel){	// Delete tab by tab title
var index = this.getTabIndexByTitle(tabLabel);	// Get index of tab
if(index!=-1){	// Tab exists if index<>-1
this.deleteTab(false,index);
}
}else if(tabIndex>=0){	// Delete tab by tab index.
if(document.getElementById('tabTab' + this.tabSetParentId + '_' + tabIndex)){
var obj = document.getElementById('tabTab' + this.tabSetParentId + '_' + tabIndex);
var id = obj.parentNode.parentNode.id;
obj.parentNode.removeChild(obj);
var obj2 = document.getElementById('tabView' + this.tabSetParentId + '_' + tabIndex);
obj2.parentNode.removeChild(obj2);
this.__resetTabIds(this.tabSetParentId);
this.initActiveTabIndex=-1;
var newIndex = 0;
if(refToTabViewObjects[this.outsideObjectRefIndex].activeTabIndex==tabIndex)refToTabViewObjects[this.outsideObjectRefIndex].activeTabIndex=-1;
this.__showTab(this.tabSetParentId,newIndex,this.outsideObjectRefIndex);
}
}
}
,  	// {{{ addContentToTab()
addContentToTab:function(tabLabel,filePath)
{
var index = this.getTabIndexByTitle(tabLabel);	// Get index of tab
if(index!=-1){	// Tab found
this.dynamicContentObj.loadContent('tabView' + this.tabSetParentId + '_' + index,filePath);
}
}
,
displayATab:function(tabLabel,tabIndex)
{
if(tabLabel){	// Delete tab by tab title
var index = this.getTabIndexByTitle(tabLabel);	// Get index of tab
if(index!=-1){	// Tab exists if index<>-1
this.initActiveTabIndex = index;
}else return false;
}else{
this.initActiveTabIndex = tabIndex;
}
this.__showTab(this.tabSetParentId,this.initActiveTabIndex,this.outsideObjectRefIndex)
}
,
getTabIndex:function()
{
var divs = this.DHTMLSuite_tabObj.getElementsByTagName('DIV');
var tabIndex = 0;
for(var no=0;no<divs.length;no++){
if(divs[no].id.indexOf('tabTab')>=0){
if(divs[no].className!='tabInactive')return tabIndex;
tabIndex++;
}
}
return tabIndex;
}
,
__setPadding:function(obj,padding){
var span = obj.getElementsByTagName('SPAN')[0];
span.style.paddingLeft = padding + 'px';
span.style.paddingRight = padding + 'px';
}
,
__showTab:function(parentId,tabIndex,objectIndex)
{
var parentId_div = parentId + "_";
if(!document.getElementById('tabView' + parentId_div + tabIndex)){
return;
}
if(refToTabViewObjects[objectIndex].activeTabIndex>=0){
if(refToTabViewObjects[objectIndex].activeTabIndex==tabIndex){
return;
}
var obj = document.getElementById('tabTab'+parentId_div + refToTabViewObjects[objectIndex].activeTabIndex);
if(!obj){
refToTabViewObjects[objectIndex].activeTabIndex = 0;
var obj = document.getElementById('tabTab'+parentId_div + refToTabViewObjects[objectIndex].activeTabIndex);
}
obj.className='tabInactive';
obj.style.backgroundImage = 'url(\'' + DHTMLSuite.configObj.imagePath + 'tab_left_inactive.gif' + '\')';
var imgs = obj.getElementsByTagName('IMG');
var img = imgs[imgs.length-1];
img.src = DHTMLSuite.configObj.imagePath + 'tab_right_inactive.gif';
document.getElementById('tabView' + parentId_div + refToTabViewObjects[objectIndex].activeTabIndex).style.display='none';
}
var thisObj = document.getElementById('tabTab'+ parentId_div +tabIndex);
thisObj.className='tabActive';
thisObj.style.backgroundImage = 'url(\'' + DHTMLSuite.configObj.imagePath + 'tab_left_active.gif' + '\')';
var imgs = thisObj.getElementsByTagName('IMG');
var img = imgs[imgs.length-1];
img.src = DHTMLSuite.configObj.imagePath + 'tab_right_active.gif';
document.getElementById('tabView' + parentId_div + tabIndex).style.display='block';
this.refActiveTabContent = document.getElementById('tabView' + parentId_div + tabIndex);
refToTabViewObjects[objectIndex].activeTabIndex = tabIndex;
refToTabViewObjects[objectIndex].__handleCallback('tabSwitch');
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;
refToTabViewObjects[objectIndex].__setPadding(aTab,refToTabViewObjects[objectIndex].textPadding+1);
}else{
refToTabViewObjects[objectIndex].__setPadding(aTab,refToTabViewObjects[objectIndex].textPadding);
}
aTab.style.left = startPos + 'px';
countObjects++;
startPos+=2;
}
aTab = aTab.nextSibling;
}
return;
}
,
__handleCallback:function(action)
{
var callbackString = '';
switch(action)
{
case "tabSwitch":
callbackString = this.callbackOnTabSwitch;
break;
}
if(callbackString){
callbackString = callbackString + '(this.refActiveTabContent)';
eval(callbackString);
}
}
,
__tabClick:function(inputObj,index)
{
var idArray = inputObj.id.split('_');
var parentId = inputObj.getAttribute('parentRefId');
if(!parentId)parentId=  inputObj.parentRefId;
this.__showTab(parentId,idArray[idArray.length-1].replace(/[^0-9]/gi,''),index);
}
,
__rolloverTab:function()
{
if(this.className.indexOf('tabInactive')>=0){
this.className='inactiveTabOver';
this.style.backgroundImage = 'url(\'' + DHTMLSuite.configObj.imagePath + 'tab_left_over.gif' + '\')';
var imgs = this.getElementsByTagName('IMG');
var img = imgs[imgs.length-1];
img.src = DHTMLSuite.configObj.imagePath + 'tab_right_over.gif';
}
}
,
__rolloutTab:function()
{
if(this.className ==  'inactiveTabOver'){
this.className='tabInactive';
this.style.backgroundImage = 'url(\'' + DHTMLSuite.configObj.imagePath + 'tab_left_inactive.gif' + '\')';
var imgs = this.getElementsByTagName('IMG');
var img = imgs[imgs.length-1];
img.src = DHTMLSuite.configObj.imagePath + 'tab_right_inactive.gif';
}
}
,
__initializeAndParseTabs:function(additionalTab,nameOfAdditionalTab,additionalCloseButton)
{
this.DHTMLSuite_tabObj.className = ' DHTMLSuite_tabWidget';
window.refToThisTabSet = this;
if(!additionalTab || additionalTab=='undefined'){
this.DHTMLSuite_tabObj = document.getElementById(this.tabSetParentId);
this.width = this.width + '';
if(this.width.indexOf('%')<0)this.width= this.width + 'px';
this.DHTMLSuite_tabObj.style.width = this.width;
this.height = this.height + '';
if(this.height.length>0){
if(this.height.indexOf('%')<0)this.height= this.height + 'px';
this.DHTMLSuite_tabObj.style.height = this.height;
}
var tabDiv = document.createElement('DIV');
var firstDiv = this.DHTMLSuite_tabObj.getElementsByTagName('DIV')[0];
this.DHTMLSuite_tabObj.insertBefore(tabDiv,firstDiv);
tabDiv.className = 'DHTMLSuite_tabContainer';
this.tabView_countTabs = 0;
var tmpTabTitles = this.tabTitles;	// tmpTab titles set to current tab titles - this variable is used in the loop below
}else{	// A new tab being created dynamically afterwards.
var tabDiv = this.DHTMLSuite_tabObj.getElementsByTagName('DIV')[0];
var firstDiv = this.DHTMLSuite_tabObj.getElementsByTagName('DIV')[1];
this.initActiveTabIndex = this.tabView_countTabs;
var tmpTabTitles = Array(nameOfAdditionalTab);	// tmpTab titles set to only the new tab
}
for(var no=0;no<tmpTabTitles.length;no++){
var aTab = document.createElement('DIV');
aTab.id = 'tabTab' + this.tabSetParentId + "_" +  (no + this.tabView_countTabs);
aTab.onmouseover = this.__rolloverTab;
aTab.onmouseout = this.__rolloutTab;
aTab.setAttribute('parentRefId',this.tabSetParentId);
aTab.parentRefId = this.tabSetParentId;
var numIndex = window.refToThisTabSet.outsideObjectRefIndex+'';
aTab.onclick = function() { window.refToThisTabSet.__tabClick(this,numIndex); };
DHTMLSuite.commonObj.__addEventElement(aTab);
aTab.className='tabInactive';
aTab.style.backgroundImage = 'url(\'' + DHTMLSuite.configObj.imagePath + 'tab_left_inactive.gif' + '\')';
tabDiv.appendChild(aTab);
var span = document.createElement('SPAN');
span.innerHTML = tmpTabTitles[no];
aTab.appendChild(span);
if(this.closeButtons[no] || additionalCloseButton){
var closeButton = document.createElement('IMG');
closeButton.src = DHTMLSuite.configObj.imagePath + 'tab-view-close.gif';
closeButton.style.position='absolute';
closeButton.style.top = '4px';
closeButton.style.right = '2px';
closeButton.onmouseover = this.__mouseOverEffectCloseButton;
closeButton.onmouseout = this.__mouseOutEffectForCloseButton;
DHTMLSuite.commonObj.__addEventElement(closeButton);
span.innerHTML = span.innerHTML + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
var deleteTxt = span.innerHTML+'';
closeButton.onclick = function(){ refToTabViewObjects[numIndex].deleteTab( this.parentNode.innerHTML) };
span.appendChild(closeButton);
}
var img = document.createElement('IMG');
img.valign = 'bottom';
img.src = DHTMLSuite.configObj.imagePath + 'tab_right_inactive.gif';
if((DHTMLSuite.clientInfoObj.navigatorVersion && DHTMLSuite.clientInfoObj.navigatorVersion<6) || (DHTMLSuite.clientInfoObj.isMSIE && !this.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 = this.DHTMLSuite_tabObj.getElementsByTagName('DIV');
var divCounter = 0;
for(var no=0;no<tabs.length;no++){
if(tabs[no].className=='DHTMLSuite_aTab' && tabs[no].parentNode == this.DHTMLSuite_tabObj){
if(this.height.length>0){
if(this.height.indexOf('%')==-1){
var tmpHeight = (this.height.replace('px','')/1 - 22);
tabs[no].style.height = tmpHeight + 'px';
}else
tabs[no].style.height = this.height;
}
tabs[no].style.display='none';
if(tabs[no].id){
tabs[no].setAttribute('originalId',tabs[no].id);
tabs[no].originalId = tabs[no].id;
}
tabs[no].id = 'tabView' + this.tabSetParentId + "_" + divCounter;
divCounter++;
}
}
this.tabView_countTabs = this.tabView_countTabs + this.tabTitles.length;
this.__showTab(this.tabSetParentId,this.initActiveTabIndex,this.outsideObjectRefIndex);
return this.activeTabIndex;
}
,
__mouseOutEffectForCloseButton:function()
{
this.src = this.src.replace('close-over.gif','close.gif');
}
,
__mouseOverEffectCloseButton:function()
{
this.src = this.src.replace('close.gif','close-over.gif');
}
,
__fillTabWithContentFromAjax:function(ajaxIndex,objId,tabId)
{
var obj = document.getElementById('tabView'+objId + '_' + tabId);
obj.innerHTML = this.ajaxObjects[ajaxIndex].response;
}
,
__resetTabIds:function(parentId)
{
var tabTitleCounter = 0;
var tabContentCounter = 0;
var divs = this.DHTMLSuite_tabObj.getElementsByTagName('DIV');
for(var no=0;no<divs.length;no++){
if(divs[no].className=='DHTMLSuite_aTab' && divs[no].parentNode==this.DHTMLSuite_tabObj){
divs[no].id = 'tabView' + parentId + '_' + tabTitleCounter;
tabTitleCounter++;
}
if(divs[no].id.indexOf('tabTab')>=0 && divs[no].parentNode.parentNode==this.DHTMLSuite_tabObj){
divs[no].id = 'tabTab' + parentId + '_' + tabContentCounter;
tabContentCounter++;
}
}
this.tabView_countTabs = tabContentCounter;
}
,
getTabIndexByTitle:function(tabTitle)
{
tabTitle = tabTitle.replace(/(.*?)&nbsp.*$/gi,'$1');
var divs = this.DHTMLSuite_tabObj.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 spanTitle = span.innerHTML.replace(/(.*?)&nbsp.*$/gi,'$1');
if(spanTitle == tabTitle){
var tmpId = divs[no].id.split('_');
return tmpId[tmpId.length-1].replace(/[^0-9]/g,'')/1;
}
}
}
return -1;
}
}


