var LiveData=new Class({initialize:function(e,d,c,b,a){this.elementID=e;this.objDataItems=d;this.xmlDataSource=c;this.parentNodeName=b;this.frequency=a==null?1e4:a;this.element=$(this.elementID);this.arrDataItems=this.element.getElements(".data_item");this.currUpdating=false;this.currXMLData=null;this.currXMLNode=null;this.currDataItem=null;this.startTime=null;this.endTime=null},startUpdating:function(){this.updateTimer=setTimeout(this.update.bind(this),this.frequency)},stopUpdating:function(){clearTimeout(this.updateTimer)},retrieveXML:function(){var a=new Request.HTML({url:this.xmlDataSource,onSuccess:function(a){$each(a,function(a){if(a.nodeName.toLowerCase()==this.parentNodeName.toLowerCase()){this.currXMLData=a.getChildren(this.objDataItems.nodeName);this.startItemUpdate()}},this)}.bind(this),onFailure:function(){alert("unable to connect to server");this.currUpdating=false;this.startUpdating()}.bind(this)});a.send()},update:function(){if(!this.currUpdating){this.currUpdating=true;this.retrieveXML()}},startItemUpdate:function(){this.arrDataItems.each(this.updateDataItem,this);this.currUpdating=false;this.startUpdating()},updateDataItem:function(a){this.currDataItem=a;this.currXMLData.each(function(a){if(a.getProperty(this.objDataItems.attribute)==this.currDataItem.id){this.currXMLNode=a;this.objDataItems.dataPoints.each(this.updateDataPoints,this)}}.bind(this))},updateDataPoints:function(d){var a=d.pointClassName,e=d.pointNodeName,b=this.currDataItem.getElement("."+a),c=this.currXMLNode.getElement(e).get("text");this.updateChangeDirection(b,c);(a=="buy_price"||a=="sell_price")&&this.styleTradePrice(b,c);b.set("html",c)},getDirectionContainer:function(a){var b=a.getParent();return a.hasClass("rising")||a.hasClass("falling")?a:b.hasClass("rising")||b.hasClass("falling")?b:void 0},updateChangeDirection:function(b,e){var c=b.get("html").toFloat(),d=e.toFloat(),a=this.getDirectionContainer(b);if(a)if(d>c){a.removeClass("falling");a.addClass("rising")}else if(d<c){a.removeClass("rising");a.addClass("falling")}},styleTradePrice:function(b,c){var a=c,f=a.substr(a.length-3,2),d=a.substr(a.length-1,1);a=a.substr(0,a.length-3);var e=(new Element("span",{"class":"tenth"})).appendText(d),g=(new Element("span",{"class":"pips"})).grab(e).appendText(f,"top");b.getParent().getElement(".display_price").set("html","");b.getParent().getElement(".display_price").grab(g).appendText(a,"top")}}),currTradeButton=null,OrderTicket={orderTicketElement:null,currPanel:null,isProcessingDeal:false,product:"",buysell:"B",init:function(){OrderTicket.orderTicketElement=$("order_ticket")},hide:function(){if(this.isProcessingDeal)return;OrderTicket.orderTicketElement.setStyles({top:-1e6,left:-1e6,display:"none"});currTradeButton!=null&&currTradeButton.setStyles({zIndex:0})},tempHide:function(){OrderTicket.orderTicketElement.setStyles({display:"none"})},tempShow:function(){var a=$(currTradeButton).getPosition("master_container");OrderTicket.orderTicketElement.setStyles({top:a.y-8,left:a.x-8,display:"block"})},processTrade:function(){this.switchPanel("transaction_processing_ticket");OrderTicket.isProcessingDeal=true;var a=new GAIN.DealData;a.Product=OrderTicket.product;a.BuySell=OrderTicket.buysell;a.Contract=$("order_ticket_quantity").value;aTradingManager.PlaceDeal("ATBEST",a,"N",this.orderTicketCallback)},orderTicketCallback:function(c,a){if(c)if(a.d.Result.Status){var b=new Ext.XTemplate("<p>You {[this.getBuySell(values.BuySell)]}&nbsp;{[this.formatInteger(values.Contract)]}<br />","{[this.productAlias(values.Product)]} @ {Rate}</p>","<p>{DealDate}</p>",{getBuySell:function(a){return a==="B"?"bought":a==="S"?"sold":void 0}},{productAlias:function(a){return aTradingManager.getProductAlias(a)}},{formatInteger:function(b){var a=new RegExp("(\\d{1,3})(?=(?:\\d{3})+(\\.|$))","g");return b.toString().replace(a,"$1,")}});OrderTicket.switchPanel("purchase_confirm_ticket");try{b.overwrite(document.getElementById("transaction_status_sreason"),a.d);if(a.d.FireAssp=="Y")$("purchase_confirm_ASSPORDER").style.display="";else $("purchase_confirm_ASSPORDER").style.display="none"}catch(d){}}else{OrderTicket.switchPanel("error_ticket");$("transaction_status_freason").innerText=a.d.Result.Message}else{OrderTicket.switchPanel("error_ticket");$("transaction_status_freason").innerText="Confirmation not received, please call customer support."}OrderTicket.isProcessingDeal=false},submitPurchase:function(){},switchPanel:function(b){var a=$(b);OrderTicket.currPanel!=null&&OrderTicket.currPanel.setStyles({display:"none",visibility:"hidden"});a.setStyle("display","block");OrderTicket.orderTicketElement.setStyles({display:"block",visibility:"hidden"});OrderTicket.orderTicketElement.setStyles({visibility:"visible"});a.setStyle("visibility","visible");OrderTicket.currPanel=a;if(b=="stop_loss_take_profit_ticket"){OrderTicket.toggleStopLoss();OrderTicket.toggleTakeProfit()}},toggleStopLoss:function(){var a=$("stop_loss_check");if(a.checked)$("stop_loss_inputs").removeClass("hidden");else $("stop_loss_inputs").addClass("hidden")},toggleTakeProfit:function(){var a=$("take_profit_check");if(a.checked)$("take_profit_inputs").removeClass("hidden");else $("take_profit_inputs").addClass("hidden")}};window.addEvent("domready",OrderTicket.init);function main_processASSPOrder(){aTradingManager.EditOrderInDock("PLACE",null,true,OrderTicket.product,"S",true);OrderTicket.hide()}function showOrderTicket(a,b,d){if(OrderTicket.isProcessingDeal)return;var c=$(a).getPosition("master_container"),e=$("order_ticket");OrderTicket.hide();if(aTradingManager.Rates.get(b).Status=="R"&&aTradingManager.ProductSettingObject.data.get(b).Type=="CFD")return false;e.setStyles({top:c.y-8,left:c.x-8});OrderTicket.switchPanel("purchase_ticket");$(a).setStyles({zIndex:9999});currTradeButton=$(a);OrderTicket.visible=true;OrderTicket.product=b;OrderTicket.buysell=d;switch(d){case"B":$("quote_buy_sell").innerText="Buy ";break;case"S":$("quote_buy_sell").innerText="Sell "}return false}var oneClickTrading={arrTradeBars:[],init:function(){oneClickTrading.arrTradeBars=$$(".trade_bar .trade");var a=Cookie.read("OCT");a=="true"&&oneClickTrading.on()},on:function(){oneClickTrading.arrTradeBars.addClass("on");var a=Cookie.write("OCT","true",{duration:14})},off:function(){oneClickTrading.arrTradeBars.removeClass("on");var a=Cookie.write("OCT","false",{duration:14})}},QuickPairs=new Class({initialize:function(b){this.maxPairs=b==null?6:b;this.quickPairsChooser=$("quick_pairs_chooser");this.arrCheckboxes=this.quickPairsChooser.getElements(".pairs_check");this.arrQuickPairs=[];this.animation=new Fx.Tween(this.quickPairsChooser,{duration:500,transition:Fx.Transitions.Quad.easeOut});this.currAnimating=false;this.openHeight=250;this.openState=false;for(var a=0,c=this.arrCheckboxes.length;a<c;a++)this.arrCheckboxes[a].checked=false;this.parseCookie();this.loadQuickPairs();$("edit_quick_pairs_link").addEvent("click",this.toggleChooser.bind(this));$("quick_pairs_close_link").addEvent("click",this.toggleChooser.bind(this));this.arrCheckboxes.addEvent("click",this.togglePair.bind(this))},parseCookie:function(){var a=Cookie.read("quickpairs");if(a)this.arrQuickPairs=a.split("|")},saveCookie:function(){for(var a="",b=0,c=this.arrQuickPairs.length;b<c;b++)a=a+this.arrQuickPairs[b]+"|";a=a.substring(0,a.length-1);var d=Cookie.write("quickpairs",a,{duration:14})},loadQuickPairs:function(){for(var a=0,b=this.arrQuickPairs.length;a<b;a++){var c=this.arrQuickPairs[a].toLowerCase();this.showPair(c)}this.checkMaxPairs()},togglePair:function(d){var b=d.target,c=b.id,a=c.replace("_check","");if(b.checked){this.arrQuickPairs.include(a.toUpperCase());this.showPair(a)}else{this.arrQuickPairs.erase(a.toUpperCase());this.hidePair(a)}this.checkMaxPairs();this.saveCookie()},showPair:function(b){var d="link_"+b,a=$(d),c=$(b+"_check");if(a){a.inject("quick_pair_links","bottom");a.setStyle("display","block");c.checked=true}},hidePair:function(b){var d="link_"+b,a=$(d),c=$(b+"_check");if(a){a.setStyle("display","none");c.checked=false}},checkMaxPairs:function(){var b=false;if(this.arrQuickPairs.length>=this.maxPairs)b=true;for(var a=0,c=this.arrCheckboxes.length;a<c;a++)if(!this.arrCheckboxes[a].checked)this.arrCheckboxes[a].disabled=b},toggleChooser:function(){if(this.openState)this.animation.start("height",0).chain(function(){this.openState=false;this.animation.callChain()}.bind(this),function(){$("edit_quick_pairs_link").getParent().removeClass("open");this.animation.callChain()}.bind(this));else{this.animation.start("height",this.openHeight).chain(function(){this.openState=true}.bind(this));$("edit_quick_pairs_link").getParent().addClass("open")}return false}})
