Become Member  Informations Help

> Finance & Stock Exchange > Markets

European stocks extend losing streak, UBS falls

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

By Blaise Robinson

PARIS, May 26 (Reuters) - European stocks were slightly down around midday on Monday, falling for the fourth time in five sessions as fresh asset writedown fears at UBS <UBSN.VX> knocked banking shares lower.

Crude oil prices <CLc1> holding above $130 a barrel also continued to put pressure on stocks as concerns over rising inflation persisted.

Nokia <NOK1V.HE> retreated, down nearly 2 percent on market talk that the world's largest cellphone maker may cut its handset prices by as much as 20 percent in a bid to gain a bigger slice of the market from players like Motorola <MOT.N>.

Shares in Nokia's Asian rival LG Electronics <066570.KS> tumbled more than 8 percent on the rumours.

At 1050 GMT, the FTSEurofirst 300 <.FTEU3> index of top European shares was down 0.1 percent at 1,320.83 points, after falling 3.2 percent last week.

Both UK and U.S. markets were closed on Monday for a public holiday.

"The focus remains on oil prices, with concerns arising on how a number of sectors will cope with that. We've seen a sharp correction last week on airline stocks after company outlooks, citing high oil prices, disappointed the market," said Benoit De Broissia, analyst at Richelieu Finance, in Paris.

"The pressure from rising commodity prices is now so great that it reignites fears of second-round inflation, with wage hikes," he said.

The rise in oil prices aggravated existing worries among investors over inflation and stripped more than 2 percent off Japan's Nikkei <.N225> overnight.

WRITEDOWN FEARS RETURN

Banks were the heaviest negative weight on the market, with the DJ Stoxx index of European banks <.SX7P> down 0.7 percent, led by a decline in shares of UBS <UBSN.VX>, down 3.1 percent after the Swiss lender said it continues to be exposed to U.S. mortgages in its prospectus for its upcoming $15-billion rights issue.

UBS "continues to hold positions exposed to the United States residential mortgage and may record additional losses to such exposures," the bank said.

UBS will trade ex-rights on Tuesday and some traders said this was also already weighing on the company's stock.

UBS is Europe's largest subprime casualty so far, having written down $37 billion of assets hit by the U.S. subprime lending crisis.

Its stock has lost 42 percent so far this year, while the DJ Stoxx bank index <.SX7P> has fallen 20 percent over the same period and the broad FTSEurofirst 300 has fallen 12 percent.

Banco Santander <SAN.MC> was down 1 percent, while UniCredit <CRDI.MI> fell 1.8 percent and Credit Suisse <CSGN.VX> lost 1.5 percent.

Around Europe, Frankfurt's DAX <.GDAXI> was up 0.06 percent, while Paris' CAC 40 <.FCHI> was up 0.3 percent, and the Swiss blue chip SMI index <.SSMI> was down 0.7 percent.

French utility Suez <LYOE.PA> was among the top gainers, rising 2.4 percent after the company said it was looking to sell its Belgian natural gas trading arm Distrigas <DISTy.BR>. The company said on Saturday it had entered into exclusive talks with Italy's Eni <ENI.MI>.

Eni shares were up 0.3 percent. (Editing by David Cowell) ((blaise.robinson@reuters.com ; +33 1 4949 5269, Reuters Messaging: blaise.robinson.reuters.com@reuters.net))

Keywords: MARKETS EUROPE STOCKS

Keywords: MARKETS EUROPE STOCKS

UPDATE 2-Russia c.bank raises bank reserve requirements

Reuters: [2008-05-26 13:12:00]

(Adds analyst comments)

By Gleb Bryanski

MOSCOW, May 26 (Reuters) - The Russian central bank, worried about galloping inflation and fast lending growth, said on Monday it will aggressively raise bank reserve requirements from July 1 in order to curb inflation.

The central bank said the requirements on banks' liabilities in foreign currency would rise to 7.0 percent from 5.5 percent, requirements on retail deposits to 5.0 percent from 4.5 percent and on other liabilities to 5.5 percent from 5.0 percent.

It will also set an averaging ratio, which allows banks to spread their reserves over time and even out periods of excess and scarce liquidity, at 0.5 percent compared with 0.4 percent before.

"It was a timely decision. The rise is significant, I think there will be an impact," said Natalya Orlova from Alfa Bank. The central bank said the rise of the averaging ratio will smooth the impact of the measure.

Annualised inflation is threatening to exceed 15 percent in May, well above the government's target of 10 percent. Mandatory reserve requirements are the money the banks should set aside and a rise in requirements slows lending growth.

