#!/usr/bin/perl
# ----------------------------------------------------------------------------
#
#  (c) Copyright 2006 TradeExtender
# 
#  This software is proprietary to and embodies the confidential technology 
#  of TradeExtender. Possession, use, duplication or dissemination of the 
#  software and media is authorized only pursuant to a valid written license 
#  from TradeExtender.
#

use strict;
use lib "/var/www/vhosts/kantelpunten.com/httpdocs/pl/lib";
use lib "lib";
BEGIN {
    delete $INC{"Kantelpunten/Helper.pm"};
    delete $INC{"Kantelpunten/Process.pm"};
#    delete $INC{"Kantelpunten/IntraDay.pm"};
    delete $INC{"Kantelpunten/MyRobots.pm"};
    delete $INC{"Kantelpunten/MyAdds.pm"};
    delete $INC{"Kantelpunten/MyContent.pm"};
    delete $INC{"Kantelpunten/MyBudy.pm"};
    delete $INC{"Kantelpunten/Kantelpunt.pm"};
    delete $INC{"Kantelpunten/News.pm"};
#    delete $INC{"Kantelpunten/MyCache.pm"};
#    delete $INC{"Kantelpunten/MyTask.pm"};
}
use Kantelpunten::Helper;
use Kantelpunten::Process;
use Kantelpunten::MyRobots;
use Kantelpunten::MyBudy;
use Kantelpunten::MyAdds;
use Kantelpunten::IntraDay;
use Kantelpunten::Kantelpunt;
use Kantelpunten::News;
use Kantelpunten::MyTask;
#use Data::Dumper;

local our $param   = undef;
local our $page    = undef;
local our $options = undef;
local our $is_old  = 0;
local our $is_advies = 0;

show_stock();
exit(0);

sub show_stock()
{
	my $q = CGI->new;
		
	$param->{stock} 	= $q->param('stock');
	$param->{rb} 		= $q->param('rb');			# depricated
	$param->{format} 	= $q->param('format');
	$param->{layout} 	= $q->param('layout');
	$param->{graph} 	= $q->param('graph');

	my $remote_ip = init_helper();
	my $rb = get_robot();
	set_robot($rb);
	
	init_process();
	init_intraday();
	init_news();
	get_user_rec();
	$param->{budy} = init_budy($q->param('uitleg'));
	
	my $format;
	if (defined($param->{format}))
	{
		$format = 0 if ($param->{format} eq 'text');
		if ($param->{format} eq 'table')
		{
			only_allowed_for_registered_users();
			$format = 1;
		}
	}
	
	my $layout;
	if (defined($param->{layout}))
	{
		$layout = 2 if ($param->{layout} eq 'grafieken');
		if ($param->{layout} eq 'adviezen')
		{
			only_allowed_for_registered_users();
			$layout = 0;
		}
	} 
	
	my $graph;
	if (defined($param->{graph}))
	{
		$graph = 0 if ($param->{graph} eq 'candles');
#		if ($param->{graph} eq 'incl_scan')
#		{
#			only_allowed_for_registered_users();
#			$graph = 4;
#		}
	} 
	$graph = 0;		# currently force to no 3 scan for big graphic

	my $old_options = set_options();
	$options = $old_options;
	# reset options which was already set
	if (($options & 0x7) && !is_logged_in())
	{
		$options = $options & 0xf8;
	}
	if (!($options & 0x2) && !is_logged_in())
	{
		$options = $options | 0x02;
	}
	$options = $options & 0xfe | $format if (defined($format) && defined($options) && (($options & 0x1) != $format));
	$options = $options & 0xfd | $layout if (defined($layout) && defined($options) && (($options & 0x2) != $layout));
	$options = $options & 0xfb | $graph  if (defined($graph)  && defined($options) && (($options & 0x4) != $graph));
	$options = $options | 0x02;		# no layout change accepted
	if ($options != $old_options)
	{
		set_options($options);
		write_user_rec();
	}
	 
	if (!defined($param->{stock}))
	{
    	print_error_doc("Geen aandeel geselecteerd.");
    	exit(0);
	}
	my $stock = get_stock($param->{stock}, "old");
	if (!defined($stock))
	{
    	print_error_doc($param->{stock} . "<br>Dit aandeel wordt niet ondersteund");
    	exit(0);
	}

	$is_old = is_old_stock($stock);
	
	# robot was defined redirect permanently for cleaning up old serahc engines
	if (defined($param->{rb}) ||
		($rb && ($param->{stock} =~ /^-?[\d]+(\.\d*)?$/)) )
	{
		my $add = "?stock=$stock->{stock}";
		$add .= "&format=$param->{format}" if (defined($param->{format}));
		$add .= "&layout=$param->{layout}" if (defined($param->{layout}));
		$add .= "&graph=$param->{graph}" if (defined($param->{graph}));
		print_redirect("/pl/ShowStock.pl$add", "301");
		exit(0);
	}
	

	$page = $stock->{id};
	add_last_page_cookie($page);
	write_access_data($remote_ip, $page);

	make_html($stock);
}
    
