/**
 * Kontajner zaloziek - ID elementu <TR>.
 */
var tabsContainer = 'tC';

/**
 * Vykresli zalozku (tab).
 */
function tabsTab ( id, name )
{
	td = document.createElement( 'td' );
	td.setAttribute( 'id', 'Id__t__' + id );
	td.className = 'tabContainer';

		div = document.createElement( 'div' );
		div.setAttribute( 'id', 'Id__dt__' + id );
		div.className = 'mainTabTab';
		div.onmouseover = function ( ) { tabsToggleOn( id ); }
		div.onmouseout = function ( ) { if ( tabsAutoHide[id] == true ) tabsToggleOff( id ); }
		div.onselectstart = function ( ) { return false; }

			table = document.createElement( 'table' );
			table.setAttribute( 'id', 'Id__tdt__' + id );
			table.setAttribute( 'cellspacing', 0 );
			table.setAttribute( 'cellpadding', 0 );
 			//table.setAttribute( 'border', 1 );
			table.setAttribute( 'width', '100%' );

			tbody = document.createElement( 'tbody' );
			tbody.setAttribute( 'id', 'Id__btdt__' + id );

				itemsTr = document.createElement( 'tr' );
				itemsTr.setAttribute( 'id', 'Id__rtdt__' + id );

					itemsTd = document.createElement( 'td' );
					itemsTd.setAttribute( 'id', 'Id__trtdt__' + id );
					itemsTd.className = 'tabItemsTd';

						itemsDiv = document.createElement( 'div' );
						itemsDiv.setAttribute( 'id', 'Id__dtrtdt__' + id );
						itemsDiv.setAttribute( 'width', '100%' );
						itemsDiv.className = 'tabItemsDiv';

							itemsTable = document.createElement( 'table' );
							itemsTable.setAttribute( 'id', 'Id__tdtrtdt__' + id );
							itemsTable.setAttribute( 'cellspacing', 0 );
							itemsTable.setAttribute( 'cellpadding', 0 );
							itemsTable.setAttribute( 'width', '100%' );
 			//itemsTable.setAttribute( 'border', 1 );

							itemsTbody = document.createElement( 'tbody' );
							itemsTbody.setAttribute( 'id', 'Id__btdtrtdt__' + id );

								

	td.appendChild( div );
		div.appendChild( table );
		table.appendChild( tbody );
				capTr = document.createElement( 'tr' );
				capTr.setAttribute( 'id', 'Id__crtdt__' + id );

					capTd = document.createElement( 'td' );
					capTd.setAttribute( 'id', 'Id__dcrtdt__' + id );
					capTd.className = 'tabsHeaderContainer';

						capTable = document.createElement( 'table' );
						capTable.setAttribute( 'id', 'Id__tdcrtdt__' + id );
						capTable.setAttribute( 'cellspacing', '0' );
						capTable.setAttribute( 'cellpadding', '0' );
						capTable.setAttribute( 'border', '0' );
						capTable.setAttribute( 'width', '100%' );

						capTbody = document.createElement( 'tbody' );
						capTbody.setAttribute( 'id', 'Id__btdcrtdt__' + id );

							capLTr = document.createElement( 'tr' );
							capLTr.setAttribute( 'id', 'Id__rltdcrtdt__' + id );

								capLTdL = document.createElement( 'td' );
								capLTdL.setAttribute( 'id', 'Id__ltrltdcrtdt__' + id );
								capLTdL.className = 'tabsCornerLT';
//						capLTdL.setAttribute( 'width', '80' );
								capLTd = document.createElement( 'td' );
								capLTd.setAttribute( 'id', 'Id__dtrltdcrtdt__' + id );
								capLTd.setAttribute( 'width', '*' );
// 								capLTd.setAttribute( 'nowrap', 'nowrap' );
								capLTd.className = 'tabsCaption';

									capLTdD = document.createElement( 'div' );
									capLTdD.setAttribute( 'id', 'Id__ddtrltdcrtdt__' + id );

										if ( tabsAutoHide[id] == true )
											capLTdD.className = 'tabsToolsIcoShow';
										else
											capLTdD.className = 'tabsToolsIcoHide';

										capLTdD.onclick = function ( )
														{
															tabsAutoHide[id] = !tabsAutoHide[id];
															if ( tabsAutoHide[id] == true )
															{
																tabsToggleOn( id );
																document.getElementById( 'Id__ddtrltdcrtdt__' + id ).className = 'tabsToolsIcoShow';
																fwSetting( 'Tab_AutoHide_' + id, '1' );
															}
															else
															{
																document.getElementById( 'Id__ddtrltdcrtdt__' + id ).className = 'tabsToolsIcoHide';
																fwSetting( 'Tab_AutoHide_' + id, '0' );
															}
															if ( menuOverlap == 'onlocked' ) tabsAdjustOverlap();
														}

								capLTdR = document.createElement( 'td' );
								capLTdR.setAttribute( 'id', 'Id__rtrltdcrtdt__' + id );
								capLTdR.className = 'tabsCornerRT';

			tbody.appendChild( capTr );
				capTr.appendChild( capTd );
					capTd.appendChild( capTable );
						capTable.appendChild( capTbody );
						capTbody.appendChild( capLTr );
							capLTr.appendChild( capLTdL );
							capLTr.appendChild( capLTd );
							capLTd.appendChild( capLTdD );
								capLTdD.innerHTML = name;
							capLTr.appendChild( capLTdR );

			tbody.appendChild( itemsTr );
				itemsTr.appendChild( itemsTd );
					itemsTd.appendChild( itemsDiv );
						itemsDiv.appendChild( itemsTable );
							itemsTable.appendChild( itemsTbody );
							/*itemsTbody.appendChild( toolsTr );
								toolsTr.appendChild( toolsTd );
									if ( userSigned == true ) toolsTd.appendChild( remDiv );
									toolsTd.appendChild( shDiv );
									if ( userSigned == true ) toolsTd.appendChild( editDiv );*/

				capTr = document.createElement( 'tr' );
				capTr.setAttribute( 'id', 'Id__brtdt__' + id );

					capTd = document.createElement( 'td' );
					capTd.setAttribute( 'id', 'Id__dbrtdt__' + id );
					capTd.className = 'tabsHeaderContainer';

						capTable = document.createElement( 'table' );
						capTable.setAttribute( 'id', 'Id__tdbrtdt__' + id );
						capTable.setAttribute( 'cellspacing', '0' );
						capTable.setAttribute( 'cellpadding', '0' );
						capTable.setAttribute( 'border', '0' );
						capTable.setAttribute( 'width', '100%' );

						capTbody = document.createElement( 'tbody' );
						capTbody.setAttribute( 'id', 'Id__btdbrtdt__' + id );

							capLTr = document.createElement( 'tr' );
							capLTr.setAttribute( 'id', 'Id__rbtdbrtdt__' + id );

								capLTdL = document.createElement( 'td' );
								capLTdL.setAttribute( 'id', 'Id__ldrbtdbrtdt__' + id );
								capLTdL.className = 'tabsCornerLB';
//						capLTdL.setAttribute( 'width', '80' );
								capLTd = document.createElement( 'td' );
								capLTd.setAttribute( 'id', 'Id__bdrbtdbrtdt__' + id );
								capLTd.setAttribute( 'width', '*' );
// 								capLTd.setAttribute( 'nowrap', 'nowrap' );
								capLTd.className = 'tabsCaption';

								capLTdR = document.createElement( 'td' );
								capLTdR.setAttribute( 'id', 'Id__rbdrbtdbrtdt__' + id );
								capLTdR.className = 'tabsCornerRB';

			tbody.appendChild( capTr );
				capTr.appendChild( capTd );
					capTd.appendChild( capTable );
						capTable.appendChild( capTbody );
						capTbody.appendChild( capLTr );
							capLTr.appendChild( capLTdL );
							capLTr.appendChild( capLTd );
							capLTr.appendChild( capLTdR );
	document.getElementById( tabsContainer ).appendChild( td );

}

