/*
 * @file ft.js
 *
 * Routines for FastTrack feature and its Ui.
 *
 * @author giorno
 */


/*
 * Toggle mode of the FastTrack.
 */
function ftToggleMode ( id )
{
	document.getElementById( 'ftSwL4' ).className = 'ftSwitch';
	document.getElementById( 'ftSwH8' ).className = 'ftSwitch';
	document.getElementById( 'ftSwLW' ).className = 'ftSwitch';
	document.getElementById( 'ftSwLV' ).className = 'ftSwitch';

	document.getElementById( id ).className = 'ftSwitchSel';
	fwSetting( 'ftMode', id );
	ftMode = id;
	ftUpdateAll( );
}

/*
 * Prepne zobrazenie/skrytie jednej polozky vo FastTrack.
 */
function ftToggleItem ( id )
{
	var el = document.getElementById( 'fastTrack_' + id );
// 
	if ( el )
	{
		if ( el.style.visibility == 'visible' )
		{
			el.style.visibility = 'hidden';
			el.style.display = 'none';
			document.getElementById( 'ftItemToggler_' + id ).className = 'tabsToolsIco ftIco ftIcoDown';
		}
		else
		{
			el.style.visibility = 'visible';
			el.style.display = 'block';
			document.getElementById( 'ftItemToggler_' + id ).className = 'tabsToolsIco ftIco ftIcoUp';
		}
	}
}

/*
 * Odstrani polozku zo zoznamu a z UI.
 */
function ftRemoveItem ( tid, id )
{
	ftItems[id] = false;

	el = document.getElementById( 'fastTrackIC' );
	el.removeChild( document.getElementById( 'fastTrackCapLine_' + id ) );
	el.removeChild( document.getElementById( 'fastTrack_' + id ) );

	/*
	 * vykonat zmenu v db
	 */
	var sender = new Ajax.Request( './ajaxdispatcher.php',
									{
										method: 'post',
										parameters: 'frag=disableft&tid=' + tid + '&id=' + id
									}
								);
}

/*
 * Obnovi obsah vsetkych fragmentov FastTrack.
 */
function ftUpdateAll ( )
{
	for ( i in ftItems )
		if ( ( i > 0 ) && ( ftItems[i] == true ) )
			ftUpdate( i );
}

/*
 * Chanel update for FastTrack widget.
 */
function ftUpdate ( id )
{
	if ( ( ftItems[id] != true ) ) return;

	new Ajax.Updater( 'fastTrack_' + id, './ajaxdispatcher.php',
								{
									//asynchronous: false,
									method: 'post',
									parameters: 'frag=fasttrack&id=' + id + '&mode=' + ftMode,
									onFailure: function ( ) { /*platesSync( id );*/ },
									onSuccess: function ( )
												{
													/*
													 * zobrazi polozku po nacitani
													 */
													var el = document.getElementById( 'fastTrack_' + id );
													el.style.visibility = 'visible';
													el.style.display = 'block';
													document.getElementById( 'ftItemToggler_' + id ).className = 'tabsToolsIco ftIco ftIcoUp';
												}
								}

							);
}

/*
 * Vrati true, ak sa urlid nachadza v poli ftItems.
 */
function ftHasUrlId ( urlid )
{
	for ( i=0; i<ftItems.length; i++)
	{
		if ( ftItems[i] == urlid ) return true;
	}
	return false;
}
