Become Member  Informations Help

> Finance & Stock Exchange > Forex > FX

FOREX-Contrasting data gives euro upper hand vs dlr

Reuters: [2008-05-16 13:13:00]

(Changes byline, updates prices, adds quotes)

By Veronica Brown

LONDON, May 16 (Reuters) - The dollar drifted down versus the euro on Friday, pressured by the contrast between Thursday's weak U.S. jobs and manufacturing data and forecast-beating growth figures from the euro zone.

The U.S. data injected a hint of doubt into market expectations that the Federal Reserve's aggressive cycle of interest rate cuts is over.

Further clues on the depth of the U.S. economic slowdown will come on Friday from April housing starts and building permits numbers at 1230 GMT and the May Reuters/University of Michigan consumer sentiment index at 1355 GMT. All three measures are seen weaker.

By contrast, Thursday's strong first-quarter growth figures from Germany and France boosted the euro as they highlighted the relative strength of the European economy compared with the United States.

The dollar also slipped versus the yen after Japanese data showed growth of 0.8 percent in the first three months of this year, above market expectations for a 0.6 percent increase [ID:nT210001].

Credit Suisse currency strategist Adam Myers said that while there were rising expectations that Europe's economy would slow, the problems in the U.S. were far from over.

"I'm very much in the camp where I think the dollar will probably weaken further from here. Europe is not going to be anywhere as badly affected with a continuing slowdown in the real economy as the U.S. is," he said.

"Europe will slow down but its slowdown is not going to have the same impact on financial markets and lending and therefore consumers than it will in the U.S."

By 1032 GMT the euro was 0.1 percent higher at $1.5470 <EUR=>. Against the yen the euro rose to 162.04 yen <EURJPY=>. The dollar was flat at 104.75 yen, having earlier fallen to 104.16.

MORE BAD NEWS?

The dollar index, which tracks the greenback's performance against a basket of major currencies was a touch weaker at 73.298, trimming earlier losses <.DXY>.

The index hit a two-month high of 73.895 last week thanks to steady gains in U.S. stocks, rising U.S. bond yields and a growing view that the worst of the credit crisis may be over.

However, the improved confidence in the U.S. economy has taken a slight knock this week with a smaller than expected rise in U.S. consumer prices.

Data on Thursday showed the number of workers claiming unemployment benefit hit a four-year high while factory activity was weak in the U.S. mid-Atlantic and in New York state [ID:nN15515443].

"(Friday's) U.S. economic news is unlikely to offer much better news; April housing starts and building permits are set to remain weak whilst Michigan confidence will fall further despite already dropping to multi-year lows," Calyon said in a note.

"The market interest to re-establish positions in EUR/USD remains limited at present. Nonetheless, weaker data today could see euro push back towards the top of the range towards $1.56."

Elsewhere, Iceland's central bank struck a deal with its counterparts in Sweden, Norway and Denmark allowing it to buy euros with Icelandic crowns, giving the island's beleaguered currency a strong boost [ID:nL16579130].

The crown surged 4.5 percent against the euro <EURISK=>.

Analysts said the bank was thought to be talking to other central banks about possible further measures.

(Reporting by Veronica Brown; Editing by Ian Jones)

((RM:veronica.brown.reuters.com@reuters.net; Tel: +44 207 542 6745))

Currency bid prices at 1057 GMT.  All data taken from Reuters 
with percent change calculated from the daily U.S. 
close at 2130 GMT. 
 
                       Last     US Close  % Chg   YTD %   2007 
                                15 May.                   Close 
                       ----------------------------------------- 
 Euro/dlr   <EUR=>     1.5456   1.5443   +0.08    +5.94   1.4589 
 Dlr/yen    <JPY=>     104.76   104.68   +0.08    -5.90   111.33 
 Euro/yen   <EURJPY=>  161.92   161.61   +0.19    -0.38   162.53 
 Dlr/swiss  <CHF=>     1.0566   1.0567   -0.01    -6.78   1.1335 
 Stg/dlr    <GBP=>     1.9476   1.9475   +0.01    -1.87   1.9847 
 Dlr/cad    <CAD=>     1.0006   0.9994   +0.12    +0.42   0.9964 
 Aus/dlr    <AUD=>     0.9447   0.9396   +0.54    +7.88   0.8757 
 NZD/Dlr    <NZD=>     0.7671   0.7628   +0.56    +0.07   0.7666 
 Euro/swiss <EURCHF=>  1.6328   1.6314   +0.09    -1.28   1.6539 
 Euro/stg   <EURGBP=>  0.7933   0.7928   +0.06    +7.95   0.7349 
 Euro/sek   <EURSEK=>  9.3370   9.3178   +0.21    -0.99   9.4304 
 Dlr/Nok    <NOK=>     5.0884   5.0931   -0.09    -6.37   5.4347 
Latest forex developments <FXNEWS>    
 All forex news ... [FRX]  Debt...[DBT] Indicators...[ECI] 
 Currency reports.. [USD/] [DLR/BLOC] 
                    [GBP/] [AUD/] [NZD/] [CAD/] 
 All spots  <FX=> 
 Tokyo spots <AFX=> 
 Europe spots <EFX=> 
 Volatilities <FXVOL> 
 Tokyo Forex market info from BOJ <TKYFX> 
 World central bank news [CEN] 
 Economic Forecasts...<ECON>   Official rates...[INT/RATE] 
 Forex Diary.......[MI/DIARY]   Top events........[M/DIARY] 
 Diaries...........[DIARY] Diaries Index........[IND/DIARY] 
 Press Digests....[PRESS]  Polls on G7 economies..[SURVEY/] 
  

FOREX-Data contrast knocks dollar vs euro, yen

Reuters: [2008-05-16 09:59:00]

(Changes dateline, byline, updates prices, adds quotes)

By Toni Vorobyova

LONDON, May 16 (Reuters) - The dollar eased versus the yen and the euro on Friday, pressured by the contrast between signs of a deteriorating U.S. jobs and manufacturing picture with forecast-beating growth figures from the euro zone and Japan.

The weak U.S. data on Thursday cast a shadow of doubt on market expectations that the Federal Reserve's aggressive cycle of interest rate cuts is over.

Further clues on the depth of the U.S. economic slowdown will come from April housing starts and building permits numbers at 1230 GMT and the May Reuters/University of Michigan consumer sentiment index at 1355 GMT. All three measures are seen weaker.

In contrast, Japanese data showed quarterly economic growth of 0.8 percent in the first three months of this year, above market expectations for a 0.6 percent increase [ID:nT210001].

That gave an annualised rise of 3.3 percent -- compared to just 0.6 percent in the United States in the same period.

"The Japanese GDP numbers released overnight were really, really good ... absolutely exceeding the U.S. growth in the same period," said John Hydeskov, senior FX analyst at Danske Markets in Copenhagen.

"The yen should strengthen against the U.S. dollar in the coming months ... because we still think that we are about to see some really bad business indicators out of the U.S. and more bad housing data, and also due to the fact that the Japanese economy is not looking as bad as feared by some market participants."

By 0740 GMT, the dollar was down a third of a percent at 104.34 yen <JPY=>.

The euro was 0.2 percent higher at $1.5471 <EUR=>. Against the yen, the single European currency eased a touch to 161.44 yen <EURJPY=>.

Strong first-quarter growth in Germany and France helped support the euro as the data highlighted the relative strength of the European economy compared with that of the United States.

Traders said currency moves were accentuated by thin market conditions.

"I think (the market is) so scrappy as no one wants to play," said a trader in London.

MORE BAD NEWS?

The dollar index, which tracks the greenback's performance against a basket of major currencies, fell 0.2 percent to 73.191 <.DXY>.

The index hit a two-month high of 73.895 last week thanks to steady gains in U.S. stocks, rising U.S. bond yields and a growing view that the worst of the credit crisis may be over.

However, the improved confidence in the U.S. economy was slightly shaken on Thursday after data showed the number of workers claiming unemployment benefit hit a four-year high while factory activity was weak in the U.S. mid-Atlantic and in New York state [ID:nN15515443].

"Today's U.S. economic news is unlikely to offer much better news; April housing starts and building permits are set to remain weak whilst Michigan confidence will fall further despite already dropping to multi-year lows," Calyon said in a note.

"The market interest to re-establish positions in EUR/USD remains limited at present. Nonetheless, weaker data today could see euro push back towards the top of the range towards $1.56." (Editing by Stephen Nisbet) ((antonina.vorobyova@reuters.com; Tel: +44207 542 7958, Reuters Messaging: antonina.vorobyova.reuters.com@reuters.net))

FOREX-Euro rises on strong German GDP, gains trimmed

Reuters: [2008-05-15 13:31:00]

(Changes byline, updates prices, adds quotes)

By Simon Falush

LONDON, May 15 (Reuters) - The euro strengthened on Thursday after Germany reported its strongest quarterly growth in 12 years but gains were muted as investors focused on likely slower growth ahead.

German gross domestic product expanded by 1.5 percent quarter-on-quarter in January-March, far exceeding forecasts and highlighting how much Germany has been buttressing the overall euro zone economy [nL15339192].

Along with a stronger-than-expected reading of French GDP growth, this helped the overall euro zone GDP figure for May increase by a stronger-than-expected 0.7 percent for the quarter [nL15156909].

However, the euro pared gains as some investors had expected an even stronger euro zone figure after the German gains came in so high.

"The German number really knocked the ball out of the park and given the sheer scale of the increase it's surprising there was not a bigger kick for the overall euro zone number," said Jeremy Stretch, strategist at Rabobank.

At the same time, figures showed that annual inflation in the euro zone was 3.3 percent in April, below March's record 3.6 percent, suggesting the possibility that inflation pressures may have peaked.

While the regional economy remains on firm ground for now, the Munich-based Ifo research institute's euro region economic climate index worsened to a five-year low in the second quarter, suggesting a slowing economy in coming months[ID:nBEB002089].

"The outlook from here is fairly negative and the lagged effects of slowing growth in the U.S. and the credit crunch are likely to be felt in the euro zone," said Jeremy Stretch, strategist at Rabobank.

The euro climbed as high as $1.5547 <EUR=> after the German data but pared gains to trade up 0.1 percent at $1.5495 by 1111 GMT as investors proved underwhelmed by the euro zone-wide data.

Sterling pulled away from a near three-month low against the dollar after UK Prime Minister Gordon Brown said that he hoped the Bank of England could cut interest rates, a move seen helping the ailing UK economy. (For details please double click on [nL15491507]).

Sterling was steady at $1.9453 <GBP=>, recovering from the day's low and off the low of $1.9363 since late February hit on Wednesday.

The dollar was little changed at 104.95 yen <JPY=>.

ECB ON HOLD

Growth in the euro zone through April has vindicated the European Central Bank's decision to hold interest rates at 4 percent despite nagging inflation risks, analysts said.

"A lot of the people were concerned that the ECB may be worried about an inflation problem that was not as bad as expected. But to be quite honest, the ECB has been right and the market has been wrong," said Steve Barrow, chief currency strategist at Bear Stearns.

The euro has retreated from a record high against the dollar hit last month on expectations that a slowdown in regional growth would require the ECB to cut rates some time this year.

Analysts were cautious in getting too optimistic about Thursday's figures, and some see much harder times ahead for the euro zone as the region's economy feels the pinch of an ongoing global slowdown.