/**
 * Vykresli do tabu polozku.
 */
function tabsItem ( tabid, id, name )
{
	tr = document.createElement( 'tr' );
	tr.setAttribute( 'id', 'Id__i__' + id );

		td = document.createElement( 'td' );
		td.setAttribute( 'id', 'Id__ti__' + id );
		td.setAttribute( 'nowrap', 'nowrap' );
		td.className = 'tabsItemTd';

			div = document.createElement( 'div' );
			div.setAttribute( 'id', 'Id__dti__' + id );
			div.setAttribute( 'nowrap', true );
			div.className = 'tabsItemDiv';

			switch ( channelSwitching )
			{
				case 'onclick':
				break;

				case 'onover':
				default:
					div.onmouseover = function ( ) { platesShow( id ); allowOff = true; }
					div.onmouseout = function ( ) { if (allowOff) platesShow(platesClicked); }
				break;
			}

			div.onclick = function ( ) { platesClick( tabid,id ); }

	tr.appendChild( td );
		td.appendChild( div );
			div.innerHTML = name;

	document.getElementById( 'Id__btdtrtdt__' + tabid ).appendChild( tr );
}

/**
 * Vykresli do tabu nastrojov polozku.
 */
function tabsToolsItem ( tabid, id, name, style, location )
{
	var tr = document.createElement( 'tr' );
	tr.setAttribute( 'id', 'Id__i__' + id );

		var td = document.createElement( 'td' );
		td.setAttribute( 'id', 'Id__ti__' + id );
		td.setAttribute( 'nowrap', true );
		td.className = 'tabsItemTd';

			var div = document.createElement( 'div' );
			div.setAttribute( 'id', 'Id__dti__' + id );
			div.setAttribute( 'nowrap', true );
			div.className = 'tabsItemDiv ' + style;
			div.onclick = function () { window.location = location; };

	tr.appendChild( td );
		td.appendChild( div );
			div.innerHTML = name;

	document.getElementById( 'Id__btdtrtdt__' + tabid ).appendChild( tr );
}

