var spaceChar = '%20'; 
var __tabControlCurrent, __tabs = {};

function openTab( tabID, on )
{
	if ( !on )
	{
		setTimeout( "openTab( '" + tabID + "', true )", 0 );
		return;
	}
	// Ensure current tab is set:
	__tabControlCurrent = __tabControlCurrent ? __tabControlCurrent : resolveCurrentTab();

	// Unhighlight current tab:	
	if ( __tabControlCurrent )
	{
		__tabControlCurrent.SetEnabled( false );
	}
	
	// Highlight the tab w/ the specified ID:
	__tabControlCurrent = createTab( tabID );
	__tabControlCurrent.SetEnabled( true );

try{sendWebTrendsClick(tabID);} // accessing WebTrends function by clicking tab or url access with tab query
catch (e){return;}

}

function createTab( tabID )
{
	if  ( __tabs[ tabID ] )
	{
		return __tabs[ tabID ];
	}
	return __tabs[ tabID ] = new Tab( tabID );
}

function resolveCurrentTab()
{
	var allContent = document.getElementsByTagName( "div" );
	for ( var contentIndex = 0; contentIndex < allContent.length; contentIndex++ )
	{
		if ( allContent[contentIndex].className == "tabLabelSelected" )
		{
			var parts = allContent[contentIndex].id.split( "_" );
			parts.pop();
			return createTab( parts.join( "_" ) );
		}
	}
	return null;
}

function Tab( tabID )
{
	function SetEnabled( on )
	{
    	var prev                        = parseInt( tabID.replace( 'tab' , '' ) ) - 1;
        var prevID                      = 'tab' + prev + '_bottom';
	    var previousBottom              = document.getElementById( prevID );
		var qualifier					= ( on ? "Selected" : "" );
		if (tabID == 'tab1' && !on)
		    this.elementTop.className   = "tabLabelBottom";
		else 
		{
		    if (tabID != 'tab1' && on)
	            previousBottom.className = "tabLabelTop";
		    else if (prevID != __tabControlCurrent.elementID && tabID != 'tab1')
    		    previousBottom.className = "tabLabelBottom";
    		this.elementTop.className	= "tabLabelTop"		+ qualifier;
    	}
		this.elementCenter.className	= "tabLabel"		+ qualifier;
		this.elementBottom.className	= "tabLabelBottom"	+ qualifier;
		
		this.elementContent.className = on ? "tabContent" : "tabContentHidden";
		
		this.elementArrow.className = on ? "tabArrow" : "tabArrowHidden";
	}
	this.SetEnabled = SetEnabled;
	
	this.elementID		= tabID;
	this.elementContent	= document.getElementById( tabID );
	this.elementTop		= document.getElementById( tabID + "_top" );
	this.elementCenter	= document.getElementById( tabID + "_center" );
	this.elementBottom	= document.getElementById( tabID + "_bottom" );
	this.elementArrow	= document.getElementById( tabID + "_arrow" );


}

function setSelectedTab()
{
	var qs = location.search;
	if (qs)
	{
		var query = qs.replace('?','').split('&');
		for (var index = 0; index < query.length; index++)
		{
			var current = query[index].split('=');
			if (current[0].toLowerCase() == 'tab')
			{
				setSelectedTabByName(current[1]);
			}
		}
	}
}


function setSelectedTabByName(tabText)
{
	var selectedTab = tabText;
	while (selectedTab.indexOf(spaceChar) > -1)
	    selectedTab = selectedTab.replace(spaceChar,' ');
	var tabContainer = document.getElementById('tabContainer');
	var tabs = tabContainer.getElementsByTagName('a');
	for (var index = 0; index < tabs.length; index++)
	{
		if (tabs[index].innerHTML.toLowerCase() == selectedTab.toLowerCase())
			openTab(tabs[index].className);
	}
}

function sendWebTrendsClick(value)
{

//alert(on);
var url = document.URL; // identifing document url
var title = document.title; // identifing document title
var tab = document.getElementById(value+'_center'); // identifing tab id

for (var i=0; i<tab.childNodes.length; i++) // browser comprehensive identifing tab label
{
 if (tab.childNodes[i].innerHTML)
 {
  var tab2=tab.childNodes[i];
  for (var j=0; j<tab2.childNodes.length; j++)
  {
   if (tab2.childNodes[j].innerHTML)
   {
    var tab3=tab2.childNodes[j];
    for (var k=0; k<tab3.childNodes.length; k++)
    {
     if (tab3.childNodes[k].innerHTML)
     {
      var tab4=tab3.childNodes[k];
      for (var l=0; l<tab4.childNodes.length; l++)
      {
       if (tab4.childNodes[l].innerHTML)
       {
        var tab5=tab4.childNodes[l];
        for (var m=0; m<tab5.childNodes.length; m++)
        {
        if (tab5.childNodes[m].innerHTML) tabname = tab5.childNodes[m].innerHTML;
        }
       } 
      }
     } 
    }
   }
  }
 }
}

var domain = 'http://www.microsoft.com/';
var domainbegin = url.indexOf(domain); // detecting start index of document url domain name
if(domainbegin>-1) // removing document url domain name from url string (separate WebTrends parameter)
{
 var domainend = url.lastIndexOf(domainbegin);
 var url = url.slice(domain.length-1, url.length);
}

var tabbegin = url.indexOf('?'); // detecting start index of url query
if(tabbegin>-1) // removing url query from url string (when url request contains url query)
{

 var url = url.slice(0, tabbegin);
}

//url=url+'%3Ftab='+tabname;
url=url+'?tab='+tabname; // attaching tab label at document url string identifing url in WebTrends "/germany/windows/" profil (inoperable url by joining with slash because profil doesn't support url rebuilding)
url = url.replace(/ /g, '%20'); // replacing all space characters with escape characters in url string

title= title + ' - Tab: '+tabname; // attaching tab label at document title
title = title.replace(/ /g, '%20'); // replacing all space characters withe escape characters in document title

//alert(url + ' ' + title);

dcsMultiTrack('DCS.dcsuri', url, 'WT.ti', title, 'WT.sp','_germany_windows_');
}