var TabString;
var TabString1;
var TabStringNew;

var count=0;



//JOADOC        : createTab(noOfTabs,onTab)
//JOADOC        : @param 		: noOfTabs			specifies the number of tabs to be created
//JOADOC        : @param		: onTab				specifies the sequence number of the tab that is to be made active
//JOADOC        : Description	: This function creates tabs. 

function createTab(noOfTabs,onTab)
{
  var counter;
  TabString=  " <tr> ";
  TabString+= " <td> ";
  TabString+= " <table border='0' cellspacing='0' cellpadding='0'> ";
  TabString+= " <tbody> ";
  TabString+= " <tr> ";
  for(counter = 1; counter <= noOfTabs ; counter++)
  {
    TabString1 = "";
    if( counter == 1 )
    {
      if( onTab  == counter )
      {
        TabString1 = "<td valign='bottom' ><img height='21' alt='' src='"+webPath+"tabimages/active_tab_left_end.gif' border='0'></td> ";
        TabString1+= "<td valign='middle' background='"+webPath+"tabimages/active_tab_body.gif' class='ActiveTab' nowrap>";
        TabString1+= "<a class='ActiveTab' joajoaTabLabeljoajoa"+ counter +"&nbsp;</a></td>";
        TabString1+= "<td valign='bottom' ><img src='"+webPath+"tabimages/active_inactive.gif' alt='' width='23' height='21' border='0'></td>";
      }
      else if( onTab  == (counter+1) )
      {
        TabString1 = "<td valign='bottom' ><img height='21' alt='' src='"+webPath+"tabimages/inactive_tab_left_end.gif' border='0'></td> ";
        TabString1+= "<td valign='middle' background='"+webPath+"tabimages/inactive_tab_body.gif' class='InactiveTab' nowrap>";
        TabString1+= "<a class='InactiveTab' joajoaTabLabeljoajoa"+ counter +"&nbsp;</a></td>";
        TabString1+= "<td valign='bottom' ><img src='"+webPath+"tabimages/inactive_active.gif' alt='' width='23' height='21' border='0'></td>";
      }
      else
      {
        TabString1 = "<td valign='bottom' ><img height='21' alt='' src='"+webPath+"tabimages/inactive_tab_left_end.gif' border='0'></td> ";
        TabString1+= "<td valign='middle' background='"+webPath+"tabimages/inactive_tab_body.gif' class='InactiveTab' nowrap>";
        TabString1+= "<a class='InactiveTab' joajoaTabLabeljoajoa"+ counter +"&nbsp;</a></td>";
        TabString1+= "<td valign='bottom' ><img src='"+webPath+"tabimages/inactive_inactive.gif' alt='' width='23' height='21' border='0'></td>";
      }
    }
    else if( counter < noOfTabs )
    {
      if( onTab  == counter )
      {
        TabString1 = "<td align='center' valign='middle' nowrap='nowrap' background='"+webPath+"tabimages/active_tab_body.gif'";
        TabString1+= " class='ActiveTab'><a class='ActiveTab' joajoaTabLabeljoajoa"+ counter +"&nbsp;</td>";
        TabString1+= "<td valign='bottom'><img height='21' alt='' src='"+webPath+"tabimages/active_inactive.gif' border='0'></td>";
      }
      else if( onTab  == (counter+1) )
      {
        TabString1 = "<td valign='middle' background='"+webPath+"tabimages/inactive_tab_body.gif' class='InactiveTab' nowrap>";
        TabString1+= "<a class='InactiveTab' joajoaTabLabeljoajoa"+ counter +"&nbsp;</td>";
        TabString1+= "<td valign='bottom'><img height='21' alt='' src='"+webPath+"tabimages/inactive_active.gif' border='0'></td>";
      }
      else
      {
        TabString1 = "<td valign='middle' background='"+webPath+"tabimages/inactive_tab_body.gif' class='InactiveTab' nowrap>";
        TabString1+= "<a class='InactiveTab' joajoaTabLabeljoajoa"+ counter +"&nbsp;</td>";
        TabString1+= "<td valign='bottom'><img height='21' alt='' src='"+webPath+"tabimages/inactive_inactive.gif' border='0'></td>";
      }

    }
    else if( counter == noOfTabs )
    {
      if( onTab  == counter )
      {
        TabString1 = "<td align='center' valign='middle' nowrap='nowrap' background='"+webPath+"tabimages/active_tab_body.gif'";
        TabString1+= "class='ActiveTab'><a class='ActiveTab' joajoaTabLabeljoajoa"+ counter +"&nbsp;</td>";
        TabString1+= "<td valign='bottom'><img height='21' alt='' src='"+webPath+"tabimages/active_tab_right_end.gif' border='0'></td>";
      }
      else
      {
        TabString1 = "<td valign='middle' background='"+webPath+"tabimages/inactive_tab_body.gif' class='InactiveTab' nowrap>";
        TabString1+= "<a class='InactiveTab' joajoaTabLabeljoajoa"+ counter +"&nbsp;</td>";
        TabString1+= "<td valign='bottom'><img height='21' alt='' src='"+webPath+"tabimages/inactive_tab_right_end.gif' border='0'></td>";
      }

    }
    TabString += TabString1;
  }
  TabString+= " </tr> ";
  TabString+= " </tbody> ";
  TabString+= " </table> ";
  TabString+= " </td> ";
  TabString+= " </tr> ";

  TabString+= " </table> ";
  TabString+= " </td> ";
  TabString+= " </tr> ";
  TabString+= " </table> ";
}