/**
 * Draw separator in tools tab.
 */
function tabsToolsSeparator ( tabid )
{
	var tr = document.createElement( 'tr' );
	tr.setAttribute( 'id', 'Id__i__separator' + tabid );

		td = document.createElement( 'td' );
		td.setAttribute( 'id', 'Id__ti__separator' + tabid );
		td.setAttribute( 'nowrap', true );
		td.className = 'toolsSeparator';

			div = document.createElement( 'div' );
			div.setAttribute( 'id', 'Id__dti__separator' + tabid );
			div.setAttribute( 'nowrap', true );
			div.className = 'toolsSeparator';
// 			div.onclick = function () { window.location = location; };

	tr.appendChild( td );
		td.appendChild( div );

	document.getElementById( 'Id__btdtrtdt__' + tabid ).appendChild( tr );
}

/*
 * Colorize tab of tools.
 */
function tabsToolsColorize ( tabid )
{
// 	document.getElementById( 'Id__titdtrtdt__' + tabid ).style.height = '4px';
	document.getElementById( 'Id__dtrltdcrtdt__' + tabid ).className = 'tabsToolsCaption';
	document.getElementById( 'Id__ltrltdcrtdt__' + tabid ).className = 'tabsToolsLT';
	document.getElementById( 'Id__rtrltdcrtdt__' + tabid ).className = 'tabsToolsRT';
	document.getElementById( 'Id__trtdt__' + tabid ).className = 'tabsToolsBg';

	document.getElementById( 'Id__ldrbtdbrtdt__' + tabid ).className = 'tabsToolsLB';
	document.getElementById( 'Id__bdrbtdbrtdt__' + tabid ).className = 'tabsToolsB';
	document.getElementById( 'Id__rbdrbtdbrtdt__' + tabid ).className = 'tabsToolsRB';
	document.getElementById( 'Id__dtrtdt__' + tabid ).className = 'tabToolsItemsDiv';
}

/**
 * Uprava sirky tabu po naplneni a doplnenie ikon nastrojov.
 */