Orlova expects the measure to bring down the annual inflation rate by 0.3 percentage points and said it was equivalent to slowing expected 48 percent corporate lending growth in 2008 by about 2 percentage points.

Corporate lending grew by 70 percent in the first quarter and the central bank's deputy chairman Gennady Melikyan said last week he was worried about Russian banks growing too fast and lending too much despite the global economic slowdown.

Russia's top banks Sberbank <SBER03.MM> and VTB <VTBR.MM> reported healthy results for 2007 but warned of an imminent slowdown later this year. Both banks lobby for access to cheap government cash.

NO SLOWDOWN

The rise in reserve requirements came as the largest Russian banks and corporations have returned to capital markets after a pause caused by the global credit crunch with banks like VTB <VTBR.MM> issuing a $2 billion Eurobond last week.

The Russian banks have made a lucrative business of borrowing cash at low interest rates abroad and lending it at home at effective interest rates which have in the past reached as much as 50-70 percent per year.

The requirements are the central bank's second most powerful anti-inflation monetary policy tool after the rouble exchange rate but the central bank has so far been reluctant to revalue the rouble due to speculative capital inflow fears.

A number of large Western investment banks advised their clients to go long on the rouble in anticipation of a revaluation after the inauguration of President Dmitry Medvedev to bring inflation in line with the governments' forecasts.

The central bank, which runs a managed float of the rouble against the dollar/euro basket, dismissed the recommendations as talk of irrational investors and moved to introduce greater volatility in the forex market to confuse speculators.

Medvedev's new Prime Minister and former President Vladimir Putin this month said his government was prepared to tolerate double-digit inflation for some years, squashing revaluation rumours.

Russia lifted capital controls in 2006 exposing its economy to volatile capital flows but left the fixed exchange rate regime in place, which made guessing about the timing of the revaluation a favourite game among investors.

"This move, unlike the interest rates rise or the revaluation of the rouble, will not bring speculative capital and may tie up excess liquidity," said Yaroslav Lissovolik from Deutsche Bank.

The move, although viewed as significant, still leaves the Russian reserve requirements well below China's level of 16.5 percent for big banks and analysts say there is room for more hikes in the future.

"If banks will start borrowing on international capital markets, we are likely to see more rises of mandatory reserve requirements," said Orlova. (Additional reporting by Dmitry Sergeyev) (Reporting by Gleb Bryanski) ((gleb.bryanski@reuters.com ; +7 495 775 1242; Reuters Messaging: gleb.bryanski.reuters.com@reuters.net;editing by Ian Jones))

Keywords: RUSSIA CBANK/

UPDATE 2-Russia c.bank raises bank reserve requirements

Reuters: [2008-05-26 13:12:00]

(Adds analyst comments)

By Gleb Bryanski

MOSCOW, May 26 (Reuters) - The Russian central bank, worried about galloping inflation and fast lending growth, said on Monday it will aggressively raise bank reserve requirements from July 1 in order to curb inflation.

The central bank said the requirements on banks' liabilities in foreign currency would rise to 7.0 percent from 5.5 percent, requirements on retail deposits to 5.0 percent from 4.5 percent and on other liabilities to 5.5 percent from 5.0 percent.

It will also set an averaging ratio, which allows banks to spread their reserves over time and even out periods of excess and scarce liquidity, at 0.5 percent compared with 0.4 percent before.

"It was a timely decision. The rise is significant, I think there will be an impact," said Natalya Orlova from Alfa Bank. The central bank said the rise of the averaging ratio will smooth the impact of the measure.

Annualised inflation is threatening to exceed 15 percent in May, well above the government's target of 10 percent. Mandatory reserve requirements are the money the banks should set aside and a rise in requirements slows lending growth.

Orlova expects the measure to bring down the annual inflation rate by 0.3 percentage points and said it was equivalent to slowing expected 48 percent corporate lending growth in 2008 by about 2 percentage points.

Corporate lending grew by 70 percent in the first quarter and the central bank's deputy chairman Gennady Melikyan said last week he was worried about Russian banks growing too fast and lending too much despite the global economic slowdown.

Russia's top banks Sberbank <SBER03.MM> and VTB <VTBR.MM> reported healthy results for 2007 but warned of an imminent slowdown later this year. Both banks lobby for access to cheap government cash.

NO SLOWDOWN

The rise in reserve requirements came as the largest Russian banks and corporations have returned to capital markets after a pause caused by the global credit crunch with banks like VTB <VTBR.MM> issuing a $2 billion Eurobond last week.

The Russian banks have made a lucrative business of borrowing cash at low interest rates abroad and lending it at home at effective interest rates which have in the past reached as much as 50-70 percent per year.

