function vwdStreamer(){var s="1.0.6";var x=5*1000;var c=15*60*1000;var af=8192;var j=this;var q=null;var f=null;var S=false;var m=false;var Q=false;var v=false;var aa=false;var y=null;var C=null;var e=null;var O=null;var ag=new Array();var p=new Array();var ad=new Array();var Y=new Array();var T=new Array();var I=new Array();var t=new Array();var r=null;var ab=null;var D=null;var H=null;var X={};var N=null;var u=null;var o="vwdStreamer-internal-nolog";var G=(new Date).getTime();var ac=/=\?(&|$)/;var V=/^\/Date\(([0-9]+)\)\/$/;var E=Object.prototype.toString;this.initialized=false;this.functionQueue=new vwdStreamerQueue();this.responseFrame=null;this.requestFrame=null;this.initialize=function(an,am,al){document.vwdStreamerInstance=this;C=an;e=am;O=al;W();if(C!=null){document.domain=C;}var ak=this;if(document.addEventListener){window.addEventListener("load",function(){ak._initializeComponents();},false);}else{if(document.attachEvent){window.attachEvent("onload",function(){ak._initializeComponents();});}}ak.registerStaticData({logName:o,handles:/vwdStreamer\.CurrentTime/,interval:1,dataType:"internal-function",update:function(){return{"vwdStreamer.CurrentTime":new Date()};}});setTimeout(function(){ak._initializeComponents();},1000);setInterval(function(){if(ak.initialized){ak.functionQueue.flush();}},100);setInterval(function(){ak._checkHeartbeatAndReconnect();},x);};this.connect=function(am){i(vwdStreamerLogLevel.TRACE,"Connecting with SessionId: "+am);Q=true;m=false;q=new Date();var ak=this;var al=P(am);this.functionQueue.enqueue(function(){ak.responseFrame.src=al;});};this.getSubscription=function(al){var ak=new vwdStreamerSubscription(this,al);ad[ad.length]=ak;return ak;};this.removeSubscription=function(al){var am=null;for(var ak in ad){if(ad[ak]===al){am=ak;break;}}al.unsubscribeAllFields();if(am!=null){ad.splice(am,1);}};this.addLogListener=function(al,am){var ak={listener:al,logLevel:am};Y[Y.length]=ak;};this.removeLogListener=function(am){var ak=null;for(var al in Y){if(Y[al]==am){ak=al;break;}}if(ak!=null){Y.splice(ak,1);}};this.isConnected=function(){return m;};this.getVersion=function(){return s;};this.registerStaticData=function(az){if(!N){N=[];}N.push(az);var an=az.registeredFields={};var aA=0;var aD=false;var aw=null;var aG=0;var aH=az.interval;var ar=null;var ao=az.url;var aF=az.dataType;var am=az.ignoreUnchangedValues;var aB=az.dataFormatterFunction||aE;var al=az.dataSeparator||";";var ak=az.error;var aC=false;var aJ=ao||az.logName||"(unknown)";az.provides=function aI(aK){return az.handles.test(aK);};az.startIfNeeded=function(){if(aC){aC=false;if(!aD){aD=true;if(aw!=null){window.clearTimeout(aw);}if(aJ!==o){i(vwdStreamerLogLevel.INFO,"Starting static data "+aJ);}aw=window.setTimeout(ay,100);}}};az.subscribe=function au(aL){var aK=X[aL];if(aK){X[aL]=aK+1;}else{X[aL]=1;}aK=an[aL];if(aK>0){an[aL]=aK+1;}else{an[aL]=1;aA++;aD=false;aC=true;if(aw!=null){if(aJ!==o){i(vwdStreamerLogLevel.INFO,"Stopping static data "+aJ);}window.clearTimeout(aw);aw=null;}}};az.unsubscribe=function ap(aL){var aK=X[aL];if(aK>1){X[aL]=aK-1;}else{if(aK==1){delete X[aL];}}aK=an[aL];if((aK||0)<2){delete an[aL];aA--;if(aA==0){aD=false;aC=false;if(aw!=null){if(aJ!==o){i(vwdStreamerLogLevel.INFO,"Stopping static data "+aJ);}window.clearTimeout(aw);aw=null;}}}else{an[aL]=aK-1;}};function ay(){aw=null;if(!aD){return;}try{aq();}catch(aK){if(ak){ak(aK);}else{i(vwdStreamerLogLevel.ERROR,"Calculated field error: "+aK);}}if(aw==null&&(aH>0||aG>0)){if(aG>0){aw=window.setTimeout(ay,aG*1000);}else{aw=window.setTimeout(ay,aH*1000);}}}function aq(){if(aF=="jsonp"){A(at(ao,aF),av);}else{if(aF=="script"){A(at(ao,aF));}else{if(aF=="internal-function"||aF==null&&typeof az.update==="function"){av(az.update());}else{throw ("dataType "+aF+" is not supported.");}}}}function av(aK){try{if(az.dataFilter){aK=az.dataFilter(aK);}ax(aK);}catch(aL){if(ak){ak(aL);}else{i(vwdStreamerLogLevel.ERROR,"Calculated field error: "+aL);}}}function ax(aM,aP){if(!aP){ar=null;aG=0;}if(E.call(aM)==="[object Array]"){for(var aK in aM){var aL=aM[aK];if(aL.dataType&&(typeof aL.value!=="string"||aL.dataType===vwdStreamerDataType.STRING)){j._update(aL.field,aL.value,aL.dataType,null,am);}else{var aO=z(aL.value);j._update(aL.field,aO.value,aO.dataType,null,am);}}}else{if(E.call(aM)==="[object Object]"){if(!aP&&typeof aM.items!=="undefined"){ar=aM.continueToken;aG=aM.ttl;ax(aM.items,true);}else{for(var aN in aM){var aO=z(aM[aN]);j._update(aN,aO.value,aO.dataType,null,am);}}}else{i(vwdStreamerLogLevel.WARNING,"JSON data could not e processed. Data: "+aM+"; "+E(aM));}}}function aE(aK){return encodeURIComponent(aK.join(al));}function at(aL,aK){return aL.replace(/\{(data|items|fields|continue)\}/g,function(aR,aQ){switch(aQ){case"data":var aO=[];for(var aP in an){aO.push(aP);}return aB(aO);case"items":var aM={};var aO=[];for(var aP in an){var aN=h(aP);if(!aM[aN]){aM[aN]=true;aO.push(aN);}}return aB(aO);case"fields":var aM={};var aO=[];for(var aP in an){var aS=d(aP);if(!aM[aS]){aM[aS]=true;aO.push(aS);}}return aB(aO);case"continue":return encodeURIComponent(ar||"");}});}};function l(am){if(N){for(var ak in N){var al=N[ak];if(al.provides(am)){al.subscribe(am);return true;}}}return false;}function U(am){if(X&&X[am]){for(var ak in N){var al=N[ak];if(al.registeredFields[am]){al.unsubscribe(am);return true;}}}return false;}function R(){if(N&&X){for(var ak in N){var al=N[ak];al.startIfNeeded();}}}this._initializeComponents=function(){if(S){return;}S=true;try{this.requestFrame=document.createElement('<iframe name="vwdStreamerRequestFrame">');}catch(ak){this.requestFrame=document.createElement("iframe");}this.requestFrame.id="vwdStreamerRequestFrame";this.requestFrame.name="vwdStreamerRequestFrame";this.requestFrame.height=0;this.requestFrame.width=0;this.requestFrame.style.visibility="hidden";this.requestFrame.style.position="absolute";document.body.appendChild(this.requestFrame);this.requestFrame.src=b();try{this.responseFrame=document.createElement('<iframe name="vwdStreamerResponseFrame">');}catch(ak){this.responseFrame=document.createElement("iframe");}this.responseFrame.id="vwdStreamerResponseFrame";this.responseFrame.name="vwdStreamerResponseFrame";this.responseFrame.height=0;this.responseFrame.width=0;this.responseFrame.style.visibility="hidden";this.responseFrame.style.position="absolute";document.body.appendChild(this.responseFrame);this.initialized=true;};this._sendDataToServer=function(ao){var ak=this;var an=ao;if(y==null||aa==false){setTimeout(function(){ak._sendDataToServer(an);},100);return;}aa=false;var al=this.requestFrame.contentWindow.document.getElementById("requestForm");al.action=F(y);var am=this.requestFrame.contentWindow.document.getElementById("requestData");am.value=ao;al.submit();};this._subscribe=function(ak){try{var ao="";for(var al in ak){var an=ak[al];ao+=M(an);if(ao.length>af){this._sendDataToServer(ao);ao="";}}if(ao.length>0){this._sendDataToServer(ao);}ae();R();}catch(am){i(vwdStreamerLogLevel.ERROR,am);}};this._unsubscribe=function(ak){try{var ao="";for(var al in ak){var an=ak[al];ao+=g(an);if(ao.length>af){this._sendDataToServer(ao);ao="";}}if(ao.length>0){this._sendDataToServer(ao);}}catch(am){i(vwdStreamerLogLevel.ERROR,am);}};this._checkHeartbeatAndReconnect=function(){var ak=new Date();if(ak-q>c){i(vwdStreamerLogLevel.INFO,"Reconnect interval passed, performing auto reconnect...");B();return;}if(ak-f>x*3){m=false;i(vwdStreamerLogLevel.INFO,"No data received for "+((ak-f)/1000)+" seconds, reconnecting...");B();return;}j._onheartbeat(true);};this._onheartbeat=function(){this._update("vwdStreamer.HeartBeat",{lastDataReceived:f,connected:m,connecteding:Q});};this._getCachedValue=function(ak){return T[ak];};this._update=function(al,at,ar,ak,am){var av=this._getCachedValue(al);av=av!=null?av.value:null;if(am&&at===av&&!ak){return;}k(al,at,ar);var aq=new vwdStreamerDataPacket(al,at,av);var an=L(d(al));if(an==null){aq.type=ar;aq.value=at;aq.oldValue=av;if(ar===vwdStreamerDataType.ARRAY){aq.values=at;aq.oldValues=av;}else{aq.values=null;aq.oldValues=null;}}else{var ap=an.getParsedValues(aq.rawValue);aq.type=ap.type;aq.value=ap.value;aq.values=ap.values;var au=an.getParsedValues(aq.oldRawValue);aq.oldValue=au.value;aq.oldValues=au.values;}if(ak!=null){ak.update(aq);return;}else{for(var ao in ad){ad[ao].update(aq);}}ai(aq);};this.setSessionId=function(ak){i(vwdStreamerLogLevel.TRACE,"SessionId received: "+ak);y=ak;};this.setRequestFormAvailable=function(ak){aa=ak;};this.heartbeatReceived=function(ak){f=new Date();if(!ak){m=true;}j._onheartbeat();};this.ackSubscribe=function(al,ak){f=new Date();m=true;Q=false;ag[al]=ak;p[ak]=al;};this.ackUnsubscribe=function(ak){f=new Date();m=true;Q=false;delete p[ag[ak]];delete ag[ak];w(ak);};this.update=function(am,an,al){f=new Date();m=true;Q=false;var ak=Z(am);if(ak==null){return;}al=vwdStreamerDataType.parseDataType(al,an);if(al==vwdStreamerDataType.TIME){an=Date.parseVwdStreamerTime(an);}else{if(al==vwdStreamerDataType.DATE){an=Date.parseVwdStreamerDate(an);}else{if(al==vwdStreamerDataType.DATETIME){an=Date.parseVwdStreamerDateTime(an);}}}this._update(ak,an,al);};this.accessDenied=function(ak,al){f=new Date();i(vwdStreamerLogLevel.WARNING,ak+" not subscribed. Reason: "+al);};this.subscriptionRefreshReceived=function(){f=new Date();if(v){i(vwdStreamerLogLevel.TRACE,"Refreshing subscription set...");var al="";for(var ak in t){al+=ah(ak);if(al.length>af){this._sendDataToServer(al);al="";}}this._sendDataToServer(al);}};this.registerCalculatedField=function(ak){if(r==null){r=[];}r.push(new vwdStreamerCalculatedFieldDefinition(this,ak));};function J(an){if(r){var ak=D?D[an]:null;if(ak){return ak.fieldDef;}for(var am in r){var al=r[am];if(al.provides(an)){return al;}}}return null;}function aj(al){var am=null;var an=J(al);if(an){am="";if(D==null){D={};ab={};}if(D[al]==null){var ak=an.createInstance(al);D[al]=ak;for(var aq in ak.dependencies){var ap=ak.dependencies[aq];var ao=ab[ap];if(ao==null){ab[ap]=ao={};}ao[al]=ak;if(!H){H={};}H[ap]=true;am+=M(ap);}}}return am;}function n(ao){var al=null;if(D){var ak=D[ao];if(ak){var al="";delete D[ao];for(var am in ak.dependencies){var ap=ak.dependencies[am];var an=ab[ap];delete an[ao];al+=g(ap);}}}return al;}function ai(an){if(ab){var am=ab[an.dataName];if(am){for(var al in am){var ak=am[al];ak._doUpdate(an);}}}}function ae(){if(H){for(var ak in H){var al=j._getCachedValue(ak);if(al){ai(al);}}H=null;}}var W=function(){var ak;if(typeof TExParser=="function"){ak=new TExParser();I[ak.getFieldName()]=ak;}if(typeof ZExParser=="function"){ak=new ZExParser();I[ak.getFieldName()]=ak;}if(typeof BlockExParser=="function"){ak=new BlockExParser();I[ak.getFieldName()]=ak;}};var i=function(an,al){for(var ak in Y){var am=Y[ak];if(an>=am.logLevel){am.listener(an,al);}}if(window.console){switch(an){case vwdStreamerLogLevel.ERROR:console.error(al);break;case vwdStreamerLogLevel.WARNING:console.warn(al);break;case vwdStreamerLogLevel.INFO:console.info(al);break;case vwdStreamerLogLevel.TRACE:break;default:console.debug(al);break;}}};this.log=function(al,ak){i(al,ak);};var Z=function(ak){return p[ak];};var k=function(ak,an,al){if(an==""){an=null;}if(T[ak]!=null){if(an==null){delete T[ak];}else{T[ak].value=an;T[ak].dataType=al;}}else{if(an!=null){var am=new Object();am.dataName=ak;am.value=an;am.dataType=al;T[ak]=am;}}};var w=function(ak){delete T[ak];};var h=function(ak){if(ak!=null){var al=ak.indexOf(".");if(al>-1){return ak.substring(0,al);}else{return ak;}}return null;};var d=function(ak){if(ak!=null){var al=ak.indexOf(".");if(al>-1){return ak.substring(al+1);}else{return null;}}return null;};function a(al){if(al===null||typeof al==="unknown"){return vwdStreamerDataType.UNKNOWN;}if(typeof al==="string"){return vwdStreamerDataType.STRING;}if(typeof al==="number"){return vwdStreamerDataType.NUMBER;}if(typeof al==="boolean"){return vwdStreamerDataType.BOOLEAN;}if(typeof al==="object"){var ak=E.call(al);if(ak==="[object Date]"){return vwdStreamerDataType.DATETIME;}else{if(ak==="[object Array]"){return vwdStreamerDataType.ARRAY;}else{return vwdStreamerDataType.OBJECT;}}}return vwdStreamerDataType.UNKNOWN;}var M=function(ak){if(ak==="vwdStreamer.HeartBeat"){return"";}if(t[ak]!=null){t[ak]++;return"";}t[ak]=1;var al=aj(ak);if(al!=null){return al;}if(l(ak)){return"";}return ah(ak);};var g=function(ak){if(t[ak]!=null){t[ak]--;if(t[ak]<1){delete t[ak];w(ak);var al=n(ak);if(al!=null){return al;}if(U(ak)){return"";}return K(ak);}}return"";};var L=function(ak){return I[ak];};var B=function(){m=false;i(vwdStreamerLogLevel.INFO,"Performing reconnect...");j.heartbeatReceived(true);j.connect(y);v=true;};var P=function(al){var ak="";if(e!=null){ak+="http://"+e;}if(O!=null){ak+=":"+O;}ak+="/STREAMING/";if(al!=null){ak+=escape(al);}if(C!=null){ak+="?domain="+escape(C);}return ak;};var F=function(al){var ak="";if(e!=null){ak+="http://"+e;}if(O!=null){ak+=":"+O;}ak+="/STREAMING/";if(al!=null){ak+=escape(al);}if(C!=null){ak+="?domain="+escape(C);}return ak;};var b=function(){var ak="";if(e!=null){ak+="http://"+e;}if(O!=null){ak+=":"+O;}ak+="/STREAMING/streamerResponseForm.html";if(C!=null){ak+="?domain="+escape(C);}return ak;};var ah=function(ak){return"req("+ak+");";};var K=function(ak){return"rel("+ak+");";};function z(al){if(typeof al==="string"){var ak=al.replace(V,"$1");if(ak===al){return{value:al,dataType:vwdStreamerDataType.STRING};}else{return{value:new Date(parseInt(ak,10)),dataType:vwdStreamerDataType.DATETIME};}}return{value:al,dataType:a(al)};}function A(am,aq){var an=document.getElementsByTagName("head")[0]||document.documentElement;var al=document.createElement("script");al.async=true;var ap="vwdStreamer_jsonp_"+G++;if(aq){window[ap]=function(ar){try{aq(ar);}catch(at){i(vwdStreamerLogLevel.ERROR,"Calculated field error: "+at);}window[ap]=undefined;try{delete window[ap];}catch(at){}if(an){an.removeChild(al);}};}var ak=false;var ao=am.replace(ac,"="+ap+"$1");if(ao==am&&aq){ao=am+(am.indexOf("?")==-1?"?":"&")+"callback="+ap;}al.src=ao;al.onload=al.onreadystatechange=function(){if(!ak&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){ak=true;al.onload=al.onreadystatechange=null;if(an&&al.parentNode){an.removeChild(al);}}};an.insertBefore(al,an.firstChild);}}function vwdStreamerCalculatedFieldDefinition(b,a){this.streamer=b;this.values={};if(a.ignoreUnchangedValues){this.ignoreUnchangedValues=true;}if(typeof a.handles==="function"){this.provides=a.handles;}else{this.handles=a.handles;}if(typeof a.getFieldDependencies==="function"){this.getFieldDependencies=a.getFieldDependencies;if(!a.singleItem){this.singleItem=false;}}else{if(a.dependentFields){this.dependentFields=a.dependentFields;}}if(typeof a.dataType!=="undefined"&&a.dataType!==vwdStreamerDataType.NUMBER){this.dataType=a.dataType;}if(a.treatNullAsNaN){this.treatNullAsNaN=true;}if(typeof a.update==="string"){if(typeof a.treatNullAsNaN==="undefined"){this.treatNullAsNaN=true;}this.update=new Function("dataName","value","with (this.values) { return (<?>); }".replace("<?>",a.update));}else{this.update=a.update;}}vwdStreamerCalculatedFieldDefinition.prototype.streamer=null;vwdStreamerCalculatedFieldDefinition.prototype.ignoreUnchangedValues=false;vwdStreamerCalculatedFieldDefinition.prototype.singleItem=true;vwdStreamerCalculatedFieldDefinition.prototype.treatNullAsNaN=false;vwdStreamerCalculatedFieldDefinition.prototype.handles=null;vwdStreamerCalculatedFieldDefinition.prototype.dependentFields=null;vwdStreamerCalculatedFieldDefinition.prototype.update=null;vwdStreamerCalculatedFieldDefinition.prototype.dataType=1;vwdStreamerCalculatedFieldDefinition.prototype.values=null;vwdStreamerCalculatedFieldDefinition.prototype.provides=function(a){return this.handles.test(a);};vwdStreamerCalculatedFieldDefinition.prototype.getFieldDependencies=function(b){var e=b.indexOf(".");if(e>-1){var d=b.substr(0,e+1);var a=new Array(this.dependentFields.length);for(var c in this.dependentFields){a[c]=d+this.dependentFields[c];}return a;}return[];};vwdStreamerCalculatedFieldDefinition.prototype.createInstance=function(a){return new vwdStreamerCalculatedFieldInstance(this,a);};vwdStreamerCalculatedFieldDefinition.prototype._update=function(a,b){this.streamer._update(a,b,this.dataType,null,this.ignoreUnchangedValues);};function vwdStreamerCalculatedFieldInstance(b,a){this.fieldDef=b;this.dataName=a;var c=a.indexOf(".");if(c>-1){this.fieldIdentifier=a.substr(0,c);this.fieldName=a.substr(c+1);}else{this.fieldIdentifier=a;}this.dependencies=b.getFieldDependencies(a);}vwdStreamerCalculatedFieldInstance.prototype.fieldDef=null;vwdStreamerCalculatedFieldInstance.prototype.dataName=null;vwdStreamerCalculatedFieldInstance.prototype.fieldIdentifier=null;vwdStreamerCalculatedFieldInstance.prototype.fieldName=null;vwdStreamerCalculatedFieldInstance.prototype.values=false;vwdStreamerCalculatedFieldInstance.prototype.dataPacket=null;vwdStreamerCalculatedFieldInstance.prototype._ignore=false;vwdStreamerCalculatedFieldInstance.prototype._oldValue=null;vwdStreamerCalculatedFieldInstance.prototype._updateFired=false;vwdStreamerCalculatedFieldInstance.prototype._hasFiredBefore=false;vwdStreamerCalculatedFieldInstance.prototype.dependencies=null;vwdStreamerCalculatedFieldInstance.prototype.preventUpdate=function(){this._ignore=true;};vwdStreamerCalculatedFieldInstance.prototype._doUpdate=function(a){this._ignore=false;this._updateFired=false;var k=a.dataName;if(this.fieldDef.singleItem){var f=k.indexOf(".");if(f>-1){k=k.substr(f+1);}}this.values={};var b;for(var h in this.dependencies){var j=this.dependencies[h];b=this.fieldDef.streamer._getCachedValue(j);if(this.fieldDef.singleItem){var f=j.indexOf(".");if(f>-1){j=j.substr(f+1);}}if(b){this.values[j]=b.value;}else{this.values[j]=null;}}b=this.fieldDef.streamer._getCachedValue[this.dataName];if(b){this._oldValue=b.value;this.values[this.dataName]=b.value;}else{this._oldValue=null;this.values[this.dataName]=null;}this.values[k]=a.value;if(this.fieldDef.treatNullAsNaN){for(var c in this.values){if(this.values[c]==null){this.values[c]=Number.NaN;}}}this.dataPacket=a;try{var l=this.fieldDef.update.apply(this,[a.dataName,a.value]);if(!this._updateFired&&!(typeof l==="undefined")){this.update(l);}}catch(g){this.fieldDef.streamer.log(vwdStreamerLogLevel.ERROR,"Calculated field error: "+g);}this.values=null;this.dataPacket=null;};vwdStreamerCalculatedFieldInstance.prototype.update=function(a){this._updateFired=true;if(!this._ignore){if(isNaN(a)||!isFinite(a)){a=null;}if(this._oldValue==null&&a==null&&this._hasFiredBefore){return;}this._hasFiredBefore=true;this.fieldDef._update(this.dataName,a);}};function vwdStreamerDataPacket(a,c,b){this.dataName=a;this.rawValue=c;this.oldRawValue=c;}vwdStreamerDataPacket.prototype.dataName=null;vwdStreamerDataPacket.prototype.type=null;vwdStreamerDataPacket.prototype.rawValue=null;vwdStreamerDataPacket.prototype.value=null;vwdStreamerDataPacket.prototype.values=null;vwdStreamerDataPacket.prototype.oldRawValue=null;vwdStreamerDataPacket.prototype.oldValue=null;vwdStreamerDataPacket.prototype.oldValues=null;var vwdStreamerTick=function(e,d,c,f,b,a){this.tickType=e;this.dateTime=d;this.price=c;this.indication=f;this.lastVolume=b;this.cummulativeVolume=a;};var TExParser=function(){var a="T!";this.getFieldName=function(){return a;};this.getParsedValues=function(d){var b=new Object();if(d!=null&&d.length>0){var c=d.split("|");b.values=new vwdStreamerTick(c[0]!=""?c[0].substr(0,1):null,c[0]!=""?c[0].substr(1):null,c[1]!=""?Number(c[1]):null,c[2]!=""?c[2]:null,c[3]!=""?Number(c[3]):null,c[4]!=""?Number(c[4]):null);b.value=b.values.price;b.type=vwdStreamerDataType.NUMBER;}return b;};};var ZExParser=function(){var a="Z!";this.getFieldName=function(){return a;};this.getParsedValues=function(d){var b=new Object();if(d!=null&&d.length>0){var c=d.split("|");b.values=new vwdStreamerTick(c[0]!=""?c[0].substr(0,1):null,c[0]!=""?c[0].substr(1):null,c[1]!=""?Number(c[1]):null,c[2]!=""?c[2]:null,c[3]!=""?Number(c[3]):null,c[4]!=""?Number(c[4]):null);b.value=b.values.price;b.type=vwdStreamerDataType.NUMBER;}return b;};};var BlockExParser=function(){var a="Block!";this.getFieldName=function(){return a;};this.getParsedValues=function(d){var b=new Object();if(d!=null&&d.length>0){var c=d.split("|");b.values=new vwdStreamerTick(c[0]!=""?c[0].substr(0,1):null,c[0]!=""?c[0].substr(1):null,c[1]!=""?Number(c[1]):null,null,c[3]!=""?Number(c[3]):null,c[4]!=""?Number(c[4]):null);b.value=b.values.price;b.type=vwdStreamerDataType.NUMBER;}return b;};};function vwdStreamerQueue(){var a=new Array();this.enqueue=function(b){a.push(b);};this.dequeue=function(){return a.shift()();};this.flush=function(){while(!this.isEmpty()){this.dequeue();}};this.isEmpty=function(){return a.length==0;};}function vwdStreamerSubscription(d,c){var b=d;var a=c;var e={};this.subscribe=function(g){var f=[];for(var h in g){var l=g[h];if(e[l]){f.push(h);}else{e[l]=true;}var k=b._getCachedValue(l);if(k!=null){b._update(k.dataName,k.value,k.dataType,this);}}if(f.length>0){g=g.slice(0);for(var j=f.length-1;j>=0;j--){g.splice(f[j],1);}}b._subscribe(g);};this.unsubscribe=function(f){var j=[];for(var g in f){var k=f[g];if(e[k]){delete e[k];}else{j.push(g);}}if(j.length>0){f=f.slice(0);for(var h=j.length-1;h>=0;h--){f.splice(j[h],1);}}b._unsubscribe(f);};this.unsubscribeAllFields=function(){var f=[];for(var g in e){f.push(g);}b._unsubscribe(f);e=[];};this.update=function(f){if(e[f.dataName]){a(f);}};}var vwdStreamerLogLevel={TRACE:0,INFO:1,WARNING:2,ERROR:3};var vwdStreamerDataType={UNKNOWN:0,NUMBER:1,STRING:2,DATE:3,TIME:4,DATETIME:5,BOOLEAN:10,OBJECT:11,ARRAY:12};vwdStreamerDataType.regTimeString=/^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/;vwdStreamerDataType.regDateString=/^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[01])$/;vwdStreamerDataType.regDateTimeString=/^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[01]) ([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/;vwdStreamerDataType.parseDataType=function(a,b){if(a=="NUMBER"){return vwdStreamerDataType.NUMBER;}if(a=="DATE"){if(vwdStreamerDataType.regDateString.test(b)){return vwdStreamerDataType.DATE;}else{return vwdStreamerDataType.STRING;}}if(a=="TIME"){if(vwdStreamerDataType.regTimeString.test(b)){return vwdStreamerDataType.TIME;}else{return vwdStreamerDataType.STRING;}}if(a=="DATETIME"){if(vwdStreamerDataType.regDateTimeString.test(b)){return vwdStreamerDataType.DATETIME;}else{return vwdStreamerDataType.STRING;}}if(a=="STRING"){if(vwdStreamerDataType.regTimeString.test(b)){return vwdStreamerDataType.TIME;}else{if(vwdStreamerDataType.regDateString.test(b)){return vwdStreamerDataType.DATE;}else{if(vwdStreamerDataType.regDateTimeString.test(b)){return vwdStreamerDataType.DATETIME;}else{return vwdStreamerDataType.STRING;}}}}return vwdStreamerDataType.UNKNOWN;};Date.parseVwdStreamerTime=function(b){var a=new Date();a.setHours(b.substring(0,2));a.setMinutes(b.substring(3,5));a.setSeconds(b.substring(6,8));return a;};Date.parseVwdStreamerDate=function(b){var a=new Date();a.setFullYear(b.substring(0,4));a.setMonth(Number(b.substring(5,7))-1);a.setDate(b.substring(8,10));return a;};Date.parseVwdStreamerDateTime=function(b){var a=new Date();a.setFullYear(b.substring(0,4));a.setMonth(Number(b.substring(5,7))-1);a.setDate(b.substring(8,10));a.setHours(b.substring(11,13));a.setMinutes(b.substring(14,16));a.setSeconds(b.substring(17,19));return a;};if(document.all&&!document.getElementById){document.getElementById=function(a){return document.all[a];};}