function tabsTabDone ( id, edAddr, remAddr, question )
{
	toolsTr = document.createElement( 'tr' );
	toolsTr.setAttribute( 'id', 'Id__itdtrtdt__' + id );

		toolsTd = document.createElement( 'td' );
		toolsTd.setAttribute( 'id', 'Id__titdtrtdt__' + id );
		toolsTd.className = 'tabsIcons';

	toolsTr.appendChild( toolsTd );

		if ( userSigned == true )
		{
			if ( remAddr != '' )
			{
				remDiv = document.createElement( 'div' );
				remDiv.setAttribute( 'id', 'Id__dhtitdtrtdt__' + id );
				remDiv.className = 'tabsToolsIco tabsToolsIcoRemove';
				remDiv.onclick = function ( ) { if (confirm( question ) ) { window.location.href = remAddr; } }

				toolsTd.appendChild( remDiv );
			}

			if ( edAddr != '' )
			{
				editDiv = document.createElement( 'div' );
				editDiv.setAttribute( 'id', 'Id__etitdtrtdt__' + id );
				editDiv.className = 'tabsToolsIco tabsToolsIcoEdit';
				editDiv.onclick = function ( ) { window.location.href = edAddr; }

				toolsTd.appendChild( editDiv );
			}
		}

	document.getElementById( 'Id__btdtrtdt__' + id ).appendChild( toolsTr );

	var width = Math.round( document.getElementById( 'Id__dtrtdt__' + id ).offsetWidth * 1.1 );
	document.getElementById( 'Id__trtdt__' + id ).style.width =  ( width ) + 'px';

	var height = document.getElementById( 'Id__tdt__' + id ).offsetHeight;

	if ( height > spacerSize ) spacerSize = height;

	disableSelection( document.getElementById( 'tC' ));
}

/**
 * Zobrazi zalozku.
 */
function tabsToggleOn( id )
{
	el = document.getElementById( 'Id__dtrtdt__' + id );
	if ( el )
	{
		el.style.visibility = 'visible';
		el.style.display = 'block';
	}
}

/**
 * Skryje zalozku.
 */
function tabsToggleOff ( id )
{
	el = document.getElementById( 'Id__dtrtdt__' + id );
	if ( el )
	{
// 		document.getElementById( 'Id__trtdt__' + id ).width =  el.offsetWidth + 'px'; 
		el.style.visibility = 'hidden';
		el.style.display='none';
	}
}