The requirements are the central bank's second most powerful anti-inflation monetary policy tool after the rouble exchange rate but the central bank has so far been reluctant to revalue the rouble due to speculative capital inflow fears.

A number of large Western investment banks advised their clients to go long on the rouble in anticipation of a revaluation after the inauguration of President Dmitry Medvedev to bring inflation in line with the governments' forecasts.

The central bank, which runs a managed float of the rouble against the dollar/euro basket, dismissed the recommendations as talk of irrational investors and moved to introduce greater volatility in the forex market to confuse speculators.

Medvedev's new Prime Minister and former President Vladimir Putin this month said his government was prepared to tolerate double-digit inflation for some years, squashing revaluation rumours.

Russia lifted capital controls in 2006 exposing its economy to volatile capital flows but left the fixed exchange rate regime in place, which made guessing about the timing of the revaluation a favourite game among investors.

"This move, unlike the interest rates rise or the revaluation of the rouble, will not bring speculative capital and may tie up excess liquidity," said Yaroslav Lissovolik from Deutsche Bank.

The move, although viewed as significant, still leaves the Russian reserve requirements well below China's level of 16.5 percent for big banks and analysts say there is room for more hikes in the future.

"If banks will start borrowing on international capital markets, we are likely to see more rises of mandatory reserve requirements," said Orlova. (Additional reporting by Dmitry Sergeyev) (Reporting by Gleb Bryanski) ((gleb.bryanski@reuters.com ; +7 495 775 1242; Reuters Messaging: gleb.bryanski.reuters.com@reuters.net;editing by Ian Jones))

Keywords: RUSSIA CBANK/

UPDATE 3-Nigeria rebels say attack Shell oil pipeline

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

(Adds comment from military spokesman)

By Nick Tattersall

LAGOS, May 26 (Reuters) - Rebels from Nigeria's oil-producing Niger Delta said they had blown up a Royal Dutch Shell <RDSa.L> pipeline and killed 11 soldiers in a firefight on Monday, but the army denied losing any men.

The rebel Movement for the Emancipation of the Niger Delta (MEND) said in an emailed statement that it had sabotaged the Shell pipeline at Awoba flow station in southern Rivers state in the early hours of Monday morning.

"Today's attack is dedicated to the administration of (President) Umaru Yar'Adua and (Vice President) Goodluck Jonathan who have failed after one year in office to ensure peace, security and reconciliation in the Niger Delta region," the MEND statement said.

Shell in Nigeria said it was investigating and had no immediate comment.

Nigeria's army initially denied there had been an attack but later confirmed there had been a blast early on Monday at a Shell facility close to Awoba which was not guarded by soldiers.

"The cause of the explosion has not yet been determined but it is strongly suspected that explosives might have been used by miscreants," Sagir Musa, military spokesman in Rivers state, told Reuters.

Musa said troops had been sent to the site of the blast but denied that 11 soldiers in a military gunboat had been killed in a shoot-out.

The Niger Delta is home to the world's eighth-biggest oil industry, exporting about 2.1 million barrels per day, but rebels have led a campaign of sabotage since early 2006 to push demands for greater local control over oil revenues.

The unrest has depressed Nigerian output by around a fifth since then, helping to push world oil prices to record highs. Oil rose above $133 a barrel on Monday after striking a record high of $135.09 last week.

A new government in Nigeria led by Yar'Adua and Jonathan, a native of the delta, took office on May 29 last year promising to address the root causes of the violence in the Niger Delta and to negotiate with the militants.

But attacks on oil installations and the kidnapping of oil industry workers have continued in the region, with MEND last week accusing the government of "insincerity" in its handling of the situation.

Shell was forced to shut in about 164,000 barrels per day of Bonny Light crude production -- or about 40 percent of the Anglo-Dutch major's equity oil output in Nigeria -- late last month due to militant attacks in the delta.

