var up={};up.cacheBreak=new Date().getTime();up.widgets=[];up.config=null;up._sdk=null;up.useSSL=false;up.cloneObject=function(obj){var newObj={};for(var i in obj){if(i!="__proto__"){if(typeof obj[i].push!="undefined"){newObj[i]==obj[i].slice(0)}else{if(typeof obj[i]=="object"&&typeof obj[i].call=="undefined"){newObj[i]=up.cloneObject(obj[i])}else{newObj[i]==obj[i]}}}}return newObj};if(window.location.href.indexOf("https")>-1){up.useSSL=true}if(typeof childWindow!="undefined"&&childWindow){up.config=window.opener.up.getSerializedConfig()}up.getSerializedConfig=function(){return JSON.parse(JSON.stringify(up.config))};up.getConfigAsString=function(){return JSON.stringify(up.config)};up.getSDK=function(){if(this._sdk){return this._sdk}return this};up.addScript=function(url){if(up.useSSL){url=url.split("http").join("https")}var script=document.createElement("script");script.setAttribute("type","text/javascript");script.setAttribute("src",url);script.setAttribute("charset","UTF-8");try{document.body.appendChild(script)}catch(e){}};up.addStylesheet=function(url){if(up.useSSL){url=url.split("http").join("https")}var link=document.createElement("link");link.setAttribute("rel","stylesheet");link.setAttribute("type","text/css");link.setAttribute("href",url);try{document.body.appendChild(link)}catch(e){}};up.init=function(config){if(typeof config.session!=="undefined"){config.session=config.session.toLowerCase()}up.config=config};up.load=function(){if(typeof up.resourceURI=="undefined"){up.resourceURI="http://cdn.userplane.com/release/sdk/"}if(typeof localStorage!="undefined"){var build=localStorage.getItem("forceBuild");if(build!==null){up.build=build}var environment=localStorage.getItem("forceEnvironment");if(environment!==null){switch(environment){case"stage":up.resourceURI="http://cdn.stage.userplane.com/release/sdk/";break;case"qa":up.resourceURI="http://cdn.qa.userplane.com/release/sdk";break;case"devel":up.resourceURI="http:/devel/build/";break}}}if(typeof up.build!="undefined"){up.launch(up.build)}else{up.addScript(up.resourceURI+"userplane.loader.js?build="+up.cacheBreak)}};up.launch=function(buildNum){up.skin="helix";up.buildNum=buildNum;if(typeof up.config.settings.skin!="undefined"){var configSkin=up.config.settings.skin.toLowerCase();if(configSkin=="helix"||configSkin=="basic"){up.skin=configSkin}}up.addStylesheet(up.resourceURI+buildNum+"/userplane."+up.skin+".css");up.addScript(up.resourceURI+buildNum+"/userplane.sdk.js");if(typeof up.config.settings.cssOverrideURI!="undefined"&&up.config.settings.cssOverrideURI.length>0){up.addStylesheet(up.config.settings.cssOverrideURI)}};up.api={};up.api.events=up.events={ON_READY:"onready",ON_CONNECTED:"onconnected"};up.api.events.READY=up.api.events.ON_READY;up.api.events.CONNECTED=up.api.events.ON_CONNECTED;up.callbacks={onready:[],onconnected:[]};up.api.addEventListener=up.addCallback=function(event,fn,scope){try{up.callbacks[event.toLowerCase()].push(fn)}catch(e){alert("error");return false}return true};up.render=function(widget,data){var getUniqueId=function(){var id=new Date().getTime();id=id+Math.floor(Math.random()*(1-10000+1))+1;return id};var widgetid="up-widget-"+getUniqueId();if(widget.toLowerCase()=="webmessenger"&&typeof up.config.settings.wmWindowDecoratorContainerId!="undefined"){data.widgetid=up.config.settings.wmWindowDecoratorContainerId}else{if(!up.ready){document.write("<div id='"+widgetid+"'></div>");data.widgetid=widgetid}else{}}var ref={widget:widget,data:data};up.widgets.push(ref)};if(typeof childWindow!="undefined"&&childWindow&&(typeof useDecorator!="undefined"&&!useDecorator)){var onChildChange=function(){if(typeof up.api!="undefined"&&up.api!==null){ready=true;up.load.call(null||window);clearInterval(onChildInterval);onChildInterval=null}else{}};var onChildInterval=setInterval(onChildChange,10)}up.onDOMReady=function(fn,ctx){var fireDOMReady=function(){if(!ready){ready=true;fn.call(ctx||window);if(document.removeEventListener){document.removeEventListener("DOMContentLoaded",onChange,false)}clearInterval(timer);timer=null}};var ready,timer;var onChange=function(e){if(e&&e.type=="DOMContentLoaded"){fireDOMReady()}else{if(e&&e.type=="load"){fireDOMReady()}else{if(document.readyState){if((/loaded|complete/).test(document.readyState)){fireDOMReady()}else{if(!!document.documentElement.doScroll){try{ready||document.documentElement.doScroll("left")}catch(err){return}fireDOMReady()}}}}}};if(document.addEventListener){document.addEventListener("DOMContentLoaded",onChange,false)}document.onreadystatechange=onChange;timer=setInterval(onChange,5);if(window.attachEvent){window.attachEvent("onload",onChange)}}(up.load);