function tabsColorize( newTabId )
{
	document.getElementById( 'Id__dtrltdcrtdt__' + tabsMarked ).className = 'tabsCaption';
	document.getElementById( 'Id__ltrltdcrtdt__' + tabsMarked ).className = 'tabsCornerLT';
	document.getElementById( 'Id__rtrltdcrtdt__' + tabsMarked ).className = 'tabsCornerRT';
	document.getElementById( 'Id__trtdt__' + tabsMarked ).className = 'tabItemsTd';
	document.getElementById( 'Id__ldrbtdbrtdt__' + tabsMarked ).className = 'tabsCornerLB';
	document.getElementById( 'Id__bdrbtdbrtdt__' + tabsMarked ).className = 'tabsCaption';
	document.getElementById( 'Id__rbdrbtdbrtdt__' + tabsMarked ).className = 'tabsCornerRB';
// 	document.getElementById( 'Id__titdtrtdt__' + tabsMarked ).className = 'tabsIcons';
// 		td.setAttribute( 'id', 'Id__ti__' + id );

	document.getElementById( 'Id__titdtrtdt__' + tabsMarked ).className = 'tabsIcons';
	document.getElementById( 'Id__dtrtdt__' + tabsMarked ).className = 'tabItemsDiv';

// 	if ( tabsMarked != newTabId )
		for ( i=0; i<ftTabItems[tabsMarked].length; i++)
		{
			document.getElementById( 'Id__dti__' + ftTabItems[tabsMarked][i] ).className = 'tabsItemDiv';
			document.getElementById( 'Id__ti__' +  ftTabItems[tabsMarked][i] ).className = 'tabsItemTd';
	
		}

	tabsMarked = newTabId;

	document.getElementById( 'Id__dtrltdcrtdt__' + tabsMarked ).className = 'tabsCaption tabsCaptionSel';
	document.getElementById( 'Id__ltrltdcrtdt__' + tabsMarked ).className = 'tabsCornerLT tabsCornerLTSel';
	document.getElementById( 'Id__rtrltdcrtdt__' + tabsMarked ).className = 'tabsCornerRT tabsCornerRTSel';
// 	document.getElementById( 'Id__trtdt__' + tabsMarked ).className = 'isTd isTd_sel';
	document.getElementById( 'Id__trtdt__' + tabsMarked ).className = 'tabItemsTdSel';
	document.getElementById( 'Id__titdtrtdt__' + tabsMarked ).className = 'tabsIcons tabsIconsSel';
	document.getElementById( 'Id__dtrtdt__' + tabsMarked ).className = 'tabItemsDivSel';


	for ( i=0; i<ftTabItems[newTabId].length; i++)
	{
// 		document.getElementById( 'Id__trtdt__' + tabsMarked ).className = 'isTd isTd_sel';
		
		document.getElementById( 'Id__dti__' + ftTabItems[newTabId][i] ).className = 'tabsItemDiv tabsItemDivSel';
		document.getElementById( 'Id__ti__' +  ftTabItems[newTabId][i] ).className = 'tabsItemTd';
	}

	document.getElementById( 'Id__ldrbtdbrtdt__' + tabsMarked ).className = 'tabsCornerLB tabsCornerLBSel';
	document.getElementById( 'Id__bdrbtdbrtdt__' + tabsMarked ).className = 'tabsCaption tabsCaptionSel';
	document.getElementById( 'Id__rbdrbtdbrtdt__' + tabsMarked ).className = 'tabsCornerRB tabsCornerRBSel';

// 	document.getElementById( 'Id__titdtrtdt__' + tabsMarked ).className = 'iIcons iIcons_sel';
}

function tabsMark( id, plateid )
{
	tabsColorize( id );
// 	document.getElementById( 'Id__dti__' + platesClicked ).className = 'iTdD';
// 	document.getElementById( 'Id__ti__' + platesClicked ).className = 'iTd';
	
	platesClicked = /*'Id__p__' + */plateid;
	
	document.getElementById( 'Id__dti__' + platesClicked ).className = 'tabsItemDiv tabsItemDivMark';
	document.getElementById( 'Id__ti__' + platesClicked ).className = 'tabsItemTd';
	fwSetting( 'FrontTab', id );
	fwSetting( 'FrontPlate', plateid );
}

/*
 * Toggle visibility of element. This method should be used only in tabedit form.
 */
function toggleEl ( id )
{
	el = document.getElementById( id );

	if ( el.style.visibility == 'hidden' )
	{
		el.style.width = ( el.parentNode.offsetWidth - 20 ) + 'px';
		el.style.visibility = 'visible';
		el.style.display = 'inline'; 
	}
	else
	{
		el.style.visibility = 'hidden';
		el.style.display = 'none';
	}
}

/*
 * Vrati pocet tabov, ktore sa automaticky neskryvaju.
 */
function tabsNotAutohidden ( )
{
	var counter = 0;
	for ( var i in tabsAutoHide )
	{
		if ( tabsAutoHide[i] == false ) counter++;
	}
	return counter;
}

/*
 * Manazment prekryvania.
 */
function tabsAdjustOverlap ( )
{
// 	alert(menuOverlap);
	switch ( menuOverlap )
	{
		case 'always':
			document.getElementById( 'uiSpacer' ).style.height = defaultSpacerSize + 'px';
		break;

		case 'onlocked':
			if ( tabsNotAutohidden( ) > 0 )
				document.getElementById( 'uiSpacer' ).style.height = spacerSize + 'px';
			else
				document.getElementById( 'uiSpacer' ).style.height = defaultSpacerSize + 'px';
		break;

		default:
		case 'never':
			document.getElementById( 'uiSpacer' ).style.height = spacerSize + 'px';
		break;
	}
}