sub make_html(@)
{
    my ($stock) = @_;
    my $data = get_quote_data($stock->{id});
	my $blink;
#	my $upd = "parent.update.location=\"http://www.kantelpunten.com/pl/Update.pl?stock=$stock->{stock}\"";
	my $upd = "/pl/Update.pl?stock=$stock->{stock}";
#	$upd = undef if (!is_inside_delayed_stock_hours());
	
  	if (defined($data) && ($data->{state} == 1)) 
    {
	    $blink = <<EndOfText;
function blinkStock()
{
	setInterval('doIt()',1000);
}
var blinky = 0;
function doIt(){
	if (document.getElementById('blink').style.visibility == "hidden") {
		document.getElementById('blink').style.visibility = "visible";
	} else {
		if (blinky++ > 3) {
			blinky = 0;
			document.getElementById('blink').style.visibility = "hidden";
		}
	}
}
EndOfText
	}
	$is_advies = is_adviespunt($data);

    my $script = make_home_script($page, undef, $blink);

  	# use the task manager to update, we will create the task to do it. The update will be done by the updater
#	if (!is_weekend() && is_inside_delayed_stock_hours())
#	{
#		add_task(undef, 'intra', $stock->{id}, $stock->{stock}); 
#	}
    
	my $title = "Kantelpunten : Informatie $stock->{index_name} - Grafieken, beleggen, adviezen, tips en handige links.";
	my $desc  = "Deze pagina bevat alle informatie van $stock->{index_name}. Een handig overzicht van" .
		" grafieken, nieuwsberichten en onze adviezen voor de actieve belegger. $stock->{comment}";
	

    my $pop_menu = make_pop_menu(1, $page, "stock", $stock);
    my $top_menu = make_top_menu(1, $page, "stock", $stock);

    print_header("+1m");
    print_pre_doc();
    print_head($title, undef, undef, $stock->{html_name}, $script, "aandeel", $is_advies ? $stock->{market} : "noadv", undef, $desc, undef, "top_script");
    print_body($stock->{market}, defined($blink) ? "blinkStock()" : undef, undef, undef, undef, undef, undef, "kader", undef, $pop_menu, $top_menu);
    my $ref = "ShowStock.pl?";
    $ref .= "uitleg=" . ($param->{budy} ? '0' : '1');
    $ref .= "&stock=$param->{stock}" if (defined($param->{stock}));
    print_budy($param->{budy}, "0000", $ref);
    make_stock($stock, $data);
    print <<EndOfText if (defined($upd));
<iframe name="stock_update" height="1px" width="100%" target="hoofd" src="$upd" scrolling="no" frameborder="0">
</iframe>
EndOfText
    print_body("end_kader");
    print_post_doc();
}