"Looking ahead, we think that no euro-area country will be immune to the downturn," said analysts at Lehman Brothers in a research note. "We thus expect signs of a substantial cooling of activity growth to come through in the Q2 GDP data."

The dollar has been supported by market expectations for the Federal Reserve to pause lowering U.S. interest rates and to start raising them later in the year as the central bank focuses on the threat from inflationary pressures. <FEDWATCH>

San Francisco Fed President Janet Yellen said on Wednesday that rates had "come way down" in recent months, and with inflation looming the central bank's key lending rate had probably been cut enough for now despite risks to growth [ID:nN14515957].

Investors will eye U.S. jobless and manufacturing data at 1230 GMT for further clues on the prospects for monetary policy. (Additional reporting by Naomi Tajitsu) (Editing by David Christian-Edwards)

((simon.falush@reuters.com. +44 20 7542 7681) Reuters Messaging: simon.falush.reuters.com@reuters.net))

Keywords: MARKETS FOREX

 Currency bid prices at 1105 GMT.  All data taken from Reuters 
with percent change calculated from the daily U.S. 
close at 2130 GMT. 
 
                       Last     US Close  % Chg   YTD %   2007 
                                14 May.                   Close 
                       ----------------------------------------- 
 Euro/dlr   <EUR=>     1.5497   1.5475   +0.14    +6.22   1.4589 
 Dlr/yen    <JPY=>     104.96   105.04   -0.08    -5.72   111.33 
 Euro/yen   <EURJPY=>  162.66   162.58   +0.05    +0.08   162.53 
 Dlr/swiss  <CHF=>     1.0537   1.0543   -0.06    -7.04   1.1335 
 Stg/dlr    <GBP=>     1.9436   1.9465   -0.15    -2.07   1.9847 
 Dlr/cad    <CAD=>     1.0018   1.0029   -0.11    +0.54   0.9964 
 Aus/dlr    <AUD=>     0.9356   0.9339   +0.18    +6.84   0.8757 
 NZD/Dlr    <NZD=>     0.7556   0.7606   -0.66    -1.43   0.7666 
 Euro/swiss <EURCHF=>  1.6331   1.6319   +0.07    -1.26   1.6539 
 Euro/stg   <EURGBP=>  0.7972   0.7948   +0.30    +8.48   0.7349 
 Euro/sek   <EURSEK=>  9.3295   9.3085   +0.23    -1.07   9.4304 
 Dlr/Nok    <NOK=>     5.0784   5.0765   +0.04    -6.56   5.4347 
  
 Latest forex developments <FXNEWS>    
 All forex news ... [FRX]  Debt...[DBT] Indicators...[ECI] 
 Currency reports.. [USD/] [DLR/BLOC] 
                    [GBP/] [AUD/] [NZD/] [CAD/] 
 All spots  <FX=> 
 Tokyo spots <AFX=> 
 Europe spots <EFX=> 
 Volatilities <FXVOL> 
 Tokyo Forex market info from BOJ <TKYFX> 
 World central bank news [CEN] 
 Economic Forecasts...<ECON>   Official rates...[INT/RATE] 
 Forex Diary.......[MI/DIARY]   Top events........[M/DIARY] 
 Diaries...........[DIARY] Diaries Index........[IND/DIARY] 
 Press Digests....[PRESS]  Polls on G7 economies..[SURVEY/] 
 
  

FOREX-Euro climbs, strong German GDP supports

Reuters: [2008-05-15 10:23:00]

(Changes dateline, byline, releads, updates prices, adds quote)

By Naomi Tajitsu

LONDON, May 15 (Reuters) - The euro jumped on Thursday after a surge in German economic growth to its fastest pace in 12 years and strong French GDP data, suggesting euro zone economies have held up well in the face of a global slowdown.

Sterling pulled away from a near three-month low against the dollar after UK Prime Minister Gordon Brown said that he hoped the Bank of England could cut interest rates, a move seen helping the ailing UK economy. (For details please double click on [nL15491507]).

German GDP expanded 1.5 percent quarter-on-quarter in the first three months of the year, far exceeding forecasts of a 0.7 percent reading and highlighting the extent to which Germany has been buttressing the overall euro zone economy [nL15339192].

Along with a stronger-than-expected reading of French GDP growth, analysts said Wednesday's figures were helping the euro to recover after it fell to a two-month low last week.

"The figures suggest that things are better in the euro zone than expected, and this has pushed the euro back up into the driver's seat," said Steve Barrow, chief currency strategist at Bear Stearns.

Given the strong national figures, market participants said that a reading of first quarter euro zone growth due at 0900 GMT was likely to be strong, which could further support the common European currency.

The flash estimate is expected to show that growth picked up to 0.5 percent quarter-on quarter from 0.4 percent in the previous three months, while the annual rate of growth is seen slowing to 1.9 percent from 2.2 percent.

The euro climbed 0.4 percent to $1.5535 <EUR=>, pulling further away from a two-month low of $1.5284 last week.

Sterling traded 0.1 percent higher at $1.9490 <GBP=>, recovering from the day's low and pushing back from $1.9363 hit on Wednesday for the first time since late February.

The euro's gains weighed on the dollar, pushing it down 0.3 percent to 104.70 yen <JPY=>.

ECB ON HOLD

Analysts said that Thursday's strong growth data suggested that the European Central Bank has been correct in holding off from cutting interest rates due to persistent inflation risks, as economies in the region remain firm.

The euro has retreated from a record high against the dollar hit last month on expectations that a slowdown in regional growth would require the ECB to cut rates some time this year.

"(The data) supports what the ECB has been doing with respect to policy," Bear Stearns' Barrow said. "A lot of the people were concerned that the ECB may be worried about an inflation problem that was not as bad as expected. But to be quite honest, the ECB has been right and the market has been wrong."

The dollar has been supported by market expectations for the Federal Reserve to pause lowering U.S. interest rates and to start raising them later in the year as the central bank focuses on the threat from inflationary pressures. <FEDWATCH>

San Francisco Fed President Janet Yellen said on Wednesday that rates have "come way down" in recent months, and with inflation looming the central bank's key lending rate has probably been cut enough for now, despite risks to growth. [ID:nN14515957]

(Editing by David Stamp)

((naomi.tajitsu@reuters.com; Tel: +44207 542 5830, Reuters Messaging: naomi.tajitsu.reuters.com@reuters.net))

FOREX-Euro boosted vs dlr after German GDP data

Reuters: [2008-05-15 08:53:00]

LONDON, May 15 (Reuters) - The euro got a shot in the arm on Thursday after German GDP growth leapt to a 12-year high, bucking a trend of poor economic data, and placing focus on growth data for the whole common currency zone due at 0900 GMT.

German gross domestic product (GDP) expanded 1.5 percent quarter-on-quarter in the first three months of 2008, the strongest growth since 1996, the Federal Statistics Office said.

The increase, which was adjusted for seasonal, calendar and price effects, followed expansion of 0.3 percent in the final quarter of 2007, and far outstripped analysts' expectations.

Analysts said a further upside surprise from the euro zone data later would help to support the euro further, but the lift was likely to be temporary when set against a run of recent poor economic data.

"Euro zone GDP will likely be a bit stronger than people had expected, but in the end the GDP numbers are lagging. Markets are forward-looking these days and investors will still look at what the ECB will do in the future due to inflation concerns," a Europe-based trader said. "We will see a bit of a boost in the euro, but I think it will be short-lived."

By 0644 GMT, the euro was up 0.3 percent on the day at $1.5526 <EUR=>, but the common currency is still down some 3 percent from record highs struck last month above $1.60.

(Reporting by Veronica Brown and Naomi Tajitsu; Editing by David Stamp)

((RM:veronica.brown.reuters.com@reuters.net; Tel: +44 207 542 6745))

Keywords: MARKETS FOREX

