Become Member  Informations Help

> Bourse & Finance > Banques et institutions financières > Federal Reserve Board

LEAD 2 USA - Fillon met en garde sur la volatilité des changes

Reuters: [2008-05-03 00:47:00]

(Actualisé avec départ de Fillon, citations, détails)

par Sophie Louet

WASHINGTON, 3 mai (Reuters) - François Fillon s'est inquiété vendredi de la forte volatilité des changes, "un danger pour l'Europe et les Etats-Unis", et a souligné que la zone euro ne pourrait supporter à elle seule "le poids de l'ajustement de toutes les monnaies".

Au dernier jour de sa visite à Washington, centrée sur la crise économique et financière internationale, le Premier ministre a également délivré un message à usage interne, dans une conjoncture morose pour la France, en affirmant que les Français n'avaient pas à être "inquiets plus que cela" des répercussions en Europe des turbulences américaines.

"A la fin de ce voyage, je sais qu'on a encore un certain nombre de trimestres de crise devant nous", a-t-il toutefois jugé devant des journalistes. François Fillon a quitté les Etats-Unis vendredi soir.

"La France et l'Europe sont dans une situation intermédiaire, nos fondamentaux sont globalement sains dans la zone euro, mais le ralentissement de la croissance aux Etats-Unis, la surévaluation manifeste de l'euro, la hausse des prix de l'énergie et des matières alimentaires vont peser sur la croissance européenne", avait-il dit vendredi matin lors d'une conférence de presse.

Alors que l'euro a atteint des records face au dollar, François Fillon a estimé que la forte volatilité entre les monnaies représentait "un danger pour l'Europe, pour les Etats-Unis, pour l'économie mondiale".

"Comme nos amis américains, nous estimons que les fluctuations récentes ont été trop brutales. Le taux de change de l'euro est globalement surévalué", a-t-il fait valoir aux côtés de la ministre de l'Economie, Christine Lagarde.

"Mon message est simple : la zone euro ne peut pas supporter seule le poids de l'ajustement de toutes les monnaies", a-t-il souligné.

"Un ajustement plus équilibré est dans l'intérêt de toutes les parties, y compris des Chinois qui connaissent une forte croissance et une forte inflation", a-t-il ajouté.

Le chef du gouvernement a appelé à l'application sans délai des mesures du G7-Finances, qui préconise d'adopter les recommandations du Forum de stabilité financière pour éviter une nouvelle crise mondiale du crédit.

LES PREVISIONS FRANÇAISES "SE TIENNENT"

Une de ces recommandations enjoint aux institutions financières de communiquer "totalement et sans délai" sur leur exposition aux encours à risque et leurs dépréciations.

"Face à la crise, nous pensons qu'il faut agir de façon coordonnée, de façon résolue", a fait valoir François Fillon.

Sous le sceau de l'"alliance solide" que la France appelle désormais de ses voeux avec les Etats-Unis, le Premier ministre a souhaité que Paris et Washington agissent de concert pour corriger la situation sur les marchés des changes.

"J'entends bien que les autorités américaines répètent inlassablement que le dollar est trop faible et que l'économie américaine mérite un dollar plus fort. Il faut que nous trouvions ensemble les moyens de faire en sorte que cette affirmation se traduise dans les faits", a-t-il dit.

Une invite que François Fillon a relayée auprès du président de la Réserve fédérale américaine, Ben Bernanke, du secrétaire au Trésor Henry Paulson et du directeur général du Fonds monétaire international (FMI), Dominique Strauss-Kahn.

Il a fait le point vendredi matin de la conjoncture américaine avec des patrons et financiers américains.

"Les chefs d'entreprise sont sceptiques quant à une sortie de crise rapide et prédisent une croissance faible jusqu'à l'année prochaine", a-t-on rapporté dans son entourage.

François Fillon est venu également expliquer les réformes françaises, qui suscitent dans le pays déception et interrogations, estimant qu'elles permettraient à la France d'atténuer le contrecoup de la crise.

"Ces répercussions me paraissent moins fortes que ce qu'elles pourraient être en raison de la bonne santé des fondamentaux de l'économie européenne, mais ce sont des points de croissance ou des demi-points de croissance qui nous manquent", a-t-il dit. "Les Français ne doivent pas être plus inquiets que cela".