sub make_stock(@)
{
    my ($stock, $data) = @_;

    # randomize the options (base on seconds for none registered users)
#    if (!is_logged_in())
#    {
#	    $options = time() % 600;
#	    $options = 7 if ($options > 7);
#    }
	if ($is_old)	# old stock has a fixed format
	{
		$options = 0x01;
	}
    my $img;
    my $id = $stock->{id};
    if (defined($data))
    {
         $img = make_midi_pie_img($stock->{stock}, $stock->{cur_idx}, $data, 'ref');
#         $img = make_smart_scan_img($id, $data);
    }
    my $what  = (1 || !defined($options) || !($options & 0x1)) ? 3 : 0;
  	my $table = get_kantelpunten_table($stock, $data, undef, get_months_ago(3, $is_old ? $data->{quote_last} : undef), $what);
  	my $header = get_status_header();
  	my $kheader = get_trend_header($data);
  	my $theader = get_trade_header($data);

  	my $news = read_stock_news(undef, $stock->{stock}, 20);
  	my $news_table;
  	if (defined($news))
  	{
	  	my $oude = "ShowNews.pl?stock=" . $stock->{stock};
	  	$news_table = get_news_table($news, 1, undef, "70%", undef, undef, undef, $oude, time()-21*3600*24);
  	}
  	
    my $intra_data = read_all_intra_data($id);
  	
    print "<div align=\"center\" id=\"top\">\n";
    print "<br>\n";
#	print_banner_ads("main_banner", $stock->{market}, undef, 2) if (show_adds());
	print "<br>\n";
	
	my $adds_graph;
	$adds_graph = int(rand(4)) if (show_adds("aandeel_grafiek"));
    my $heading = sprintf "%s ( %s )", $stock->{html_name}, uc $stock->{market};
    print_heading($heading, $stock->{comment}, $img);
    print "<br>";
    print "<br>$theader" if (!$is_old);
	print_banner_ads("aandeel_midden", "$stock->{market}", 1) if (show_adds("aandeel_advies"));
    print "<br>" if (!$is_old);
#	print_our_graph($stock, 'scan', "/pl/ShowMain.pl?page=20077", "Klik voor informatie over de trendgrafiek.") if (!$is_old);
    my $refrt = sprintf "/pl/ShowMain.pl?page=33%03d&idx=%d", $stock->{id}, get_cur_stock_idx();
    my $ref = sprintf "/pl/ShowMain.pl?page=37%03d&idx=%d", $stock->{id}, get_cur_stock_idx();
    if (!$is_old)
    {
        print "<table align=\"center\"><tr>\n";
        print "<td width=\"80px\">&nbsp;</td><td>\n";
	    print_our_graph($stock, 'mbb', $ref, "Klik voor interactieve intraday informatie.");
        print "</td><td width=\"80px\" class=\"left\" style=\"vertical-align:middle; line-height: 1.5;\">\n";
        print "  <a href=\"$refrt\" title=\"Klik voor interactieve intraday informatie.\"><small>Koers&nbsp;Real&nbsp;Time</small></a><br>\n";
        print "  <a href=\"$ref\" title=\"Klik voor interactieve intraday informatie.\"><small>Overzicht&nbsp;5&nbsp;dagen</small></a>\n";
	    print "</td></tr></table>\n";
    }
    print "<br>$news_table\n" if (defined($news_table));
    print "<br>" if (!defined($news_table));
    print "<br>$kheader" if (!$is_old);
    print "<br>$header";
#	print_banner_ads("main_banner", "$stock->{market}", 1, 1) if (show_adds("aandeel_nieuws"));
	
    if (0 && !is_logged_in())
    {
	    print <<EndOfText;
<br>
<div style="text-align: center;">
<table border="0" cellpadding="0" cellspacing="0" width="65%" align="center" style="font-size: 14px; font-family: verdana;">
 <tbody>
 <tr>
 <td class="regi l_white"><small><b>Wilt u weten hoe u <a href="/pl/ShowMain.pl?page=20106" title="Lees hier meer over deze functiontionaliteit">permanent de layout</a> kunt wijzigen.</small></b></td>
 <td class="regi"><a class="help" href="/pl/ShowMain.pl?page=20106" title="Lees hier meer over deze functiontionaliteit"></td>
 <td class="regi" width="5%">&nbsp;</td>
 </tr>
 </tbody>
</table>
EndOfText
    }
    
    if ($options & 0x02)
    {
		print_block_ref_2graphs($stock, $data, $intra_data, $id, $adds_graph);
    	print_banner_ads("aandeel_midden", "$stock->{market}", 0, 1) if (show_adds("aandeel_advies"));
    	print_advies($stock, $data, $intra_data, $id, $table, undef);
		print_candle_graph($stock, $data, $intra_data, $id, $table, $adds_graph);
	}
	else
    {
    	print_advies($stock, $data, $intra_data, $id, $table, undef);
		print_block_ref_2graphs($stock, $data, $intra_data, $id, $adds_graph);
    	print_banner_ads("aandeel_midden", "$stock->{market}", 0, 1) if (show_adds("aandeel_advies"));
		print_candle_graph($stock, $data, $intra_data, $id, $table, $adds_graph);
	}

    print "<small><br></small>\n";
	print info_block();
    print "<small><br></small>\n";
#    print disclaimer();	

	if (!$is_old)
	{
  		$table = get_kantelpunten_table($stock, $data, undef, get_2years_ago($data->{quote_last}), 2);
  		print $table;
	    print "<small><br></small>\n";
    }	
    
    if (0 && !$is_old)
    {
	    print "<small><br></small>\n";
	    my $layout;
    	$layout = "adviezen" if ($options & 0x2);
	    $layout = "grafieken" if (!($options & 0x2));
    	my $graph;
	    my $graph_text;
    	$graph_text = $graph = "candles" if ($options & 0x04);
		$graph_text = "$graph.";
    	$graph = "incl_scan" if (!($options & 0x04));
	    $graph_text = "incl. scan." if (!($options & 0x04));
	    print <<EndOfText;
<span><small><small>
<i>U kunt de layout van deze pagina wijzigen : <a href="/pl/ShowStock.pl?stock=$stock->{stock}&layout=$layout" rel="nofollow">$layout bovenin.</a></i><br>
</small></small></span>
EndOfText
#<i>U kunt de layout van de 3-maands grafiek aanpassen : <a href="/pl/ShowStock.pl?stock=$stock->{stock}&graph=$graph" rel="nofollow">$graph_text</a></i>
	}
    print_voet_start();
    my @extra;
    push @extra, "belegger_klein" if ($stock->{belegger} ne "");
    push @extra, "bduivel_klein" if ($stock->{bduivel} ne "");
    print_ads("yahoo_klein", (@extra));
    print_empty_lines(1, 0);
    print_div("end");
}
    
