var arcEnabled=true;var arcDebugEnabled=false;var ARC_PRELOAD_ASSETS=[];if(typeof (arc)=="undefined"){var arc=Class.create({version:"2.1.0",enabled:false});Object.extend(arc,{version:"2.1",setFlashVersionRequired:function(A){this.config.baseFlashVersion=A},setDownloadRateRequired:function(A){this.config.baseDownloadRate=A},debug:function(A){return },_startMode:$A([]),canvas:null,start:function(B,A){if(!arcEnabled){return }if(A!=undefined){arc.pageDesc=A}if(arc.util.isArray(B)){$A(B).each(function(C){arc._startMode.push(C)})}else{this._startMode.push(B)}this._startMode=$(this._startMode).compact().uniq();if(arc.util.isDebugEnabled(A)){arc.util.newDebugConsole(A);arc.debug=arc.util.debugConsoleWriter}arc.debug("start Up complete. \n\tArc version:"+arc.version+"\n\tstart mode:"+Object.inspect(arc._startMode))},initialize:function(){arc.debug(" *** intitialize ");this.canvas=arc.util.getCanvas();this.startSniff()},addEventListener:function(B,A){arc.debug(" *** adding arc EventListener "+B+" "+typeof (A));arc.EventMgr.addEventListener(B,A)},dispatchEvent:function(A){arc.debug(" *** arc.dispatchEvent "+A.type);arc.util.debugObjInfo(A);switch(arc.sniffState){case"complete":arc.debug("arc.sniffState is complete");arc.ClientMgr.handleEvent(A);break;case"failed":break;default:arc.debug("arc.sniffState:default case");switch(A.type){case"arcSniffFailed":arc.dispatchEvent({type:"arcInitFailed",reason:A.reason});break;case"arcSniffComplete":arc.EventMgr.clearEventTimer("arcInitFailed");arc.debug("this.sniffState "+this.sniffState);if(this.sniffState==""){arc.util.setCookie(arc.config.cookies.sniffCookie,A.kps);arc.util.judgeDownloadRate(A.kps)}break;case"arcPreloadComplete":if(this.sniffState=="loading"){setTimeout("arc.ClientMgr.preloadNext();",100)}break}}arc.EventMgr.dispatchEvent(A)},ClientMgr:function(){},EventMgr:function(){},config:function(){},util:function(){},startMode:function(A){arc.debug("start mode testing:"+A+" "+$(arc._startMode).include(A));return $(arc._startMode).include(A)},startPreload:function(){arc.debug(" *** start preload ");arc.dispatchEvent({type:"arcStartComplete"});arc.ClientMgr.startPreload()}});Object.extend(arc,{sniffState:"",startSniff:function(){arc.debug(arc.config.cookies.sniffCookie);var C=document.getElementById("akamaizedSniff");ARC_SNIFF_URL=(C!=null)?C.value:"/arc20/Sniff.swf";var D=document.getElementById("akamaizedAllurentLogo");ARC_MEASURE_URL=(D!=null)?D.src:"/arc20/allurentLogo.jpg";var A=arc.util.getCookie(arc.config.cookies.sniffCookie);arc.debug(" download rate "+A);if(A==null){this.sniffSwf=arc.util.createSwf({id:"sniff2",url:ARC_SNIFF_URL,params:{height:(arcDebugEnabled==true)?325:1,width:(arcDebugEnabled==true)?450:1,backgroundColor:(arcDebugEnabled==true)?"#996633":"#ffffff"}});this.sniffSwf.addVariable("versionChecked",true);this.sniffSwf.addVariable("measure","true");this.sniffSwf.addVariable("targetUrl",ARC_MEASURE_URL);this.sniffSwf.addVariable("sufficientBytes",30000);this.sniffSwf.addVariable("timeout",10000);var B=$(document.createElement("DIV"));Element.setStyle(B,(arcDebugEnabled==true)?{position:"absolute",top:1000,left:0}:{position:"absolute",top:-2,left:-2});arc.util.getCanvas().appendChild(B);var E=this.sniffSwf.write(B);if(!E){arc.debug("writing swf failed... ");this.sniffState="failed";arc.dispatchEvent({type:"arcInitFailed",reason:"noflash"})}else{arc.debug("writing swf succeeded");arc.debug("innerHTML:"+$(B).innerHTML);arc.debug("JS access test "+$("sniff2"));arc.EventMgr.addEventTimer("arcInitFailed",window.setTimeout("arc.showFailure('arcInitFailed','noEventDispatched');",20000))}}else{arc.util.judgeDownloadRate(A)}},showFailure:function(B,A){this.sniffState="failed";arc.dispatchEvent({type:B,reason:A})}});Object.extend(arc,{ClientDesc:function(D,C,A,B){arc.debug("NEW clientDesc ");this.id=D;this.url=C;this.params=(A)?A:$();this.launchEvents={};for(i in B){this.launchEvents[B[i]]=true}this.swf;this.flashVars;this.started=false;this.visible=false;this.preload=true;arc.ClientMgr.addClientDesc(this)}});Object.extend(arc.ClientDesc.prototype,{handleEvent:function(A){arc.debug("ClientDesc handleEvent "+A.type+" started = "+this.started);if(this.started&&this.swf){arc.debug(" passing event to started swf object type:"+A.type);var B=(this.swf.arcHandleEvent)?this.swf.arcHandleEvent(A):null;switch(B){case true:arc.debug("client handled:true");break;case false:arc.debug("client handled:false");break;default:arc.debug("client handled NOT")}}},initSwf:function(){arc.debug(" *** initSwf ");if(this.swfObj==null){this.swfObj=arc.util.createSwf(this);this.swfObj.addVariable("clientId",this.id);this.swfObj.addVariable("applicationName",this.applicationName!=null?this.applicationName:this.pendingEvent.type);this.swfObj.addVariable("allowScriptAccess","always");if(this.flashvars!=null){for(var A in this.flashvars){if(Object.prototype[A]===undefined){this.swfObj.addVariable(A,this.flashvars[A])}}}}},preShow:function(){},showSwf:function(){this.preShow();arc.debug(" *** showSwf ");if(this.params.parentElement!=null){this.swfDiv=this.params.parentElement;if(this.params.parentElementStyle){Element.setStyle(this.swfDiv,this.params.parentElementStyle)}}else{if(this.params.anchorElement!=null){if(!Element.childElements(arc.util.getCanvas()).include(this.swfDiv)){this.swfDiv=$(document.createElement("div"));arc.util.getCanvas().appendChild(this.swfDiv)}if(this.params.anchorElementStyle){Element.setStyle(this.swfDiv,this.params.anchorElementStyle)}}else{if(!Element.childElements(arc.util.getCanvas()).include(this.swfDiv)){this.swfDiv=$(document.createElement("div"));arc.util.getCanvas().appendChild(this.swfDiv)}if(this.params.elementStyle){Element.setStyle(this.swfDiv,this.params.elementStyle)}}}this.swfObj.write(this.swfDiv);arc.debug(this.swfObj.getSWFHTML());this.swf=document.getElementById(this.id);arc.debug(this.swf);Element.show(this.swfDiv);this.postShow()},postShow:function(){},preClose:function(){},handleClose:function(){this.preClose();arc.debug(" *** handleClose ");Element.hide(this.swfDiv);this.visible=false;this.postClose();return false},postClose:function(){},handleStart:function(){arc.debug(" *** handleStart started:"+this.started);if(!this.started){this.started=true;if(!this.visible){this.showSwf()}}if(this.pendingEvent!=null){arc.debug("pendingEvent:"+this.pendingEvent);this.handleEvent(this.pendingEvent);this.pendingEvent=null}}});Object.extend(arc.ClientMgr,{_clients:$A([]),_preloadList:$A([]),startPreload:function(){var A=$(document.createElement("DIV"));A.id="arcPreloadDiv";arc.util.getCanvas().appendChild(A);arc.debug(" *** ClientMgr startPreload ");arc.ClientMgr._clients.each(function(B){arc.debug("client.preload:"+B.preload);if(B.preload){arc.ClientMgr._preloadList.push(B.url);arc.debug(B.url)}});arc.ClientMgr._preloadList=$A(arc.ClientMgr._preloadList).concat(ARC_PRELOAD_ASSETS);arc.ClientMgr._preloadList=$A(arc.ClientMgr._preloadList).uniq();window.setTimeout("arc.ClientMgr.preloadNext();",10)},preloadNext:function(){arc.debug(" *** preloadNext ");var B=$A(arc.ClientMgr._preloadList).first();arc.debug("preloadList item "+B);arc.ClientMgr._preloadList=$(arc.ClientMgr._preloadList).without(B);if(B==null){arc.sniffState="complete";arc.dispatchEvent({type:"arcLoadComplete"})}else{arc.sniffState="loading";var A=arc.util.createSwf({url:ARC_SNIFF_URL,id:"preloadId",params:{height:1,width:1,left:-1,top:-1,backgroundColor:"#990099"},minFlashVersion:7});A.addVariable("targetUrl",B);A.addVariable("measure",false);A.addVariable("timeout",20000);A.addParam("allowScriptAccess","always");A.addVariable("completeEvent","arcPreloadComplete");A.write($("arcPreloadDiv"))}},getClientDesc:function(A){return this._clients.find(function(B){arc.debug(A+" matching client:"+B.id);return B.id==A})},addClientDesc:function(A){arc.debug("added client "+A.id);arc.ClientMgr._clients.push(A);arc.debug(" added client "+A);arc.dispatchEvent({type:"arcClientAdded",topic:"client",sourceClientId:A.id})},handleEvent:function(A){arc.debug(" *** ClientMgr handleEvent type:"+A.type);switch(A.type){case"arcClientStarted":arc.ClientMgr.getClientDesc(A.sourceClientId).handleStart();break;case"arcCloseClient":window.setTimeout('arc.ClientMgr.closeClient("'+A.sourceClientId+'");',250);break}var B=false;this._clients.each(function(C){if(C.launchEvents[A.type]){arc.debug("found client with launchEvent "+C.id+":"+A.type);arc.ClientMgr.activateClient(C,A);B=true}});if(!B&&A.topic!=null){this._clients.each(function(C){if(C.id!=A.sourceClientId){C.handleEvent(A)}})}},activateClient:function(B,A){arc.debug("activateClient _client "+B+", _event "+A.type);arc.debug("client visible:"+B.visible);if(!B.visible){B.pendingEvent=A;B.initSwf();B.showSwf();B.visible=true}if(B.started){B.handleEvent(A)}},closeClient:function(A){arc.debug(" closeClient _client "+A);client=arc.ClientMgr.getClientDesc(A);arc.debug("found client:"+client);if(client!=null&&client.handleClose()){client.visible=false}}});Object.extend(arc.EventMgr,{eventListeners:[],addEventListener:function(B,A){arc.debug('Adding Event Manager listener "'+B+'" with typeOf:'+typeof (A));if(this.eventListeners[B]==null){this.eventListeners[B]=new Array()}this.eventListeners[B].push(A)},dispatchEvent:function(A){arc.debug(" EventMgr.dispacthEvent = "+A.type+":"+A);var B=$A(this.eventListeners[A.type]);arc.debug(" EventMgr found "+((typeof (B)=="undefined")?"no registered listeners":(B.length+" registered listeners"))+" for type:"+(A.type));if(B==null){return }B.each(function(C){arc.debug("calling callback "+typeof (C));C(A)});arc.debug("dispatching completed")},eventTimers:$A(),addEventTimer:function(B,A){arc.debug(" *** event timer ..add:"+B);arc.EventMgr.eventTimers[B]=A},clearEventTimer:function(A){arc.debug(" *** event timer ..remove:"+A);if(arc.EventMgr.eventTimers[A]!=null){arc.debug(" found timer to remove ");window.clearTimeout(arc.EventMgr.eventTimers[A])}arc.EventMgr.eventTimers=arc.EventMgr.eventTimers.without(A)}});Object.extend(arc.config,{cookies:{sniffCookie:"arcDownloadRate",checkoutFlag:"checkoutFlag",arcForce:"arcForce"}});Object.extend(arc.util,{isReady:function(){return true},getCanvas:function(){if($(arc.canvas)){return $(arc.canvas)}if($(arc.pageDesc)&&$(arc.pageDesc).arcCanvas){return $(arc.pageDesc).arcCanvas}var A=$(document.createElement("DIV"));A.id="arcCanvas";arc.canvas=A;document.body.appendChild(A);return arc.canvas},isDebugEnabled:function(A){if(A&&A.debug){arcDebugEnabled=A.debug}arcDebugEnabled=(arcEnabled&&(arcDebugEnabled||(document.location.href.indexOf("arcDebug=true")>-1)));return arcDebugEnabled},debugConsoleWriter:function(C){if($("_arc_debug_area")){var B=$(document.createElement("div"));Element.setStyle(B,{width:"100%",fontFamily:"arial,geneva"});var A=document.createTextNode(C);B.appendChild(A);$("_arc_debug_area").appendChild(B);$("_arc_debug_area").scrollTop=$("_arc_debug_area").scrollHeight;return B}},clearDebugText:function(){Element.descendants($("_arc_debug_area")).each(function(A){Element.remove(A)})},debugTab:function(B){var A=$(document.createElement("span")).setStyle({paddingLeft:10,paddingRight:10,fontSize:11,fontFamily:"arial,geneva",borderRight:"1px solid  #000000"});A.innerHTML=B;Element.observe(A,"mousedown",function(C){Element.setStyle(this,{backgroundColor:"#ffffff"});Event.stop(C)});Element.observe(A,"mouseup",function(C){Element.setStyle(this,{backgroundColor:""});Event.stop(C)});Element.observe(A,"mouseout",function(C){Element.setStyle(this,{backgroundColor:""});Event.stop(C)});return A},newDebugConsole:function(C){arc.util.offset={x:0,y:0};arc.util._dragMethod=function(E){Element.setStyle($("_arcDbDiv"),{left:Event.pointerX(E)-arc.util.offset.x,top:Event.pointerY(E)-arc.util.offset.y});Event.stop(E)};var B=$(document.createElement("DIV"));B.id="_arcDbDiv";Element.setStyle(B,{position:"absolute",width:"320",top:120,left:10,height:"80%",cursor:"hand"});if(C&&C.debugStyleName){$(B).className=C.debugStyleName}tabDivStyle={paddingLeft:10,paddingRight:10,fontSize:11,fontFamily:"arial,geneva",borderRight:"1px solid  #000000"};var D=$(document.createElement("DIV"));D.id="arcControlBar";Element.setStyle(D,{height:16,width:"100%",top:"0px",left:"0px",backgroundColor:"#cccccc",border:"thin solid #000000"});Object.extend(D,{stamp:0,onmouseup:function(){Element.setStyle(D,{cursor:""});Event.stopObserving(document,"mousemove",arc.util._dragMethod)},onmousedown:function(G){var E=new Date();doubleClick=(E.getTime()-this.stamp);if(doubleClick<500){$(A).setStyle({visibility:(($(A).getStyle("visibility")=="visible")?"hidden":"visible"),height:(($(A).getStyle("height")!="96%")?"96%":"1%")})}this.stamp=E.getTime();if(!Prototype.Browser.IE){Element.setStyle(D,{cursor:"move"});var H=Event.element(G).up().getStyle("left");H=Event.pointerX(G)-parseInt(H.substr(0,H.length-2));var F=Event.element(G).up().getStyle("top");F=Event.pointerY(G)-parseInt(F.substr(0,F.length-2));arc.util.offset={x:H,y:F};Event.observe(document,"mousemove",arc.util._dragMethod);Event.stop(G)}}});var A=document.createElement("div");A.id="_arc_debug_area";A.wrap="hard";Element.setStyle($(A),{position:"relative",height:"96%",width:"100%",top:"-2px",left:"0px",visibility:"visible",overflow:"auto",fontSize:"10pt"}).className=(C)?C.debugStyleName:"";Element.setStyle(A,{backgroundColor:"#dedeff",border:"1px solid #000000"});$(B).appendChild(D);$(B).appendChild(A);arc.util.getCanvas().appendChild(B);arc.addEventListener("arcStartComplete",function(E){parentObj=$("arcControlBar");Element.setStyle(parentObj,{paddingTop:2,paddingBottom:0,position:"relative",top:0});t=arc.util.debugTab("[&laquo; &raquo;]",arc.util.clearDebugText);parentObj.appendChild(t);Element.observe(t,"mousedown",function(F){Element.setStyle(this,{backgroundColor:"#dedeff"});if($("_arcDbDiv").getStyle("width")<"96%"){this.innerHTML="[&raquo; &laquo;]";window.setTimeout(function(){Element.setStyle($("_arcDbDiv"),{width:"96%"})},10)}else{this.innerHTML="[&laquo; &raquo;]";Element.setStyle($("_arcDbDiv"),{width:"320"})}});t=arc.util.debugTab("clear console",arc.util.clearDebugText);Element.observe(t,"mouseup",function(F){Element.setStyle(this,{backgroundColor:""});Event.stop(F);arc.util.clearDebugText();Element.childElements(parentObj).each(function(G){Element.setStyle(G,{backgroundColor:""})})});parentObj.appendChild(t);t=arc.util.debugTab("cookies",arc.util.clearDebugText);Element.observe(t,"mouseup",function(F){Element.setStyle(this,{backgroundColor:""});Event.stop(F);for(i in arc.config.cookies){if(arc.util.getCookie(arc.config.cookies[i])!=null){linkit=$(arc.debug(arc.config.cookies[i]+":"+arc.util.getCookie(arc.config.cookies[i])+" (click to delete)"));linkit.cookieName=arc.config.cookies[i];Element.setStyle(linkit,{color:"#0000cc"});Element.observe(linkit,"click",function(G){if(this.cookieName!=null){arc.util.deleteCookie(this.cookieName);arc.debug("deleted cookie:"+this.cookieName);this.cookieName=null}})}else{arc.debug(arc.config.cookies[i]+":"+arc.util.getCookie(arc.config.cookies[i]))}}});parentObj.appendChild(t);if($A(arc.ClientMgr._clients).length>0){tabBr=document.createElement("br");parentObj.appendChild(tabBr);tabDiv=document.createElement("div");Element.setStyle(tabDiv,{height:2,width:"100%",borderBottom:"1px solid  #ffffff",marginBottom:2});parentObj.appendChild(tabDiv);Element.setStyle(parentObj,{height:32})}$A(arc.ClientMgr._clients).each(function(G,F){t=arc.util.debugTab("client:"+G.id,arc.util.clearDebugText);t.client=G;Element.observe(t,"mousedown",function(H){parentObj=$("arcControlBar");Element.childElements(parentObj).each(function(I){Element.setStyle(I,{backgroundColor:""})});Element.setStyle(this,{backgroundColor:"#ffffff"});arc.util.debugObjInfo(this.client)});parentObj.appendChild(t)})})},debugObjInfo:function(A){arc.debug("=== Object Info");arc.debug("{");Object.keys(A).each(function(B){if(typeof (A[B])=="function"){arc.debug(""+B+"="+A[B])}});Object.keys(A).each(function(B){if(typeof (A[B])=="object"){arc.debug(""+B+"=(Object)")}});Object.keys(A).each(function(B){if(typeof (A[B])!="function"&&typeof (A[B])!="object"){arc.debug(""+B+"="+A[B])}});arc.debug("}");arc.debug("==========")},containStartMode:function(A){if(typeof (arc._startMode)=="String"){return(A==arc._startMode)}$(arc._startMode).each(function(B){alert(this)},arc._startMode)},cookiesAllowed:function(){setCookie("checkCookie","test",1);if(arc.util.getCookie("checkCookie")){arc.util.deleteCookie("checkCookie");return true}return false},setCookie:function(C,D,A,B){if(B===undefined){B={}}if(A){var E=new Date();E.setDate(E.getDate()+A)}document.cookie=C+"="+escape(D)+((A)?";expires="+E.toGMTString():"")+((B.path)?";path="+B.path:";path=/")+((B.domain)?";domain="+B.domain:"")+((B.secure)?";secure":"")},getCookie:function(C){var D=document.cookie.indexOf(C+"=");var A=D+C.length+1;if((!D)&&(C!=document.cookie.substring(0,C.length))){return null}if(D==-1){return null}var B=document.cookie.indexOf(";",A);if(B==-1){B=document.cookie.length}return unescape(document.cookie.substring(A,B))},deleteCookie:function(A,C,B){if(arc.util.getCookie(A)){document.cookie=A+"="+((C)?";path="+C:"")+((B)?";domain="+B:"")+";expires=Thu, 01-Jan-1970 00:00:01 GMT"}},isArray:function(A){return A&&!(A.propertyIsEnumerable("length"))&&typeof A==="object"&&typeof A.length==="number"},createSwf:function(A){arc.debug(" *** creating swf ");var B=new SWFObject(A.url,A.id,A.params.width?A.params.width:"100%",A.params.height?A.params.height:"100%",(A.minFlashVersion)?A.minFlashVersion:arc.config.baseFlashVersion,A.params.backgroundColor);B.addParam("allowScriptAccess","always");arc.debug(B.getSWFHTML());return B},judgeDownloadRate:function(A){arc.debug(" *** judgeDownloadRate "+A+" vs. "+arc.config.baseDownloadRate);if(arc.util.getCookie(arc.config.cookies.arcForce)=="enabled"||A>=arc.config.baseDownloadRate){arc.startPreload()}else{arc.dispatchEvent({type:"arcInitFailed",reason:"bandwidth required"})}}})}else{arc.debug(" 'arc' already defined!\n Another library may be using it")}arc.addEventListener("arcInitFailed",function(A){arc.debug(" *** arcInitFailed.callback  "+A.reason);arc.util.setCookie(arc.config.cookies.checkoutFlag,"arcInitFailed")});arc.addEventListener("arcStartComplete",function(A){arc.debug(" *** in base arcStartComplete");arc.enabled=true;arc.sniffState="complete";arc.util.setCookie(arc.config.cookies.checkoutFlag,"arcLoadComplete")});arc.addEventListener("arcLoadStarted",function(A){});arc.addEventListener("arcLoadFailed",function(A){arc.debug("arcLoadFailed: "+A.reason);arc.util.setCookie(arc.config.cookies.checkoutFlag,"arcLoadFailed")});