La prévision de croissance du gouvernement français pour 2008 - 1,7-2,0% - "se tient", a-t-il assuré, malgré les scénarios plus pessimistes du FMI et de la Commission européenne. /SL

((Service Informations générales. Tel 01 49 49 53 68. paris.newsroom@reuters.com. Reuters Messaging : sophie.louet.reuters.com@reuters.net))

LEAD 1 USA - Fillon met en garde sur la volatilité des changes

Reuters: [2008-05-02 19:36:00]

par Sophie Louet

WASHINGTON, 2 mai (Reuters) - François Fillon s'est inquiété vendredi de la forte volatilité des changes, "un danger pour l'Europe et les Etats-Unis", et a souligné que la zone euro ne pourrait supporter à elle seule "le poids de l'ajustement de toutes les monnaies".

Au dernier jour de sa visite à Washington, centrée sur la crise économique et financière internationale, le Premier ministre a également délivré un message à usage interne, dans une conjoncture morose pour la France, en affirmant que les Français n'avaient pas à être "inquiets plus que cela" des répercussions en Europe des turbulences américaines.

"La France et l'Europe sont dans une situation intermédiaire, nos fondamentaux sont globalement sains dans la zone euro, mais le ralentissement de la croissance aux Etats-Unis, la surévaluation manifeste de l'euro, la hausse des prix de l'énergie et des matières alimentaires vont peser sur la croissance européenne", a-t-il déclaré lors d'une conférence de presse.

Alors que l'euro a atteint des records face au dollar, François Fillon a estimé que la forte volatilité entre les monnaies représentait "un danger pour l'Europe, pour les Etats-Unis, pour l'économie mondiale".

"Comme nos amis américains, nous estimons que les fluctuations récentes ont été trop brutales. Le taux de change de l'euro est globalement surévalué", a-t-il fait valoir aux côtés de la ministre de l'Economie, Christine Lagarde.

"Mon message est simple : la zone euro ne peut pas supporter seule le poids de l'ajustement de toutes les monnaies", a-t-il souligné.

"Un ajustement plus équilibré est dans l'intérêt de toutes les parties, y compris des Chinois qui connaissent une forte croissance et une forte inflation", a-t-il ajouté.

Le chef du gouvernement a appelé à l'application sans délai des mesures du G7-Finances, qui préconise d'adopter les recommandations du Forum de stabilité financière pour éviter une nouvelle crise mondiale du crédit.

LES PREVISIONS FRANÇAISES "SE TIENNENT"

Une de ces recommandations enjoint aux institutions financières de communiquer "totalement et sans délai" sur leur exposition aux encours à risque et leurs dépréciations.

"Face à la crise, nous pensons qu'il faut agir de façon coordonnée de façon résolue", a fait valoir François Fillon.

Sous le sceau de l'"alliance solide" que la France appelle désormais de ses voeux avec les Etats-Unis, le Premier ministre a souhaité que Paris et Washington agissent de concert pour corriger la situation sur les marchés des changes.

"J'entends bien que les autorités américaines répètent inlassablement que le dollar est trop faible et que l'économie américaine mérite un dollar plus fort. Il faut que nous trouvions ensemble les moyens de faire en sorte que cette affirmation se traduise dans les faits", a-t-il dit.

Une invite que François Fillon devait relayer auprès du président de la Réserve fédérale américaine, Ben Bernanke, du secrétaire au Trésor Henry Paulson et du directeur général du Fonds monétaire international (FMI), Dominique Strauss-Kahn.

Il a fait le point vendredi matin de la conjoncture américaine avec des patrons et financiers américains, parmi lesquels Patricia Russo, directrice générale de l'équipementier télécoms Alcatel-Lucent <ALUA.PA>, David Bronzcek, P-DG de FedEx, Paul Michael, président de Mars.

François Fillon est venu également expliquer les réformes françaises, qui suscitent dans le pays déception et interrogations, estimant qu'elles permettraient à la France d'atténuer le contrecoup de la crise.

"Ces répercussions me paraissent moins fortes que ce qu'elles pourraient être en raison de la bonne santé des fondamentaux de l'économie européenne, mais ce sont des points de croissance ou des demi-points de croissance qui nous manquent", a-t-il dit. "Les Français ne doivent pas être plus inquiets que cela".