sub print_5day_graph(@)
{
	my ($stock, $data, $id) = @_;

	if ($stock->{tick_sym} ne "")
	{
	    my $intra_data = read_all_intra_data($id);
    	if (defined($intra_data) && defined($intra_data->{$id}))
    	{
	    	print_5days_graph($stock->{stock}, $data, (($intra_data->{$id}->{next_try} < time()) ? 'update' : undef));
    	}
    	else
    	{
	    	print_5days_graph($stock->{stock}, $data);
    	}
    }
    else
    {
	   	print_analytical_graph($stock->{stock}, $stock->{bchart_symb}, $stock->{bchart_sid}, "Yearly", $stock->{our_data});   
   	}
}
sub print_block_ref_2graphs(@)
{
	my ($stock, $data, $intra_data, $id) = @_;
	
	print "<div id=\"info\" align=\"center\"><br><br>\n";
#    print_ref2($stock);
#    print "<small><br><br></small>\n";
    if (!$is_old)
    {
    	print_our_graph($stock, 'scanm', "/pl/ShowMain.pl?page=20077", "Klik voor informatie over de trendgrafiek.", undef, undef, undef, "noline");
    	print_space(2);
    	print_analytical_graph($stock->{stock}, $stock->{bchart_symb}, $stock->{bchart_sid}, "Weekly", $stock->{our_data}, undef, 1);
#  	 	print_analytical_graph($stock->{stock}, $stock->{bchart_symb}, $stock->{bchart_sid}, "Quarterly", $stock->{our_data});
#	    print_our_graph($stock, 'bb', "/pl/ShowMain.pl?page=20077", "Klik voor informatie over de trendgrafiek.");
#		print_our_graph($stock, 'bb');
#		This is the old 5day graph
#		print_5day_graph($stock, $data, $id);
	}
	else
	{
   		print_analytical_graph($stock->{stock}, $stock->{bchart_symb}, $stock->{bchart_sid}, "Yearly", $stock->{our_data});   
    	print_space(2);
    	print_analytical_graph($stock->{stock}, $stock->{bchart_symb}, $stock->{bchart_sid}, "Weekly", $stock->{our_data}, undef, 1);
	}
    print "<small><br><br></small>\n";
    print_ref1($stock);
    print_google_search("aandeel", $stock->{market});
    print_empty_lines(1, 0);
    print "</div>\n"; 
}