//JOADOC        : setTab(TabSeq, TabLabel,TabNo)
//JOADOC        : @param		: TabSeq			specifies the sequence number of tab
//JOADOC        : @param		: TabLabel			specifies tab label that for a particular tab
//JOADOC        : @param		: TabNo				it is a number unique to the tab
//JOADOC        : Description	: This function writes tab label to each tab.

function setTab(TabSeq, TabLabel,TabNo)
{
  var OldString = "joajoaTabLabeljoajoa" + TabSeq;
  var NewString ;
  if ( TabNo == '' )
  {
    NewString = TabLabel;
  }
  else
  {
    NewString = "href='javascript:hdrMenuInvoke(" + TabNo + ")";
    NewString += "'>" + TabLabel;
  }
  TabStringNew  = TabString.replace(OldString, NewString);
  TabString     = TabStringNew ;
}



//JOADOC        : paintTab()
//JOADOC        : @param		: none
//JOADOC        : Description	: Displays tabs on screen.

function paintTab()
{
  document.write(TabString);
}



//JOADOC        : hdrMenuInvoke(tabNumber)
//JOADOC        : @param		: tabNumber						
//JOADOC        : Description	: 

function hdrMenuInvoke(tabNumber)
{
  for( i = 1 ; ; i++ )
  {
    if(document.getElementById('HeaderTabMenu'+i))
    {
      hdrDiv  = document.getElementById('HeaderTabMenu'+i);
      menuDiv = document.getElementById('menuTab'+i);
      if (i == tabNumber)
      {
        hdrDiv.style.display = '';
        menuDiv.style.display = '';
      }
      else
      {
      	hdrDiv.style.display = 'none';
        menuDiv.style.display = 'none';
      }
    }
    else
    {
      break;
    }
  }
}
var BlockLevelTabString;
var BlockLevelTabStringNew;
var BlockLevelTabString1;


// global variables related to activating/deactivating block tabs
var left_ind = "_l";
var middle_ind = "_m";
var right_ind = "_r";
//added by sar
var link_ind =  "_a";
//end

var content_ind = "_content";
var baseid_attr = "baseid";
var visible_attr = "isvisible";




//JOADOC        : createBlockLevelTab(BlockId, noOfTabs, onTab)
//JOADOC        : @param		: BlockId			specifies the block id a particular Block Level Tab
//JOADOC        : @param		: noOfTabs			specifies the number of Block Level Tabs to be created
//JOADOC        : @param		: onTab				specifies the sequence number of the Block Level Tab to be made active
//JOADOC        : Description	: This function creates Block Level Tabs.