La prévision de croissance du gouvernement français pour 2008 - 1,7-2,0% - "se tient", a-t-il assuré, malgré les scénarios plus pessimistes du FMI et de la Commission européenne. /SL

((Service Informations générales. Tel 01 49 49 53 68. paris.newsroom@reuters.com. Reuters Messaging : sophie.louet.reuters.com@reuters.net))

LEAD 1 USA - 20.000 emplois détruits en avril, moins que prévu

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

WASHINGTON, 2 mai (Reuters) - L'économie américaine a supprimé 20.000 emplois en avril, soit quatre fois moins qu'attendu par le marché, selon les données publiées vendredi par le département du travail qui montrent en outre une baisse inattendue du taux de chômage.

Le marché de l'emploi aux Etats-Unis a ainsi vécu son quatrième mois consécutif de contraction, après la perte de 81.000 postes en mars, de 83.000 en février et de 76.000 en janvier, soit un total de 260.000 suppressions depuis le début de l'année.

Le taux de chômage, calculé sur la base d'une enquête distincte, a néanmoins diminué pour revenir à 5,0% en avril. Les économistes interrogés par Reuters tablaient en moyenne sur une hausse du taux de chômage à 5,2%, après un taux à 5,1% en mars.

Même s'ils sont inférieurs à ce qui était prévu, ces chiffres confirment la détérioration du marché de l'emploi. Cette série de quatre mois consécutif de baisse est la plus longue enregistrée depuis 2003.

Le ralentissement du rythme des destructions d'emplois semble toutefois confirmer que la Réserve fédérale en a bel et bien terminé avec son cycle de baisse des taux, entamé au mois de septembre.

"Il semble que l'économie est en meilleur forme qu'on le pensait", note Owen Fitzpatrick, responsable actions USA chez Deustche Bank Private Wealth. "Je pense que beaucoup de gens s'attendaient à ce que ce soit bien pire."

DE L'AIR POUR LA FED

Pour John Silvia, économiste de la banque Wachovia, les chiffres de l'emploi donnent de l'air à la Fed afin qu'elle puisse observer les effets de sa politique de baisse des taux.

"Je pense que le déclin de l'emploi est moins important que prévu et en droite ligne avec l'idée d'un ralentissement modeste de l'économie américaine, peut-être avec une récession, et je pense que cela va donner du temps à la Fed pour qu'elle étudie les chiffres", estime-t-il.

Avant la publication des chiffres de l'emploi, la Fed avait annoncé de nouvelles mesures destinées à apaiser les tensions sur les marchés du crédit.

Jusqu'à présent, l'économie est parvenue à esquiver la récession proprement dite, malgré une croissance médiocre de 0,6% en rythme annuel au premier trimestre. Certains responsables restent prudemment optimistes, avançant que le pire de la crise du crédit est passé malgré la persistance des tensions sur certains marchés tels que celui de l'immobilier résidentiel.

Selon de département du Travail, 61.000 emplois ont été supprimés au mois d'avril dans le secteur du bâtiment. C'est la baisse la plus marque depuis les 103.000 destructions de postes comptabilisées en février 2007.

Les activités de production de biens sont celles qui ont le plus perdu d'emplois. À l'inverse, l'industrie des services a créé 90.000 postes, pour la plupart dans les secteurs de la santé et des services techniques. /NDE

(Version française Nicolas Delame) ((Service économique. Tel 01 49 49 53 87. Reuters Messaging: nicolas.delame.reuters.com@reuters.net))

REACTIONS aux statistiques de l'emploi aux Etats-Unis

Reuters: [2008-05-02 14:57:00]

NEW YORK, 2 mai (Reuters) - Premières réactions d'économistes et d'analystes à la publication vendredi des statistiques mensuelles de l'emploi aux Etats-Unis.

L'économie américaine a détruit 20.000 emplois le mois dernier selon le département du Travail, mais le taux de chômage, calculé sur la base d'une enquête distincte, est revenu de 5,1% à 5,0%.

Les économistes interrogés par Reuters anticipaient en moyenne 80.000 suppressions d'emplois, leurs estimations s'échelonnant de -150.000 à +24.000. Le taux de chômage était attendu à 5,2%.