sub print_advies(@)
{
	my ($stock, $data, $intra_data, $id, $table, $header) = @_;
	
	
    print "<br id=\"advies\">\n";
    print "$header\n" if (defined($header));
	if (0 && !$is_old)
	{
		my $text = <<EndOfText;
<span><small><small class="dblack">
<br>
Buy? signalen moeten aan bijkomende voorwaarden voldoen, voor ze "Direct Advies" worden.<br>
<br>
</small></small></span>
EndOfText
		$text = "";		# voorlopig geen extra tekst
		if (show_adds("aandeel_scan"))
		{
	   	    my $left = ((rand(100) > 50) ? 0 : 1);
		    print_table(0, undef, 0, 0, 0, undef, "95%", "center");
			print "<tr>\n";
		    if ($left)
		    {
			    print "<td width=\"30%\"><div align=\"center\">\n";
			    print_banner_ads("aandeel_beide", $stock->{market});
		    	print "</div></td>\n";
		    }
			print "<td width=\"70%\"><div align=\"center\">\n";
			print_our_graph($stock, 'scan', "/pl/ShowMain.pl?page=20077", "Klik voor informatie over de trendgrafiek.");
			print $text;
		    print "</div></td>\n";
			if (!$left)
			{
				print "<td width=\"30%\"><div align=\"center\">\n";
	    		print_banner_ads("aandeel_beide", $stock->{market});
		    	print "</div></td>\n";
    		}
    		print "</tr></tbody></table>\n";
		}
		else
		{
			print_our_graph($stock, 'scan', "/pl/ShowMain.pl?page=20077", "Klik voor informatie over de trendgrafiek.");
			print $text;
		}
	    print "<br>\n";
	}
	
    print_table(0, undef, 0, 0, 0, undef, "100%");
    print "<tr>\n";

    # left buttons
    print " <td width=\"10%\" valign=\"top\" align=\"center\">\n";
    print_div("center");
    if (1 || $is_old)
    {
	    print "&nbsp;\n";
    }
    else
    {   
	    print_buttons(undef, $page, 'homepage');
    	print "<br>\n";
    	my $favorites = set_favorites();
    	print_buttons($stock->{stock}, undef, ((substr($favorites, $id, 1) eq "0") ? 'fav_add' : 'fav_del'));
	}
    print_div("end");
    print " </td>\n";

    # center graphic
  	print " <td width=\"80%\">\n";
    print_div("center");
    if ($table ne "")
    {
	    print $table;
	    if (0 && !$is_old && defined($stock->{bk_id}) && ($stock->{bk_id} ne ""))
	    {
		    print <<EndOfText;
<small><small><br></small></small>
<table width="100%"><tbody>
<tr><td class="odd">
<span><small><small class="black"><br>Wat vinden <a href="/pl/ShowMain.pl?page=10085" target="_blank">beurskenners</a> van $stock->{index_name} ?<br>
<iframe style="width:468px;height:120px;border:none;" frameborder="0" src="http://www.beurskenners.nl/extern/adviezen.aspx?affiliate=kantelpunten&backgroundcolor=%23C8E1FA&header_backgroundcolor=%23A6E1D8&header_fontcolor=%23000000&header_fontsize=13&text_backgroundcolor=%23C8E1FA&text_fontcolor=%23000000&text_fontsize=12&link_fontcolor=%23000000&nFondsID=$stock->{bk_id}"></iframe>
<br><br>
</small></small></span>
</td></tr>
</table>
EndOfText
		}
	}
	else
	{
		print_our_graph($stock, 'kantelg', "/pl/ShowMain.pl?page=20075", "Klik voor informatie over onze grafieken", 
							($options & 0x04) ? 1 : undef,
							(($intra_data->{$id}->{next_try} < time()) ? 'update' : undef),
							($is_old ? $data->{quote_last} : undef) );
	}
#	elsif (defined($stock->{bchart_symb}) && ($stock->{bchart_symb} ne ""))
#	{
#    	print interim_heading($stock->{html_name}, "3 maanden", 'dblack');
#    	print_big_graph($stock, $stock->{bchart_symb}, $stock->{bchart_sid}, 
#        	            $stock->{bchart_sedol}, "month");
#	}
   	print_div("end");
    print " </td>\n";
    
    # right buttons    
    print " <td width=\"10%\" valign=\"top\" align=\"center\">\n";
    print_div("center");   
    print "&nbsp;\n";
#    print_buttons($stock->{stock}, undef, 'kantel');
#    print "<br>\n";
#    print_buttons($stock->{stock}, undef, 'nieuws', (($stock->{tick_sym} ne "") ? 'intraday' : undef), 'quotes', 'analyse');
#    print "<br>\n";    
#	my $ktitle = sprintf("%d juist van de %d adviezen.\n        Klik voor details.", $data->{num_ok}, $data->{num_ok}+$data->{num_nok});
#    print_pie_graph('small', $data->{num_ok}, $data->{num_nok}, $ktitle, $stock->{market}, 
#    				"ShowKantelpunten.pl?stock=$stock->{stock}");
    print_div("end");
    print " </td>\n";
    print "</tr>\n";
    print_table(0, "end");
}

sub print_candle_graph(@)
{
	my ($stock, $data, $intra_data, $id, $table, $adds) = @_;
	
#    if (($table ne "") && defined($stock->{bchart_symb}) && ($stock->{bchart_symb} ne ""))
#    {
#	    print interim_heading($stock->{html_name}, "3 maanden", 'dblack');
#    	print_big_graph($stock, $stock->{bchart_symb}, $stock->{bchart_sid}, 
#        	            $stock->{bchart_sedol}, "month", 1);
# 	 }
    if ($table ne "")
    {
	    print "<small><br id=\"grafiek\"></small>\n";
		print_our_graph($stock, 'kantelg', "/pl/ShowQuotes.pl?stock=$stock->{stock}", "Toon de volume-onderschepper.",
						($options & 0x04) ? 1 : undef,
						(($intra_data->{$id}->{next_try} < time()) ? 'update' : undef),
						($is_old ? $data->{quote_last} : undef) );
#		if (is_super_user() && defined($stock->{bchart_symb}) && ($stock->{bchart_symb} ne ""))
#		{
#	    	print interim_heading($stock->{html_name}, "3 maanden", 'dblack');
#	    	print_big_graph($stock, $stock->{bchart_symb}, $stock->{bchart_sid}, 
#        	            $stock->{bchart_sedol}, "month");
#		}	
	}

#    print interim_heading("<br><br>" . $stock->{html_name}, "Laatste maand met volumes", 'dblack');
#    print_big_graph($stock, $stock->{bchart_symb}, $stock->{bchart_sid}, 
#                    $stock->{bchart_sedol}, "volume", 1);
#    print_newline(0, 1, 0);
#	print_banner_ads("aandeel_midden", "$stock->{market}", 1, 1) if (show_adds("aandeel_advies"));
	print_banner_ads("aandeel_midden", "$stock->{market}", 1) if (show_adds("aandeel_advies"));
	if (($stock->{tick_sym} ne "") && (!$is_old))
	{
	    print "<br><br>\n";
		if (defined($adds))		# we always have to do something if adds enabled
		{
			if (($adds == 0) || ($adds == 1))		# show the 2year graph first
			{
		    	print_analytical_graph($stock->{stock}, $stock->{bchart_symb}, $stock->{bchart_sid}, "Weekly", $stock->{our_data}, undef, 1);
    			print_space(2);
	    		print_analytical_graph($stock->{stock}, $stock->{bchart_symb}, $stock->{bchart_sid}, "Yearly", $stock->{our_data});   
			}
			elsif ($adds == 2)
			{
			    print_banner_ads("aandeel_grafiek", $stock->{market});
		    	print_space(2);
	    		print_analytical_graph($stock->{stock}, $stock->{bchart_symb}, $stock->{bchart_sid}, "Yearly", $stock->{our_data});   
			}
			else
			{
	    		print_analytical_graph($stock->{stock}, $stock->{bchart_symb}, $stock->{bchart_sid}, "Yearly", $stock->{our_data});   
		    	print_space(2);
			    print_banner_ads("aandeel_grafiek", $stock->{market});
			}
		}
		else
		{
	    	print interim_heading(undef, "Overzicht van de laatste jaren", 'dblack') if (!$stock->{our_data});
    		print_analytical_graph($stock->{stock}, $stock->{bchart_symb}, $stock->{bchart_sid}, "Yearly", $stock->{our_data});   
		}
	} 
}