function createBlockLevelTab(BlockId, noOfTabs, onTab)
{
  var counter;
  var gap=100/noOfTabs;
  BlockLevelTabString=  "<table id='"+BlockId+"' cellspacing='0' cellpadding='0' border='0' width='100%'>";
  BlockLevelTabString+=  "<tr>";
  for(counter = 1; counter <= noOfTabs ; counter++)
  {
    BlockLevelTabString1 = "";
    if( onTab  == counter )
    {
      BlockLevelTabString1 = "<td><img id='"+BlockId+counter+"_l' alt='' src='"+webPath+"tabimages/blktab_left_active_bw.gif' border='0'></td> ";
      BlockLevelTabString1+= "<td width='"+gap+"%' baseid='"+BlockId+counter+"' isvisible='true'  id='"+BlockId+counter+"_m' nowrap='nowrap' background='"+webPath+"tabimages/blktab_body_active_bw.gif' class='ActiveBlk' onclick='javascript:dummy();'>";
      BlockLevelTabString1+= "<a id='"+BlockId+counter+"_a' class='Level2' ><center>joajoaBlockTabLabeljoajoa"+ counter +"&nbsp;</center></a></td>";
      BlockLevelTabString1+= "<td><img id='"+BlockId+counter+"_r' alt='' src='"+webPath+"tabimages/blktab_right_active_bw.gif' border='0'></td>";
    }
    else
    {
      BlockLevelTabString1 = "<td><img id='"+BlockId+counter+"_l' alt='' src='"+webPath+"tabimages/blktab_left_inactive_bw.gif' border='0'></td>";
      BlockLevelTabString1+= "<td width='"+gap+"%' baseid='"+BlockId+counter+"' isvisible='false'  id='"+BlockId+counter+"_m' nowrap='nowrap' background='"+webPath+"tabimages/blktab_body_inactive_bw.gif' class='InActiveBlk' onclick='javascript:dummy();'>";
      BlockLevelTabString1+= "<a id='"+BlockId+counter+"_a' class='Level2'><center>joajoaBlockTabLabeljoajoa"+ counter +"&nbsp;</center></td>";//InActiveLevel2 to Level2
      BlockLevelTabString1+= "<td><img id='"+BlockId+counter+"_r' alt='' src='"+webPath+"tabimages/blktab_right_inactive_bw.gif' border='0'></td>";
    }
    BlockLevelTabString += BlockLevelTabString1;
  }
  BlockLevelTabString+= "<td width='100%'></td>";
  BlockLevelTabString+= " </tr> ";
  BlockLevelTabString+= " </table> ";
}



//JOADOC        : setBlockLevelTab(BlockId, TabSeq, TabLabel,TabNo)
//JOADOC        : @param		: BlockId			it is used to set the Block Id of a particular Block Level Tab
//JOADOC        : @param		: TabSeq			specifies the sequence number of a tab
//JOADOC        : @param		: TabNo				it is a number unique to a particular tab
//JOADOC        : Description	: This function sets the Block Ids of the Block Level Tabs

function setBlockLevelTab(BlockId, TabSeq, TabLabel,TabNo, submitfn)
{
  var OldString = "joajoaBlockTabLabeljoajoa" + TabSeq;
  if ( TabNo == '' )
  {
  	NewString = TabLabel;
  }
  else
  {
	NewString = TabLabel;
  }
  BlockLevelTabStringNew  = BlockLevelTabString.replace(OldString, NewString);
  BlockLevelTabString     = BlockLevelTabStringNew ;
  
  var OldString = "dummy();";
  
  //added by sar
  if(submitfn!=null)
  {
  	NewString = "switchTab(this);" + submitfn+";";
  	BlockLevelTabStringNew  = BlockLevelTabString.replace(OldString, NewString);
	BlockLevelTabString     = BlockLevelTabStringNew ;
	
  }
  //end
  
}



//JOADOC        : paintBlockLevelTab()
//JOADOC        : @param		: none
//JOADOC        : Description	: This function displays the Block Level Tabs on screen.

function paintBlockLevelTab()
{
  document.write(BlockLevelTabString);
  
}



//JOADOC        : createHelpLink()
//JOADOC        : @param		: none
//JOADOC        : Description	: This function creates a table, puts the help icon in it which 
//JOADOC        : acts as a hyperlink to the Help in Global help
			
function createHelpLink()
{
  var HelpLinkString='';
  HelpLinkString+= " <table cellpadding='2' cellspacing='0' border='0' align='right'> ";
  HelpLinkString+= " <tr> ";
  HelpLinkString+= " <td><img border='0' src='"+webPath+"images/icon_mini_help.gif' ></td> ";
  HelpLinkString+= " <td><A href='#' class='globallinks'>Help</A></td> ";
  HelpLinkString+= " </tr> ";
  HelpLinkString+= " </table> ";
  HelpLinkString+= " <br/> ";
  document.write(HelpLinkString);
}