Le salaire horaire moyen a parallèlement ralenti sa progression, à +0,1% alors que le marché l'attendait en hausse de 0,3%, comme en mars.

Les futures sur indices boursiers étaient en nette hausse tandis que le dollar accentuait sa progression et que le marché obligataire cédait du terrain après ces chiffres, susceptibles de conduire la Fed à marquer une pause dans la baisse des taux d'intérêt.

Dépêche [ID:nWEB3719]

Tableau [ID:nOAT001596]

OWEN FITZPATRICK, RESPONSABLE ACTIONS USA, DEUTSCHE BANK PRIVATE WEALTH MANAGEMENT:

"C'est bien meilleur qu'attendu, en termes de créations d'emplois non-agricoles comme de taux de chômage, donc il semble que l'économie soit en meilleure forme qu'on le pensait. Je pense que beaucoup de gens s'attendaient à ce que soit bien pire.

"C'est une bonne chose mais je ne pense pas que l'effet positif (pour le marché actions) soit énorme. Le marché est passé des problèmes de crédit aux inquiétudes pour la croissance et cela va apaiser certaines craintes d'une forte baisse de l'emploi et d'une récession durable et marquée."

PIERRE ELLIS, ECONOMISTE SENIOR, DECISION ECONOMICS:

"On constate une baisse relativement limitée de l'emploi global en avril, qui résulte principalement d'une forte hausse de l'emploi dans les services aux entreprises. Parallèlement, l'horaire hebdomadaire moyen a diminué, ce qui montre que l'utilisation effective de la main d'oeuvre a reculé en avril.

"On dirait que les employeurs hésitent à réduire trop drastiquement leurs effectifs. Cela pourrait bien conduire à un recours accru aux sous-traitants extérieurs si les perspectives deviennent plus incertaines.

"On constate des difficultés persistantes dans les secteurs qui souffrent depuis un moment déjà, comme la construction et l'industrie manufacturière. La plupart des services restent eux aussi faibles. Toute stabilisation du marché du travail illustrée par ces statistiques reste très fragile et les revenus salariaux demeurent sous pression."

GEORGE ADELL, STRATEGE OBLIGATAIRE, COMMERCE CAPITAL MARKETS:

"C'est globalement mauvais pour le marché obligataire. L'un des points marquants, c'est le fait que le salaire horaire n'ait augmenté que de 0,1%, ce qui signifie que l'inflation salariale ralentit un peu.

"On a enchaîné quatre mois consécutifs de baisse de l'emploi. Cela annonce toujours une dégradation de l'économie mais on ne sait toujours pas si nous sommes en récession. Cela va inciter la Fed à rester sur ses gardes pour ce qui est d'une éventuelle poursuite de la baisse des taux."

BORIS SCHLOSSBERG, STRATÉGISTE DEVISES, DAILYFX.COM:

"Cela montre que la question de savoir si les Etats-Unis sont dans une profonde récession ou s'il s'agit juste d'un ralentissement est en passe d'être résolue en faveur d'une hausse du dollar. Le dollar montait déjà et c'est très positif. Cette information confirme que nous vivons un ssimple ralentissement.

"Si on raisonne sur le long terme, il est toujours difficile de prétendre que le dollar a touché le fond, mais à court terme, il l'a sans doute atteint. Les nouvelles liquidités injectées par les banques centrales aujourd'hui montrent que la Fed veut garantir au marché qu'il est sous contrôle, qu'elle peut gérer le processus et soulager les crédits. Elle veulent raviver le goût du risque et la parité dollar/yen à plus de 105 laisse penser que c'est ce qui se passe. Cela devrait être positif pour le marché actions, pour le dollar, le risque et pour les carry trade."

/NDE/MA

(Version française Nicolas Delame et Marc Angrand) ((Service Economique. Tel 01 49 49 53 87. Reuters Messaging: marc.angrand.reuters.com@reuters.net))

Fillon plaide pour une "solide" alliance franco-américaine

Reuters: [2008-05-02 05:08:00]

par Sophie Louet

WASHINGTON, 2 mai (Reuters) - François Fillon a plaidé jeudi pour "une alliance solide" entre les Etats-Unis et la France, soulignant notamment la nécessité d'une "réaction coordonnée" face à la crise financière internationale.