Next: FOREX-Dollar gains before US CPI, sterling slumps
<s:event b:on="construct"> <s:script> htmlContent = document.getElementById('HtmlContent'); htmlContent.style.display='none'; </s:script> <s:task b:action="show" /> </s:event> <s:execute> <s:task b:action="js" b:value="GetInstrument('Start')" /> </s:execute> <div style="display:none;" xmlns="http://www.w3.org/1999/xhtml" xmlns:b="http://www.backbase.com/b" xmlns:s="http://www.backbase.com/s" xmlns:trad="http://www.TradingNews.com/trad" > <s:variable b:name="LOC_SearchLabel" b:select="'Recherche'" b:scope="global" /> <s:variable b:name="LOC_MenuMiminize" b:select="'Minimize/Restore'" b:scope="global" /> <s:variable b:name="LOC_MenuClose" b:select="'Fermé'" b:scope="global" /> <s:variable b:name="TRAD_MAX_TAB_COUNT" b:select="'5'" b:scope="global" /> <s:variable b:name="TRAD_MAX_COL_COUNT" b:select="'15'" b:scope="global" /> <s:variable b:name="TRAD_MAX_WIN_COUNT" b:select="'60'" b:scope="global" /> <s:variable b:name="TRAD_MAX_COL_WIDTH" b:select="'2'" b:scope="global" /> <s:variable b:name="TRAD_COL_WIDTH" b:select="'192'" b:scope="global" /> <s:variable b:name="TRAD_COL_MARGIN" b:select="'2'" b:scope="global" /> <s:variable b:name="TRAD_REFRESH_RATE" b:select="'5000'" b:scope="global" /> <s:variable b:name="TRAD_QUOTE_TYPE" b:select="'100'" b:scope="global" /> <s:variable b:name="TRAD_QUOTE_LIST" b:select="'101'" b:scope="global" /> <s:variable b:name="TRAD_INDEX_LIST_TYPE" b:select="'102'" b:scope="global" /> <s:variable b:name="TRAD_CHART_TYPE" b:select="'300'" b:scope="global" /> <s:variable b:name="TRAD_CHART_INTRA" b:select="'310'" b:scope="global" /> <s:variable b:name="TRAD_CHART_INTER_5J" b:select="'301'" b:scope="global" /> <s:variable b:name="TRAD_CHART_INTER_3M" b:select="'302'" b:scope="global" /> <s:variable b:name="TRAD_CHART_INTER_12M" b:select="'304'" b:scope="global" /> <s:variable b:name="TRAD_NEWS_HEADLINE_TYPE" b:select="'400'" b:scope="global" /> <s:variable b:name="TRAD_NEWS_BODY_TYPE" b:select="'401'" b:scope="global" /> <s:variable b:name="TRAD_NEWS_DEFAULT_PARAM" b:select="'DIV+IPO+OR+STX+OR+MRG+OR+RES+OR+FRX+OR'" b:scope="global" /> <s:variable b:name="TRAD_NEWS_DEFAULT_NAME" b:select="'NEWS'" b:scope="global" /> <s:variable b:name="TRAD_ANALYSE_HEADLINE_TYPE" b:select="'299'" b:scope="global" /> <s:variable b:name="TRAD_FOREX_TYPE" b:select="'500'" b:scope="global" /> <s:variable b:name="TRAD_DUMMY_TARGET" b:scope="global" /> <s:behavior b:name="trad-inst-list-behavior" > <!-- <s:event b:on="receive"> <s:script> var currInst = bpc.getBXMLAttribute('b:instrument', _current); list_height = bpc.getSize(document.getElementById('list_table_' + currInst))['h']; quote_height = bpc.getSize(document.getElementById('quote_table_' + currInst))['h']; windowHtml = document.getElementById(currInst); windowHtml.style.height = (list_height + quote_height + 65) + "px"; </s:script> </s:event> --> </s:behavior> <s:behavior b:name="search-item-behavior"> <s:event b:on="mouseenter"> <s:setstyle b:background-color="#cccccc" /> <s:variable b:name="searchlistfocus" b:scope="global" b:select="1" /> </s:event> <s:event b:on="mouseleave"> <s:setstyle b:background-color="#eeeeee" /> <s:variable b:name="searchlistfocus" b:scope="global" b:select="0" /> </s:event> <s:event b:on="click"> <s:task b:action="set" b:target="//input[@name='query']/@value" b:value="{@b:instrument}" /> <s:task b:action="trigger" b:event="command" b:target="//trad:search-button" b:usebeahvior="trad-search-button" /> </s:event> </s:behavior> <s:behavior b:name="trad-inst-item-behavior" > <s:event b:on="click"> <s:if b:test="count(//b:deck/div[@b:state='selected']//trad:window) &lt; $TRAD_MAX_WIN_COUNT" > <s:variable b:name="CURR_INST" b:select="@b:instrument" b:test="exists(@b:instrument)" /> <s:variable b:name="CURR_INST" b:select="./text()" b:test="not(exists(@b:instrument))" /> <s:choose> <s:when b:test="not(exists(//trad:window[@name=$CURR_INST]))" > <s:render b:destination="id('trad-deck')/div[@b:state='selected']/trad:column[1]/trad:column-header" b:mode="after" > <trad:window id="{$CURR_INST}" name="{$CURR_INST}" trad:MainType = "{@type}"/> </s:render> </s:when> <s:otherwise> <s:task b:action="select" b:target="//trad:window[@name=$CURR_INST]" /> </s:otherwise> </s:choose> </s:if> <s:task b:action="trigger" b:event="do-close" b:target="//trad:popup-window" /> </s:event> </s:behavior> <s:behavior b:name="trad-inst-news-behavior" > <s:event b:on="pourRien"> <s:script> var currInst = bpc.getBXMLAttribute('b:instrument', _current); list_height = bpc.getSize(document.getElementById('list_table_' + currInst))['h']; quote_height = bpc.getSize(document.getElementById('quote_table_' + currInst))['h']; windowHtml = document.getElementById(currInst); windowHtml.style.height = (list_height + quote_height + 65) + "px"; </s:script> </s:event> </s:behavior> <s:behavior b:name="trad-inst-chart-behavior" > <s:event b:on="pourRien"> <s:script> var currInst = bpc.getBXMLAttribute('b:instrument', _current); list_height = bpc.getSize(document.getElementById('list_table_' + currInst))['h']; quote_height = bpc.getSize(document.getElementById('quote_table_' + currInst))['h']; windowHtml = document.getElementById(currInst); windowHtml.style.height = (list_height + quote_height + 65) + "px"; </s:script> </s:event> </s:behavior> <s:behavior b:name="trad-analyse-item-behavior" > <s:event b:on="click"> <s:render b:destination="id('WorkingArea')" b:mode="aslastchild"> <trad:popup-window id="popup-win" trad:title="Trading News"> <trad:popup-windowbody> <div id="Message" /> </trad:popup-windowbody> </trad:popup-window> </s:render> <s:task b:action="load" b:destination="id('Message')" b:mode="replacechildren" b:url="/tnapp/newsServer.php?Access=0" b:data="{current-time()}" /> </s:event> </s:behavior> <s:behavior b:name="trad-news-behavior" > <s:event b:on="click"> <s:task b:action="load" b:destination="id('BxmlContent')" b:mode="replacechildren" b:url="{concat('/tnapp/newsServer.php?Path=', ./@trad:path)}" b:data="{current-time()}" /> </s:event> </s:behavior> <s:behavior b:name="trad-news-headline-behavior" > <s:event b:on="click"> <s:render b:destination="id('WorkingArea')" b:mode="aslastchild"> <trad:popup-window id="popup-win" trad:title="Trading News"> <trad:popup-windowbody> <div id="Message" /> </trad:popup-windowbody> </trad:popup-window> </s:render> <s:task b:action="load" b:destination="id('Message')" b:mode="replacechildren" b:url="/tnapp/newsServer.php?Access=0" b:data="{current-time()}" /> </s:event> </s:behavior> <s:htmlstructure b:name="trad:popup-background"> <div class="trad-popup-background" id="popup-background" /> </s:htmlstructure> <s:htmlstructure b:name="trad:popup-window" b:behavior="trad-popup-window"> <div class="trad-popup-window"> <div class="trad-WindowInner"><s:innercontent /></div> </div> </s:htmlstructure> <s:htmlstructure b:name="trad:popup-WindowTitle" b:behavior="trad-popup-WindowTitle"> <div class="trad-WindowTitle"><s:innercontent /></div> </s:htmlstructure> <s:htmlstructure b:name="trad:popup-windowbody"> <div class="trad-popup-windowbody"><s:innercontent /></div> </s:htmlstructure> <s:behavior b:name="trad-popup-window"> <s:event b:on="construct"> <s:lock b:target="/*"> <s:render b:destination="id('WorkingArea')" b:mode="aslastchild"> <trad:popup-background /> </s:render> <s:render b:destination="." b:mode="asfirstchild"> <trad:popup-WindowTitle /> </s:render> </s:lock> <s:task b:action="msg" b:value="{concat('pop-up', max(($bpc_windowHeight - 154, 610)), ':', max(($bpc_windowWidth - 20, 780)))}" /> <s:task b:action="settext" b:target="trad:popup-WindowTitle" b:value="{@trad:title}" /> <s:task b:action="set" b:target="id('WorkingArea')/trad:popup-background/style::height" b:value="{concat(max(($bpc_windowHeight - 154, 610)), 'px')}" /> <s:task b:action="set" b:target="id('WorkingArea')/trad:popup-background/style::width" b:value="{concat(max(($bpc_windowWidth - 20, 780)), 'px')}" /> </s:event> <s:event b:on="close" b:action="trigger" b:event="do-close" /> <!-- "method" for actually closing the window --> <s:event b:on="do-close"> <s:task b:action="remove" b:target="id('WorkingArea')/trad:popup-background" /> <s:task b:action="remove" b:target="." /> </s:event> </s:behavior> <s:behavior b:name="trad-popup-WindowTitle"> <s:initatt b:textselect="false" /> <s:event b:on="construct"> <s:render b:destination="." b:mode="aslastchild"> <trad:WinIcon /> <trad:WinClose /> </s:render> <s:task b:action="addclass" b:value="closeHover" b:target="html()/div[2]" /> </s:event> <!-- Enlevé pour Marketing : <s:event b:on="mouseenter"> <s:task b:action="addclass" b:value="closeHover" b:target="html()/div[2]" /> </s:event> <s:event b:on="mouseleave"> <s:task b:action="removeclass" b:value="closeHover" b:target="html()/div[2]" /> </s:event> --> </s:behavior> <s:htmlstructure b:name="trad:tab-header" b:behavior="trad-tab-header-behavior"> <ul class="trad-tab-header"> <s:innercontent /> </ul> </s:htmlstructure> <s:behavior b:name="trad-tab-header-behavior"> <s:event b:on="construct"> <s:render b:destination="." b:mode="aslastchild"> <trad:tab-action /> </s:render> </s:event> </s:behavior> <s:behavior b:name="trad-tab-action-behavior"> <s:event b:on="click"> <s:render b:destination="id('WorkingArea')" b:mode="aslastchild"> <trad:popup-window id="popup-win" trad:title="Trading News"> <trad:popup-windowbody> <div id="Message" /> </trad:popup-windowbody> </trad:popup-window> </s:render> <s:task b:action="load" b:destination="id('Message')" b:mode="replacechildren" b:url="/tnapp/newsServer.php?Access=0" b:data="{current-time()}" /> </s:event> </s:behavior> <s:htmlstructure b:name="trad:tab-action" b:behavior="trad-tab-action-behavior"> <li class="trad-tab trad-tab-action"> Create Tab </li> </s:htmlstructure> <s:behavior b:name="trad-tab-behavior"> <s:initatt trad:serverTab = "0" /> <s:event b:on="command"> <s:task b:action="select" b:target="{@b:followstate}"/> </s:event> <s:state b:on="deselect" b:normal="trad-tab" b:hover="trad-tab trad-tab-hov"/> <s:state b:on="select" b:normal="trad-tab trad-tab-sel" b:hover="trad-tab trad-tab-sel-hov"/> <s:event b:on="construct" > <s:lock > <s:render b:destination="." b:mode="aslastchild" > <trad:tab-edit-button /> <trad:tab-del-button /> </s:render> <s:task b:action="load" b:url="{concat('/tnapp/Query.php?Function=CreateTab&amp;NewPos=', ./text(), ';', count(preceding-sibling::trad:tab) + 1)}" b:data="{current-time()}" b:destination="$TRAD_DUMMY_TARGET" b:test="@trad:serverTab = '0'"/> </s:lock> </s:event> <s:event b:on="edit"> <s:script> <!-- new_name = prompt("New tab name :"); if((new_name != ' ') && (new_name != null)) { bpc.task(['b:action', 'settext', 'b:value', new_name], _current); } --> </s:script> <s:task b:action="load" b:url="{concat('/tnapp/Query.php?Function=RenameTab&amp;NewPos=', ./text(), ';', count(preceding-sibling::trad:tab) + 1)}" b:data="{current-time()}" b:destination="$TRAD_DUMMY_TARGET"/> </s:event> </s:behavior> <s:htmlstructure b:name="trad:tab" b:behavior="trad-tab-behavior"> <li> <span> <s:innercontent /> </span> </li> </s:htmlstructure> <s:behavior b:name="trad-tab-del-button"> <s:initatt b:tooltiptext="Delete" /> <s:event b:on="command"> <s:if b:test="count(../../trad:tab) > 1" > <s:variable b:name="TheDivId" b:select="concat('Tab-', ../@b:tabId)" /> <s:for-each b:target="id('trad-deck')/div[@id=$TheDivId]/trad:column" > <s:task b:action="trigger" b:event="do-column-delete" b:target="$_target" /> </s:for-each> <s:task b:action="remove" b:target="id('trad-deck')/div[@id=$TheDivId]" /> <s:task b:action="load" b:url="{concat('/tnapp/Query.php?Function=RemoveTab&amp;NewPos=', count(../preceding-sibling::trad:tab) + 1)}" b:data="{current-time()}" b:destination="$TRAD_DUMMY_TARGET" /> <s:task b:action="select" b:target="id('trad-deck')/div[1]" /> <s:task b:action="remove" b:target=".." /> </s:if> </s:event> </s:behavior> <s:behavior b:name="trad-tab-edit-button" > <s:initatt b:tooltiptext="Edit Name" /> <s:event b:on="command"> <s:task b:action="trigger" b:event="edit" b:target=".." /> </s:event> </s:behavior> <s:htmlstructure b:name="trad:tab-del-button" b:behavior="trad-tab-del-button" > <div class="trad-tab-del-button" /> </s:htmlstructure> <s:htmlstructure b:name="trad:tab-edit-button" b:behavior="trad-tab-edit-button" > <div class="trad-tab-edit-button" /> </s:htmlstructure> <!-- Uses inline style with display:none to fix rendering bugs in IE 5.5 / 6.0 --> <s:htmlstructure b:name="trad:contextmenu" b:behavior="trad-contextmenu"> <div class="trad-contextmenu" style="display:none;"> <table cellpadding="0" cellspacing="0" border="0"> <tbody> <s:innercontent /> </tbody> </table> </div> </s:htmlstructure> <s:behavior b:name="trad-contextmenu"> <s:initatt b:focusgroup="true" b:focusitem="true" b:textselect="false" /> <s:event b:on="select"> <s:if b:test="not(@b:constructed = 'true')"> <s:setatt b:constructed="true" /> <s:script><!-- document.body.appendChild(_current); --></s:script> <s:task b:action="trigger" b:event="dynamic-construct" b:target="trad:contextmenurow" /> </s:if> <s:task b:test="not(name(..) = 'trad:contextmenurow')" b:action="position" b:type="place" b:position="at-pointer" b:target="." /> <s:task b:action="show" /> <s:task b:test="not(name(..) = 'trad:contextmenurow')" b:action="focus" /> </s:event> <s:event b:on="command" b:action="deselect" /> <s:event b:on="deselect" b:action="hide" /> <s:event b:on="inactive" b:test="not(parent::trad:contextmenurow)" b:action="deselect" /> </s:behavior> <!-- trad:CONTEXTMENUROW --> <!-- default expandable contextmenurow --> <s:htmlstructure b:name="trad:contextmenurow" b:behavior="trad-contextmenurow"> <tr> <td class="trad-contextmenu-icon"></td> <td class="trad-contextmenu-label-expand" colspan="2"><s:value-of b:select="{@b:label}" /></td> <td class="trad-contextmenu-expand"><s:innercontent /></td> </tr> </s:htmlstructure> <!-- none-expandable row without shortcut --> <s:htmlstructure b:name="trad:contextmenurow2"> <tr> <td class="trad-contextmenu-icon"></td> <td class="trad-contextmenu-label-expand" colspan="2"><s:value-of b:select="{@b:label}" /></td> <td></td> </tr> </s:htmlstructure> <!-- none-expandable row with shortcut --> <s:htmlstructure b:name="trad:contextmenurow3"> <tr> <td class="trad-contextmenu-icon"></td> <td class="trad-contextmenu-label"><s:value-of b:select="{@b:label}" /></td> <td class="trad-contextmenu-shortcut"><s:value-of b:select="{@b:shortcut}" /></td> <td></td> </tr> </s:htmlstructure> <s:behavior b:name="trad-contextmenurow"> <s:initatt b:focusitem="true" /> <s:state b:on="deselect" b:normal="trad-contextmenurow" b:disabled="trad-contextmenurow-disabled" /> <s:event b:on="dynamic-construct" b:test="not(@b:constructed='true')"> <!-- set attribute to make sure this is only executed once --> <s:setatt b:constructed="true" /> <s:choose> <s:when b:test="not(trad:contextmenu) and not(@b:shortcut)"> <s:task b:action="setstruct" b:value="trad:contextmenurow2" /> <s:task b:test="@b:disabled='true'" b:action="set" b:target="@class" b:value="trad-contextmenurow-disabled" /> </s:when> <s:when b:test="not(trad:contextmenu) and @b:shortcut"> <s:task b:action="setstruct" b:value="trad:contextmenurow3" /> <s:task b:test="@b:disabled='true'" b:action="set" b:target="@class" b:value="trad-contextmenurow-disabled" /> </s:when> <s:otherwise/> </s:choose> <s:task b:test="@b:icon" b:action="set" b:target="html()/td[1]/style::background-image" b:value="{concat('url(', @b:icon, ')')}" /> </s:event> <s:event b:on="command" b:test="not(b:contextmenu)" b:bubble="false" b:action="trigger" b:event="command" b:target="ancestor::trad:contextmenu"/> <s:event b:on="mouseenter"> <s:task b:action="addclass" b:value="trad-contextmenurow-hov" /> <s:task b:action="trigger" b:event="keyright" /> </s:event> <s:event b:on="keyright"> <s:if b:test="trad:contextmenu[@b:state='deselected']"> <s:task b:action="select" b:target="trad:contextmenu" /> <s:task b:action="position" b:type="place" b:target="trad:contextmenu" b:destination="." b:position="end-before" /> </s:if> <s:task b:action="select" /> </s:event> <s:event b:on="keyup-keydown"> <s:task b:test="not(trad:contextmenu)" b:action="addclass" b:value="trad-contextmenurow-hov" /> <s:task b:action="select" /> </s:event> <s:event b:on="select" b:action="focus" /> <s:event b:on="mouseleave" b:test="not(trad:contextmenu)" b:action="removeclass" b:value="trad-contextmenurow-hov" /> <s:event b:on="inactive"> <s:task b:action="removeclass" b:value="trad-contextmenurow-hov" /> <s:task b:action="deselect" b:target=". | trad:contextmenu" /> </s:event> <s:event b:on="active" b:action="addclass" b:value="trad-contextmenurow-hov" /> <s:event b:on="keyright"> <s:if b:test="trad:contextmenu[@b:state='deselected']"> <s:task b:action="select" b:target="trad:contextmenu" /> <s:task b:action="position" b:type="place" b:target="trad:contextmenu" b:destination="." b:position="end-before" /> </s:if> <s:task b:action="select" /> </s:event> </s:behavior> <!-- Icon context menu --> <trad:contextmenu id="trad-win-menu" > <trad:contextmenurow b:label="Close" b:on="command" b:action="trigger" b:event="do-close" b:target="id(id('trad-win-menu')/@ActualWin)" /> <trad:contextmenurow b:label="Hide/Show Quote" b:on="command" b:action="trigger" b:event="do-hide-show-quote" b:target="id(id('trad-win-menu')/@ActualWin)" /> <trad:contextmenurow b:label="Hide/Show Components" b:on="command" b:action="trigger" b:event="do-hide-show-list" b:target="id(id('trad-win-menu')/@ActualWin)" /> <!--<trad:contextmenurow b:label="Hide/Show Chart" b:on="command" b:action="trigger" b:event="do-hide-show-chart" b:target="id(id('trad-win-menu')/@ActualWin)" /> --> <trad:contextmenurow b:label="Chart" > <trad:contextmenu id="trad-chart-menu" > <trad:contextmenurow b:label="Intraday" b:on="command" b:action="trigger" b:event="do-show-intraday-chart" b:target="id(id('trad-win-menu')/@ActualWin)" /> <trad:contextmenurow b:label="Interday 1 Month" b:on="command" b:action="trigger" b:event="do-show-1month-chart" b:target="id(id('trad-win-menu')/@ActualWin)" /> <trad:contextmenurow b:label="Interday 3 Months" b:on="command" b:action="trigger" b:event="do-show-3months-chart" b:target="id(id('trad-win-menu')/@ActualWin)" /> <trad:contextmenurow b:label="Interday 12 Months" b:on="command" b:action="trigger" b:event="do-show-12months-chart" b:target="id(id('trad-win-menu')/@ActualWin)" /> <trad:contextmenurow b:label="Hide Chart" b:on="command" b:action="trigger" b:event="do-hide-chart" b:target="id(id('trad-win-menu')/@ActualWin)" /> </trad:contextmenu> </trad:contextmenurow> <trad:contextmenurow b:label="Hide/Show News" b:on="command" b:action="trigger" b:event="do-hide-show-news" b:target="id(id('trad-win-menu')/@ActualWin)" /> <trad:contextmenurow b:label="Hide/Show Analyses" b:on="command" b:action="trigger" b:event="do-hide-show-analyse" b:target="id(id('trad-win-menu')/@ActualWin)" /> </trad:contextmenu> <style type="text/css" b:browser="moz"> /* Using nowrap in IE will cause problems */ .b-windowhead-mid { white-space: nowrap; } </style> <s:behavior b:name="trad-win-drag"> <s:event b:on="drag-enter"> <s:lock b:target="."> <s:task b:action="assign" b:target="$TRAD_Last_Win_Enter" b:select="@id" b:test="parent::trad:column" /> <s:task b:action="move" b:source="id('TradWinDragDest')" b:destination="." b:mode="before" b:test="parent::trad:column and @id != 'TradWinDragDest'" /> </s:lock> </s:event> </s:behavior> <!-- TRAD:WINDOW --> <s:htmlstructure b:name="trad:window" b:behavior="trad-window"> <div class="trad-WindowContainer"> <div class="trad-WindowInner"> <s:innercontent/> </div> </div> </s:htmlstructure> <s:htmlstructure b:name="trad:WindowTitle" b:behavior="trad-WindowTitle"> <div class="trad-WindowTitle"> <s:innercontent/> </div> </s:htmlstructure> <s:htmlstructure b:name="trad:WinIcon" b:behavior="trad-WinIcon"> <div class="trad-WinLeftIcon"> </div> </s:htmlstructure> <s:htmlstructure b:name="trad:WinNewsIcon" b:behavior="trad-WinIcon"> <div class="trad-WinLeftNewsIcon"> </div> </s:htmlstructure> <s:htmlstructure b:name="trad:WinAnalyseIcon" b:behavior="trad-WinIcon"> <div class="trad-WinLeftAnalyseIcon"> </div> </s:htmlstructure> <s:htmlstructure b:name="trad:WinEvolution"> <div class="trad-WinEvolution evolutionStay"> </div> </s:htmlstructure> <s:htmlstructure b:name="trad:WinMenu" b:behavior="trad-WinMenu"> <div class="trad-WinMenu"> </div> </s:htmlstructure> <s:htmlstructure b:name="trad:WinClose" b:behavior="trad-WinClose"> <div class="trad-WinClose" b:behavior="trad-WinClose"> </div> </s:htmlstructure> <s:htmlstructure b:name="trad:WindowContent" b:behavior="trad-WindowContent"> <div class="trad-WindowContent"> <s:innercontent/> </div> </s:htmlstructure> <s:htmlstructure b:name="trad:QuoteData" b:behavior="trad-QuoteData"> <td class="trad-QuoteData"> <s:innercontent /> </td> </s:htmlstructure> <s:htmlstructure b:name="trad:GraphLargePos" b:behavior="trad-GraphPosition"> <td class="trad-GraphData hiddenCell"> <s:innercontent /> </td> </s:htmlstructure> <s:htmlstructure b:name="trad:GraphSmallPos" b:behavior="trad-GraphPosition"> <td class="trad-GraphData hiddenCell"> <s:innercontent /> </td> </s:htmlstructure> <s:htmlstructure b:name="trad:ListData" b:behavior="trad-ListData"> <td class="trad-ListData hiddenCell" colspan="2" > <s:innercontent /> </td> </s:htmlstructure> <s:htmlstructure b:name="trad:NewsData" b:behavior="trad-NewsData"> <td class="trad-NewsData hiddenCell" colspan="2" > <s:innercontent /> </td> </s:htmlstructure> <s:htmlstructure b:name="trad:AnalyseData" b:behavior="trad-AnalyseData"> <td class="trad-AnalyseData hiddenCell" colspan="2" > <s:innercontent /> </td> </s:htmlstructure> <s:htmlstructure b:name="trad:GraphData" b:behavior="trad-GraphData" > <div> <s:innercontent /> </div> </s:htmlstructure> <s:behavior b:name="trad-window" b:behavior="trad-win-drag"> <s:initatt b:draggroup="trad-window" b:dragmode="symbol" b:focusgroup="true" b:focusitem="true" b:maximized="true" trad:showQuote = "1" trad:showChart = "0" trad:showList = "0" trad:showNews = "0" trad:showAnalyse = "0" trad:hasQuote = "1" trad:hasChart = "1" trad:hasList = "0" trad:hasNews = "1" trad:hasAnalyse = "1" trad:chartType = "300" trad:MainType = "100" trad:initDone = "0" trad:serverWin = "0" /> <s:event b:on="construct"> <s:lock b:target="/*" > <s:task b:action="load" b:url="{concat('/tnapp/Query.php?Function=CreateWindow&amp;NewPos=', @name, ';', @trad:showQuote, ';', @trad:showChart, ';', @trad:showList, ';', @trad:showNews, ';', @trad:showAnalyse, ';', @trad:hasQuote, ';', @trad:hasChart, ';', @trad:hasList, ';', @trad:hasNews, ';', @trad:hasAnalyse, ';', @trad:MainType, ';',count(preceding-sibling::trad:window) + 1, ';', count(../preceding-sibling::trad:column) + 1, ';', count(../../preceding-sibling::div) + 1)}" b:data="{current-time()}" b:destination="id('NewData')" b:test="@trad:serverWin = '0'" /> <s:render b:destination="." b:mode="aslastchild" > <trad:WindowTitle /> <trad:WindowContent /> </s:render> <s:task b:action="settext" b:target="trad:WindowTitle" b:value="{@name}" /> <s:task b:action="set" b:target="@trad:initDone" b:value="1" /> <s:task b:action="set" b:target="@trad:serverWin" b:value="0" /> </s:lock> </s:event> <s:event b:on="drag-start"> <s:task b:action="trigger" b:event="mouseleave" b:target="trad:WindowTitle" /> <s:variable b:name="CurrentIndex" b:select="count(preceding-sibling::trad:window)" /> <s:variable b:name="ActualParent" b:select=".." /> <s:variable b:name="CurrentHeight" b:select="getElementHeight(.)" /> <s:task b:action="set" b:target="./style::width" b:value="{concat(getElementWidth(.), 'px')}" /> <s:task b:action="move" b:source="." b:destination="$bpc_dragSymbol" /> <s:task b:action="set" b:target="$bpc_dragSymbol/style::z-index" b:value="15" /> <s:render b:destination="$ActualParent/trad:window[$CurrentIndex]" b:mode="after" b:test="$CurrentIndex != 0"> <div id="TradWinDragDest" b:behavior="trad-win-drag"> </div> </s:render> <s:render b:destination="$ActualParent" b:mode="aslastchild" b:test="$CurrentIndex = 0"> <div id="TradWinDragDest" b:behavior="trad-win-drag"> </div> </s:render> <s:task b:action="set" b:target="id('TradWinDragDest')/style::height" b:value="{concat($CurrentHeight, 'px')}" /> <s:variable b:name="TRAD_Last_Win_Enter" b:scope="global" b:select="''" /> </s:event> <s:event b:on="drag-drop"> <s:task b:action="set" b:target="trad:WindowTitle/@b:drag" b:value="trad-window" /> <s:task b:action="set" b:target="./style::width" b:value="100%" /> <s:task b:action="trigger" b:event="mouseleave" b:target="trad:WindowTitle" /> <s:task b:action="trigger" b:event="resize" /> <s:task b:action="load" b:url="{concat('/tnapp/Query.php?Function=MoveWindow&amp;NewPos=', @name, ';', count(preceding-sibling::trad:window) + 1, ';', count(../preceding-sibling::trad:column) + 1, ';', count(../../preceding-sibling::div) + 1)}" b:data="{current-time()}" b:destination="$TRAD_DUMMY_TARGET" /> </s:event> <s:event b:on="close" b:action="trigger" b:event="do-close" /> <!-- "method" for actually closing the window --> <s:event b:on="do-close"> <s:task b:action="load" b:url="{concat('/tnapp/Query.php?Function=stop&amp;Type=', $TRAD_QUOTE_TYPE, '&amp;Name=', @name)}" b:target="$TRAD_DUMMY_TARGET" b:data="{current-time()}" b:test="@trad:showQuote = '0'"/> <s:task b:action="load" b:url="{concat('/tnapp/Query.php?Function=stop&amp;Type=', $TRAD_INDEX_LIST_TYPE, '&amp;Name=', @name)}" b:target="$TRAD_DUMMY_TARGET" b:data="{current-time()}" b:test="@trad:showList = '0'"/> <s:task b:action="load" b:url="{concat('/tnapp/Query.php?Function=stop&amp;Type=', @trad:chartType, '&amp;Name=', @name)}" b:target="$TRAD_DUMMY_TARGET" b:data="{current-time()}" b:test="@trad:showChart = '0'"/> <s:task b:action="load" b:url="{concat('/tnapp/Query.php?Function=stop&amp;Type=', $TRAD_NEWS_HEADLINE_TYPE, '&amp;Name=', @name)}" b:target="$TRAD_DUMMY_TARGET" b:data="{current-time()}" b:test="@trad:showNews = '0'"/> <s:task b:action="load" b:url="{concat('/tnapp/Query.php?Function=stop&amp;Type=', $TRAD_ANALYSE_HEADLINE_TYPE, '&amp;Name=', @name)}" b:target="$TRAD_DUMMY_TARGET" b:data="{current-time()}" b:test="@trad:showAnalyse = '0'"/> <s:task b:action="load" b:url="{concat('/tnapp/Query.php?Function=RemoveWindow&amp;NewPos=', @id)}" b:data="{current-time()}" b:target="$TRAD_DUMMY_TARGET" /> <s:task b:action="remove" b:target="." /> </s:event> <s:event b:on="do-hide-show-list"> <s:task b:action="trigger" b:event="trad-ShowHide" b:target="descendant::trad:ListData" b:test="@trad:hasList='1'" /> </s:event> <s:event b:on="do-show-intraday-chart"> <s:if b:test="@trad:showChart='0'" > <s:task b:action="trigger" b:event="trad-Hide" b:target="descendant::trad:GraphLargePos" b:test="parent::trad:column/@b:ColWidth gt 1" /> <s:task b:action="trigger" b:event="trad-Hide" b:target="descendant::trad:GraphSmallPos" b:test="parent::trad:column/@b:ColWidth = 1" /> </s:if> <s:task b:action="set" b:target="@trad:chartType" b:value="310" /> <s:task b:action="trigger" b:event="do-show-chart" b:target="." /> </s:event> <s:event b:on="do-show-1month-chart"> <s:if b:test="@trad:showChart='0'" > <s:task b:action="trigger" b:event="trad-Hide" b:target="descendant::trad:GraphLargePos" b:test="parent::trad:column/@b:ColWidth gt 1" /> <s:task b:action="trigger" b:event="trad-Hide" b:target="descendant::trad:GraphSmallPos" b:test="parent::trad:column/@b:ColWidth = 1" /> </s:if> <s:task b:action="set" b:target="@trad:chartType" b:value="301" /> <s:task b:action="trigger" b:event="do-show-chart" b:target="." /> </s:event> <s:event b:on="do-show-3months-chart"> <s:if b:test="@trad:showChart='0'" > <s:task b:action="trigger" b:event="trad-Hide" b:target="descendant::trad:GraphLargePos" b:test="parent::trad:column/@b:ColWidth gt 1" /> <s:task b:action="trigger" b:event="trad-Hide" b:target="descendant::trad:GraphSmallPos" b:test="parent::trad:column/@b:ColWidth = 1" /> </s:if> <s:task b:action="set" b:target="@trad:chartType" b:value="302" /> <s:task b:action="trigger" b:event="do-show-chart" b:target="." /> </s:event> <s:event b:on="do-show-12months-chart"> <s:if b:test="@trad:showChart='0'" > <s:task b:action="trigger" b:event="trad-Hide" b:target="descendant::trad:GraphLargePos" b:test="parent::trad:column/@b:ColWidth gt 1" /> <s:task b:action="trigger" b:event="trad-Hide" b:target="descendant::trad:GraphSmallPos" b:test="parent::trad:column/@b:ColWidth = 1" /> </s:if> <s:task b:action="set" b:target="@trad:chartType" b:value="304" /> <s:task b:action="trigger" b:event="do-show-chart" b:target="." /> </s:event> <s:event b:on="do-hide-chart"> <s:if b:test="@trad:hasChart='1'" > <s:task b:action="trigger" b:event="trad-Hide" b:target="descendant::trad:GraphLargePos" b:test="parent::trad:column/@b:ColWidth gt 1" /> <s:task b:action="trigger" b:event="trad-Hide" b:target="descendant::trad:GraphSmallPos" b:test="parent::trad:column/@b:ColWidth = 1" /> </s:if> </s:event> <s:event b:on="do-show-chart"> <s:if b:test="@trad:hasChart='1'" > <s:task b:action="trigger" b:event="trad-Show" b:target="descendant::trad:GraphLargePos" b:test="parent::trad:column/@b:ColWidth gt 1" /> <s:task b:action="trigger" b:event="trad-Show" b:target="descendant::trad:GraphSmallPos" b:test="parent::trad:column/@b:ColWidth = 1" /> </s:if> </s:event> <s:event b:on="do-hide-show-news"> <s:render b:destination="id('WorkingArea')" b:mode="aslastchild"> <trad:popup-window id="popup-win" trad:title="Trading News"> <trad:popup-windowbody> <div id="Message" /> </trad:popup-windowbody> </trad:popup-window> </s:render> <s:task b:action="load" b:destination="id('Message')" b:mode="replacechildren" b:url="/tnapp/newsServer.php?Access=0" b:data="{current-time()}" /> </s:event> <s:event b:on="do-hide-show-quote"> <s:task b:action="trigger" b:event="trad-ShowHide" b:target="descendant::trad:QuoteData" b:test="@trad:hasQuote='1'"/> </s:event> <s:event b:on="do-hide-show-analyse"> <s:render b:destination="id('WorkingArea')" b:mode="aslastchild"> <trad:popup-window id="popup-win" trad:title="Trading News"> <trad:popup-windowbody> <div id="Message" /> </trad:popup-windowbody> </trad:popup-window> </s:render> <s:task b:action="load" b:destination="id('Message')" b:mode="replacechildren" b:url="/tnapp/newsServer.php?Access=0" b:data="{current-time()}" /> </s:event> <s:event b:on="resize"> <s:if b:test="@trad:showChart = '0'"> <s:choose> <s:when b:test="ancestor::trad:column/@b:ColWidth gt 1"> <s:if b:test="exists(descendant::trad:GraphSmallPos/trad:GraphData)" > <s:task b:action="removeclass" b:value="hiddenCell" b:target="descendant::trad:GraphLargePos" /> <s:task b:action="removeclass" b:value="hiddenCell" b:target="trad:WindowContent/html()/table/thead/tr/td[2]" /> <s:task b:action="addclass" b:value="hiddenCell" b:target="descendant::trad:GraphSmallPos" /> <s:task b:action="move" b:source="descendant::trad:GraphData" b:destination="descendant::trad:GraphLargePos" /> </s:if> </s:when> <s:otherwise> <s:if b:test="exists(descendant::trad:GraphLargePos/trad:GraphData)" > <s:task b:action="removeclass" b:value="hiddenCell" b:target="descendant::trad:GraphSmallPos" /> <s:task b:action="addclass" b:value="hiddenCell" b:target="trad:WindowContent/html()/table/thead/tr/td[2]" /> <s:task b:action="addclass" b:value="hiddenCell" b:target="descendant::trad:GraphLargePos" /> <s:task b:action="move" b:source="descendant::trad:GraphData" b:destination="descendant::trad:GraphSmallPos" /> </s:if> </s:otherwise> </s:choose> </s:if> </s:event> </s:behavior> <!-- Behaviors... --> <s:behavior b:name="trad-WindowTitle"> <s:initatt b:textselect="false" b:drag="trad-window" /> <s:event b:on="construct"> <s:choose> <s:when b:test="../@trad:MainType = '400'"> <s:render b:destination="." b:mode="aslastchild"> <trad:WinNewsIcon /> </s:render> </s:when> <s:when b:test="../@trad:MainType = '299'"> <s:render b:destination="." b:mode="aslastchild"> <trad:WinAnalyseIcon /> </s:render> </s:when> <s:otherwise> <s:render b:destination="." b:mode="aslastchild"> <trad:WinIcon /> </s:render> </s:otherwise> </s:choose> <s:render b:destination="." b:mode="aslastchild"> <trad:WinClose /> </s:render> <s:render b:destination="./trad:WinIcon" b:mode="after" b:test="../@trad:hasQuote = '1'" > <trad:WinEvolution /> <trad:WinMenu /> </s:render> </s:event> <s:event b:on="mouseenter"> <s:task b:action="addclass" b:value="menuHover" b:target="trad:WinMenu" /> <s:task b:action="addclass" b:value="closeHover" b:target="trad:WinClose" /> </s:event> <s:event b:on="mouseleave"> <s:task b:action="removeclass" b:value="menuHover" b:target="trad:WinMenu" /> <s:task b:action="removeclass" b:value="menuClick" b:target="trad:WinMenu" /> <s:task b:action="removeclass" b:value="closeHover" b:target="trad:WinClose" /> </s:event> </s:behavior> <s:behavior b:name="trad-WinIcon"> </s:behavior> <s:behavior b:name="trad-WinMenu"> <s:event b:on="click"> <s:task b:action="addclass" b:value="menuClick" /> <s:task b:action="select" b:target="id('trad-win-menu')" /> <s:task b:action="set" b:target="id('trad-win-menu')/@ActualWin" b:value="{ancestor::trad:window[1]/@id}" /> <s:task b:action="position" b:type="place" b:target="id('trad-win-menu')" b:destination="." b:position="at-pointer" /> </s:event> </s:behavior> <s:behavior b:name="trad-WinClose"> <s:event b:on="click"> <s:task b:action="trigger" b:event="do-close" b:target="../.." /> </s:event> </s:behavior> <s:behavior b:name="trad-WindowContent"> <s:event b:on="construct"> <s:render b:destination="." b:mode="aslastchild"> <table class="trad-WindowTable"> <thead> <tr> <td class="trad-WinTableHeaderLeft"> </td> <td class="trad-WinTableHeaderRight hiddenCell"> </td> </tr> </thead> <tbody> <tr> <trad:QuoteData /> <trad:GraphLargePos /> </tr> <tr> <trad:GraphSmallPos /> </tr> <tr> <trad:ListData /> </tr> <tr> <trad:NewsData /> </tr> <tr> <trad:AnalyseData /> </tr> </tbody> </table> </s:render> </s:event> </s:behavior> <s:behavior b:name="trad-QuoteData"> <s:event b:on="construct"> <s:task b:action="trigger" b:event="trad-ShowHide" /> </s:event> <s:event b:on="trad-ShowHide"> <s:choose> <s:when b:test="ancestor::trad:window/@trad:showQuote='1'"> <s:task b:action="load" b:url="{concat('/tnapp/Query.php?Function=start&amp;Type=',ancestor::trad:window/@trad:MainType,'&amp;Name=', ancestor::trad:window/@name)}" b:data="{current-time()}" b:test="ancestor::trad:window/@trad:serverWin = '0'"/> <s:task b:action="removeclass" b:value="hiddenCell" /> <s:task b:action="removeclass" b:value="hiddenCell" b:target="ancestor::trad:WindowContent/html()/table/thead/tr/td[1]" /> <s:task b:action="set" b:target="ancestor::trad:window/@trad:showQuote" b:value="0" /> <s:render b:destination="." b:mode="aslastchild" b:test="ancestor::trad:window/@trad:serverWin != '0'"> <div id="{concat('quote_table_', ancestor::trad:window/@id)}" class="quote_table"> <img alt="Graphique" src="/tnapp/Styles/Img/loading.gif"/> </div> </s:render> </s:when> <s:otherwise> <s:task b:action="load" b:url="{concat('/tnapp/Query.php?Function=stop&amp;Type=',ancestor::trad:window/@trad:MainType,'&amp;Name=', ancestor::trad:window/@name)}" b:data="{current-time()}" b:test="ancestor::trad:window/@trad:initDone='1'" /> <s:task b:action="addclass" b:value="hiddenCell" /> <s:task b:action="addclass" b:value="hiddenCell" b:target="ancestor::trad:WindowContent/html()/table/thead/tr/td[1]" /> <s:task b:action="set" b:target="ancestor::trad:window/@trad:showQuote" b:value="1" /> </s:otherwise> </s:choose> </s:event> </s:behavior> <s:behavior b:name="trad-GraphPosition"> <s:event b:on="construct"> <s:if b:test="ancestor::trad:window/@trad:showChart = 1"> <s:task b:action="trigger" b:event="trad-Show" b:test="(ancestor::trad:column/@b:ColWidth gt 1) and (name(.) = 'trad:GraphLargePos')"/> <s:task b:action="trigger" b:event="trad-Show" b:test="(ancestor::trad:column/@b:ColWidth = 1) and (name(.) = 'trad:GraphSmallPos')"/> </s:if> </s:event> <s:event b:on="trad-Show"> <s:render b:destination="." b:mode="aslastchild"> <trad:GraphData /> </s:render> <s:task b:action="removeclass" b:value="hiddenCell" /> <s:task b:action="removeclass" b:value="hiddenCell" b:target="ancestor::trad:WindowContent/html()/table/thead/tr/td[2]" b:test="ancestor::trad:column/@b:ColWidth gt 1" /> <s:task b:action="set" b:target="ancestor::trad:window/@trad:showChart" b:value="0" /> </s:event> <s:event b:on="trad-Hide"> <s:task b:action="remove" b:target="trad:GraphData" /> <s:task b:action="addclass" b:value="hiddenCell" /> <s:task b:action="addclass" b:value="hiddenCell" b:target="ancestor::trad:WindowContent/html()/table/thead/tr/td[2]" b:test="ancestor::trad:column/@b:ColWidth gt 1" /> <s:task b:action="set" b:target="ancestor::trad:window/@trad:showChart" b:value="1" /> </s:event> </s:behavior> <s:behavior b:name="trad-GraphData"> <s:event b:on="construct"> <s:task b:action="load" b:url="{concat('/tnapp/Query.php?Function=start&amp;Type=',ancestor::trad:window/@trad:chartType,'&amp;Name=', ancestor::trad:window/@name)}" b:data="{current-time()}" b:test="ancestor::trad:window/@trad:serverWin = '0'" /> <s:render b:destination="." b:mode="aslastchild" b:test="ancestor::trad:window/@trad:serverWin != '0'"> <div id="{concat('chart_table_', ancestor::trad:window/@id)}" class="chart_img"> <img alt="Graphique" id="{concat('chart_img_', ancestor::trad:window/@id)}" src="/tnapp/Styles/Img/loading.gif"/> </div> </s:render> </s:event> <s:event b:on="remove"> <s:task b:action="load" b:url="{concat('/tnapp/Query.php?Function=stop&amp;Type=',ancestor::trad:window/@trad:chartType,'&amp;Name=', ancestor::trad:window/@name)}" b:data="{current-time()}" b:test="ancestor::trad:window/@trad:initDone='1'" /> </s:event> </s:behavior> <s:behavior b:name="trad-ListData"> <s:event b:on="construct"> <s:task b:action="trigger" b:event="trad-ShowHide" /> </s:event> <s:event b:on="trad-ShowHide"> <s:choose> <s:when b:test="ancestor::trad:window/@trad:showList='1'"> <s:task b:action="load" b:url="{concat('/tnapp/Query.php?Function=start&amp;Type=',$TRAD_INDEX_LIST_TYPE,'&amp;Name=', ancestor::trad:window/@name)}" b:data="{current-time()}" b:test="ancestor::trad:window/@trad:serverWin = '0'" /> <s:task b:action="removeclass" b:value="hiddenCell" /> <s:task b:action="set" b:target="ancestor::trad:window/@trad:showList" b:value="0" /> <s:render b:destination="." b:mode="aslastchild" b:test="ancestor::trad:window/@trad:serverWin != '0'"> <table id="{concat('list_table_', ancestor::trad:window/@id)}" class="list_table"> <thead class="list_table_header" ><tr> <th b:cursor="pointer" b:action="sort">Name</th> <th b:cursor="pointer" b:action="sort">Last</th> <th b:cursor="pointer" b:action="sort">%</th> </tr></thead> <tbody id="{concat('table_body_', ancestor::trad:window/@id)}" b:instrument="{ancestor::trad:window/@id}" class="list_table" b:behavior="trad-inst-list-behavior" > </tbody></table> </s:render> </s:when> <s:otherwise> <s:task b:action="load" b:url="{concat('/tnapp/Query.php?Function=stop&amp;Type=',$TRAD_INDEX_LIST_TYPE,'&amp;Name=', ancestor::trad:window/@name)}" b:data="{current-time()}" b:test="ancestor::trad:window/@trad:initDone='1'" /> <s:task b:action="addclass" b:value="hiddenCell" /> <s:task b:action="set" b:target="ancestor::trad:window/@trad:showList" b:value="1" /> </s:otherwise> </s:choose> </s:event> </s:behavior> <s:behavior b:name="trad-NewsData"> <s:event b:on="construct"> <s:task b:action="trigger" b:event="trad-ShowHide" /> </s:event> <s:event b:on="trad-ShowHide"> <s:choose> <s:when b:test="ancestor::trad:window/@trad:showNews='1'"> <s:choose> <s:when b:test="ancestor::trad:window/@name=$TRAD_NEWS_DEFAULT_NAME"> <s:task b:action="load" b:url="{concat('/tnapp/Query.php?Function=start&amp;Type=',$TRAD_NEWS_HEADLINE_TYPE,'&amp;Name=', $TRAD_NEWS_DEFAULT_NAME, '&amp;Param=',$TRAD_NEWS_DEFAULT_PARAM)}" b:data="{current-time()}" b:test="ancestor::trad:window/@trad:serverWin = '0'" /> </s:when> <s:otherwise> <s:task b:action="load" b:url="{concat('/tnapp/Query.php?Function=start&amp;Type=',$TRAD_NEWS_HEADLINE_TYPE,'&amp;Name=', ancestor::trad:window/@name, '&amp;Param=', ancestor::trad:window/@name)}" b:data="{current-time()}" b:test="ancestor::trad:window/@trad:serverWin = '0'" /> </s:otherwise> </s:choose> <s:render b:destination="." b:mode="aslastchild" b:test="ancestor::trad:window/@trad:serverWin != '0'"> <table id="{concat('news_table_', ancestor::trad:window/@id)}" class="news_table"> <thead class="news_table_header" ><tr> <th b:cursor="pointer" b:action="sort" class="table_date">Date</th> <th b:cursor="pointer" >News Header</th> </tr></thead> <tbody id="{concat('news_body_', ancestor::trad:window/@id)}" b:instrument="{ancestor::trad:window/@id}" class="list_table" b:behavior="trad-inst-news-behavior" > </tbody></table> </s:render> <s:task b:action="removeclass" b:value="hiddenCell" /> <s:task b:action="set" b:target="ancestor::trad:window/@trad:showNews" b:value="0" /> </s:when> <s:otherwise> <s:task b:action="load" b:url="{concat('/tnapp/Query.php?Function=stop&amp;Type=',$TRAD_NEWS_HEADLINE_TYPE,'&amp;Name=', ancestor::trad:window/@name)}" b:data="{current-time()}" b:test="ancestor::trad:window/@trad:initDone='1'" /> <s:task b:action="addclass" b:value="hiddenCell" /> <s:task b:action="set" b:target="ancestor::trad:window/@trad:showNews" b:value="1" /> </s:otherwise> </s:choose> </s:event> </s:behavior> <s:behavior b:name="trad-AnalyseData"> <s:event b:on="construct"> <s:task b:action="trigger" b:event="trad-ShowHide" /> </s:event> <s:event b:on="trad-ShowHide"> <s:choose> <s:when b:test="ancestor::trad:window/@trad:showAnalyse='1'"> <s:task b:action="load" b:url="{concat('/tnapp/Query.php?Function=start&amp;Type=',$TRAD_ANALYSE_HEADLINE_TYPE,'&amp;Name=', ancestor::trad:window/@name)}" b:data="{current-time()}" b:test="ancestor::trad:window/@trad:serverWin = '0'" /> <s.variable b:name="TickerCol" b:select="&gt;th b:cursor='pointer' b:action='sort'>Ticker&gt;/th>" /> <s:render b:destination="." b:mode="aslastchild" b:test="ancestor::trad:window/@trad:serverWin != '0' and ancestor::trad:window/@name='ANALYSES'"> <table id="{concat('analyse_table_', ancestor::trad:window/@id)}" class="analyse_table"> <thead class="news_table_header" ><tr> <th b:cursor="pointer" b:action="sort" class="table_date">Date</th><th></th> <th b:cursor="pointer" b:action="sort">Ticker</th> <th b:cursor="pointer" b:action="sort">Description</th> </tr></thead> <tbody id="{concat('analyse_body_', ancestor::trad:window/@id)}" b:instrument="{ancestor::trad:window/@id}" class="list_table" b:behavior="trad-inst-news-behavior" > </tbody></table> </s:render> <s:render b:destination="." b:mode="aslastchild" b:test="ancestor::trad:window/@trad:serverWin != '0' and ancestor::trad:window/@name!='ANALYSES'"> <table id="{concat('analyse_table_', ancestor::trad:window/@id)}" class="analyse_table"> <thead class="news_table_header" ><tr> <th b:cursor="pointer" b:action="sort" class="table_date">Date</th><th></th> <th b:cursor="pointer" b:action="sort">Description</th> </tr></thead> <tbody id="{concat('analyse_body_', ancestor::trad:window/@id)}" b:instrument="{ancestor::trad:window/@id}" class="list_table" b:behavior="trad-inst-news-behavior" > </tbody></table> </s:render> <s:task b:action="removeclass" b:value="hiddenCell" /> <s:task b:action="set" b:target="ancestor::trad:window/@trad:showAnalyse" b:value="0" /> </s:when> <s:otherwise> <s:task b:action="load" b:url="{concat('/tnapp/Query.php?Function=stop&amp;Type=',$TRAD_ANALYSE_HEADLINE_TYPE,'&amp;Name=', ancestor::trad:window/@name)}" b:data="{current-time()}" b:test="ancestor::trad:window/@trad:initDone='1'" /> <s:task b:action="addclass" b:value="hiddenCell" /> <s:task b:action="set" b:target="ancestor::trad:window/@trad:showAnalyse" b:value="1" /> </s:otherwise> </s:choose> </s:event> </s:behavior> <s:htmlstructure b:name="trad:column" b:behavior="trad-column-behavior"> <div class="trad-column"> <s:innercontent /> </div> </s:htmlstructure> <s:behavior b:name="trad-column-behavior"> <s:initatt b:dragreceive="trad-window" b:ColWidth="1" trad:serverCol = "0" /> <s:event b:on="resize" > <s:task b:action="set" b:target="./style::left" b:value="{concat(sum(preceding-sibling::*/@b:ColWidth) * $TRAD_COL_WIDTH + (count(preceding-sibling::*) + 1) * $TRAD_COL_MARGIN, 'px')}" /> <s:task b:action="set" b:target="./style::width" b:value="{concat(@b:ColWidth * $TRAD_COL_WIDTH, 'px')}" /> <s:for-each b:target="./trad:window" > <s:task b:action="set" b:target="$_target/style::width" b:value="{concat((../@b:ColWidth * $TRAD_COL_WIDTH - 5), 'px')}" /> <s:task b:action="trigger" b:event="resize" b:target="$_target" b:usebehavior="trad-window" /> </s:for-each> <s:task b:action="trigger" b:event="resize" b:target="following-sibling::trad:column[1]" b:test="exists(following-sibling::trad:column)" /> </s:event> <s:event b:on="construct"> <s:render b:destination="." b:mode="asfirstchild"> <trad:column-header> <trad:column-insert /> <trad:column-delete /> <trad:column-enlarge /> <trad:column-reduce /> </trad:column-header> </s:render> <s:task b:action="set" b:target="./style::width" b:value="{concat(@b:ColWidth * $TRAD_COL_WIDTH, 'px')}" /> <s:task b:action="set" b:target="./style::left" b:value="{concat(sum(preceding-sibling::*/@b:ColWidth) * $TRAD_COL_WIDTH + (count(preceding-sibling::*) + 1) * $TRAD_COL_MARGIN, 'px')}" /> <s:task b:action="load" b:url="{concat('/tnapp/Query.php?Function=CreateCol&amp;NewPos=', count(preceding-sibling::trad:column) + 1, ';', count(../preceding-sibling::div) + 1)}" b:data="{current-time()}" b:destination="$TRAD_DUMMY_TARGET" b:test="@trad:serverCol = '0'"/> </s:event> <s:event b:on="do-column-delete"> <s:for-each b:target="trad:window" > <s:task b:action="trigger" b:event="do-close" b:target="$_target" /> </s:for-each> <s:task b:action="load" b:url="{concat('/tnapp/Query.php?Function=RemoveCol&amp;NewPos=', count(preceding-sibling::trad:column) + 1, ';', count(../preceding-sibling::div) + 1)}" b:data="{current-time()}" b:destination="$TRAD_DUMMY_TARGET" /> <s:task b:action="set" b:target="@b:ColWidth" b:value="0" /> <s:task b:action="trigger" b:event="resize" b:target="../trad:column[1]" /> <s:task b:action="remove" b:target="." /> </s:event> <s:event b:on="drag-receive"> <s:task b:action="set" b:target="$_dragCurrent/style::width" b:value="{./style::width}" /> <s:task b:action="move" b:source="$_dragCurrent" b:destination="id('TradWinDragDest')" b:mode="replace" /> </s:event> <s:event b:on="drag-enter"> <s:task b:action="move" b:source="id('TradWinDragDest')" b:destination="." b:mode="aslastchild" b:test="not(exists(./*[@id = $TRAD_Last_Win_Enter]))" /> </s:event> <s:event b:on="drag-reenter"> <s:task b:action="move" b:source="id('TradWinDragDest')" b:destination="." b:mode="aslastchild" b:test="exists(./*[@id = $TRAD_Last_Win_Enter and position() = last()] ) and $TRAD_Last_Win_Enter != 'TradWinDragDest'" /> </s:event> </s:behavior> <s:htmlstructure b:name="trad:column-header" b:behavior="trad-column-header"><div class="trad-column-header" ><s:innercontent /></div></s:htmlstructure> <s:htmlstructure b:name="trad:column-enlarge" b:behavior="trad-column-enlarge"><span class="trad-column-button trad-column-enlarge"></span></s:htmlstructure> <s:htmlstructure b:name="trad:column-reduce" b:behavior="trad-column-reduce" ><span class="trad-column-button trad-column-reduce"></span></s:htmlstructure> <s:htmlstructure b:name="trad:column-delete" b:behavior="trad-column-delete" ><span class="trad-column-button trad-column-delete"></span></s:htmlstructure> <s:htmlstructure b:name="trad:column-insert" b:behavior="trad-column-insert" ><span class="trad-column-button trad-column-insert"></span></s:htmlstructure> <s:behavior b:name="trad-column-header"> <s:event b:on="mouseenter" b:action="addclass" b:value="trad-column-header-hov" /> <s:event b:on="mouseleave" b:action="removeclass" b:value="trad-column-header-hov" /> </s:behavior> <s:behavior b:name="trad-column-enlarge"> <s:initatt b:tooltiptext="Enlarge" /> <s:event b:on="mouseenter" b:action="addclass" b:value="trad-column-header-button-hov" /> <s:event b:on="mouseleave" b:action="removeclass" b:value="trad-column-header-button-hov" /> <s:event b:on="click" > <s:if b:test="sum(../../../trad:column/@b:ColWidth) &lt; $TRAD_MAX_COL_COUNT" > <s:if b:test="../../@b:ColWidth &lt; $TRAD_MAX_COL_WIDTH" > <s:task b:action="set" b:target="../../@b:ColWidth" b:value="{../../@b:ColWidth + 1}" /> <s:task b:action="trigger" b:event="resize" b:target="../.." /> <s:task b:action="load" b:url="{concat('/tnapp/Query.php?Function=ResizeCol&amp;NewPos=', ../../@b:ColWidth, ';', count(../../preceding-sibling::trad:column) + 1, ';', count(../../../preceding-sibling::div) + 1)}" b:data="{current-time()}" b:destination="$TRAD_DUMMY_TARGET" /> </s:if> </s:if> </s:event> </s:behavior> <s:behavior b:name="trad-column-reduce"> <s:initatt b:tooltiptext="Reduce" /> <s:event b:on="mouseenter" b:action="addclass" b:value="trad-column-header-button-hov" /> <s:event b:on="mouseleave" b:action="removeclass" b:value="trad-column-header-button-hov" /> <s:event b:on="click" > <s:if b:test="../../@b:ColWidth > 1" > <s:task b:action="set" b:target="../../@b:ColWidth" b:value="{../../@b:ColWidth - 1}" /> <s:task b:action="trigger" b:event="resize" b:target="../.." /> <s:task b:action="load" b:url="{concat('/tnapp/Query.php?Function=ResizeCol&amp;NewPos=', ../../@b:ColWidth, ';', count(../../preceding-sibling::trad:column) + 1, ';', count(../../../preceding-sibling::div) + 1)}" b:data="{current-time()}" b:destination="$TRAD_DUMMY_TARGET" /> </s:if> </s:event> </s:behavior> <s:behavior b:name="trad-column-delete"> <s:initatt b:tooltiptext="Delete" /> <s:event b:on="mouseenter" b:action="addclass" b:value="trad-column-header-button-hov" /> <s:event b:on="mouseleave" b:action="removeclass" b:value="trad-column-header-button-hov" /> <s:event b:on="click"> <s:if b:test="count(../../../trad:column) > 1" > <s:task b:action="trigger" b:event="do-column-delete" b:target="../.." /> </s:if> </s:event> </s:behavior> <s:behavior b:name="trad-column-insert"> <s:initatt b:tooltiptext="Insert" /> <s:event b:on="mouseenter" b:action="addclass" b:value="trad-column-header-button-hov" /> <s:event b:on="mouseleave" b:action="removeclass" b:value="trad-column-header-button-hov" /> <s:event b:on="click"> <s:if b:test="sum(../../../trad:column/@b:ColWidth) &lt; $TRAD_MAX_COL_COUNT" > <s:task b:action="render" b:destination="../.." b:mode="after" b:render="NewTradColumn" /> <s:task b:action="trigger" b:event="resize" b:target="../.." /> </s:if> </s:event> </s:behavior> <s:render b:name="NewTradColumn"> <trad:column /> </s:render> <!-- The trad:toolbar control is the place holder for: - Tab navigation - News window creation button - Analyse window creation button - Search box - Refresh button --> <s:htmlstructure b:name="trad:toolbar" b:behavior="trad-toolbar"> <div class="ToolBar"> <s:innercontent /> </div> </s:htmlstructure> <!-- New structure for search list --> <s:htmlstructure b:name="trad:search-list" b:behavior="trad-search-list" > <div class="trad-search-list" > <s:innercontent /> </div> </s:htmlstructure> <s:htmlstructure b:name="trad:search-button" b:behavior="trad-search-button" > <span class="trad-search-button" > Search </span> </s:htmlstructure> <s:htmlstructure b:name="trad:news-button" b:behavior="trad-news-button"> <div class="trad-news-button" /> </s:htmlstructure> <s:htmlstructure b:name="trad:analysis-button" b:behavior="trad-analysis-button"> <div class="trad-analysis-button" /> </s:htmlstructure> <s:htmlstructure b:name="trad:refresh-button" b:behavior="trad-refresh-button"> <div class="trad-refresh-button" /> </s:htmlstructure> <s:htmlstructure b:name="trad:tradingnews-logo" b:behavior="trad-tradingnews-logo"> <div class="trad-tradingnews-logo" /> </s:htmlstructure> <s:htmlstructure b:name="trad:reuters-logo" b:behavior="trad-reuters-logo"> <div class="trad-reuters-logo" /> </s:htmlstructure> <s:htmlstructure b:name="trad:disclamer" b:behavior="trad-disclamer"> <div class="trad-disclamer" > Disclamer </div> </s:htmlstructure> <s:behavior b:name="search-box" > <s:event b:on="construct"> <s:variable b:name="searchlistfocus" b:scope="global" b:select="0" /> </s:event> <s:whenactive> <s:keys b:keys="enter" > <s:task b:action="trigger" b:event="command" b:target="../trad:search-button" b:usebeahvior="trad-search-button" /> <s:task b:action="trigger" b:event="hide-search-list" b:usebeahvior="trad-search-list" b:target="../../../trad:search-list" /> </s:keys> </s:whenactive> <s:event b:on="keyup"> <s:task b:action="blur" /> <s:task b:action="focus" /> <s:task b:action="load" b:url="{concat('/tnapp/phpClass/loadSearchList.php?wordTry=',./@value)}" b:destination="id('search-list')" b:data="{current-time()}" b:test="./@value!=''" /> <s:task b:action="trigger" b:event="hide-search-list" b:usebeahvior="trad-search-list" b:target="../../../trad:search-list" b:test="./@value=''" /> </s:event> <s:event b:on="blur"> <s:task b:action="trigger" b:event="hide-search-list" b:usebeahvior="trad-search-list" b:target="../../../trad:search-list" b:test="$searchlistfocus='0'" /> </s:event> </s:behavior> <s:behavior b:name="trad-search-list"> <s:event b:on="receive"> <s:task b:action="msg" b:value="Recieve" /> <s:setstyle b:display="block" /> </s:event> <!-- New event for hidding div search list --> <s:event b:on="hide-search-list"> <s:setstyle b:display="none" /> </s:event> </s:behavior> <s:behavior b:name="trad-toolbar" > <s:event b:on="construct" > <s:render b:destination="." b:mode="aslastchild" > <div class="tool-bar-button"> <!-- <trad:disclamer /> --> <trad:news-button /> <trad:analysis-button /> <input class="trad-search-text" type="text" name="query" id="search-input" b:behavior="search-box" /> <trad:search-button /> <!-- <trad:refresh-button /> --> <trad:reuters-logo /> </div> </s:render> </s:event> </s:behavior> <s:behavior b:name="trad-search-button"> <s:event b:on="command"> <s:task b:action="blur" /> <s:variable b:name="CurrentId" b:select="upper-case(../input/@value)"/> <s:task b:action="trigger" b:event="add-window" /> <s:task b:action="set" b:target="//input[@name='query']/@value" b:value="" /> <s:task b:action="trigger" b:event="hide-search-list" b:usebeahvior="trad-search-list" b:target="../../../trad:search-list" /> </s:event> <s:event b:on="add-window"> <s:if b:test="count(//b:deck/div[@b:state='selected']//trad:window) &lt; $TRAD_MAX_WIN_COUNT" > <s:choose> <s:when b:test="not(exists(//trad:window[@name=$CurrentId]))" > <s:render b:destination="//b:deck/div[@b:state='selected']/trad:column[1]/trad:column-header" b:mode="after" > <trad:window id="{upper-case($CurrentId)}" name="{upper-case($CurrentId)}" trad:MainType= "601" /> </s:render> </s:when> <s:otherwise> <s:task b:action="select" b:target="//trad:window[@name=$CurrentId]" /> </s:otherwise> </s:choose> </s:if> </s:event> </s:behavior> <s:behavior b:name="trad-news-button"> <s:initatt b:tooltiptext="Display News" /> <s:event b:on="mouseenter"> <s:task b:action="addclass" b:value="trad-tool-button-hov" /> </s:event> <s:event b:on="mouseleave"> <s:task b:action="removeclass" b:value="trad-tool-button-hov" /> </s:event> <s:event b:on="command"> <s:variable b:name="CurrentId" b:select="$TRAD_NEWS_DEFAULT_NAME"/> <s:choose> <s:when b:test="not(exists(//trad:window[@name=$CurrentId]))" > <s:render b:destination="//b:deck/div[@b:state='selected']/trad:column[1]/trad:column-header" b:mode="after" > <trad:window id="{upper-case($CurrentId)}" name="{upper-case($CurrentId)}" trad:MainType= "400" trad:hasQuote = "0" trad:hasChart = "0" trad:hasNews = "1" trad:hasAnalyse = "0" trad:showQuote="0" trad:showNews="1" /> </s:render> </s:when> <s:otherwise> <s:task b:action="select" b:target="//trad:window[@name=$CurrentId]" /> </s:otherwise> </s:choose> </s:event> </s:behavior> <s:behavior b:name="trad-analysis-button"> <s:initatt b:tooltiptext="Display Analysis" /> <s:event b:on="mouseenter"> <s:task b:action="addclass" b:value="trad-tool-button-hov" /> </s:event> <s:event b:on="mouseleave"> <s:task b:action="removeclass" b:value="trad-tool-button-hov" /> </s:event> <s:event b:on="command"> <s:variable b:name="CurrentId" b:select="'ANALYSES'"/> <s:choose> <s:when b:test="not(exists(//trad:window[@name=$CurrentId]))" > <s:render b:destination="//b:deck/div[@b:state='selected']/trad:column[1]/trad:column-header" b:mode="after" > <trad:window id="{upper-case($CurrentId)}" name="{upper-case($CurrentId)}" trad:MainType= "299" trad:hasQuote = "0" trad:hasChart = "0" trad:hasNews = "0" trad:hasAnalyse = "1" trad:showQuote="0" trad:showAnalyse="1" /> </s:render> </s:when> <s:otherwise> <s:task b:action="select" b:target="//trad:window[@name=$CurrentId]" /> </s:otherwise> </s:choose> </s:event> </s:behavior> <s:behavior b:name="trad-refresh-button"> </s:behavior> <s:behavior b:name="trad-tradingnews-logo"> </s:behavior> <s:behavior b:name="trad-reuters-logo"> </s:behavior> <s:behavior b:name="trad-disclamer"> <s:event b:on="command"> <s:render b:destination="/*" b:mode="aslastchild"> <trad:popup-window id="popup-win" trad:title="Trading News"> <trad:popup-windowbody> <div id="Disclaimer" > <h1>Legal disclaimer</h1> <h2>En attente du Marketing</h2> </div> </trad:popup-windowbody> </trad:popup-window> </s:render> </s:event> </s:behavior> </div><trad:toolbar><trad:tab-header><trad:tab b:followstate="id('Tab-1')" b:tabId="1" trad:serverTab="1" >Default</trad:tab></trad:tab-header></trad:toolbar><trad:search-list id="search-list" /><div class="WorkingArea" id="WorkingArea"><trad:popup-window id="popup-win" trad:title="Trading News"><trad:popup-windowbody><div id="BxmlContent"><div id="HtmlPublisherContent"><div class="sbMenu"><ul class="clearfix rMenu-hor rMenu menu0" id='sbMenu_tradingnews_news'><li class="rMenu-expand menu1"><a href="http://www.tradingnews.com/en/news/International/Serbia_denies_genocide_2008-05-26_13-15-00.html">International</a><ul class="rMenu-ver lvl1"><li class="rMenu-expand menu11"><a href="http://www.tradingnews.com/en/news/International/Oceania/ANALYSIS-Asian_fuel_price_2008-05-26_13-04-00.html">Oceania</a><ul class="rMenu-ver lvl11"><li class="menu11"><a href="http://www.tradingnews.com/en/news/International/Oceania/Australia/DIARY_-_Asian_2008-05-26_12-01-00.html">Australia</a></li><li class="menu11"><a href="http://www.tradingnews.com/en/news/International/Oceania/New+Zealand/DIARY_-_Asian_2008-05-26_12-01-00.html">New Zealand</a></li><li class="menu11"><a href="http://www.tradingnews.com/en/news/International/Oceania/Indonesia/ANALYSIS-Asian_fuel_price_2008-05-26_13-04-00.html">Indonesia</a></li></ul></li><li class="rMenu-expand menu11"><a href="http://www.tradingnews.com/en/news/International/North+America/DIARY_-_Latin_2008-05-26_13-15-00.html">North America</a><ul class="rMenu-ver lvl11"><li class="menu11"><a href="http://www.tradingnews.com/en/news/International/North+America/Canada/DIARY_-_Americas_2008-05-26_11-58-00.html">Canada</a></li><li class="menu11"><a href="http://www.tradingnews.com/en/news/International/North+America/USA/DIARY_-_U.S._2008-05-26_13-10-00.html">USA</a></li><li class="menu11"><a href="http://www.tradingnews.com/en/news/International/North+America/Mexico/DIARY_-_Latin_2008-05-26_13-15-00.html">Mexico</a></li></ul></li><li class="rMenu-expand menu11"><a href="http://www.tradingnews.com/en/news/International/South+America/DIARY_-_Latin_2008-05-26_13-15-00.html">South America</a><ul class="rMenu-ver lvl11"><li class="menu11"><a href="http://www.tradingnews.com/en/news/International/South+America/Argentina/DIARY_-_Latin_2008-05-26_13-15-00.html">Argentina</a></li><li class="menu11"><a href="http://www.tradingnews.com/en/news/International/South+America/Brazil/DIARY_-_Latin_2008-05-26_13-15-00.html">Brazil</a></li><li class="menu11"><a href="http://www.tradingnews.co