sub print_heading(@)
{
    my ($heading, $comment, $img) = @_;
    
    printf "\n<!-- heading for %s -->\n", $heading;
    print  "<span style=\"color: rgb(51, 51, 51); font-family: verdana;\">\n";
    if (defined($img))
    {
	    print "<table><tr>";
	    print "<td><small style=\"font-weight: bold;\"><big><big>$heading<br></big></big></small></td>";
	    print "<td>&nbsp;&nbsp;</td>";
	    print "<td>$img</td>";
	    print "</tr></table>\n";
    }
    else
    {
	    printf " <small style=\"font-weight: bold;\"><big><big>%s<br></big></big></small>\n", $heading;
    }
    print  "</span>\n";
    print  "<span style=\"font-family: verdana;\" id=\"smallblue\">\n";
    printf " <small>%s</small>\n", $comment;
    print  "</span>\n";
}
            
sub print_ref1(@)
{
    my ($stock, $adds) = @_;

    return;         # never show, is shown in the menu.     
    return if ($is_old);
    
    if (!defined($adds) || (($adds != 0) && ($adds != 1)))
    {
    	print_link_unit("aandeel", $stock->{market}, undef, 1) if (show_adds("aandeel_link"));
	}
    print  "<span id=\"smallblue\">\n";
    print  " <small>\n";
    print  "  <span style=\"font-family: verdana;\">\n";
    print  "   <span style=\"font-weight: bold; color: rgb(51, 51, 51);\">\n";
    printf "    <a href=\"ShowMain.pl?page=30%03d&idx=%d\" rel=\"nofollow\">Bedrijf</a>\n", $stock->{id}, get_cur_stock_idx();
    print  "    &nbsp;&nbsp;&nbsp;\n";
    printf "    <a href=\"ShowMain.pl?page=31%03d&idx=%d\" rel=\"nofollow\">Winst</a>\n", $stock->{id}, get_cur_stock_idx();
    print  "    &nbsp;&nbsp;&nbsp;\n"; 
    printf "    <a href=\"ShowMain.pl?page=32%03d&idx=%d\" rel=\"nofollow\">Website</a>\n", $stock->{id}, get_cur_stock_idx();
    print  "    &nbsp;&nbsp;&nbsp;\n";
    if ($stock->{kalender} ne "")
    {
        printf "  <a href=\"ShowMain.pl?page=40%03d&idx=%d\" rel=\"nofollow\">Kalender</a>\n", $stock->{id}, get_cur_stock_idx();
    }
    else
    {
        print  "Kalender\n";
    }
    print  "    &nbsp;&nbsp;&nbsp;\n";
    printf "    <a href=\"ShowMain.pl?page=36%03d&idx=%d\" rel=\"nofollow\">Nieuws</a>\n", $stock->{id}, get_cur_stock_idx();
    print  "    &nbsp;&nbsp;&nbsp;\n"; 
    printf "    <a href=\"ShowMain.pl?page=33%03d&idx=%d\" rel=\"nofollow\">Koers</a>\n", $stock->{id}, get_cur_stock_idx();
    print  "    &nbsp;&nbsp;&nbsp;\n";
    printf "    <a href=\"ShowMain.pl?page=39%03d&idx=%d\" rel=\"nofollow\">Advies</a>\n", $stock->{id}, get_cur_stock_idx();
    print  "    &nbsp;&nbsp;&nbsp;\n";
    if ($stock->{dft_forum} ne "")
    {
        printf "  <a href=\"ShowMain.pl?page=38%03d&idx=%d\" rel=\"nofollow\">Forum</a>\n", $stock->{id}, get_cur_stock_idx();
    }
    else
    {
        print "Forum\n";
    }
	# RT removed as SNS does not give RT anymore
	if (0)
	{
    print  "    &nbsp;&nbsp;&nbsp;\n";
    my $rt = 0;
    if ($stock->{sns_fc} ne "")
    {
        my $refresh = set_refreshday();
        if (defined($refresh))
        {
            my @loc_time = localtime(time());
            if ($refresh != (@loc_time[7] + 1))
            {
                $rt = 1;
                if ($refresh != 0)
                {
                    set_refreshday(0);
                    write_user_rec();
                }
            }
        }
        else
        {
            $rt = 1;
        }
    }
    if ($rt != 0)
    {
        printf "    <a href=\"ShowMain.pl?page=35%03d&idx=%d\" rel=\"nofollow\">Koers RT</a>\n", $stock->{id}, get_cur_stock_idx();
    }
    else
    {
        print  "Koers RT\n";
    }
	}
    print  "   </span>\n";
    print_newline(3, 2, 6);
    print  "  </span>\n";
    print  " </small>\n";
    print  "</span>\n";
}