//JOADOC        : switchTab(src)
//JOADOC        : @param		: src			It is the element on which user clicked
//JOADOC        : Description	: It is used to change the visiblity state of Block Level Tabs. The Tab 
//JOADOC        : clicked by user gets activated and the Tab that was previously active gets deactivated

function switchTab(src)
{
  if (src.getAttribute(visible_attr) == "false")
  {
    // get the parent element of the source
    src_parent = src.parentNode;

    // if the element on which user clicked is hidden
    for(i = 0; i < src_parent.childNodes.length ; i++)
    {
      var  currNode = src_parent.childNodes[i];
      if (currNode.getAttribute(visible_attr) == "true")
      {
        if(!pre_switchTab(currNode))
        {
		  return;
        }
        break;
      }
    }
	
    // get the baseid attribute source element on which user clicked
    src_baseid = src.getAttribute(baseid_attr);
    
   
    //Set the tab number of the tab clicked in the form
    var len =  src_baseid.length;
    var tabNumber = src_baseid.charAt(len-1);
    if(document.forms[0].selectedTab)
    {
      document.forms[0].selectedTab.value = tabNumber;
    }
    // create the ids of the left, middle, right elements from the source's baseid attribute
    src_left = src_baseid + left_ind;
    src_middle = src_baseid + middle_ind;
    src_right = src_baseid + right_ind;
    src_content = src_baseid + content_ind;
    var	src_link = src_baseid + link_ind;
	
    // get the elements associated
    src_left_img = document.getElementById(src_left);
    src_middle_td = document.getElementById(src_middle);
    src_right_img = document.getElementById(src_right);
    var src_link_a = document.getElementById(src_link);
	
    // activate the tab that was clicked
    src_left_img.setAttribute("src", webPath+"tabimages/blktab_left_active_bw.gif");
    src_middle_td.setAttribute("background", webPath+"tabimages/blktab_body_active_bw.gif");
    src_right_img.setAttribute("src", webPath+"tabimages/blktab_right_active_bw.gif");
    
    // find the previous active tab and deactivate it
    for(i = 0; i < src_parent.childNodes.length ; i++)
    {
      var  currNode = src_parent.childNodes[i];
      if (currNode.getAttribute(visible_attr) == "true")
      {
        curr_baseid = currNode.getAttribute(baseid_attr);
        curr_left = curr_baseid + left_ind;
        curr_middle = curr_baseid + middle_ind;
        curr_right = curr_baseid + right_ind;
        curr_content = curr_baseid + content_ind;
        curr_link = curr_baseid + link_ind;
        curr_left_img = document.getElementById(curr_left);
        curr_middle_td = document.getElementById(curr_middle);
        curr_right_img = document.getElementById(curr_right);
        curr_link_a = document.getElementById(curr_link);
   
        //hideShow(curr_content);
        curr_left_img.setAttribute("src", webPath+"tabimages/blktab_left_inactive_bw.gif");
        curr_middle_td.setAttribute("background", webPath+"tabimages/blktab_body_inactive_bw.gif");
        curr_right_img.setAttribute("src", webPath+"tabimages/blktab_right_inactive_bw.gif");
        currNode.setAttribute(visible_attr, "false");
      }
    }
    src.setAttribute(visible_attr, "true");
    pre_switchTabClicked(src);
    //hideShow(src_content);
  }
}


//JOADOC        : hideShow(which)
//JOADOC        : @param		: which				The element which was clicked
//JOADOC        : Description	: This function is used to toggle the visibility state of an element 
//JOADOC        : between hide and show.

function hideShow(which)
{
  oDivToHideShow = document.getElementById(which);
  if (!oDivToHideShow)
  {
    return;
  }
  if (oDivToHideShow.style.visibility == "hidden")
  {
    oDivToHideShow.style.visibility = "visible";
  }
  else
  {
    oDivToHideShow.style.visibility = "hidden";
  }
}



//JOADOC        : pre_SwitchTab(src)
//JOADOC        : @param		: src			It is the Base Id of the visible tab
//JOADOC        : Description	: This function will be called on click of every tab where 
//JOADOC        : parameter passed is base id of visible tab.

function pre_switchTab(src)
{
  return true;
}



//JOADOC        : pre_switchTabClicked(src)
//JOADOC        : @param		: src			It is the Base Id of the tab clicked
//JOADOC        : Description	: This function will be called on click of every tab

function pre_switchTabClicked(src)
{
  return true;
}

