// Beemway Widget API
// Copyright (c) 2008, Beemway, All Right Reserved
// Beemway Widget API uses Script#
// Copyright (c) 2007, Nikhil Kothari. All Rights Reserved.
// http://projects.nikhilk.net
//
function __loadCompatLayer(w){w.Debug=function(){};w.Debug._fail=function(message){throw new Error(message);};w.Debug.writeln=function(text){if(window.console){if(window.console.debug){window.console.debug(text);return;} else if(window.console.log){window.console.log(text);return;}} else if(window.opera&&window.opera.postError){window.opera.postError(text);return;}};w.__getNonTextNode=function(node){try{while(node&&(node.nodeType!=1)){node=node.parentNode;}} catch(ex){node=null;} return node;};w.__getLocation=function(e){var loc={x:0,y:0};while(e){loc.x+=e.offsetLeft;loc.y+=e.offsetTop;e=e.offsetParent;} return loc;};RegExp._cacheable=true;String._quoteSkipTest=true;w.navigate=function(url){window.setTimeout('window.location = "'+url+'";',0);};var attachEventProxy=function(eventName,eventHandler){eventHandler._mozillaEventHandler=function(e){window.event=e;eventHandler();if(!e.avoidReturn){return e.returnValue;}};this.addEventListener(eventName.slice(2),eventHandler._mozillaEventHandler,false);};var detachEventProxy=function(eventName,eventHandler){if(eventHandler._mozillaEventHandler){var mozillaEventHandler=eventHandler._mozillaEventHandler;delete eventHandler._mozillaEventHandler;this.removeEventListener(eventName.slice(2),mozillaEventHandler,false);}};w.attachEvent=attachEventProxy;w.detachEvent=detachEventProxy;w.HTMLDocument.prototype.attachEvent=attachEventProxy;w.HTMLDocument.prototype.detachEvent=detachEventProxy;w.HTMLElement.prototype.attachEvent=attachEventProxy;w.HTMLElement.prototype.detachEvent=detachEventProxy;w.Event.prototype.__defineGetter__('srcElement',function(){return __getNonTextNode(this.target)||this.currentTarget;});w.Event.prototype.__defineGetter__('cancelBubble',function(){return this._bubblingCanceled||false;});w.Event.prototype.__defineSetter__('cancelBubble',function(v){if(v){this._bubblingCanceled=true;this.stopPropagation();}});w.Event.prototype.__defineGetter__('returnValue',function(){return!this._cancelDefault;});w.Event.prototype.__defineSetter__('returnValue',function(v){if(!v){this._cancelDefault=true;this.preventDefault();}});w.Event.prototype.__defineGetter__('fromElement',function(){var n;if(this.type=='mouseover'){n=this.relatedTarget;} else if(this.type=='mouseout'){n=this.target;} return __getNonTextNode(n);});w.Event.prototype.__defineGetter__('toElement',function(){var n;if(this.type=='mouseout'){n=this.relatedTarget;} else if(this.type=='mouseover'){n=this.target;} return __getNonTextNode(n);});w.Event.prototype.__defineGetter__('button',function(){return(this.which==1)?1:(this.which==3)?2:0});w.Event.prototype.__defineGetter__('offsetX',function(){return window.pageXOffset+this.clientX-__getLocation(this.srcElement).x;});w.Event.prototype.__defineGetter__('offsetY',function(){return window.pageYOffset+this.clientY-__getLocation(this.srcElement).y;});w.HTMLElement.prototype.__defineGetter__('parentElement',function(){return this.parentNode;});w.HTMLElement.prototype.__defineGetter__('children',function(){var children=[];var childCount=this.childNodes.length;for(var i=0;i<childCount;i++){var childNode=this.childNodes[i];if(childNode.nodeType==1){children.push(childNode);}} return children;});w.HTMLElement.prototype.__defineGetter__('innerText',function(){try{return this.textContent} catch(ex){var text='';for(var i=0;i<this.childNodes.length;i++){if(this.childNodes[i].nodeType==3){text+=this.childNodes[i].textContent;}} return str;}});w.HTMLElement.prototype.__defineSetter__('innerText',function(v){var textNode=document.createTextNode(v);this.innerHTML='';this.appendChild(textNode);});w.HTMLElement.prototype.__defineGetter__('currentStyle',function(){return window.getComputedStyle(this,null);});w.HTMLElement.prototype.__defineGetter__('runtimeStyle',function(){return window.getOverrideStyle(this,null);});w.HTMLElement.prototype.removeNode=function(b){return this.parentNode.removeChild(this)};w.HTMLElement.prototype.contains=function(el){while(el!=null&&el!=this){el=el.parentNode;} return(el!=null)};w.HTMLStyleElement.prototype.__defineGetter__('styleSheet',function(){return this.sheet;});w.CSSStyleSheet.prototype.__defineGetter__('rules',function(){return this.cssRules;});w.CSSStyleSheet.prototype.addRule=function(selector,style,index){this.insertRule(selector+'{'+style+'}',index);};w.CSSStyleSheet.prototype.removeRule=function(index){this.deleteRule(index);};w.CSSStyleDeclaration.prototype.__defineGetter__('styleFloat',function(){return this.cssFloat;});w.CSSStyleDeclaration.prototype.__defineSetter__('styleFloat',function(v){this.cssFloat=v;});DocumentFragment.prototype.getElementById=function(id){var nodeQueue=[];var childNodes=this.childNodes;var node;var c;for(c=0;c<childNodes.length;c++){node=childNodes[c];if(node.nodeType==1){nodeQueue.push(node);}} while(nodeQueue.length){node=nodeQueue.dequeue();if(node.id==id){return node;} childNodes=node.childNodes;if(childNodes.length!=0){for(c=0;c<childNodes.length;c++){node=childNodes[c];if(node.nodeType==1){nodeQueue.push(node);}}}} return null;};DocumentFragment.prototype.getElementsByTagName=function(tagName){var elements=[];var nodeQueue=[];var childNodes=this.childNodes;var node;var c;for(c=0;c<childNodes.length;c++){node=childNodes[c];if(node.nodeType==1){nodeQueue.push(node);}} while(nodeQueue.length){node=nodeQueue.dequeue();if(node.tagName==tagName){elements.add(node);} childNodes=node.childNodes;if(childNodes.length!=0){for(c=0;c<childNodes.length;c++){node=childNodes[c];if(node.nodeType==1){nodeQueue.push(node);}}}} return elements;};DocumentFragment.prototype.createElement=function(tagName){return document.createElement(tagName);};var selectNodes=function(doc,path,contextNode){contextNode=contextNode?contextNode:doc;var xpath=new XPathEvaluator();var result=xpath.evaluate(path,contextNode,doc.createNSResolver(doc.documentElement),XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);var nodeList=new Array(result.snapshotLength);for(var i=0;i<result.snapshotLength;i++){nodeList[i]=result.snapshotItem(i);} return nodeList;};var selectSingleNode=function(doc,path,contextNode){path+='[1]';var nodes=selectNodes(doc,path,contextNode);if(nodes.length!=0){for(var i=0;i<nodes.length;i++){if(nodes[i]){return nodes[i];}}} return null;};w.XMLDocument.prototype.selectNodes=function(path,contextNode){return selectNodes(this,path,contextNode);};w.XMLDocument.prototype.selectSingleNode=function(path,contextNode){return selectSingleNode(this,path,contextNode);};w.XMLDocument.prototype.transformNode=function(xsl){var xslProcessor=new XSLTProcessor();xslProcessor.importStylesheet(xsl);var ownerDocument=document.implementation.createDocument("","",null);var transformedDoc=xslProcessor.transformToDocument(this);return transformedDoc.xml;};Node.prototype.selectNodes=function(path){var doc=this.ownerDocument;return doc.selectNodes(path,this);};Node.prototype.selectSingleNode=function(path){var doc=this.ownerDocument;return doc.selectSingleNode(path,this);};Node.prototype.__defineGetter__('baseName',function(){return this.localName;});Node.prototype.__defineGetter__('text',function(){return this.textContent;});Node.prototype.__defineSetter__('text',function(value){this.textContent=value;});Node.prototype.__defineGetter__('xml',function(){return(new XMLSerializer()).serializeToString(this);});}
function __supportsCompatLayer(ua){return(ua.indexOf('Gecko')>=0)||(ua.indexOf('AppleWebKit')>=0)||(ua.indexOf('Opera')>=0);}
if(__supportsCompatLayer(window.navigator.userAgent)){try{__loadCompatLayer(window);} catch(e){}}
function isUndefined(o){return(o===undefined);}
function isNull(o){return(o===null);}
function isNullOrUndefined(o){return(o===null)||(o===undefined);}
function $(id){return document.getElementById(id);}
Object.__typeName='Object';Object.__baseType=null;Object.parse=function(s){return eval(s);}
Object.getKeyCount=function(d){var count=0;for(var n in d){count++;} return count;}
Object.clearKeys=function(d){for(var n in d){delete d[n];}}
Object.keyExists=function(d,key){return d[key]!==undefined;}
Function.parse=function(s){if(!Function._parseCache){Function._parseCache={};} var fn=Function._parseCache[s];if(!fn){try{eval('fn = '+s);if(typeof(fn)!='function'){fn=null;} else{Function._parseCache[s]=fn;}} catch(ex){}} return fn;}
Function.prototype.invoke=function(){this.apply(null,arguments);}
Boolean.__typeName='Boolean';Boolean.parse=function(s){return(s.toLowerCase()=='true');}
Number.__typeName='Number';Number.parse=function(s){if(!s||!s.length){return 0;} if((s.indexOf('.')>=0)||(s.indexOf('e')>=0)||s.endsWith('f')||s.endsWith('F')){return parseFloat(s);} return parseInt(s);}
Number.prototype.format=function(format,useLocale){if(isNullOrUndefined(format)||(format.length==0)||(format=='i')){if(useLocale){return this.toLocaleString();} else{return this.toString();}} return this._netFormat(format,useLocale);}
Math.truncate=function(n){return(n>=0)?Math.floor(n):Math.ceil(n);}
String.__typeName='String';String.Empty='';String.compare=function(s1,s2,ignoreCase){if(ignoreCase){if(s1){s1=s1.toUpperCase();} if(s2){s2=s2.toUpperCase();}} s1=s1||'';s2=s2||'';if(s1==s2){return 0;} if(s1<s2){return-1;} return 1;}
String.prototype.compareTo=function(s,ignoreCase){return String.compare(this,s,ignoreCase);}
String.prototype.endsWith=function(suffix){if(!suffix.length){return true;} if(suffix.length>this.length){return false;} return(this.substr(this.length-suffix.length)==suffix);}
String.equals=function(s1,s2,ignoreCase){return String.compare(s1,s2,ignoreCase)==0;}
String._format=function(format,values,useLocale){if(!String._formatRE){String._formatRE=/(\{[^\}^\{]+\})/g;} return format.replace(String._formatRE,function(str,m){var index=parseInt(m.substr(1));var value=values[index+1];if(isNullOrUndefined(value)){return'';} if(value.format){var formatSpec=null;var formatIndex=m.indexOf(':');if(formatIndex>0){formatSpec=m.substring(formatIndex+1,m.length-1);} return value.format.call(value,formatSpec,useLocale);} else{if(useLocale){return value.toLocaleString();} return value.toString();}});}
String.format=function(format){return String._format(format,arguments,false);}
String.fromChar=function(ch,count){var s=ch;for(var i=1;i<count;i++){s+=ch;} return s;}
String.prototype.insert=function(index,value){if(!value){return this;} if(!index){return value+this;} var s1=this.substr(0,index);var s2=this.substr(index);return s1+value+s2;}
String.isNullOrEmpty=function(s){return!s||!s.length;}
String.localeFormat=function(format){return String._format(format,arguments,true);}
String.prototype.remove=function(index,count){if(!count||((index+count)>this.length)){return this.substr(0,index);} return this.substr(0,index)+this.substr(index+count);}
String.prototype._replace=String.prototype.replace;String.prototype.replace=function(oldValue,newValue){if(oldValue.constructor==String){newValue=newValue||'';return this.split(oldValue).join(newValue);} return String.prototype._replace.call(this,oldValue,newValue);}
String.prototype.startsWith=function(prefix){if(!prefix.length){return true;} if(prefix.length>this.length){return false;} return(this.substr(0,prefix.length)==prefix);}
String.prototype.trim=function(){return this.trimEnd().trimStart();}
String.prototype.trimEnd=function(){return this.replace(/\s*$/,'');}
String.prototype.trimStart=function(){return this.replace(/^\s*/,'');}
String.prototype.quote=function(){if(!String._quoteMap){String._quoteMap={'\\':'\\\\','\'':'\\\'','"':'\\"','\r':'\\r','\n':'\\n','\t':'\\t','\f':'\\f','\b':'\\b'};} if(!String._quoteRE||!RegExp._cacheable){String._quoteRE=new RegExp("([\'\"\\\\\x00-\x1F\x7F-\uFFFF])","g");} var s=this;if(String._quoteSkipTest||String._quoteRE.test(s)){s=this.replace(String._quoteRE,function(str,m){var c=String._quoteMap[m];if(c){return c;} c=m.charCodeAt(0);return'\\u'+c.toString(16).toUpperCase().padLeft(4,'0');});} return'"'+s+'"';}
String.prototype.unquote=function(){return eval('('+this+')');}
Array.__typeName='Array';Array.prototype.add=function(item){this[this.length]=item;}
Array.prototype.clear=function(){if(this.length>0){this.splice(0,this.length);}}
Array.prototype.contains=function(item){var index=this.indexOf(item);return(index>=0);}
Array.prototype.dequeue=function(){return this.shift();}
Array.prototype.enqueue=function(item){this._queue=true;this.push(item);}
if(!Array.prototype.every){Array.prototype.every=function(callback){for(var i=this.length-1;i>=0;i--){if(!callback(this[i],i,this)){return false;}} return true;}}
Array.prototype.extract=function(index,count){if(!count){return this.slice(index);} return this.slice(index,index+count);}
if(!Array.prototype.forEach){Array.prototype.forEach=function(callback){for(var i=0;i<this.length;i++){callback(this[i],i,this);}}}
Array.prototype.index=function(callback){var length=this.length;var items={};for(var index=0;index<length;index++){var key=callback(this[index],index);if(String.isNullOrEmpty(key)){continue;} items[key]=this[index];} return items;}
Array.prototype.indexOf=function(item){var length=this.length;if(length){for(var index=0;index<length;index++){if(this[index]===item){return index;}}} return-1;}
Array.prototype.insert=function(index,item){this.splice(index,0,item);}
if(!Array.prototype.map){Array.prototype.map=function(callback){var mapped=new Array(this.length);for(var i=this.length-1;i>=0;i--){mapped[i]=callback(this[i],i,this);} return mapped;}}
Array.parse=function(s){return eval('('+s+')');}
Array.prototype.remove=function(item){var index=this.indexOf(item);if(index>=0){this.splice(index,1);return true;} return false;}
Array.prototype.removeAt=function(index){return this.splice(index,1)[0];}
Array.prototype.removeRange=function(index,count){return this.splice(index,count);}
if(!Array.prototype.some){Array.prototype.some=function(callback){for(var i=this.length-1;i>=0;i--){if(callback(this[i],i,this)){return true;}} return false;}}
RegExp.__typeName='RegExp';RegExp.parse=function(s){if(s.startsWith('/')){var endSlashIndex=s.lastIndexOf('/');if(endSlashIndex>1){var expression=s.substring(1,endSlashIndex);var flags=s.substr(endSlashIndex+1);return new RegExp(expression,flags);}} return null;}
Date.__typeName='Date';Date.get_now=function(){return new Date();}
Date.get_today=function(){var d=new Date();return new Date(d.getFullYear(),d.getMonth(),d.getDate());}
Date._parse=Date.parse;Date.parse=function(s){return new Date(Date._parse(s));}
Error.__typeName='Error';Error.create=function(message,userData,innerException){var e=new Error(message);if(userData){e.userData=userData;} if(innerException){e.innerException=innerException;} return e;}
if(!Debug._fail){Debug._fail=function(message){Debug.writeln(message);eval('debugger;');}}
Debug.assert=function(condition,message){if(!condition){message='Assert failed: '+message;if(confirm(message+'\r\n\r\nBreak into debugger?')){Debug._fail(message);}}}
Debug.fail=function(message){Debug._fail(message);}
Debug.writeLine=function(message){if(window.debugService){window.debugService.trace(message);return;} Debug.writeln(message);var traceTextBox=$('_traceTextBox');if(traceTextBox){traceTextBox.value=traceTextBox.value+'\r\n'+message;}}
Debug.__typeName='Debug';var Type=Function;Type.__typeName='Type';var __Namespace=function(name){this.__typeName=name;}
__Namespace.prototype={__namespace:true,getName:function(){return this.__typeName;}}
Type.createNamespace=function(name){if(!window.__namespaces){window.__namespaces={};} if(!window.__rootNamespaces){window.__rootNamespaces=[];} if(window.__namespaces[name]){return;} var ns=window;var nameParts=name.split('.');for(var i=0;i<nameParts.length;i++){var part=nameParts[i];var nso=ns[part];if(!nso){ns[part]=nso=new __Namespace(nameParts.slice(0,i+1).join('.'));if(i==0){window.__rootNamespaces.add(nso);}} ns=nso;} window.__namespaces[name]=ns;}
Type.prototype.createClass=function(name,baseType,interfaceType){this.prototype.constructor=this;this.__typeName=name;this.__class=true;this.__baseType=baseType||Object;if(baseType){this.__basePrototypePending=true;} if(interfaceType){this.__interfaces=[];for(var i=2;i<arguments.length;i++){interfaceType=arguments[i];this.__interfaces.add(interfaceType);}}}
Type.prototype.createInterface=function(name){this.__typeName=name;this.__interface=true;}
Type.prototype.createEnum=function(name,flags){for(var field in this.prototype){this[field]=this.prototype[field];} this.__typeName=name;this.__enum=true;if(flags){this.__flags=true;}}
Type.prototype.setupBase=function(){if(this.__basePrototypePending){var baseType=this.__baseType;if(baseType.__basePrototypePending){baseType.setupBase();} for(var memberName in baseType.prototype){var memberValue=baseType.prototype[memberName];if(!this.prototype[memberName]){this.prototype[memberName]=memberValue;}} delete this.__basePrototypePending;}}
if(!Type.prototype.resolveInheritance){Type.prototype.resolveInheritance=Type.prototype.setupBase;}
Type.prototype.constructBase=function(instance,args){if(this.__basePrototypePending){this.setupBase();} if(!args){this.__baseType.apply(instance);} else{this.__baseType.apply(instance,args);}}
Type.prototype.callBase=function(instance,name,args){var baseMethod=this.__baseType.prototype[name];if(!args){return baseMethod.apply(instance);} else{return baseMethod.apply(instance,args);}}
Type.prototype.get_baseType=function(){return this.__baseType||null;}
Type.prototype.get_fullName=function(){return this.__typeName;}
Type.prototype.get_name=function(){var fullName=this.__typeName;var nsIndex=fullName.lastIndexOf('.');if(nsIndex>0){return fullName.substr(nsIndex+1);} return fullName;}
Type.prototype.isInstance=function(instance){if(isNullOrUndefined(instance)){return false;} if((this==Object)||(instance instanceof this)){return true;} var type=Type.getInstanceType(instance);return this.isAssignableFrom(type);}
Type.prototype.isAssignableFrom=function(type){if((this==Object)||(this==type)){return true;} if(this.__class){var baseType=type.__baseType;while(baseType){if(this==baseType){return true;} baseType=baseType.__baseType;}} else if(this.__interface){var interfaces=type.__interfaces;if(interfaces&&interfaces.contains(this)){return true;} var baseType=type.__baseType;while(baseType){interfaces=baseType.__interfaces;if(interfaces&&interfaces.contains(this)){return true;} baseType=baseType.__baseType;}} return false;}
Type.isClass=function(type){return(type.__class==true);}
Type.isEnum=function(type){return(type.__enum==true);}
Type.isFlagsEnum=function(type){return((type.__enum==true)&&(type.__flags==true));}
Type.isInterface=function(type){return(type.__interface==true);}
Type.canCast=function(instance,type){return type.isInstance(instance);}
Type.safeCast=function(instance,type){if(type.isInstance(instance)){return instance;} return null;}
Type.getInstanceType=function(instance){var ctor=null;try{ctor=instance.constructor;} catch(ex){} if(!ctor||!ctor.__typeName){ctor=Object;} return ctor;}
Type.getType=function(typeName){if(!typeName){return null;} if(!Type.__typeCache){Type.__typeCache={};} var type=Type.__typeCache[typeName];if(!type){type=eval(typeName);Type.__typeCache[typeName]=type;} return type;}
Type.parse=function(typeName){return Type.getType(typeName);}
var Enum=function(){}
Enum.createClass('Enum');Enum.parse=function(enumType,s){var values=enumType.prototype;if(!enumType.__flags){for(var f in values){if(f===s){return values[f];}}} else{var parts=s.split('|');var value=0;var parsed=true;for(var i=parts.length-1;i>=0;i--){var part=parts[i].trim();var found=false;for(var f in values){if(f===part){value|=values[f];found=true;break;}} if(!found){parsed=false;break;}} if(parsed){return value;}} throw'Invalid Enumeration Value';}
Enum.toString=function(enumType,value){var values=enumType.prototype;if(!enumType.__flags||(value===0)){for(var i in values){if(values[i]===value){return i;}} throw'Invalid Enumeration Value';} else{var parts=[];for(var i in values){if(values[i]&value){if(parts.length){parts.add(' | ');} parts.add(i);}} if(!parts.length){throw'Invalid Enumeration Value';} return parts.join('');}}
var Delegate=function(){}
Delegate.createClass('Delegate');Delegate.Null=function(){}
Delegate._create=function(targets){var delegate=function(){if(targets.length==2){return targets[1].apply(targets[0],arguments);} else{for(var i=0;i<targets.length;i+=2){targets[i+1].apply(targets[i],arguments);} return null;}};delegate.invoke=delegate;delegate._targets=targets;return delegate;}
Delegate.create=function(object,method){if(!object){method.invoke=method;return method;} return Delegate._create([object,method]);}
Delegate.combine=function(delegate1,delegate2){if(!delegate1){if(!delegate2._targets){return Delegate.create(null,delegate2);} return delegate2;} if(!delegate2){if(!delegate1._targets){return Delegate.create(null,delegate1);} return delegate1;} var targets1=delegate1._targets?delegate1._targets:[null,delegate1];var targets2=delegate2._targets?delegate2._targets:[null,delegate2];return Delegate._create(targets1.concat(targets2));}
Delegate.remove=function(delegate1,delegate2){if(!delegate1||(delegate1===delegate2)){return null;} if(!delegate2){return delegate1;} var targets=delegate1._targets;var object=null;var method;if(delegate2._targets){object=delegate2._targets[0];method=delegate2._targets[1];} else{method=delegate2;} for(var i=0;i<targets.length;i+=2){if((targets[i]===object)&&(targets[i+1]===method)){if(targets.length==2){return null;} targets.splice(i,2);return Delegate._create(targets);}} return delegate1;}
Delegate.createExport=function(delegate,multiUse){var name='__'+(new Date()).valueOf();Delegate[name]=function(){if(!multiUse){Delegate.deleteExport(name);} delegate.apply(null,arguments);};return name;}
Delegate.deleteExport=function(name){if(Delegate[name]){delete Delegate[name];}}
Delegate.clearExport=function(name){if(Delegate[name]){Delegate[name]=Delegate.Null;}}
var IArray=function(){};IArray.createInterface('IArray');
var IEnumerator=function(){};IEnumerator.createInterface('IEnumerator');var IEnumerable=function(){};IEnumerable.createInterface('IEnumerable');
var ArrayEnumerator=function(array){this._array=array;this._index=-1;}
ArrayEnumerator.prototype={get_current:function(){return this._array[this._index];},moveNext:function(){this._index++;return(this._index<this._array.length);},reset:function(){this._index=-1;}}
ArrayEnumerator.createClass('ArrayEnumerator',null,IEnumerator);Array.__interfaces=[IArray,IEnumerable];Array.prototype.getLength=function(){return this.length;}
Array.prototype.getItem=function(index){return this[index];}
Array.prototype.getEnumerator=function(){return new ArrayEnumerator(this);}
var IDisposable=function(){};IDisposable.createInterface('IDisposable');var IServiceProvider=function(){};IServiceProvider.createInterface('IServiceProvider');var IServiceContainer=function(){};IServiceContainer.createInterface('IServiceContainer');var StringBuilder=function(s){if((s!==undefined)&&(s!==null)){this._parts=[s];} else{this._parts=[];}}
StringBuilder.prototype={get_isEmpty:function(){return(this._parts.length==0);},append:function(s){if((s!==undefined)&&(s!==null)){this._parts.add(s);}},appendLine:function(s){this.append(s);this.append('\r\n');},clear:function(){this._parts.clear();},toString:function(){return this._parts.join('');}};StringBuilder.createClass('StringBuilder');var EventArgs=function(){}
EventArgs.createClass('EventArgs');EventArgs.Empty=new EventArgs();if(!window.XMLHttpRequest){window.XMLHttpRequest=function(){var progIDs=['Msxml2.XMLHTTP','Microsoft.XMLHTTP'];for(var i=0;i<progIDs.length;i++){try{var xmlHttp=new ActiveXObject(progIDs[i]);return xmlHttp;} catch(ex){}} return null;}}
Type.createNamespace('ScriptFX');ScriptFX.CollectionChangedAction=function(){};ScriptFX.CollectionChangedAction.prototype = {add:0,remove:1,reset:2}
ScriptFX.CollectionChangedAction.createEnum('ScriptFX.CollectionChangedAction',false);ScriptFX.$create__Core$1=function(eventType,sender,eventArgs,eventCookie){var $o={};$o.$1=eventType;$o.$0=sender;$o.$2=eventArgs;$o.$3=eventCookie;return $o;}
ScriptFX.IEventManager=function(){};ScriptFX.IEventManager.createInterface('ScriptFX.IEventManager');ScriptFX.ISupportInitialize=function(){};ScriptFX.ISupportInitialize.createInterface('ScriptFX.ISupportInitialize');ScriptFX.INotifyDisposing=function(){};ScriptFX.INotifyDisposing.createInterface('ScriptFX.INotifyDisposing');ScriptFX.HostName=function(){};ScriptFX.HostName.prototype = {other:0,IE:1,mozilla:2,safari:3,opera:4}
ScriptFX.HostName.createEnum('ScriptFX.HostName',false);ScriptFX.INotifyCollectionChanged=function(){};ScriptFX.INotifyCollectionChanged.createInterface('ScriptFX.INotifyCollectionChanged');ScriptFX.INotifyPropertyChanged=function(){};ScriptFX.INotifyPropertyChanged.createInterface('ScriptFX.INotifyPropertyChanged');ScriptFX.ITask=function(){};ScriptFX.ITask.createInterface('ScriptFX.ITask');ScriptFX.IObjectWithOwner=function(){};ScriptFX.IObjectWithOwner.createInterface('ScriptFX.IObjectWithOwner');ScriptFX.Application=function(){this.$9=[];this.$A=100;this.$12=Delegate.create(this,this.$1C);window.attachEvent('onbeforeunload',this.$12);this.$13=Delegate.create(this,this.$1B);window.attachEvent('onerror',this.$13);var $0=document.documentElement;var $1=$0.className;if($1.startsWith('$')){var $2=this.get_host();$1=$1.replace('$browser',Enum.toString(ScriptFX.HostName,$2.get_name()));$1=$1.replace('$majorver',$2.get_majorVersion().toString());$1=$1.replace('$minorver',$2.get_minorVersion().toString());$0.className=$1;}}
ScriptFX.Application.prototype={$0:null,$1:0,$2:null,$3:false,$4:false,$5:false,$6:null,$7:null,$8:null,$9:null,$A:0,$B:0,$C:null,$D:0,$E:null,$F:null,$10:null,$11:null,$12:null,$13:null,$14:null,$15:null,get_domain:function(){return window.document.domain;},set_domain:function(value){window.document.domain=value;return value;},get_$16:function(){if(!this.$8){this.$8=new ScriptFX.EventList();}return this.$8;},get_host:function(){if(!this.$0){this.$0=new ScriptFX.HostInfo();}return this.$0;},get_idleFrequency:function(){return this.$A;},set_idleFrequency:function(value){this.$A=value;return value;},get_isFirstLoad:function(){return this.$5;},get_isIE:function(){if(!this.$1){this.$1=(this.get_host().get_name()===1)?1:-1;}return (this.$1===1)?true:false;},add_error:function(value){this.get_$16().addHandler('error',value);},remove_error:function(value){this.get_$16().removeHandler('error',value);},add_idle:function(value){this.get_$16().addHandler('idle',value);if(!this.$B){if(!this.$14){this.$14=Delegate.create(this,this.$17);}this.$B=window.setTimeout(this.$14,this.$A);}},remove_idle:function(value){var $0=this.get_$16().removeHandler('idle',value);if((!$0)&&(this.$B)){window.clearTimeout(this.$B);this.$B=0;}},add_load:function(value){if(this.$3){value.invoke(this,EventArgs.Empty);}else{this.get_$16().addHandler('load',value);}},remove_load:function(value){this.get_$16().removeHandler('load',value);},add_unload:function(value){this.get_$16().addHandler('unload',value);},remove_unload:function(value){this.get_$16().removeHandler('unload',value);},add_unloading:function(value){this.get_$16().addHandler('unloading',value);},remove_unloading:function(value){this.get_$16().removeHandler('unloading',value);},getService:function(serviceType){if((serviceType===IServiceContainer)||(serviceType===ScriptFX.IEventManager)){return this;}if(this.$11){var $0=serviceType.get_fullName().replace('.','$');return this.$11[$0];}return null;},$17:function(){this.$B=0;var $0=this.get_$16().getHandler('idle');if($0){$0.invoke(this,EventArgs.Empty);this.$B=window.setTimeout(this.$14,this.$A);}},$1B:function(){var $0=this.get_$16().getHandler('error');if($0){var $1=new ScriptFX.CancelEventArgs();$1.set_canceled(true);$0.invoke(this,$1);if($1.get_canceled()){window.event.returnValue=false;}}},$1C:function(){window.event.avoidReturn = true;var $0=this.get_$16().getHandler('unloading');if($0){var $1=new ScriptFX.ApplicationUnloadingEventArgs();$0.invoke(this,$1);}},raiseEvent:function(eventType,sender,e){if(this.$E){var $0=this.$E[eventType];if($0){$0.invoke(sender,e);}}},registerDisposableObject:function(disposableObject){if(!this.$4){this.$9.add(disposableObject);}},registerEvent:function(eventType,sender,e){if(this.$E){var $1=this.$E[eventType];if($1){$1.invoke(sender,e);}}if(!this.$10){this.$10=[];}if(!this.$F){this.$F={};this.$F[eventType]=1;}else{var $2=this.$F[eventType];if(isUndefined($2)){this.$F[eventType]=1;}else{this.$F[eventType]=1+$2;}}var $0=ScriptFX.$create__Core$1(eventType,sender,e,this.$10.length);this.$10.add($0);return $0.$3;},registerEventHandler:function(eventType,handler){var $0=null;if(!this.$E){this.$E={};}else{$0=this.$E[eventType];}this.$E[eventType]=Delegate.combine($0,handler);if(!isNullOrUndefined(this.$F[eventType])){var $enum1=this.$10.getEnumerator();while($enum1.moveNext()){var $1=$enum1.get_current();if(!$1){continue;}if($1.$1===eventType){handler.invoke($1.$0,$1.$2);}}}},registerService:function(serviceType,service){if(!this.$11){this.$11={};}var $0=serviceType.get_fullName().replace('.','$');this.$11[$0]=service;},unregisterDisposableObject:function(disposableObject){if(!this.$4){this.$9.remove(disposableObject);}},unregisterEvent:function(eventCookie){var $0=this.$10[eventCookie];var $1=this.$F[$0.$1];if($1===1){delete this.$F[$0.$1];}else{this.$F[$0.$1]=$1-1;}this.$10[eventCookie]=null;},unregisterEventHandler:function(eventType,handler){if(this.$E){var $0=this.$E[eventType];if($0){$0=Delegate.remove($0,handler);if(!$0){delete this.$E[eventType];}else{this.$E[eventType]=$0;}}}},unregisterService:function(serviceType){if(this.$11){var $0=serviceType.get_fullName().replace('.','$');delete this.$11[$0];}}}
ScriptFX.CancelEventArgs=function(){ScriptFX.CancelEventArgs.constructBase(this);}
ScriptFX.CancelEventArgs.prototype={$1_0:false,get_canceled:function(){return this.$1_0;},set_canceled:function(value){this.$1_0=value;return value;}}
ScriptFX.CollectionChangedEventArgs=function(action,item){ScriptFX.CollectionChangedEventArgs.constructBase(this);this.$1_0=action;this.$1_1=item;}
ScriptFX.CollectionChangedEventArgs.prototype={$1_0:0,$1_1:null,get_action:function(){return this.$1_0;},get_item:function(){return this.$1_1;}}
ScriptFX.ApplicationUnloadingEventArgs=function(){ScriptFX.ApplicationUnloadingEventArgs.constructBase(this);}
ScriptFX.ApplicationUnloadingEventArgs.prototype={setUnloadPrompt:function(prompt){window.event.returnValue = prompt;window.event.avoidReturn = false;}}
ScriptFX.HostInfo=function(){var $0=window.navigator.userAgent.toLowerCase();var $1=null;var $2;if(($2=$0.indexOf('opera'))>=0){this.$0=4;$1=$0.substr($2+6);}else if(($2=$0.indexOf('msie'))>=0){this.$0=1;$1=$0.substr($2+5);}else if(($2=$0.indexOf('safari'))>=0){this.$0=3;$1=$0.substr($2+7);}else if(($2=$0.indexOf('firefox'))>=0){this.$0=2;$1=$0.substr($2+8);}else if($0.indexOf('gecko')>=0){this.$0=2;$1=window.navigator.appVersion;}if($1){this.$1=parseFloat($1);this.$2=parseInt(this.$1);if(($2=$1.indexOf('.'))>=0){this.$3=parseInt($1.substr($2+1));}}}
ScriptFX.HostInfo.prototype={$0:0,$1:0,$2:0,$3:0,get_majorVersion:function(){return this.$2;},get_minorVersion:function(){return this.$3;},get_name:function(){return this.$0;},get_version:function(){return this.$1;}}
ScriptFX.EventList=function(){}
ScriptFX.EventList.prototype={$0:null,addHandler:function(key,handler){if(!this.$0){this.$0={};}this.$0[key]=Delegate.combine(this.$0[key],handler);},getHandler:function(key){if(this.$0){return this.$0[key];}return null;},removeHandler:function(key,handler){if(this.$0){var $0=this.$0[key];if($0){var $1=Delegate.remove($0,handler);this.$0[key]=$1;return ($1);}}return false;}}
ScriptFX.JSON=function(){}
ScriptFX.JSON.deserialize=function(s){if(String.isNullOrEmpty(s)){return null;}if(!ScriptFX.JSON.$0){ScriptFX.JSON.$0=new RegExp('(\'|\")\\\\@(-?[0-9]+)@(\'|\")','gm');}s=s.replace(ScriptFX.JSON.$0,'new Date($2)');return eval('('+s+')');}
ScriptFX.JSON.serialize=function(o){if(isNullOrUndefined(o)){return String.Empty;}var $0=new StringBuilder();ScriptFX.JSON.$1($0,o);return $0.toString();}
ScriptFX.JSON.$1=function($p0,$p1){if(isNullOrUndefined($p1)){$p0.append('null');return;}var $0=typeof($p1);switch($0){case 'boolean':$p0.append($p1.toString());return;case 'number':$p0.append((isFinite($p1))?$p1.toString():'null');return;case 'string':$p0.append(($p1).quote());return;case 'object':if(Array.isInstance($p1)){$p0.append('[');var $1=$p1;var $2=$1.length;var $3=true;for(var $4=0;$4<$2;$4++){if($3){$3=false;}else{$p0.append(',');}ScriptFX.JSON.$1($p0,$1[$4]);}$p0.append(']');}else if(Date.isInstance($p1)){var $5=$p1;var $6=Date.UTC($5.getUTCFullYear(),$5.getUTCMonth(),$5.getUTCDate(),$5.getUTCHours(),$5.getUTCMinutes(),$5.getUTCSeconds(),$5.getUTCMilliseconds());$p0.append('\"\\@');$p0.append($6.toString());$p0.append('@\"');}else if(RegExp.isInstance($p1)){$p0.append($p1.toString());}else{$p0.append('{');var $7=true;var $dict1=$p1;for(var $key2 in $dict1){var $8={key:$key2,value:$dict1[$key2]};if(($8.key).startsWith('$')||Function.isInstance($8.value)){continue;}if($7){$7=false;}else{$p0.append(',');}$p0.append($8.key);$p0.append(':');ScriptFX.JSON.$1($p0,$8.value);}$p0.append('}');}return;default:$p0.append('null');return;}}
ScriptFX.PropertyChangedEventArgs=function(propertyName){ScriptFX.PropertyChangedEventArgs.constructBase(this);this.$1_0=propertyName;}
ScriptFX.PropertyChangedEventArgs.prototype={$1_0:null,get_propertyName:function(){return this.$1_0;}}
ScriptFX.ObservableCollection=function(owner,disposableItems){this.$0=owner;this.$1=[];this.$2=disposableItems;}
ScriptFX.ObservableCollection.prototype={$0:null,$1:null,$2:false,$3:null,add_collectionChanged:function(value){this.$3=Delegate.combine(this.$3,value);},remove_collectionChanged:function(value){this.$3=Delegate.remove(this.$3,value);},add:function(item){(item).setOwner(this.$0);this.$1.add(item);if(this.$3){this.$3.invoke(this,new ScriptFX.CollectionChangedEventArgs(0,item));}},clear:function(){if(this.$1.length){var $enum1=this.$1.getEnumerator();while($enum1.moveNext()){var $0=$enum1.get_current();$0.setOwner(null);}this.$1.clear();if(this.$3){this.$3.invoke(this,new ScriptFX.CollectionChangedEventArgs(2,null));}}},contains:function(item){return this.$1.contains(item);},dispose:function(){if(this.$2){var $enum1=this.$1.getEnumerator();while($enum1.moveNext()){var $0=$enum1.get_current();$0.dispose();}}this.$1=null;this.$0=null;this.$3=null;},getEnumerator:function(){return this.$1.getEnumerator();},getItem:function(index){return this.$1[index];},getItems:function(){return this.$1;},getLength:function(){return this.$1.length;},remove:function(item){if(this.$1.contains(item)){(item).setOwner(null);this.$1.remove(item);if(this.$3){this.$3.invoke(this,new ScriptFX.CollectionChangedEventArgs(1,item));}}}}
Type.createNamespace('ScriptFX.Net');ScriptFX.Net.HTTPStatusCode=function(){};ScriptFX.Net.HTTPStatusCode.prototype = {canContinue:100,switchingProtocols:101,OK:200,created:201,partialContent:206,accepted:202,nonAuthoritativeInformation:203,noContent:204,resetContent:205,ambiguous:300,moved:301,redirect:302,redirectMethod:303,notModified:304,useProxy:305,temporaryRedirect:307,badRequest:400,methodNotAllowed:400,unauthorized:401,paymentRequired:402,forbidden:403,notFound:404,notAcceptable:406,proxyAuthenticationRequired:407,requestTimeout:408,conflict:409,gone:410,lengthRequired:411,preconditionFailed:412,requestEntityTooLarge:413,requestUriTooLong:414,unsupportedMediaType:415,requestedRangeNotSatisfiable:416,expectationFailed:417,internalServerError:500,notImplemented:501,badGateway:502,serviceUnavailable:503,gatewayTimeout:504,httpVersionNotSupported:505}
ScriptFX.Net.HTTPStatusCode.createEnum('ScriptFX.Net.HTTPStatusCode',false);ScriptFX.Net.HTTPRequestState=function(){};ScriptFX.Net.HTTPRequestState.prototype = {inactive:0,inProgress:1,completed:2,aborted:3,timedOut:4}
ScriptFX.Net.HTTPRequestState.createEnum('ScriptFX.Net.HTTPRequestState',false);ScriptFX.Net.HTTPVerb=function(){};ScriptFX.Net.HTTPVerb.prototype = {GET:0,POST:1,PUT:2,DELETE:3}
ScriptFX.Net.HTTPVerb.createEnum('ScriptFX.Net.HTTPVerb',false);ScriptFX.Net.IHTTPResponse=function(){};ScriptFX.Net.IHTTPResponse.createInterface('ScriptFX.Net.IHTTPResponse');ScriptFX.Net.HTTPRequest=function(){}
ScriptFX.Net.HTTPRequest.createRequest=function(uri,verb){var $0=new ScriptFX.Net.HTTPRequest();if(!uri.startsWith('{')){$0.$0=uri;}else{var $1=ScriptFX.JSON.deserialize(uri);$0.$0=$1['__uri'];if($1['__nullParams']){$0.$6=$1['__transportType'];}else{$0.$6=Type.getType($1['__transportType']);delete $1.__uri;delete $1.__transportType;$0.$7=$1;}}$0.$1=verb;return $0;}
ScriptFX.Net.HTTPRequest.createURI=function(uri,parameters){var $0=new StringBuilder(uri);if(uri.indexOf('?')<0){$0.append('?');}var $1=0;var $dict1=parameters;for(var $key2 in $dict1){var $2={key:$key2,value:$dict1[$key2]};if($1){$0.append('&');}$0.append($2.key);$0.append('=');$0.append(encodeURIComponent($2.value.toString()));$1++;}return $0.toString();}
ScriptFX.Net.HTTPRequest.prototype={$0:null,$1:0,$2:null,$3:null,$4:null,$5:null,$6:null,$7:null,$8:0,$9:null,$A:null,$B:0,$C:null,$D:null,$E:null,get_content:function(){return this.$2;},set_content:function(value){this.$2=value;return value;},get_hasCredentials:function(){return (!String.isNullOrEmpty(this.$4));},get_hasHeaders:function(){return (this.$3);},get_headers:function(){if(!this.$3){this.$3={};}return this.$3;},get_password:function(){return this.$5;},get_response:function(){return this.$D;},get_state:function(){return this.$B;},get_timeout:function(){return this.$8;},set_timeout:function(value){this.$8=value;return value;},get_timeStamp:function(){return this.$E;},get_$F:function(){return this.$C;},get_$10:function(){return this.$7;},get_transportType:function(){return this.$6;},get_URI:function(){return this.$0;},get_userName:function(){return this.$4;},get_verb:function(){return this.$1;},abort:function(){if(this.$B===1){ScriptFX.Net.HTTPRequestManager.$5(this,false);}},dispose:function(){if(this.$C){this.abort();}},invoke:function(callback,context){this.$9=callback;this.$A=context;ScriptFX.Application.current.registerDisposableObject(this);ScriptFX.Net.HTTPRequestManager.$6(this);},$11:function(){ScriptFX.Application.current.unregisterDisposableObject(this);if(this.$C){this.$C.dispose();this.$C=null;}if(this.$9){this.$9.invoke(this,this.$A);this.$9=null;this.$A=null;}},$12:function(){this.$B=3;this.$11();},$13:function($p0){this.$C=$p0;this.$B=1;this.$E=new Date();},$14:function($p0){this.$D=$p0;this.$B=2;this.$11();},$15:function(){this.$B=4;this.$11();},setContentAsForm:function(data){this.get_headers()['Content-Type']='application/x-www-form-urlencoded';var $0=new StringBuilder();var $1=true;var $dict1=data;for(var $key2 in $dict1){var $2={key:$key2,value:$dict1[$key2]};if(!$1){$0.append('&');}$0.append($2.key);$0.append('=');$0.append(encodeURIComponent($2.value.toString()));$1=false;}this.set_content($0.toString());},setContentAsJSON:function(data){this.get_headers()['Content-Type']='text/json';this.set_content(ScriptFX.JSON.serialize(data));},setCredentials:function(userName,password){this.$4=userName;this.$5=password;}}
ScriptFX.Net.HTTPRequestManager=function(){}
ScriptFX.Net.HTTPRequestManager.add_requestInvoking=function(value){ScriptFX.Net.HTTPRequestManager.$0=Delegate.combine(ScriptFX.Net.HTTPRequestManager.$0,value);}
ScriptFX.Net.HTTPRequestManager.remove_requestInvoking=function(value){ScriptFX.Net.HTTPRequestManager.$0=Delegate.remove(ScriptFX.Net.HTTPRequestManager.$0,value);}
ScriptFX.Net.HTTPRequestManager.add_requestInvoked=function(value){ScriptFX.Net.HTTPRequestManager.$1=Delegate.combine(ScriptFX.Net.HTTPRequestManager.$1,value);}
ScriptFX.Net.HTTPRequestManager.remove_requestInvoked=function(value){ScriptFX.Net.HTTPRequestManager.$1=Delegate.remove(ScriptFX.Net.HTTPRequestManager.$1,value);}
ScriptFX.Net.HTTPRequestManager.get_online=function(){return window.navigator.onLine;}
ScriptFX.Net.HTTPRequestManager.get_timeoutInterval=function(){return ScriptFX.Net.HTTPRequestManager.$2;}
ScriptFX.Net.HTTPRequestManager.set_timeoutInterval=function(value){ScriptFX.Net.HTTPRequestManager.$2=value;return value;}
ScriptFX.Net.HTTPRequestManager.$5=function($p0,$p1){var $0=$p0.get_$F();if($0){$0.abort();ScriptFX.Net.HTTPRequestManager.$7($p0,null,$p1);}}
ScriptFX.Net.HTTPRequestManager.abortAll=function(){var $0=ScriptFX.Net.HTTPRequestManager.$3;ScriptFX.Net.HTTPRequestManager.$3=[];var $enum1=$0.getEnumerator();while($enum1.moveNext()){var $1=$enum1.get_current();ScriptFX.Net.HTTPRequestManager.$5($1,false);}}
ScriptFX.Net.HTTPRequestManager.$6=function($p0){if(ScriptFX.Net.HTTPRequestManager.$0){var $2=new ScriptFX.Net.PreHTTPRequestEventArgs($p0);ScriptFX.Net.HTTPRequestManager.$0.invoke(null,$2);if($2.get_isSuppressed()){$p0.$14($2.get_response());return;}}var $0=$p0.get_transportType();if(!$0){$0=ScriptFX.Net._Core$3;}var $1=new $0($p0);$p0.$13($1);ScriptFX.Net.HTTPRequestManager.$3.add($p0);$1.invoke();if(((ScriptFX.Net.HTTPRequestManager.$2)||($p0.get_timeout()))&&(!ScriptFX.Net.HTTPRequestManager.$4)){ScriptFX.Net.HTTPRequestManager.$4=Delegate.create(null,ScriptFX.Net.HTTPRequestManager.$8);ScriptFX.Application.current.add_idle(ScriptFX.Net.HTTPRequestManager.$4);}}
ScriptFX.Net.HTTPRequestManager.$7=function($p0,$p1,$p2){ScriptFX.Net.HTTPRequestManager.$3.remove($p0);if($p1){$p0.$14($p1);}else if($p2){$p0.$15();}else{$p0.$12();}if(ScriptFX.Net.HTTPRequestManager.$1){var $0=new ScriptFX.Net.PostHTTPRequestEventArgs($p0,$p1);ScriptFX.Net.HTTPRequestManager.$1.invoke(null,$0);}if((!ScriptFX.Net.HTTPRequestManager.$3.length)&&(ScriptFX.Net.HTTPRequestManager.$4)){ScriptFX.Application.current.remove_idle(ScriptFX.Net.HTTPRequestManager.$4);ScriptFX.Net.HTTPRequestManager.$4=null;}}
ScriptFX.Net.HTTPRequestManager.$8=function($p0,$p1){if(!ScriptFX.Net.HTTPRequestManager.$3.length){return;}var $0=null;var $1=(new Date()).getTime();var $enum1=ScriptFX.Net.HTTPRequestManager.$3.getEnumerator();while($enum1.moveNext()){var $2=$enum1.get_current();var $3=$2.get_timeStamp().getTime();var $4=$2.get_timeout();if(!$4){$4=ScriptFX.Net.HTTPRequestManager.$2;if(!$4){continue;}}if(($1-$3)>$4){if(!$0){$0=[];}$0.add($2);}}if($0){var $enum2=$0.getEnumerator();while($enum2.moveNext()){var $5=$enum2.get_current();ScriptFX.Net.HTTPRequestManager.$5($5,true);}}}
ScriptFX.Net.HTTPRequestManager.$9=function($p0,$p1){ScriptFX.Net.HTTPRequestManager.$7($p0,$p1,false);}
ScriptFX.Net.HTTPTransport=function(request){this.$0=request;}
ScriptFX.Net.HTTPTransport.createURI=function(uri,transportType,parameters){if(!parameters){return '{__nullParams: true, __uri:\''+uri+'\', __transportType: '+transportType.get_fullName()+'}';}else{parameters['__uri']=uri;parameters['__transportType']=transportType.get_fullName();return ScriptFX.JSON.serialize(parameters);}}
ScriptFX.Net.HTTPTransport.prototype={$0:null,get_parameters:function(){return this.$0.get_$10();},get_request:function(){return this.$0;},getMethod:function(){return Enum.toString(ScriptFX.Net.HTTPVerb,this.$0.get_verb());},onCompleted:function(response){ScriptFX.Net.HTTPRequestManager.$9(this.$0,response);}}
ScriptFX.Net.PostHTTPRequestEventArgs=function(request,response){ScriptFX.Net.PostHTTPRequestEventArgs.constructBase(this);this.$1_0=request;this.$1_1=response;}
ScriptFX.Net.PostHTTPRequestEventArgs.prototype={$1_0:null,$1_1:null,get_request:function(){return this.$1_0;},get_response:function(){return this.$1_1;}}
ScriptFX.Net.PreHTTPRequestEventArgs=function(request){ScriptFX.Net.PreHTTPRequestEventArgs.constructBase(this);this.$1_0=request;}
ScriptFX.Net.PreHTTPRequestEventArgs.prototype={$1_0:null,$1_1:null,$1_2:false,get_isSuppressed:function(){return this.$1_2;},get_request:function(){return this.$1_0;},get_response:function(){return this.$1_1;},suppressRequest:function(response){this.$1_2=true;this.$1_1=response;}}
ScriptFX.Net._Core$2=function(request,xmlHTTP){this.$3=new Date();this.$0=request;this.$1=xmlHTTP;}
ScriptFX.Net._Core$2.prototype={$0:null,$1:null,$2:null,$3:null,$4:null,$5:null,$6:null,get_contentLength:function(){return this.getText().length;},get_contentType:function(){return this.$1.getResponseHeader('Content-Type');},get_headers:function(){if(!this.$2){var $0=this.$1.getAllResponseHeaders();var $1=$0.split('\n');this.$2={};var $enum1=$1.getEnumerator();while($enum1.moveNext()){var $2=$enum1.get_current();var $3=$2.indexOf(':');this.$2[$2.substr(0,$3)]=$2.substr($3+1).trim();}}return this.$2;},get_request:function(){return this.$0;},get_statusCode:function(){return this.$1.status;},get_statusText:function(){return this.$1.statusText;},get_timeStamp:function(){return this.$3;},getHeader:function($p0){return this.$1.getResponseHeader($p0);},getObject:function(){if(!this.$5){this.$5=ScriptFX.JSON.deserialize(this.getText());}return this.$5;},getText:function(){if(!this.$4){this.$4=this.$1.responseText;}return this.$4;},getXML:function(){if(!this.$6){var $0=this.$1.responseXML;if((!$0)||(!$0.documentElement)){try{$0=XMLDocumentParser.parse(this.$1.responseText);if(($0)&&($0.documentElement)){this.$6=$0;}}catch($1){}}else{this.$6=$0;if(ScriptFX.Application.current.get_isIE()){$0.setProperty('SelectionLanguage','XPath');}}}return this.$6;}}
ScriptFX.Net._Core$3=function(request){ScriptFX.Net._Core$3.constructBase(this,[request]);}
ScriptFX.Net._Core$3.prototype={$1:null,abort:function(){if(this.$1){this.$1.onreadystatechange=Delegate.Null;this.$1.abort();this.$1=null;}},dispose:function(){this.abort();},invoke:function(){var $0=this.get_request();this.$1=new XMLHttpRequest();this.$1.onreadystatechange=Delegate.create(this,this.$2);if(!this.get_request().get_hasCredentials()){this.$1.open(this.getMethod(),$0.get_URI(),true);}else{this.$1.open(this.getMethod(),$0.get_URI(),true,$0.get_userName(),$0.get_password());}var $1=($0.get_hasHeaders())?$0.get_headers():null;if($1){var $dict1=$1;for(var $key2 in $dict1){var $3={key:$key2,value:$dict1[$key2]};this.$1.setRequestHeader($3.key,$3.value);}}var $2=$0.get_content();if(($2)&&((!$1)||(!$1['Content-Type']))){this.$1.setRequestHeader('Content-Type','application/x-www-form-urlencoded');}this.$1.send($2);},$2:function(){if(this.$1.readyState===4){var $0=new ScriptFX.Net._Core$2(this.get_request(),this.$1);this.$1.onreadystatechange=Delegate.Null;this.$1=null;this.onCompleted($0);}}}
ScriptFX.Application.createClass('ScriptFX.Application',null,IServiceProvider,IServiceContainer,ScriptFX.IEventManager);ScriptFX.CancelEventArgs.createClass('ScriptFX.CancelEventArgs',EventArgs);ScriptFX.CollectionChangedEventArgs.createClass('ScriptFX.CollectionChangedEventArgs',EventArgs);ScriptFX.ApplicationUnloadingEventArgs.createClass('ScriptFX.ApplicationUnloadingEventArgs',EventArgs);ScriptFX.HostInfo.createClass('ScriptFX.HostInfo');ScriptFX.EventList.createClass('ScriptFX.EventList');ScriptFX.JSON.createClass('ScriptFX.JSON');ScriptFX.PropertyChangedEventArgs.createClass('ScriptFX.PropertyChangedEventArgs',EventArgs);ScriptFX.ObservableCollection.createClass('ScriptFX.ObservableCollection',null,IDisposable,IArray,IEnumerable,ScriptFX.INotifyCollectionChanged);ScriptFX.Net.HTTPRequest.createClass('ScriptFX.Net.HTTPRequest',null,IDisposable);ScriptFX.Net.HTTPRequestManager.createClass('ScriptFX.Net.HTTPRequestManager');ScriptFX.Net.HTTPTransport.createClass('ScriptFX.Net.HTTPTransport',null,IDisposable);ScriptFX.Net.PostHTTPRequestEventArgs.createClass('ScriptFX.Net.PostHTTPRequestEventArgs',EventArgs);ScriptFX.Net.PreHTTPRequestEventArgs.createClass('ScriptFX.Net.PreHTTPRequestEventArgs',EventArgs);ScriptFX.Net._Core$2.createClass('ScriptFX.Net._Core$2',null,ScriptFX.Net.IHTTPResponse);ScriptFX.Net._Core$3.createClass('ScriptFX.Net._Core$3',ScriptFX.Net.HTTPTransport);ScriptFX.Application.current=new ScriptFX.Application();ScriptFX.JSON.$0=null;ScriptFX.Net.HTTPRequestManager.$0=null;ScriptFX.Net.HTTPRequestManager.$1=null;ScriptFX.Net.HTTPRequestManager.$2=0;ScriptFX.Net.HTTPRequestManager.$3=[];ScriptFX.Net.HTTPRequestManager.$4=null;
Type.createNamespace('ScriptFX.Net');ScriptFX.Net._XDAjax$1=function(request,data){this.$1=new Date();this.$0=request;this.$2=data;}
ScriptFX.Net._XDAjax$1.prototype={$0:null,$1:null,$2:null,$3:null,get_contentLength:function(){return 0;},get_contentType:function(){return 'text/javascript';},get_headers:function(){return {};},get_request:function(){return this.$0;},get_statusCode:function(){return 200;},get_statusText:function(){return String.Empty;},get_timeStamp:function(){return this.$1;},getHeader:function($p0){return null;},getObject:function(){return this.$2;},getText:function(){return Type.safeCast(this.$2,String);},getXML:function(){if(!this.$3){var $0=this.getText();if($0){try{this.$3=XMLDocumentParser.parse($0);}catch($1){}}}return this.$3;}}
ScriptFX.Net.ScriptTransport=function(request){ScriptFX.Net.ScriptTransport.constructBase(this,[request]);}
ScriptFX.Net.ScriptTransport.prototype={$1_0:null,$1_1:null,abort:function(){if(this.$1_1){Delegate.clearExport(this.$1_1);this.$1_1=null;}if(this.$1_0){document.body.removeChild(this.$1_0);this.$1_0=null;}},dispose:function(){this.abort();},invoke:function(){var $0=null;var $1=this.get_parameters();if($1){$0=$1['callbackParameterName'];}if(!$0){$0='callback';}var $2=Delegate.create(this,this.$1_2);this.$1_1=Delegate.createExport($2);var $3=$0+'=Delegate.'+this.$1_1;var $4=this.get_request().get_URI();if($4.indexOf('?')>=0){$4+='&'+$3;}else{$4+='?'+$3;}this.$1_0=document.createElement('SCRIPT');this.$1_0.type='text/javascript';this.$1_0.src=$4;document.body.appendChild(this.$1_0);},$1_2:function($p0){if(this.$1_0){document.body.removeChild(this.$1_0);this.$1_0=null;this.$1_1=null;this.onCompleted(new ScriptFX.Net._XDAjax$1(this.get_request(),$p0));}}}
ScriptFX.Net._XDAjax$1.createClass('ScriptFX.Net._XDAjax$1',null,ScriptFX.Net.IHTTPResponse);ScriptFX.Net.ScriptTransport.createClass('ScriptFX.Net.ScriptTransport',ScriptFX.Net.HTTPTransport);
var Utils=function(){}
Utils.getUa=function(key){if(!Utils.ua){var D=typeof document.getElementById!="undefined"&&typeof document.getElementsByTagName!="undefined"&&typeof document.createElement!="undefined"&&typeof document.appendChild!="undefined"&&typeof document.replaceChild!="undefined"&&typeof document.removeChild!="undefined"&&typeof document.cloneNode!="undefined",K=[0,0,0],F=null;if(typeof navigator.plugins!="undefined"&&typeof navigator.plugins["Shockwave Flash"]=="object"){F=navigator.plugins["Shockwave Flash"].description;if(F){F=F.replace(/^.*\s+(\S+\s+\S+$)/,"$1");K[0]=parseInt(F.replace(/^(.*)\..*$/,"$1"),10);K[1]=parseInt(F.replace(/^.*\.(.*)\s.*$/,"$1"),10);K[2]=/r/.test(F)?parseInt(F.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof window.ActiveXObject!="undefined"){var G=null,J=false;try{G=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7")}catch(C){try{G=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");K=[6,0,21];G.AllowScriptAccess="always"}catch(C){if(K[0]==6){J=true}}if(!J){try{G=new ActiveXObject("ShockwaveFlash.ShockwaveFlash")}catch(C){}}}if(!J&&G){try{F=G.GetVariable("$version");if(F){F=F.split(" ")[1].split(",");K=[parseInt(F[0],10),parseInt(F[1],10),parseInt(F[2],10)]}}catch(C){}}}}var L=navigator.userAgent.toLowerCase(),B=navigator.platform.toLowerCase(),I=/webkit/.test(L)?parseFloat(L.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,A=false,H=B?/win/.test(B):/win/.test(L),E=B?/mac/.test(B):/mac/.test(L);/*@cc_on A=true;@if(@_win32)H=true;@elif(@_mac)E=true;@end@*/ Utils.ua={w3cdom:D,pv:K,webkit:I,ie:A,win:H,mac:E};}return Utils.ua;}
Utils.getParameter=function(key){if(!Utils.$0){Utils.$1();}if(Object.keyExists(Utils.$0,key)){return Utils.$0[key];}else{return String.Empty;}}
Utils.$1=function(){var $0=window.location.search;if($0.length>1){$0=$0.substring(1,$0.length);}else{$0=null;}Utils.$0={};if(!String.isNullOrEmpty($0)){var $1=$0.split('&');for(var $2=0;$2<$1.length;$2++){var $3=$1[$2].indexOf('=');if($3===-1){continue;}var $4=$1[$2].substring(0,$3);var $5=$1[$2].substring($3+1,$1[$2].length);Utils.$0[$4]=$5;}}}
Utils.getViewPortDimensions=function(){var x,y;if(self.innerHeight){x=self.innerWidth;y=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){x=document.documentElement.clientWidth;y=document.documentElement.clientHeight;}else if(document.body){x=document.body.clientWidth;y=document.body.clientHeight;}else{x=0;y=0;}return {width:x,height:y};}
Utils.getBodyDimensions=function(){var x,y,sW,sH,oW,oH,vD=Utils.getViewPortDimensions();sW=document.documentElement.scrollWidth;oW=document.documentElement.offsetWidth;sH=document.documentElement.scrollHeight;oH=document.documentElement.offsetHeight;if(document.documentElement.clientHeight != document.documentElement.offsetHeight){sW=document.body.scrollWidth;sH=document.body.scrollHeight;x=oW=document.body.offsetWidth;y=oH=document.body.offsetHeight;}if(sW>vD.width){x=Math.max(sW,oW);}else{x=Math.min(sW,oW);}if(sH>vD.height){y=Math.max(sH,oH);}else{y=Math.min(sH,oH);}return {width:x,height:y};}
Type.createNamespace('Beemway.Api');Beemway.Api.SetSettingResultCode=function(){};Beemway.Api.SetSettingResultCode.prototype = {success:1,failure:2,notFound:3}
Beemway.Api.SetSettingResultCode.createEnum('Beemway.Api.SetSettingResultCode',false);Beemway.Api.GetSettingResultCode=function(){};Beemway.Api.GetSettingResultCode.prototype = {success:1,failure:2,notFound:3}
Beemway.Api.GetSettingResultCode.createEnum('Beemway.Api.GetSettingResultCode',false);Beemway.Api.ApiClient=function(){ScriptFX.Application.current.registerDisposableObject(this);this.$0=Utils.getParameter('wiguid');this.$1=Utils.getParameter('sid');if(document.body){this.$6();}else{this.$5=Delegate.create(this,this.$6);window.attachEvent('onload',this.$5);}this.$2=new Beemway.Api.WidgetService();this.$3=new Beemway.Api.AnalyticsService(this.$0,this.$1);}
Beemway.Api.ApiClient.prototype={$0:null,$1:null,$2:null,$3:null,$4:false,$5:null,get_widget:function(){return this.$2;},get_analytics:function(){return this.$3;},$6:function(){if(!this.$4){var $0=document.createElement('div');$0.id='bmw_s';document.body.insertBefore($0, document.body.firstChild);var $1=new SwfObject();var $2={};$2['wiguid']=this.$0;var $3={};$3['allowScriptAccess']='always';$3['wmode']='transparent';$3['quality']='high';$3['bgcolor']='#ffffff';var $4={};$4['id']='bmw_s_swf';$4['style']='position:absolute;top:0px;left:0px';this.$4=true;}},resize:function(){if(this.$4){}else{window.setTimeout(Delegate.create(this,this.resize),500);}},dispose:function(){if(this.$2){this.$2.dispose();this.$2=null;}if(this.$3){this.$3.dispose();this.$3=null;}if(this.$5){document.detachEvent('onload',this.$5);}}}
Beemway.Api.AnalyticsService=function(widgetInstanceGuid,sessionId){ScriptFX.Application.current.registerDisposableObject(this);this.$1=widgetInstanceGuid;this.$2=sessionId;this.$7=Delegate.create(this,this.$9);document.attachEvent('onclick',this.$7);document.attachEvent('onmouseover',this.$7);this.$8=Delegate.create(this,this.$A);document.attachEvent('onmouseout',this.$8);}
Beemway.Api.AnalyticsService.prototype={$1:null,$2:null,$3:false,$4:3,$5:0,$6:0,$7:null,$8:null,$9:function(){if(!this.$3){this.$3=true;if(!this.$5){this.$C();this.$5=window.setInterval(Delegate.create(this,this.$C),10000);}}},$A:function(){if(this.$3){this.$3=false;window.clearInterval(this.$6);this.$6=window.setTimeout(Delegate.create(this,this.$B),10000);}},$B:function(){if(!this.$3){this.$D();this.$4=3;}},$C:function(){if(this.$3){if(this.$4===3){this.$D();this.$4=0;}this.$4++;}},$D:function(){var $0=Math.round(100000000*Math.random());var i=new Image();i.src=String.format('http://analytics.beemway.com/{0}.axd?wi={1}&sid={2}&r={3}','i',this.$1,this.$2,$0);},trackEvent:function(name,data){if(!String.isNullOrEmpty(name)){var $0=Math.round(100000000*Math.random());var $1=String.format('http://analytics.beemway.com/{0}.axd?wi={1}&sid={2}&r={3}','ev',this.$1,this.$2,$0);$1+=String.format('&ev=1&evn={0}&evd={1}',name,data);var i=new Image();i.src=$1;}},dispose:function(){document.detachEvent('onclick',this.$7);document.detachEvent('onmouseover',this.$7);document.detachEvent('onmouseout',this.$8);}}
Beemway.Api.WidgetService=function(){ScriptFX.Application.current.registerDisposableObject(this);this.$0=Utils.getParameter('platform');this.$1={};this.$2=new Beemway.Api._WidgetEvents(this);this.$3=new Beemway.Services._Communicator(this.$2);}
Beemway.Api.WidgetService.prototype={$0:null,$1:null,$2:null,$3:null,add_getSettingCompleted:function(value){this.$4=Delegate.combine(this.$4,value);},remove_getSettingCompleted:function(value){this.$4=Delegate.remove(this.$4,value);},$4:null,add_setSettingCompleted:function(value){this.$5=Delegate.combine(this.$5,value);},remove_setSettingCompleted:function(value){this.$5=Delegate.remove(this.$5,value);},$5:null,get_platform:function(){return this.$0;},getSetting:function(settingName){if(!String.isNullOrEmpty(settingName)){var $0=Utils.getParameter(settingName);if(Object.keyExists(this.$1,settingName)){$0=this.$1[settingName];}if(!String.isNullOrEmpty($0)){var $1=new Beemway.Api.GetSettingCompletedEventArgs(1,new Beemway.Api.Setting(Beemway.Services.$create_SettingInfo(settingName,$0),settingName,$0),null);if(this.$4){this.$4.invoke(this,$1);}}else{var $2={};$2['name']=settingName;this.$3.$6('getSetting',$2,null);}}},onGetSettingCompleted:function($p0){if(this.$4){this.$4.invoke(this,$p0);}if($p0.get_resultCode()===1){this.$1[$p0.get_setting().get_settingName()]=$p0.get_setting().get_settingValue();}},setSetting:function(settingName,settingValue){if(!String.isNullOrEmpty(settingName)&&settingValue){var $0={};$0['name']=settingName;$0['value']=settingValue;this.$3.$6('setSetting',$0,null);this.$1[settingName]=settingValue;}},onSetSettingCompleted:function($p0){if(this.$5){this.$5.invoke(this,$p0);}},dispose:function(){if(this.$3){this.$3.dispose();this.$3=null;}}}
Beemway.Api.SetSettingCompletedEventArgs=function(resultCode,successful,userContext){Beemway.Api.SetSettingCompletedEventArgs.constructBase(this);this.$1_0=resultCode;this.$1_1=successful;this.$1_2=userContext;}
Beemway.Api.SetSettingCompletedEventArgs.prototype={$1_0:0,$1_1:false,$1_2:null,get_resultCode:function(){return this.$1_0;},get_successful:function(){return this.$1_1;},get_userContext:function(){return this.$1_2;}}
Beemway.Api.GetSettingCompletedEventArgs=function(resultCode,setting,userContext){Beemway.Api.GetSettingCompletedEventArgs.constructBase(this);this.$1_0=resultCode;this.$1_1=setting;this.$1_2=userContext;}
Beemway.Api.GetSettingCompletedEventArgs.prototype={$1_0:0,$1_1:null,$1_2:null,get_resultCode:function(){return this.$1_0;},get_setting:function(){return this.$1_1;},get_userContext:function(){return this.$1_2;}}
Beemway.Api.Setting=function(settingInfo,settingName,settingValue){Debug.assert(settingInfo);this.$0=settingInfo;this.$1=settingName;this.$2=settingValue;}
Beemway.Api.Setting.prototype={$0:null,$1:null,$2:null,add_propertyChanged:function(value){this.$3=Delegate.combine(this.$3,value);},remove_propertyChanged:function(value){this.$3=Delegate.remove(this.$3,value);},$3:null,get_settingName:function(){return this.$1;},set_settingName:function(value){this.$1=value;return value;},get_settingValue:function(){return this.$2;},set_settingValue:function(value){this.$2=value;return value;},get_$4:function(){return this.$0;}}
Beemway.Api._WidgetEvents=function(widgetService){Debug.assert(widgetService);this.$0=widgetService;}
Beemway.Api._WidgetEvents.prototype={$0:null,$1:function($p0,$p1,$p2){var $0=2;var $1=null;if($p0===1){$0=1;var $2=$p1.widget_getsetting_response.setting;if(($2)){$1=new Beemway.Api.Setting($2,$2.name,$2.value);}}else if($p0===3){$0=3;}this.$0.onGetSettingCompleted(new Beemway.Api.GetSettingCompletedEventArgs($0,$1,$p2));},$2:function($p0,$p1,$p2){var $0=2;var $1=false;if($p0===1){$0=1;$1=$p1.widget_setsetting_response.result;}else if($p0===3){$0=3;}this.$0.onSetSettingCompleted(new Beemway.Api.SetSettingCompletedEventArgs($0,$1,$p2));}}
Type.createNamespace('Beemway.Services');Beemway.Services.$create_SetSettingResult=function(){return {};}
Beemway.Services.$create_SetSettingResponse=function(){return {};}
Beemway.Services.$create_GetSettingResult=function(){return {};}
Beemway.Services.$create_GetSettingResponse=function(){return {};}
Beemway.Services._CommunicatorResultCode=function(){};Beemway.Services._CommunicatorResultCode.prototype = {$0:1,$1:2,$2:3}
Beemway.Services._CommunicatorResultCode.createEnum('Beemway.Services._CommunicatorResultCode',false);Beemway.Services.$create__ServiceRequest=function(method,userContext){var $o={};$o.$0=method;$o.$1=userContext;return $o;}
Beemway.Services.$create_SettingInfo=function(name,value){var $o={};$o.name=name;$o.value=value;return $o;}
Beemway.Services.SendCompletedEventArgs=function(parameters){Beemway.Services.SendCompletedEventArgs.constructBase(this);this.$1_0=parameters;}
Beemway.Services.SendCompletedEventArgs.prototype={$1_0:null,get_parameters:function(){return this.$1_0;}}
Beemway.Services._Communicator=function(widgetEvents){ScriptFX.Application.current.registerDisposableObject(this);this.$2=widgetEvents;this.$3=Utils.getParameter('wiguid');this.$4=Utils.getParameter('sid');this.$5=Utils.getParameter('st');}
Beemway.Services._Communicator.prototype={$1:null,$2:null,$3:null,$4:null,$5:null,$6:function($p0,$p1,$p2){var $0=String.format('http://api.beemway.com/widget.axd?method={0}&wi={1}&sid={2}&token={3}&f=jsonp',$p0,this.$3,this.$4,this.$5);var $dict1=$p1;for(var $key2 in $dict1){var $3={key:$key2,value:$dict1[$key2]};$0+=String.format('&{0}={1}',$3.key,$3.value);}var $1={callbackParameterName:'callback'};$0=ScriptFX.Net.HTTPTransport.createURI($0,ScriptFX.Net.ScriptTransport,$1);var $2=Beemway.Services.$create__ServiceRequest($p0,$p2);this.$1=ScriptFX.Net.HTTPRequest.createRequest($0,0);this.$1.invoke(Delegate.create(this,this.$7),$2);},$7:function($p0,$p1){if(this.$1!==$p0){return;}this.$1=null;if($p0.get_state()===2){var $0=$p0.get_response();if($0.get_statusCode()===200){var $1=$p1;var $2=1;switch($1.$0.toLowerCase()){case 'getsetting':this.$2.$1($2,$0.getObject(),$1.$1);break;case 'setsetting':this.$2.$2($2,$0.getObject(),$1.$1);break;}}}},dispose:function(){if(this.$1){this.$1.abort();this.$1=null;}}}
Utils.createClass('Utils');Beemway.Api.ApiClient.createClass('Beemway.Api.ApiClient',null,IDisposable);Beemway.Api.AnalyticsService.createClass('Beemway.Api.AnalyticsService',null,IDisposable);Beemway.Api.WidgetService.createClass('Beemway.Api.WidgetService',null,IDisposable);Beemway.Api.SetSettingCompletedEventArgs.createClass('Beemway.Api.SetSettingCompletedEventArgs',EventArgs);Beemway.Api.GetSettingCompletedEventArgs.createClass('Beemway.Api.GetSettingCompletedEventArgs',EventArgs);Beemway.Api.Setting.createClass('Beemway.Api.Setting',null,ScriptFX.INotifyPropertyChanged);Beemway.Api._WidgetEvents.createClass('Beemway.Api._WidgetEvents');Beemway.Services.SendCompletedEventArgs.createClass('Beemway.Services.SendCompletedEventArgs',EventArgs);Beemway.Services._Communicator.createClass('Beemway.Services._Communicator',null,IDisposable);Utils.$0=null;Utils.ua=null;
/* Parts copyright (c) 2007 Geoff Stearns, Michael Williams, and Bobby van der Sluis / This part is released under the MIT License <http://www.opensource.org/licenses/mit-license.php> */
SwfObject=function(){};SwfObject.prototype={embedSWF:function(D,K,H,I,A,B,F,J){if(!Utils.getUa().w3cdom||!D||!K||!H||!I||!A){return }H+="";I+="";if(this._hasPlayerVersion(A)){$(K).style.visibility="hidden";var G=(typeof J=="object")?J:{};G.data=D;G.width=H;G.height=I;var E=(typeof F=="object")?F:{};if(typeof B=="object"){for(var C in B){if(B[C]!=Object.prototype[C]){if(typeof E.flashvars!="undefined"){E.flashvars+="&"+C+"="+B[C]}else{E.flashvars=C+"="+B[C]}}}}this._createSWF(G,E,K);if(G.id==K){$(K).style.visibility="visible"}}},_fixObjectLeaks:function(A){if(Utils.getUa().ie&&Utils.getUa().win&&this._hasPlayerVersion("8.0.0")){window.attachEvent("onunload",function(){var C=$(A);if(C){for(var B in C){if(typeof C[B]=="function"){C[B]=function(){}}}C.parentNode.removeChild(C)}})}},_createSWF:function(O,M,B){var A,D=$(B);if(typeof O.id=="undefined"){O.id=B}if(Utils.getUa().ie&&Utils.getUa().win){var N="";for(var J in O){if(O[J]!=Object.prototype[J]){if(J=="data"){M.movie=O[J]}else{if(J.toLowerCase()=="styleclass"){N+=' class="'+O[J]+'"'}else{if(J!="classid"){N+=" "+J+'="'+O[J]+'"'}}}}}var L="";for(var I in M){if(M[I]!=Object.prototype[I]){L+='<param name="'+I+'" value="'+M[I]+'" />'}}D.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+N+">"+L+"</object>";this._fixObjectLeaks(O.id);A=$(O.id)}else{if(Utils.getUa().webkit&&Utils.getUa().webkit<312){var K=document.createElement("embed");K.setAttribute("type","application/x-shockwave-flash");for(var H in O){if(O[H]!=Object.prototype[H]){if(H=="data"){K.setAttribute("src",O[H])}else{if(H.toLowerCase()=="styleclass"){K.setAttribute("class",O[H])}else{if(H!="classid"){K.setAttribute(H,O[H])}}}}}for(var G in M){if(M[G]!=Object.prototype[G]){if(G!="movie"){K.setAttribute(G,M[G])}}}D.parentNode.replaceChild(K,D);A=K}else{var C=document.createElement("object");C.setAttribute("type","application/x-shockwave-flash");for(var F in O){if(O[F]!=Object.prototype[F]){if(F.toLowerCase()=="styleclass"){C.setAttribute("class",O[F])}else{if(F!="classid"){C.setAttribute(F,O[F])}}}}for(var E in M){if(M[E]!=Object.prototype[E]&&E!="movie"){this._createObjParam(C,E,M[E])}}D.parentNode.replaceChild(C,D);A=C}}return A},_createObjParam:function(C,A,B){var D=document.createElement("param");D.setAttribute("name",A);D.setAttribute("value",B);C.appendChild(D)},_hasPlayerVersion:function(C){var B=Utils.getUa().pv,A=C.split(".");A[0]=parseInt(A[0],10);A[1]=parseInt(A[1],10);A[2]=parseInt(A[2],10);return(B[0]>A[0]||(B[0]==A[0]&&B[1]>A[1])||(B[0]==A[0]&&B[1]==A[1]&&B[2]>=A[2]))?true:false}};
var _bmwApiClient = new Beemway.Api.ApiClient();