The company has been restoring some of the shut-in production but a force majeure remains in place for Bonny Light exports, meaning it cannot guarantee to meet its contract commitments. (For full Reuters Africa coverage and to have your say on the top issues, visit: http://africa.reuters.com/ ) (Additional reporting by Austin Ekeinde in Port Harcourt, Writing by Nick Tattersall; Editing by Matthew Jones) ((Reuters messaging: nicholas.tattersall.reuters.com@reuters.net, Lagos Newsroom +234 1 463 0257))

Keywords: NIGERIA DELTA/ATTACK

UPDATE 3-Thai Q1 growth slows, inflation risks mount

Reuters: [2008-05-26 12:43:00]

 (Adds central bank comment on growth risk in paragraph 15) 
    By Kitiphong Thaichareon  
    BANGKOK, May 26 (Reuters) - Thailand's economic growth slowed 
as expected in the first quarter to 1.4 percent, as inflation 
dragged on growth, and analysts said high prices would keep 
activity subdued in coming quarters.  
    The state economic planning agency left its full-year growth 
forecast unchanged at 4.5-5.5 percent in a report on Monday, but 
raised its inflation forecast to a 10-year high, underlining 
global pressures from record high oil and food prices. 
    Analysts said they expected inflation to hamper consumption 
and investment, but also to raise pressure on the Thai central 
bank to raise interest rates.  
    Nuchjarin Panarode, an economist at Capital Nomura 
Securities, said the National Economic and Social Development 
Board's view on the economy remained positive.  
    "It is also interesting that they revised the inflation 
forecast up to 5.3-5.8 percent, which suggests that with oil 
prices at these levels a rate hike is inevitable," she said. 
    "I expect the central bank to raise rates in the second half 
of this year." 
    The NESDB raised its 2008 inflation forecast from its 
previous forecast in February of 3.2-3.7 percent. 
    Inflation of 5.3 percent would be the highest since 1998, 
when it averaged 8.1 percent. 
    The agency said seasonally adjusted gross domestic product 
rose 1.4 percent in the first quarter, slowing from 1.7 percent 
in the fourth quarter and breaking four consecutive quarterly 
increases in growth following a military coup in September 2006. 
     From the year-earlier quarter, growth picked up to 6.0 
percent, broadly in line with expectations, from 5.7 percent in 
the fourth quarter. 
    The NESDB raised its growth forecast for both exports and 
imports for 2008. But it said imports would grow faster than 
exports, so it downgraded its forecast for both the trade and 
current account surpluses. [ID:nBAK000356] 
    Fuelling strong imports, oil shipments rose 68 percent in the 
first quarter from a year earlier, triple the pace seen in 
fourth-quarter data. 
     
    FARM OUTPUT EXPANDS  
    Thailand's agricultural growth quickened in the first quarter 
from the fourth, the data showed. Manufacturing and services 
slowed, while construction swung to a contraction.  
    A fall in government consumption deepened while household 
consumption picked up. [ID:nBKT000668] 
    Fresh street protests over a government plan to amend the 
constitution, which critics says is aimed at favouring former 
Prime Minister Thaksin Shinawatra, could drag on growth if they 
distract the government from managing the economy, the central 
bank said. 
    Growth this year is also threatened by an expected slowdown 
in global economic activity sparked by a U.S. housing downturn 
and credit crisis, analysts said.  
    That puts the focus on Thailand's consumers to drive growth 
but rising prices and interest rates would undermine sentiment, 
said Vishnu Varathan, economist at Forecast Pte. 
    The central bank has held interest rates steady at its last 
seven policy reviews after five rate cuts in 2007. 
    It kept its main rate steady last week at 3.25 percent after 
inflation jumped to a two-year high in April of 6.2 percent. But 
it said it was ready to raise rates if inflation picked up. 
    To counter high oil and rice prices, Thailand's government 
has vowed to pursue pro-growth policies. It has unveiled measures 
to boost consumer spending and pledged to accelerate 
multi-billion-dollar infrastructure projects.  
    "Inflation is something we have to worry about but it should 
not cause alarm. The expected inflation figure needs not be 
viewed as a major economic risk although it requires proper 
management," NESDB chief Ampon Kittiampon told reporters.  
    The economy grew 4.8 percent in 2007, dropping from 5.1 
percent in 2006. Private-sector economists polled by Reuters last 
week forecast growth would rise to 5.2 percent in 2008.  
  
 OTHER STORIES  
 > More analysts comments........................[ID:nBKK106060] 
 > GDP breakdown and historical figures..........[ID:nBKT000668] 
 > Thai central bank holds rates, ready to tighten[ID:nBKK19451] 
 > New street protests hurt stability............[ID:nBKK174409] 
 > Asia stocks slide as inflation fears rise......[ID:nSP277486] 
  
 (Additional reporting by Trisanat Kongkhunthian; Writing by 
Vithoon Amorn; Editing by Neil Fullick)  
 ((; e-mail: bangkok.newsroom@reuters.com; Reuters Messaging 
vithoon.amorn.reuters.com@reuters.net;+662 6489737))  
Keywords: THAILAND ECONOMY/  
    
Next: UPDATE 3-Thai Q1 growth slows, inflation risks mount
<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.com/en/news/International/South+America/Chile/DIARY_-_Latin_2008-05-26_13-15-00.html">Chile</a></li><li class="menu11"><a href="http://www.tradingnews.com/en/news/International/South+America/Peru/DIARY_-_Latin_2008-05-26_13-15-00.html">Peru</a></li></ul></li>