/**
 * Save setting to server.
 */
function fwSetting ( key, val )
{
	if ( userSigned == true )
	{
		var sender = new Ajax.Request( './ajaxdispatcher.php',
										{
											method: 'post',
											parameters: 'frag=sett&key=' + key + '&val=' + val
										}
									);
	}
}

/*
 * Toggle "visited" flag on link.
 */
function fwToggleLinkVisited ( address, caption, id )
{
	if ( userSigned == true )
	{
		el = document.getElementById( 'lricon_' + caption );
		if ( el.className == 'mainLinkRead' )
			var frag = 'visited';
		else
			var frag = 'unvisited';

		var sender = new Ajax.Request( './ajaxdispatcher.php',
										{
											method: 'post',
											parameters: 'frag=' + frag + '&link=' + address,
											onSuccess: function ( data )
												{
													if ( data.responseText.length > 0 )
													{
														switch ( data.responseText.charAt( 0 ) )
														{
															case '1':
																document.getElementById( caption ).className = 'mainRssFeedLink mainRssFeedLinkVisited';
																document.getElementById( 'lricon_' + caption ).className = 'mainLinkReaded';
															break;

															case '0':
																document.getElementById( caption ).className = 'mainRssFeedLink';
																document.getElementById( 'lricon_' + caption ).className = 'mainLinkRead';
															break;
														}

														ftUpdate( id );
													}
													/*else
														alert( data.responseText.length );*/
												}
										}
									);
	}
}

/*
 * Callback for processing onMouseUp event.
 */
function fwMouseUp( e, address, caption, id )
{
	if ( userSigned == true )
	{
		if ( ( clickedDown == address ) && ( e.button != 2 ) )
		{
			var el = document.getElementById( 'lricon_' + caption );
			if ( el && ( el.className == 'mainLinkRead' ) )
				fwToggleLinkVisited( address, caption, id );
		}
	}
	clickedDown = '';
}

/*
 * Toggle "stared" flag on link.
 */
function fwToggleStar ( address, caption )
{
	if ( userSigned == true )
	{
		el = document.getElementById( 'lsicon_' + caption );
		if ( el.className == 'mainLinkRank' )
			var frag = 'star';
		else
			var frag = 'unstar';

		var sender = new Ajax.Request( './ajaxdispatcher.php',
										{
											method: 'post',
											parameters: 'frag=' + frag + '&link=' + address,
											onSuccess: function ( data )
												{
													if ( data.responseText.length > 0 )
														switch ( data.responseText.charAt( 0 ) )
														{
															case '1':
																document.getElementById( 'lsicon_' + caption ).className = 'mainLinkRanked';
															break;

															case '0':
																document.getElementById( 'lsicon_' + caption ).className = 'mainLinkRank';
															break;
														}
												}
										}
									);
	}
}

/*
 * Toggles visibility of element with given id by value of giver variable.
 * Required e.g. in tabeditfrm.
 */
function fwToggleVisibility ( id, variable)
{
	el = document.getElementById( id );
	if ( el )
	{
		if ( variable === true )
		{
			el.style.visibility = 'visible';
			el.style.display = 'block';
		}
		else
		{
			el.style.visibility = 'hidden';
			el.style.display = 'none';
		}
	}
}

/*
 * Toggles ability (disable/enable) of element with given id by value of giver variable.
 * Required e.g. in tabeditfrm.
 */
function fwToggleAbility ( id, variable)
{
	el = document.getElementById( id );
	if ( el )
	{
		if ( variable === true )
		{
			el.disabled = false;
		}
		else
		{
			el.disabled = true;
		}
	}
}