sub print_ref2(@)
{
    my ($stock, $adds) = @_;
    
    return if ($is_old);

    print  "<span style=\"color: rgb(51, 51, 51); font-family: verdana;\">\n";
    print  " <small style=\"font-weight: bold;\">\n";
    printf "  <a href=\"ShowMain.pl?page=37%03d&idx=%d\" rel=\"nofollow\">Intraday + actieve vergelijkig met de laatste 5 dagen.</a>\n", $stock->{id}, get_cur_stock_idx();
    print  " </small>\n";
    print  "</span>\n";
    if (!defined($adds) || (($adds != 0) && ($adds != 1)))
    {
	    print_link_unit("aandeel", $stock->{market}, undef, 1) if (show_adds("aandeel_link"));
    }
}

sub info_block(@)
{
	return "";
	
	my $text = "";
    my $yes = "<span class=\"bg_green\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>";
	$text  = "<br><small><small><span class=\"bold\">\n";
    $text .= "\"$yes\"<br>\n";
    $text .= "We beschouwen een kantelpunt pas geslaagd  vanaf +1 % winst.<br>\n";
    $text .= "Winsten tussen de 0.01 % en 0.99 % rekenen wij bij de foute handelingen.<br>\n";
    $text .= "Geteld vanaf onze trigger.<br>\n";
    $text .= "<br>\n";
    $text .= "\"&nbsp;Max%&nbsp;\"<br>\n";
    $text .= "<span class=\"red\">Dit is niet het rendement tussen kooptrigger en stoploss.</span><br>\n";
    $text .= "Dit is de hoogste % winst  die mogelijk was. Geteld vanaf onze trigger.<br>\n";
    $text .= "Aan deze prijzen werden aandelen verhandeld.<br>\n";
    $text .= "<br>\n";
    $text .= "Geslaagde stoplossen krijgen de groene kleur. Lager inkopen is winst.<br>\n";
    my $twee = "<span class=\"red\">verdubbeld</span>";
    $text .= "Wanneer terug op Uw oude verkoopprijs bent, is Uw winst $twee !<a href=\"../pl/ShowMain.pl?page=10016\" target=\"hoofd\">Voorbeeld.</a><br>\n";
    $text .= "<br>\n";
    $text .= "\"&nbsp;Days#&nbsp;\"<br>\n";
    $text .= "Aantal kalenderdagen tussen trigger/stoploss en \"&nbsp;Max%&nbsp;\".<br>\n";
    $text .= "Het aantal beursdagen is dus sowieso vaak minder.<br>\n";
    $text .= "De dag van de trigger rekenen we als eerste dag ( en niet als dag 0 ).<br>\n";
	$text .= "</span></small></small>\n";
	return $text;
}