Le Premier ministre a entamé dans la soirée une visite de travail éclair à Washington par un discours devant l'American Jewish Committee, qui l'avait convié à son dîner de gala en qualité d'invité d'honneur.

S'inscrivant dans le sillage de Nicolas Sarkozy, qui avait effectué une visite officielle aux Etats-Unis en novembre, François Fillon s'est employé à son tour à réchauffer les relations entre Paris et Washington en relevant un défi qu'avait éludé le chef de l'Etat : s'exprimer en anglais.

S'armant d'un accent à la Maurice Chevalier, le Premier ministre s'est exprimé durant près d'une demi-heure devant plus d'un millier de personnes, une gageure saluée à plusieurs reprises par les applaudissements et rires de l'auditoire.

"Bien que mon épouse soit britannique, mon anglais reste encore...très français", a-t-il plaisanté. "Je ne vais pas seulement parler anglais pour vous être agréable, mais aussi parce que j'espère que vous serez séduits par mon accent français", a-t-il lancé.

François Fillon, premier chef du gouvernement français à se rendre à Washington depuis dix ans, a narré ses expériences de jeunesse dans la patrie de Lincoln et Jefferson, se souvenant d'"un dîner émouvant chez Ted Kennedy en compagnie de sa mère Rose", ou de "cette artiste un peu 'déjantée' de Denver qui m'entraîna au vernissage d'une exposition 'underground' à une heure du matin".

Passée l'anecdote, François Fillon a décliné la ligne atlantiste du nouvel exécutif français, une approche diplomatique dénoncée par l'opposition de gauche.

"La France se juge et se jauge souvent par rapport aux Etats-Unis, et je crois que les Etats-Unis ne restent jamais insensibles à la voix de la France", a-t-il souligné.

"SI VOUS AVEZ DES PROBLEMES EN FRANCE..."

"Si vous et nous oscillons entre l'amitié absolue et la querelle épisodique, c'est parce que nous sommes fondamentalement attirés l'un par l'autre", a-t-il dit.

"Plus que jamais, les désordres du monde réclament une alliance solide entre nos deux nations", a estimé François Fillon.

Le Premier ministre, venu à Washington prendre le pouls de l'économie américaine et expliquer les réformes françaises, a insisté sur les "équilibres" à créer entre les économies américaine et européennes.

"La crise des 'subprimes' et ses conséquences sur les banques, l'évolution désordonnée des marchés sonnent comme un avertissement", a-t-il affirmé.

"Aujourd'hui, les Etats-Unis, la France et les autres grands Etats industrialisés se rejoignent sur deux idées forces : un besoin de réaction coordonnée et un effort pour améliorer la régulation et la transparence", a-t-il rappelé.

"L'excessive volatilité des changes, le niveau élevé de l'euro (...) constituent un risque pour nous tous", a-t-il dit.

Accompagné de la ministre de l'Economie Christine Lagarde et du ministre de l'Agriculture Michel Barnier, François Fillon rencontrera ce vendredi le président de la Réserve fédérale américaine, Ben Bernanke, le secrétaire au Trésor Henry Paulson et le directeur général du Fonds monétaire international (FMI), Dominique Strauss-Kahn.

Stabilité financière, crise alimentaire, réchauffement climatique, conflit israélo-palestinien, nucléaire iranien, Afghanistan, Otan, défense européenne : le Premier ministre a égréné des thématiques présidentielles pour son baptême du feu diplomatique sur le territoire américain.

Il n'a pas hésité à évoquer son récent séjour à Val-d'Isère pour exhorter des Etats-Unis toujours aussi rétifs à épouser les objectifs du Protocole de Kyoto contre les émissions de gaz à effet de serre : "la semaine dernière, je skiais dans les Alpes sur un glacier qui aura disparu dans 15 ans".

Visiblement conquis par l'exercice, le directeur exécutif de l'American Jewish Committee, David A. Harris, a ouvert de nouveaux horizons à François Fillon, dont la cote de popularité dévisse : "si vous avez des problèmes en France, vous pourriez commencer une seconde carrière politique ici!" /SL ((Service Informations générales. Tel 01 49 49 53 68. paris.newsroom@reuters.com. Reuters Messaging : sophie.louet.reuters.com@reuters.net))

Next: USA/UE - Le FMI s'attend à des trimestres "assez difficiles"
<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: