	
	
	var textPadding = 0; // Padding at the left of tab text - bigger value gives you wider tabs
	var strictDocType = true;
	var tabView_maxNumberOfTabs = 7; // Maximum number of tabs
	var LastTabIndex = tabView_maxNumberOfTabs - 1;
	
	/* Don't change anything below here */
	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 = 0;	// Pixel height of close buttons
	var closeImageWidth = 0;	// Pixel height of close buttons
	
	
	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]);

			if (activeTabIndex[parentId] == LastTabIndex)
			    obj.className = 'LastTabInactive';
            else
                obj.className = 'tabInactive';

			var img = obj.getElementsByTagName('IMG')[0];
			if(img.src.indexOf('tab_')==-1)img = obj.getElementsByTagName('IMG')[1];
			//img.src = '/App_Themes/Fa/images/TabStrip/tab_right_inactive.gif';
			document.getElementById('tabView' + parentId_div + activeTabIndex[parentId]).style.display='none';
		}
		
		var thisObj = document.getElementById('tabTab'+ parentId_div +tabIndex);

		if (tabIndex == LastTabIndex)
		    thisObj.className = 'LastTabActive';
		else
            thisObj.className = 'tabActive';

		//alert('tabIndex: ' + tabIndex);
		//alert('ParentIndex: ' + activeTabIndex[parentId]);

		var img = thisObj.getElementsByTagName('IMG')[0];
		if(img.src.indexOf('tab_')==-1)img = thisObj.getElementsByTagName('IMG')[1];
		//img.src = '/App_Themes/Fa/images/TabStrip/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 = 0;// 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,''));
		
	}
	
	var TimerId;
	var EnterTime,ExitTime;
	var DiffTime=300;
	
	function ShowTab_Hover(ParentId,Id)
	{
	    //alert(ParentId);
	    //alert(Id);
        var idArray = Id.split('_');		
		showTab(ParentId,idArray[idArray.length-1].replace(/[^0-9]/gi,''));
	}
	
	function rolloverTab() {
	    if (this.className.indexOf('LastTabInactive') >= 0) {
	        this.className = 'LastInactiveTabOver';
	        var img = this.getElementsByTagName('IMG')[0];
	        if (img.src.indexOf('tab_') <= 0) img = this.getElementsByTagName('IMG')[1];
	        //img.src = '/App_Themes/Fa/images/TabStrip/tab_right_over.gif';
	    }

		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 = '/App_Themes/Fa/images/TabStrip/tab_right_over.gif';
		}
		//ShowTab_Hover(this);
		TimerId=setTimeout("ShowTab_Hover('"+this.parentNode.parentNode.id+"','"+this.id+"')", DiffTime);
		EnterTime=new Date();
    }
	function rolloutTab()
	{
		if(this.className ==  'inactiveTabOver')
		    this.className = 'tabInactive';

		if (this.className == 'LastInactiveTabOver') {
		    this.className = 'LastTabInactive';

//			var img = this.getElementsByTagName('IMG')[0];
//			if(img.src.indexOf('tab_')<=0)img = this.getElementsByTagName('IMG')[1];
//			img.src = '/App_Themes/Fa/images/TabStrip/tab_right_inactive.gif';
		}
		ExitTime=new Date();
		
		if(ExitTime.getMilliseconds()-EnterTime.getMilliseconds() < DiffTime)
	       clearTimeout(TimerId);
	}
	
	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,tabIndex)
	{
		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.onmouseout = rolloutTab;
			aTab.onmouseover = rolloverTab;
			aTab.onclick = tabClick;

			if (no == LastTabIndex)
			    aTab.className = 'LastTabInactive';
            else
                aTab.className='tabInactive';
			
			//if(tabIndex == null)
			    tabDiv.appendChild(aTab);
			//else   
			//{    
			//    if(tabIndex>=tabDiv.children.length)
			//        tabIndex=tabDiv.children.length-1;
			//    tabDiv.children(Number(tabIndex)).insertAdjacentElement("BeforeBegin",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.style.width = '1';
//				//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;
//				//closeButton.style.align='top';
//				
//				//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 = '/App_Themes/Fa/images/TabStrip/tab_right_inactive.gif';
			img.style.width = "1px";
			// 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;	// Specifying which file to get

			ajaxObjects[ajaxIndex].onCompletion = function(){ showAjaxTabContent(ajaxIndex,parentId,tabId); };	// Specify function that will be executed after file has been found
			ajaxObjects[ajaxIndex].runAJAX();		// Execute AJAX function	
		
		}
				
	}
	
	
	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 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');
	        }
	    }



	}
	

   
	
