var zXml={useActiveX:(typeof ActiveXObject!="undefined"),useDom:document.implementation&&document.implementation.createDocument,useXmlHttp:(typeof XMLHttpRequest!="undefined")};zXml.ARR_XMLHTTP_VERS=["MSXML2.XmlHttp.5.0","MSXML2.XmlHttp.4.0","MSXML2.XmlHttp.3.0","MSXML2.XmlHttp","Microsoft.XmlHttp"];zXml.ARR_DOM_VERS=["MSXML2.DOMDocument.5.0","MSXML2.DOMDocument.4.0","MSXML2.DOMDocument.3.0","MSXML2.DOMDocument","Microsoft.XmlDom"];function zXmlHttp(){}zXmlHttp.createRequest=function(){if(zXml.useXmlHttp){return new XMLHttpRequest()}else{if(zXml.useActiveX){if(!zXml.XMLHTTP_VER){for(var a=0;a<zXml.ARR_XMLHTTP_VERS.length;a++){try{new ActiveXObject(zXml.ARR_XMLHTTP_VERS[a]);zXml.XMLHTTP_VER=zXml.ARR_XMLHTTP_VERS[a];break}catch(b){}}}if(zXml.XMLHTTP_VER){return new ActiveXObject(zXml.XMLHTTP_VER)}else{throw new Error("Could not create XML HTTP Request.")}}else{throw new Error("Your browser doesn't support an XML HTTP Request.")}}};zXmlHttp.isSupported=function(){return zXml.useXmlHttp||zXml.useActiveX};function zXmlDom(){}zXmlDom.createDocument=function(){if(zXml.useDom){var a=document.implementation.createDocument("","",null);a.parseError={valueOf:function(){return this.errorCode},toString:function(){return this.errorCode.toString()}};a.__initError__();a.addEventListener("load",function(){this.__checkForErrors__();this.__changeReadyState__(4)},false);return a}else{if(zXml.useActiveX){if(!zXml.DOM_VER){for(var b=0;b<zXml.ARR_DOM_VERS.length;b++){try{new ActiveXObject(zXml.ARR_DOM_VERS[b]);zXml.DOM_VER=zXml.ARR_DOM_VERS[b];break}catch(c){}}}if(zXml.DOM_VER){return new ActiveXObject(zXml.DOM_VER)}else{throw new Error("Could not create XML DOM document.")}}else{throw new Error("Your browser doesn't support an XML DOM document.")}}};zXmlDom.isSupported=function(){return zXml.useDom||zXml.useActiveX};var oMozDocument=null;if(typeof XMLDocument!="undefined"){oMozDocument=XMLDocument}else{if(typeof Document!="undefined"){oMozDocument=Document}}if((null!=oMozDocument)&&!window.opera){oMozDocument.prototype.readyState=0;oMozDocument.prototype.onreadystatechange=null;oMozDocument.prototype.__changeReadyState__=function(a){this.readyState=a;if(typeof this.onreadystatechange=="function"){this.onreadystatechange()}};oMozDocument.prototype.__initError__=function(){this.parseError.errorCode=0;this.parseError.filepos=-1;this.parseError.line=-1;this.parseError.linepos=-1;this.parseError.reason=null;this.parseError.srcText=null;this.parseError.url=null};oMozDocument.prototype.__checkForErrors__=function(){if(this.documentElement.tagName=="parsererror"){var a=/>([\s\S]*?)Location:([\s\S]*?)Line Number (\d+), Column (\d+):<sourcetext>([\s\S]*?)(?:\-*\^)/;a.test(this.xml);this.parseError.errorCode=-999999;this.parseError.reason=RegExp.$1;this.parseError.url=RegExp.$2;this.parseError.line=parseInt(RegExp.$3);this.parseError.linepos=parseInt(RegExp.$4);this.parseError.srcText=RegExp.$5}};oMozDocument.prototype.loadXML=function(e){this.__initError__();this.__changeReadyState__(1);var b=new DOMParser();var a=b.parseFromString(e,"text/xml");while(this.firstChild){this.removeChild(this.firstChild)}for(var d=0;d<a.childNodes.length;d++){var c=this.importNode(a.childNodes[d],true);this.appendChild(c)}this.__checkForErrors__();this.__changeReadyState__(4)};oMozDocument.prototype.__load__=oMozDocument.prototype.load;oMozDocument.prototype.load=function(a){this.__initError__();this.__changeReadyState__(1);this.__load__(a)};oMozDocument.prototype.selectSingleNode=function(a){var c=this;if(c.nodeType!=9){c=c.ownerDocument}var b=c.evaluate(a,this,null,XPathResult.ANY_UNORDERED_NODE_TYPE,null);if(b!=null){b=b.singleNodeValue}return(b)};oMozDocument.prototype.selectNodes=function(b){var e=this;if(e.nodeType!=9){e=e.ownerDocument}var d=e.evaluate(b,this,null,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null);var a=new Array;if(d!=null){var c=d.iterateNext();while(c){a.push(c);c=d.iterateNext()}}return a};Node.prototype.__defineGetter__("xml",function(){var a=new XMLSerializer();return a.serializeToString(this,"text/xml")});Node.prototype.__defineGetter__("text",function(){var a="";for(var b=0;b<this.childNodes.length;b++){if(this.childNodes[b].hasChildNodes()){a+=this.childNodes[b].text}else{a+=this.childNodes[b].nodeValue}}return a})}function zXslt(){}zXslt.transformToText=function(c,e){if(typeof XSLTProcessor!="undefined"){var d=new XSLTProcessor();d.importStylesheet(e);var b=d.transformToDocument(c);var a=b.xml;if(a.indexOf("<transformiix:result")>-1){a=a.substring(a.indexOf(">")+1,a.lastIndexOf("<"))}return a}else{if(zXml.useActiveX){return c.transformNode(e)}else{throw new Error("No XSLT engine found.")}}};function zXPath(){}zXPath.selectNodes=function(d,j,c){if(typeof XPathEvaluator!="undefined"){c=c||{};var b=function(k){return c[k]};var e=new XPathEvaluator();var h=e.evaluate(j,d,b,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null);var i=new Array;if(h!=null){var a=h.iterateNext();while(a){i.push(a);a=h.iterateNext()}}return i}else{if(zXml.useActiveX){if(c){var g="";for(var f in c){g+="xmlns:"+f+"="+c[f]+" "}d.ownerDocument.setProperty("SelectionNamespaces",g)}return d.selectNodes(j)}else{throw new Error("No XPath engine found.")}}};zXPath.selectSingleNode=function(d,c,h){if(typeof XPathEvaluator!="undefined"){h=h||{};var a=function(i){return h[i]};var b=new XPathEvaluator();var g=b.evaluate(c,d,a,XPathResult.FIRST_ORDERED_NODE_TYPE,null);if(g!=null){return g.singleNodeValue}else{return null}}else{if(zXml.useActiveX){if(h){var f="";for(var e in h){f+="xmlns:"+e+"="+h[e]+" "}d.ownerDocument.setProperty("SelectionNamespaces",f)}return d.selectSingleNode(c)}else{throw new Error("No XPath engine found.")}}};function zXMLSerializer(){}zXMLSerializer.prototype.serializeToString=function(c){var b="";switch(c.nodeType){case 1:b="<"+c.tagName;for(var a=0;a<c.attributes.length;a++){b+=" "+c.attributes[a].name+'="'+c.attributes[a].value+'"'}b+=">";for(var a=0;a<c.childNodes.length;a++){b+=this.serializeToString(c.childNodes[a])}b+="</"+c.tagName+">";break;case 3:b=c.nodeValue;break;case 4:b="<![CDATA["+c.nodeValue+"]]>";break;case 7:b="<?"+c.nodevalue+"?>";break;case 8:b="<!--"+c.nodevalue+"-->";break;case 9:for(var a=0;a<c.childNodes.length;a++){b+=this.serializeToString(c.childNodes[a])}break}return b};Exent.API=function(){};Exent.API.Defines=function(){};Exent.API.Defines.SessionTypeId={Unknown:"0",RunGame:"10",DownloadGame:"20"};Exent.API.Defines.ErrorId={OK:"0"};Exent.API.Defines.LicenseType={Unknown:"0",PU:"10",PM:"20"};Exent.API.Defines.DownloadListStatus={Unknown:"0",Paused:"10",Resumed:"20"};function GPlayerInvokeCB(f){try{var c=getXMLDOMObject();c.loadXML(f);var b=c.documentElement;var a=b.nodeName;switch(a){case"DownloadInfoNotification":HandlePlayerDownloadInfoNotification(c);break;case"ExecutionStateNotification":HandlePlayerExecutionStateNotification(c);break;case"ErrorNotification":HandlePlayerErrorNotification(c);break;case"LanguageChangedNotification":HandlePlayerLanguageChangedNotification(c);break;case"GameMediaChangedNotification":HandlePlayerGameMediaChangedNotification(c);break;case"GameAssetDownloadCompleteNotification":HandlePlayerGameAssetDownloadCompleteNotification(c);break;case"AllGameAssetsDownloadCompleteNotification":HandlePlayerAllGameAssetsDownloadCompleteNotification(c);break;case"ActionNotification":HandlePlayerActionNotification(c);break;case"GameShortcutNotification":HandlePlayerGameShortcutNotification(c);break;case"DownloadListGameStatusChangedNotification":HandlePlayerDownloadListGameStatusChangedNotification(c);break;case"DownloadListStatusChangedNotification":HandlePlayerDownloadListStatusChangedNotification(c);break;case"GameRemovedNotification":HandlePlayerGameRemovedNotification(c);break}}catch(d){}}function HandlePlayerDownloadInfoNotification(g){try{var c=g.selectSingleNode("DownloadInfoNotification/ContentDescriptor");var f=c.getAttribute("Id");var a=c.getAttribute("ReadyToUse");var d=c.getAttribute("FullyCached");var b=c.getAttribute("ReadyForOffline");if(f=="0"){return}if(d=="1"){GetApplication().OnGameFullDownloadComplete(f,b)}else{if(a=="1"){GetApplication().OnGameInitialDownloadComplete(f)}}}catch(h){}}function HandlePlayerExecutionStateNotification(l){try{var i=l.selectSingleNode("ExecutionStateNotification/ContentDescriptor");var k=i.getAttribute("Id");var b=i.getAttribute("ProviderId");var d=i.getAttribute("Active");var a=i.getAttribute("GameRunning");var g=i.getAttribute("Terminating");var f=i.getAttribute("ConnectionState");var j=i.getAttribute("DownloadingState");var c=i.getAttribute("SessionTypeId");if(!IsProviderSupported(b)){}if(k=="0"){return}if(d=="0"){GetApplication().OnGameIdle(k,b);return}if(g=="1"){GetApplication().OnGameTerminating(k,b);return}if(a=="1"){GetApplication().OnGameRunning(k,b);return}if(f=="20"){GetApplication().OnGameAuthenticating(k,b);return}if(j=="20"){GetApplication().OnGameUpdating(k,b);return}if(j=="40"){GetApplication().OnGameDownloading(k,b);return}if(f=="30"){GetApplication().OnGameConnecting(k,b,c);return}if(f=="40"){GetApplication().OnGameConnected(k,b);return}}catch(h){}}function HandlePlayerErrorNotification(j){try{var g=j.selectSingleNode("ErrorNotification/ContentDescriptor");var h=g.getAttribute("Id");var b=g.getAttribute("ProviderId");var d=g.getAttribute("ContentExecutionErrId");var i=g.getAttribute("Title");var a=g.getAttribute("Description");var c=g.getAttribute("Solution");if(!IsProviderSupported(b)){}if(h!="0"){GetApplication().OnGameError(h,b,d,i,a,c)}else{GetApplication().OnPlayerError(b,d,i,a,c)}}catch(f){}}function HandlePlayerLanguageChangedNotification(b){try{var a=b.selectSingleNode("LanguageChangedNotification/SkinDescriptor");var f=a.getAttribute("Id");var d=a.getAttribute("LangId");GetApplication().OnLanguageChanged(f,d)}catch(c){}}function HandlePlayerGameMediaChangedNotification(c){try{var a=c.selectSingleNode("GameMediaChangedNotification/ContentDescriptor");var b=a.getAttribute("Id");var f=a.getAttribute("MediaId");if(b=="0"){return}GetApplication().OnMediaChanged(b,f)}catch(d){}}function HandlePlayerGameAssetDownloadCompleteNotification(c){try{var a=c.selectSingleNode("GameMediaChangedNotification/ContentDescriptor");var b=a.getAttribute("Id");var g=a.getAttribute("ProviderId");if(!IsProviderSupported(g)){}var a=c.selectSingleNode("GameMediaChangedNotification/ContentDescriptor/Asset");var h=a.getAttribute("Id");var f=a.getAttribute("Path");switch(h){case"GameImage":GetApplication().OnGameImageUpdated(b,g,f);break;case"GameSplashImage":GetApplication().OnGameSplashImageUpdated(b,g,f);break;case"GameEndSplashImage":GetApplication().OnGameEndSplashImageUpdated(b,g,f);break;case"GameMDStrings":GetApplication().OnGameMDStringsUpdated(b,g,f);break}}catch(d){}}function HandlePlayerAllGameAssetsDownloadCompleteNotification(c){try{var a=c.selectSingleNode("GameMediaChangedNotification/ContentDescriptor");var b=a.getAttribute("Id");var f=a.getAttribute("ProviderId");if(!IsProviderSupported(f)){}GetApplication().OnGameAssetsDownloadComplete(b,f)}catch(d){}}function HandlePlayerActionNotification(b){try{var a=b.selectSingleNode("ActionNotification/SkinDescriptor");var f=a.getAttribute("Id");a=b.selectSingleNode("ActionNotification/SkinDescriptor/ActionInfo");var d=a.nodeTypedValue;GetApplication().OnActionNotification(f,d)}catch(c){}}function HandlePlayerGameShortcutNotification(d){try{var b=d.selectSingleNode("GameShortcutNotification/ContentDescriptor");var c=b.getAttribute("Id");var g=b.getAttribute("ProviderId");var a=b.getAttribute("CmdlineId");if(!IsProviderSupported(g)){}GetApplication().OnGameShortcut(c,g,a)}catch(f){}}function HandlePlayerDownloadListGameStatusChangedNotification(f){try{var c=f.selectSingleNode("DownloadListGameStatusChangedNotification/ContentDescriptor");var d=c.getAttribute("Id");var i=c.getAttribute("ProviderId");var b=c.getAttribute("Status");var h=c.getAttribute("FromPriority");var a=c.getAttribute("ToPriority");if(!IsProviderSupported(i)){}switch(b){case"10":GetApplication().OnDownloadListGameAdded(d,i);break;case"20":GetApplication().OnDownloadListGameRemoved(d,i);break;case"30":GetApplication().OnDownloadListGamePriorityIncreased(d,i,h,a);break;case"40":GetApplication().OnDownloadListGamePriorityDecreased(d,i,h,a);break}}catch(g){}}function HandlePlayerDownloadListStatusChangedNotification(c){try{var b=c.selectSingleNode("DownloadListStatusChangedNotification/ProviderDescriptor");var f=b.getAttribute("Id");var a=b.getAttribute("Status");if(!IsProviderSupported(f)){}switch(a){case Exent.API.Defines.DownloadListStatus.Resumed:GetApplication().OnDownloadListResumed(f);break;case Exent.API.Defines.DownloadListStatus.Paused:GetApplication().OnDownloadListPaused(f);break}}catch(d){}}function HandlePlayerGameRemovedNotification(c){try{var a=c.selectSingleNode("GameRemovedNotification/ContentDescriptor");var b=a.getAttribute("Id");var f=a.getAttribute("SaveInfoKept");GetApplication().OnGameRemoved(b,f)}catch(d){}}function IsProviderSupported(b){try{return GetApplication().IsProviderSupported(b)}catch(a){return false}}var g_PlayerNotification;function GetApplication(){if(!g_PlayerNotification){g_PlayerNotification=new Exent.Turnkey.PlayerNotification();if(!g_PlayerNotification){}}return g_PlayerNotification}Exent.Turnkey=function(){};Exent.Turnkey.PlayerNotification=function(){this.OnGameFullDownloadComplete=r;this.OnGameInitialDownloadComplete=n;this.OnGameIdle=p;this.OnGameTerminating=z;this.OnGameRunning=e;this.OnGameAuthenticating=u;this.OnGameUpdating=k;this.OnGameDownloading=C;this.OnGameConnecting=f;this.OnGameConnected=q;this.OnGameError=A;this.OnPlayerError=i;this.OnLanguageChanged=o;this.OnMediaChanged=g;this.OnGameImageUpdated=s;this.OnGameSplashImageUpdated=m;this.OnGameEndSplashImageUpdated=E;this.OnGameMDStringsUpdated=h;this.OnGameAssetsDownloadComplete=D;this.OnActionNotification=c;this.OnGameShortcut=b;this.Load=v;this.OnDownloadListGameAdded=d;this.OnDownloadListGameRemoved=a;this.OnDownloadListGamePriorityIncreased=w;this.OnDownloadListGamePriorityDecreased=j;this.OnDownloadListResumed=y;this.OnDownloadListPaused=B;this.OnGameRemoved=x;this.IsProviderSupported=l;function v(){}function r(G,F){try{refreshPlayButton(G,Exent.Web.Beta.Defines.PlayButtonStatus.Play)}catch(H){}}function n(F){try{refreshPlayButton(F,Exent.Web.Beta.Defines.PlayButtonStatus.Play)}catch(G){}}function p(F,H){try{refreshPlayButton(F)}catch(G){}}function z(F,H){try{refreshPlayButton(F)}catch(G){}}function e(F,H){try{refreshPlayButton(F,Exent.Web.Beta.Defines.PlayButtonStatus.Running)}catch(G){}}function u(F,G){}function f(F,H,I){try{}catch(G){}}function q(F,G){}function k(F,H){try{}catch(G){}}function C(F,H){try{refreshPlayButton(F,Exent.Web.Beta.Defines.PlayButtonStatus.Downloading)}catch(G){}}function A(J,L,I,G,F,H){try{refreshPlayButton(J)}catch(K){}}function i(K,I,G,F,H){try{refreshPlayButton(strContentId)}catch(J){}}function o(G,F){}function g(F,G){}function s(G,H,F){}function m(G,H,F){}function E(G,H,F){}function h(F,H,G){}function D(F,G){}function c(G,F){}function b(F,G){}function d(F,H){try{refreshPlayButton(F,Exent.Web.Beta.Defines.PlayButtonStatus.InDownloadQueue)}catch(G){}}function a(F,H){try{refreshPlayButton(F,Exent.Web.Beta.Defines.PlayButtonStatus.Download)}catch(G){}}function w(G,I,H,F){}function j(G,I,H,F){}function y(F){}function B(F){}function x(G,F){try{refreshPlayButton(G,Exent.Web.Beta.Defines.PlayButtonStatus.Download)}catch(H){}}function l(F){if(parseInt(g_strProviderID)==parseInt(F)){return true}}function t(F){F.Load()}t(this)};function structGameInfo(n,k,b,e,g,d,l,j,c,m,a,f,i,h){this.strPlayerAPIErrCode=n;this.strContentId=k;this.strDownloadedKB=b;this.strInitialDownloadSizeKB=e;this.strFullDownloadSizeKB=g;this.strActive=d;this.strGameRunning=l;this.strTerminating=j;this.strLastSessionErrorCode=c;this.strDownloadPriority=m;this.strReadyToUse=a;this.strFullyCached=f;this.strInitialDownloadTimeLeftSec=i;this.strFullDownloadTimeLeftSec=h}function GetGPlayerGameInfo(g){var c=new structGameInfo("","","","","","","","","","","","","","");try{var h=GPlayerApi_GetDownloadInfo(g);var d=getXMLDOMObject();d.loadXML(h);var a=d.getElementsByTagName("ContentDescriptor").item(0);if(!a){return c}else{c.strPlayerAPIErrCode=GetAttributeValue(a,"PlayerAPIErr");if("0"!=c.strPlayerAPIErrCode){return c}c.strContentId=GetAttributeValue(a,"Id");c.strDownloadedKB=GetAttributeValue(a,"DownloadedKB");c.strInitialDownloadSizeKB=GetAttributeValue(a,"InitialDownloadKB");c.strFullDownloadSizeKB=GetAttributeValue(a,"FullDownloadKB");c.strActive=GetAttributeValue(a,"Active");c.strGameRunning=GetAttributeValue(a,"GameRunning");c.strTerminating=GetAttributeValue(a,"Terminating");c.strReadyToUse=GetAttributeValue(a,"ReadyToUse");c.strFullyCached=GetAttributeValue(a,"FullyCached");c.strInitialDownloadTimeLeftSec=GetAttributeValue(a,"InitialDownloadTimeLeftSec");c.strFullDownloadTimeLeftSec=GetAttributeValue(a,"FullDownloadTimeLeftSec")}h=GPlayerApi_GetDownloadListInfo(g,g_strProviderID);d.loadXML(h);a=d.getElementsByTagName("ContentDescriptor").item(0);if(!a){return c}else{var b=GetAttributeValue(a,"InDownloadList");if("0"==b){c.strDownloadPriority="0"}else{c.strDownloadPriority=GetAttributeValue(a,"Priority")}}}catch(f){}return c}function GetGameStatus(a){iStatus=0;if("1"==a.strGameRunning){iStatus=5;return iStatus}if("1"==a.strReadyToUse){iStatus=3;return iStatus}if("1"==a.strActive&&"0"!=a.strDownloadPriority){iStatus=2;return iStatus}if("1"==a.strActive&&"0"==a.strDownloadPriority){iStatus=4;return iStatus}if("0"!=a.strDownloadPriority){iStatus=1;return iStatus}if("0"!=a.strDownloadPriority||"0"==a.strReadyToUse){iStatus=6;return iStatus}return iStatus}function GetAttributeValue(b,a){var d="";try{d=b.getAttribute(a);if("-1"==d||"4294967295"==d){d=""}}catch(c){}return d}function InstallEXEtenderEx(a){if(g_InstallExetenderInProcessFlag!=0){}g_InstallExetenderInProcessFlag=1;if(""==a){a=g_ContextPath+"/do/installEXEtender/default/"+g_strCurrentPartnerName+"/"+g_strInstallerName}a+=".exe";g_AfterEXEtenderInstallationPageRefreshInterval=4000;IsPlayerInstallationFinished();window.location.href=a}function AfterPlayerInstallationFinished(){g_InstallExetenderInProcessFlag=0;if(GPlayerApi_IsPlayerInstalled(g_strClientVersion,g_strClientVersionMask,g_strClientSkinID,g_strClientSkinVersion,g_strClientSkinVersionMask,g_ExentCtl)){deleteSessionCookie("strGameIdAction");deleteSessionCookie("strCmdLine");deleteSessionCookie("strRunGameStatus");window.location.reload()}}function compareSWHWdependency(n,k,f,a){var b=0;var m;var d;var o;var h;var e=new Array();var j=n.split(";");var l="";d=k.search("DisplayAdapter");if(d!=-1){o=k.indexOf("]",d);if(o>d){h=k.substring(d,o);h=h.replace(";",":");h=h.replace(";",":");k=k.substring(0,d)+h+k.substring(o,k.length)}}var c=k.split(";");excludeComponents(j,c);AddMissingComponentsToPcArray(j,c);for(var g=0;g<c.length;g++){m=updateComponentInfo(c[g],j,l);if(m.bValid==true){e[b]=new Array(m.strName,m.iStatus,m.strMinimum,m.strRecommended,m.strDetected,m.strExtraData1,m.strExtraData2);b++;if(m.strName=="OS"){l=m.strDetected}}else{if(m.strName=="DisplayAdapter"&&l==""&&g<c.length-1){c[c.length]=c[g]}}}return e}function checkClientVersion(d){var c=d.substring(d.indexOf("<ErrorId>")+9,d.indexOf("</ErrorId>"));var a=d.substring(d.indexOf("<Information>")+13,d.indexOf("</Information>"));var b=1;if(c!="0"){b=0}return b}function structComponentData(d,e,h,g,c,f,b,a){this.bValid=d;this.strName=e;this.iStatus=h;this.strMinimum=g;this.strRecommended=c;this.strDetected=f;this.strExtraData1=b;this.strExtraData2=a}function ComponentDataToString(a){var b;b="bValid = "+a.bValid+"\n";b+="strName = "+a.strName+"\n";b+="iStatus = "+a.iStatus+"\n";b+="strMinimum = "+a.strMinimum+"\n";b+="strRecommended = "+a.strRecommended+"\n";b+="strDetected = "+a.strDetected+"\n";b+="strExtraData1 = "+a.strExtraData1+"\n";b+="strExtraData2 = "+a.strExtraData2+"\n";return b}function updateComponentInfo(c,d,a){var b=new structComponentData(false,"",0,"","","","");b=GetBasicComponentInfo(c,d);if(b.bValid!=true){return b}b.bValid=false;if(b.strName=="SoundCard"||b.strName=="Joystick"||b.strName=="Mouse"||b.strName=="DirectPlay"||b.strName=="DirectXMedia"||b.strName=="Indeo Audio"){b.bValid=false;return b}if(b.strName=="OS"){checkOSDependency(b);return b}if(b.strName=="DisplayAdapter"){if(a==""){return b}b=checkDisplayAdapterDependency(b,a);return b}if(b.strMinimum==""&&b.strRecommended==""){b.bValid=false;return b}b=SetComponentVersions(b);if(b.bValid!=true){return b}b.bValid=false;b=SetComponentStatus(b);return b}function SetComponentStatus(b){var d=b;var a=0;var c=0;if(d.strName=="Indeo Video"||d.strName=="Indeo Audio"){a=2;c=1}if(d.strDetected==""){d.iStatus=0}else{if(compareVersions(d.strDetected,d.strMinimum,a,c)==2){d.iStatus=1}else{if(compareVersions(d.strDetected,d.strRecommended,a,c)==2){d.iStatus=2}else{d.iStatus=3}}}d.bValid=true;return d}function SetComponentVersions(a){var b=a;b.strMinimum=cleanVersionString(b.strMinimum);b.strRecommended=cleanVersionString(b.strRecommended);b.strDetected=cleanVersionString(b.strDetected);if(b.strMinimum!=""&&b.strRecommended==""){b.strRecommended=b.strMinimum}else{if(b.strRecommended!=""&&b.strMinimum==""){b.strMinimum=b.strRecommended}else{if(compareVersions(b.strRecommended,b.strMinimum,0,0)!=1){b.strRecommended=b.strMinimum}}}b.bValid=true;return b}function GetBasicComponentInfo(a,c){var b=new structComponentData(false,"",0,"","","","");b.strName=getOnlyName(a);b.strDetected=getVersion(a);b.strMinimum=getVersionFromComponentsArray(b.strName,c);if(b.strMinimum==""){b.strMinimum=getVersionFromComponentsArray(b.strName+"Min",c)}b.strRecommended=getVersionFromComponentsArray(b.strName+"Rec",c);b.bValid=true;return b}function checkOSDependency(a){var b=a;var e=b.strMinimum;var c;var d;b.strDetected=cleanVersionString(b.strDetected);b.strMinimum=FormatOSRequest(e);b.strRecommended=b.strMinimum;if(b.strMinimum==""){b.iStatus=3;b.bValid=true;return b}if(IsOSInRange(b.strMinimum,b.strDetected)==false){b.iStatus=1;b.bValid=true;return b}b.iStatus=3;b.bValid=true;return b}function checkDisplayAdapterDependency(b,d){var f=b;var g;var a;var c;var e;g=f.strDetected;g=g.substr(1,g.length-2);a=g.split(":");c=a[0].toUpperCase();switch(a[1]){case"4098":if(c.search("RADEON")!=-1){return Get_RADEON_DisplayAdapterComponent(f.strName,"RADEON",a[2],a[1],d)}break;case"4318":if(c.search("GEFORCE")!=-1){return Get_NVIDIA_DisplayAdapterComponent(f.strName,"NVIDIA GeForce",a[2],a[1],d)}if(c.search("RIVATNT")!=-1||c.search("RIVA TNT")!=-1){return Get_NVIDIA_DisplayAdapterComponent(f.strName,"NVIDIA RIVA TNT",a[2],a[1],d)}if(c.search("VANTA")!=-1){return Get_NVIDIA_DisplayAdapterComponent(f.strName,"NVIDIA Vanta",a[2],a[1],d)}break}f.bValid=false;return f}function Get_NVIDIA_DisplayAdapterComponent(f,e,b,g,a){var c=new structComponentData(false,"",0,"","","","");var h;var d;c.bValid=true;c.strName=f;c.strMinimum="";c.strRecommended="61.76";c.strExtraData1=e;c.strExtraData2=g;c.strRecommended=cleanVersionString(c.strRecommended);h=b.split(".");d=h[h.length-1];if(d.length<3){c.bValid=false;return c}c.strDetected=d.substring(0,d.length-2);c.strDetected+=".";c.strDetected+=d.substring(d.length-2,d.length);c.strDetected=cleanVersionString(c.strDetected);if(compareVersions(c.strDetected,c.strRecommended,0,0)==2){c.iStatus=2}else{c.iStatus=3}return c}function Get_RADEON_DisplayAdapterComponent(f,e,b,g,a){var c=new structComponentData(false,"",0,"","","","");var h;var d;c.bValid=true;c.strName=f;c.strMinimum="";c.strDetected=b;c.strExtraData1=e;c.strExtraData2=g;if(compareVersions(2,a,0,0)==2){c.strRecommended="6.14.10.6458"}else{c.strRecommended="4.14.01.9138"}c.strRecommended=cleanVersionString(c.strRecommended);c.strDetected=cleanVersionString(c.strDetected);if(compareVersions(c.strDetected,c.strRecommended,0,0)==2){c.iStatus=2}else{c.iStatus=3}return c}function FormatOSRequest(d){var a;var b;var c;var e;b=d.indexOf("[",1);c=d.indexOf("]",b+1);if(b+1>=c){return""}a=d.substr(b+1,c-b-1);e=a.split(".");if(e.length!=5){a=""}return a}function IsOSInRange(c,b){var d;var a;d=c.split(".");if(d.length!=5){return false}a=""+d[0]+"."+d[1]+"."+d[2];if(compareVersions(b,a,3,0)==2){return false}if(d[3]=="-1"){d[3]=9999}if(d[4]=="-1"){d[4]=9999}a=""+d[0]+"."+d[3]+"."+d[4];if(compareVersions(b,a,3,0)==1){return false}return true}function getVersionFromComponentsArray(d,e){var c;var a="";var b="";for(c=0;c<e.length;c++){a=getOnlyName(e[c]);b=getVersion(e[c]);if(a==d){return b}}return""}function getIndexOfComponentInComponentsArray(d,e){var c;var a="";var b="";for(c=0;c<e.length;c++){a=getOnlyName(e[c]);if(a==d){return c}}return -1}function cleanVersionString(c){var b="";var a;var d;var e=0;c=""+c;for(a=0;a<c.length;a++){d=c.charAt(a);if(e==1&&d=="."){e=2;b+=d}else{if(d<="9"&&d>="0"){e=1;b+=d}else{if(e!=0){break}}}}if(e==2){b=b.slice(0,b.length-1)}return b}function AlignSubVerLen(b,a){var c=b;while(c.length<a.length){c=c+"0"}return c}function compareVersions(i,g,c,e){var d;var j;i=cleanVersionString(i);g=cleanVersionString(g);var b=i.split(".");var a=g.split(".");if(e==1){j=b.length;if(a.length<b.length){j=a.length}for(d=0;d<j;d++){if(b[d].length<a[d].length){b[d]=AlignSubVerLen(b[d],a[d])}if(a[d].length<b[d].length){a[d]=AlignSubVerLen(a[d],b[d])}}}var h;var f;if(c>0&&c<b.length){b=b.slice(0,c)}if(c>0&&c<a.length){a=a.slice(0,c)}for(d=0;d<b.length;d++){if(a.length-1<d){return 1}h=Number(b[d]);f=Number(a[d]);if(h>f){return 1}if(h<f){return 2}}if(b.length<a.length){return 2}return 0}function getOnlyName(a){a=""+a;var c="";var b=a.indexOf("=");if((b<1)||(b>a.length-1)){return c}c=a.substring(0,b);return c}function getVersion(b){b=""+b;var a="";var c=b.indexOf("=");if((c<1)||(c>b.length-1)){return a}a=b.substring(c+1,b.length);return a}function excludeComponents(f,e){var a;var d=new Array();var c=0;for(var b=0;b<f.length;b++){a=getOnlyName(f[b]);if(a=="Client"){f.splice(b,1);b=b-1}}}function AddMissingComponentsToPcArray(e,d){var b;var a;for(var c=0;c<e.length;c++){strCurrentName=getOnlyName(e[c]);b=strCurrentName;if(strCurrentName=="OS"||strCurrentName=="DirectPlay"||strCurrentName=="DirectXMedia"||strCurrentName=="Indeo Audio"){continue}if(b.length>=3){b=strCurrentName.substr(strCurrentName.length-3)}if("Min"==b||"Rec"==b){strCurrentName=strCurrentName.substr(0,strCurrentName.length-3)}a=getIndexOfComponentInComponentsArray(strCurrentName,d);if(a==-1){d[d.length]=strCurrentName+"="}}}Exent.Web.Beta.Defines.SystemCompatible={Unknown:0,NotPass:1,AlmostPass:2,Pass:3};function printDependency2D(b,o,f,j,l,c,a,n,i){var g;var e=new Array();var h=new Array();var k;var m="";var d;if(j==null){j=""}if(l==null){l=""}if(c==null){c=""}if(a==null){a=""}if(n==null){n=""}if(i==null){i="white"}for(g=0;g<b.length;g++){k=GetComponentPrintData(b,g,f);if(k.iType==1){e[e.length]=k}else{h[h.length]=k}}e=CheckOSAndSetArry(e,n,o);d=GetPrintTable(e,"Software",j,l,c,a);d+=GetPrintTable(h,"Hardware",j,l,c,a);return d}function printDependency2DNoUserInfo(a,j,i,e){var d;var c=new Array();var f=new Array();var g;var h="";var b;if(i==null){i=""}if(e==null){e="white"}for(d=0;d<a.length;d++){g=GetComponentPrintData(a,d,"");if(g.iType==1){c[c.length]=g}else{f[f.length]=g}}c=CheckOSAndSetArry(c,i,j);b=GetPrintTableNoUserInfo(c,"Software");b+=GetPrintTableNoUserInfo(f,"Hardware");if(b!=""){h="<table WIDTH='100%' bgcolor="+e+">";h+=b;h+="</table>"}else{return""}return h}function structPrintComponentData(k,i,e,f,j,g,d,h,a,c,b,m,l){this.bValid=k;this.bDisplay=i;this.strExentName=e;this.strPrintName=f;this.iType=j;this.iStatus=g;this.strMinimum=d;this.strRecommended=h;this.strDetected=a;this.strExtention=c;this.strUpgradeUrl=b;this.strExtraData1=m;this.strExtraData2=l}function getOSNameByCode(a,b){codeArray=a.split(".");if(codeArray==null||codeArray.legth<3){return b}tmp=codeArray[1]+"."+codeArray[2];switch(tmp){case"6.0":return'Windows Vista, Windows Server "Longhorn"';case"5.2":return"Windows Server 2003, Windows Server 2003 R2";case"5.1":return"Windows XP";case"5.0":return"Windows 2000";case"4.90":return"Windows Me";case"4.10":return"Windows 98";case"4.0":return"Windows 95, Windows NT 4.0";default:return b}}function GetComponentPrintData(e,c,d){var a=new structPrintComponentData(false,"","","",0,0,"","","","","","");var b;a.bDisplay=true;a.strExentName=e[c][0];a.iStatus=e[c][1];a.strMinimum=e[c][2];a.strRecommended=e[c][3];a.strDetected=e[c][4];a.strExtraData1=e[c][5];a.strExtraData2=e[c][6];a.strExtention="";a.strUpgradeUrl="";a.bValid=true;switch(a.strExentName){case"DirectX":case"DirectPlay":case"DirectXMedia":a.strPrintName=a.strExentName;a.iType=1;a.strMinimum=GetSubVersion(a.strMinimum,1,3);a.strRecommended=GetSubVersion(a.strRecommended,1,3);a.strDetected=GetSubVersion(a.strDetected,1,3);a.strUpgradeUrl="http://www.microsoft.com/directx/homeuser/downloads";break;case"OS":if(a.strMinimum==""){a.bDisplay=false}else{a.strPrintName="Operating System";a.strMinimum=getOSNameByCode(a.strMinimum,"");a.strRecommended="";a.strDetected=getOSNameByCode(a.strDetected,"Unrecognaized");a.iType=1}break;case"QuickTime32":a.strPrintName=a.strExentName;a.iType=1;a.strMinimum=GetSubVersion(a.strMinimum,0,1);a.strRecommended=GetSubVersion(a.strRecommended,0,1);a.strDetected=GetSubVersion(a.strDetected,0,1);a.strUpgradeUrl="http://www.apple.com/quicktime/download/support/";break;case"Indeo Video":case"Indeo Audio":a.strPrintName=a.strExentName;a.iType=1;a.strMinimum=GetSubVersion(a.strMinimum,0,1);a.strRecommended=GetSubVersion(a.strRecommended,0,1);a.strDetected=GetSubVersion(a.strDetected,0,1);a.strUpgradeUrl="http://www.ligos.com/index.phtml?&pi=103&n1=products&n2=indeo&n3=download";break;case"Internet Explorer":a.strPrintName=a.strExentName;a.iType=1;a.strMinimum=GetSubVersion(a.strMinimum,0,1);a.strRecommended=GetSubVersion(a.strRecommended,0,1);a.strDetected=GetSubVersion(a.strDetected,0,1);a.strUpgradeUrl="http://www.microsoft.com/windows/ie/default.htm";break;case"Shock Wave":a.strPrintName=a.strExentName;a.iType=1;a.strMinimum=GetSubVersion(a.strMinimum,0,1);a.strRecommended=GetSubVersion(a.strRecommended,0,1);a.strDetected=GetSubVersion(a.strDetected,0,1);a.strUpgradeUrl="http://www.shockwave.com";break;case"QuickTime":case"OpenGL":case"MSJet":case"Windows Installer":a.strPrintName=a.strExentName;a.iType=1;a.strMinimum=GetSubVersion(a.strMinimum,0,1);a.strRecommended=GetSubVersion(a.strRecommended,0,1);a.strDetected=GetSubVersion(a.strDetected,0,1);break;case"Client":a.strPrintName="Free Ride Games Player";a.iType=1;a.strUpgradeUrl=d;break;case"DisplayAdapter":a.strPrintName=GetDisplayAdapterName(a.strExtraData1);a.iType=1;a.strUpgradeUrl=GetDisplayAdapterUpgradeUrl(a.strExtraData2);a.strMinimum=GetSubVersion(a.strMinimum,0,8);a.strRecommended=GetSubVersion(a.strRecommended,0,8);a.strDetected=GetSubVersion(a.strDetected,0,8);break;case"CPUSpeed":a.strPrintName="Processor Speed";a.iType=2;a.strExtention="MHz";break;case"RAMPhysical":a.strPrintName="Memory";a.iType=2;a.strExtention="MB";break;case"VideoMem":a.strPrintName="Video Card Memory";a.iType=2;a.strExtention="MB";break;case"SoundCard":a.strPrintName="Sound Card";a.iType=2;a.strMinimum=GetBolean(a.strMinimum,"Yes","No");a.strRecommended=GetBolean(a.strRecommended,"Yes","No");a.strDetected=GetBolean(a.strDetected,"Yes","No");break;case"Video3DAcceleration":a.strPrintName="3D Acceleration";a.iType=2;a.strMinimum=GetBolean(a.strMinimum,"Yes","No");a.strRecommended=GetBolean(a.strRecommended,"Yes","No");a.strDetected=GetBolean(a.strDetected,"Yes","No");break;case"Joystick":case"Mouse":a.strPrintName=a.strExentName;a.iType=2;a.strMinimum=GetBolean(a.strMinimum,"Yes","No");a.strRecommended=GetBolean(a.strRecommended,"Yes","No");a.strDetected=GetBolean(a.strDetected,"Yes","No");break;default:a.bDisplay=false;return a;break}if(a.strDetected==""){a.strDetected="Unknown"}return a}function GetDisplayAdapterName(a){var b;b="Display Driver";if(a==""){return b}b+=" ("+a+")";return b}function GetDisplayAdapterUpgradeUrl(a){if(a=="4318"){return"http://www.nvidia.com/content/drivers/drivers.asp"}if(a=="4098"){return"http://www.ati.com/support/driver.html"}return""}function GetBolean(c,a,b){if(c=="1"){return a}return b}function GetSubVersion(e,c,b){var g="";var f;var a=e.split(".");var d;if(e==""){return"&nbsp;"}if(c<0){c=0}if(b>a.length-1){b=a.length-1}for(f=c;f<=b;f++){if(f==c){d=Number(a[f]);if(isNaN(d)){d=0}g+=d.toString()}else{g+=a[f]}g+="."}g=g.slice(0,g.length-1);return g}function CheckOSAndSetArry(h,f,b){var e;var a=null;var d="";var g=new Array();var c;for(e=0;e<h.length;e++){if(h[e].strExentName=="OS"){c=e;a=h[e];break}}if(a==null||a.bValid!=true||a.strDetected==""){return h}if(a.strDetected.charAt(0)=="1"){d="9X"}else{if(a.strDetected.charAt(0)=="2"){d="NT"}else{return h}}if(a.strMinimum==""&&f!=""&&d!=f){a.iStatus=1}return h}function GetPrintTable(b,g,h,i,d,a){var f;var j="";var c="";var e;if(b.length==0){return""}if((!g_bControlInstalled)||(!g_bClientInstalled)){c="<table class='normalType'><tr><td colspan='5' class='sysReqSectionTitle'>"+g+"</td></tr><tr><td width='170px' class='sysReqTableHeader'>Component</td><td class='sysReqTableHeader' width='90px'>Minimum</td><td class='sysReqTableHeader' width='100px'>Recommended</td></tr>"}else{c="<table class='normalType'><tr><td colspan='5' class='sysReqSectionTitle'>"+g+"</td></tr><tr><td align='center' class='sysReqTableHeader'>Status</td><td width='170px' class='sysReqTableHeader'>Component</td><td class='sysReqTableHeader' width='90px'>Minimum</td><td class='sysReqTableHeader' width='100px'>Recommended</td><td class='sysReqTableHeader' width='110px'>Detected</td></tr>"}for(f=0;f<b.length;f++){if(b[f].bValid==false||b[f].bDisplay==false){continue}j+="<tr>";if((g_bControlInstalled)&&(g_bClientInstalled)){switch(b[f].iStatus){case 0:case 2:e=i;break;case 1:e=d;break;case 3:e=h;break;default:e=i;break}j+="<td align='center' class='tdcontent'>"+e+"</td>"}j+="<td class='tdcontent'>"+b[f].strPrintName+"</td>";j+="<td class='tdcontent'>"+b[f].strMinimum+"</td>";j+="<td class='tdcontent'>"+b[f].strRecommended+"</td>";if((g_bControlInstalled)&&(g_bClientInstalled)){j+="<td class='tdcontent'>"+b[f].strDetected;if(b[f].strDetected!="Unknown"){j+=b[f].strExtention}j+="</td>"}j+="</tr>"}if(j==""){return""}j=c+j+"</table>";return j}function GetPrintTableNoUserInfo(e,a){var d;var c="";var f="";var b;if(e.length==0){return""}f="<tr><td><b>"+a+"</b></td></tr><tr><td><u>Component</u></td><td><u>Minimum</u></td><td><u>Recommended</u></td></tr>";for(d=0;d<e.length;d++){if(e[d].bValid==false||e[d].bDisplay==false){continue}c+="<td>"+e[d].strPrintName+"</td>";c+="<td>"+e[d].strMinimum+e[d].strExtention+"</td>";c+="<td>"+e[d].strRecommended+e[d].strExtention+"</td>";c+="</tr>"}if(c==""){return""}c=f+c;c+="<td></td>";return c}function PopUpWin(e,c,a){var b="";var f="";var d="name";var g="";if(c.charAt(0)=="1"){b="xp"}else{b="me"}f=a+"?UserOsFlag="+b+"&platform="+e+"&UserOsDetect="+c;g="width=490,height=190,scrollbars=yes,location=no,menubar=yes,resizable=yes,toolbar=no,menubar=no";win=window.open(f,d,g);if(parseInt(navigator.appVersion)>=4){win.window.focus()}}function PrintComponentData(a){var b="";b="bValid: "+a.bValid;b+=", bDisplay: "+a.bDisplay;b+=", strExentName: "+a.strExentName;b+=", strPrintName: "+a.strPrintName;b+=", iType: "+a.iType;b+=", iStatus: "+a.iStatus;b+=", strMinimum: "+a.strMinimum;b+=", strRecommended: "+a.strRecommended;b+=", strDetected: "+a.strDetected;b+=", strExtention: "+a.strExtention;b+=", strUpgradeUrl: "+a.strUpgradeUrl;return b}function GetSystemCompatibilityTitle(){if((!g_bControlInstalled)||(!g_bClientInstalled)){return""}else{return"System Compatibility:"}}function GetSystemCompatibilityString(f,d,c,b){var h;var g=Exent.Web.Beta.Defines.SystemCompatible.Pass;var a="";if(!g_bControlInstalled){h="";return h}if(!g_bClientInstalled){h="";return h}if(c!=b){h="<img src='"+g_strImageServerUrl+"/sysNotPass.gif' width='15' height='15' alt='Game will not run properly on your system '>";return h}for(var e=0;e<d.length;e++){if(d[e][0]=="DisplayAdapter"){continue}else{if(d[e][1]==Exent.Web.Beta.Defines.SystemCompatible.NotPass){g=Exent.Web.Beta.Defines.SystemCompatible.NotPass;break}else{if((g==Exent.Web.Beta.Defines.SystemCompatible.Pass)&&(d[e][1]!=Exent.Web.Beta.Defines.SystemCompatible.Pass)){g=d[e][1]}else{if((g==Exent.Web.Beta.Defines.SystemCompatible.AlmostPass)&&(d[e][1]==Exent.Web.Beta.Defines.SystemCompatible.Unknown)){g=Exent.Web.Beta.Defines.SystemCompatible.Unknown}}}}}h="";a="";switch(g){case Exent.Web.Beta.Defines.SystemCompatible.NotPass:h="<img src='"+g_strImageServerUrl+"/sysNotPass.gif' width='15' height='15' alt='Game will not run properly on your system'>";break;case Exent.Web.Beta.Defines.SystemCompatible.Unknown:h="<img src='"+g_strImageServerUrl+"/sysUnknown.gif' width='15' height='15' alt='Insufficient system info'>";break;case Exent.Web.Beta.Defines.SystemCompatible.AlmostPass:h="<img src='"+g_strImageServerUrl+"/sysAlmostPass.gif' width='15' height='15' alt='Not optimal performance'>";break;case Exent.Web.Beta.Defines.SystemCompatible.Pass:h="<img src='"+g_strImageServerUrl+"/sysPass.gif' width='15' height='15' alt='Game will run on your system'>";break}if(f==""){h+=a}else{h+="<a href="+f+">"+a+"</a>"}return h}function GetDependencyString(b,a,d,c){var f;var e;f=(printDependency2D(b,g_ContextPath+"/main/osMsg.jsp",g_ContextPath+"EXETENDER_LOCATION","<img src='"+g_strImageServerUrl+"/sysPass.gif' width='17' height='15'alt=''>","<img src='"+g_strImageServerUrl+"/sysAlmostPass.gif' width='17' height='15'alt=''>","<img src='"+g_strImageServerUrl+"/sysNotPass.gif' width='17' height='15'alt=''>","<img src='"+g_strImageServerUrl+"/sysAlmostPass.gif' width='17' height='15'alt=''>",a,"white"));return f}function GetSwHwArray(a,c){var b=compareSWHWdependency(a,c,0,"");return b}function checkSystemDependencies(d,e,a){if(g_bIsOnlinePageLayout==true){return false}var c=getSessionCookie(Exent.Web.Beta.Defines.Cookies.FromSystemIncompatibleMessage);if(c==""){if(a.indexOf("sysNotPass")>1){if("1"==bBlockRedTitle){OpenRedTitleMessage(d,e);return true}else{OpenIncompatibleMessage(d,e,"true");return true}}else{if(a.indexOf("sysAlmostPass")>1){var b=getPersistentCookie(g_strProviderID+"_"+Exent.Web.Beta.Defines.Cookies.SystemIncompatible);if(b!="true"){OpenIncompatibleMessage(d,e,"false");return true}}}}return false}var g_strPCDependencies="";function refreshPlayButtons(e){var c=GPlayerApi_GetGamesIdsList(e,false,false,true,false,false,false,false);setPlayButtonsStates(c,Exent.Web.Beta.Defines.PlayButtonStatus.Play);var b=GPlayerApi_GetGamesIdsList(e,false,true,false,false,false,false,false);setPlayButtonsStates(b,Exent.Web.Beta.Defines.PlayButtonStatus.InDownloadQueue);var d=GPlayerApi_GetGamesIdsList(e,true,true,false,false,false,false,false);setPlayButtonsStates(d,Exent.Web.Beta.Defines.PlayButtonStatus.Downloading);var a=GPlayerApi_GetGamesIdsList(e,true,false,false,true,false,false,false);setPlayButtonsStates(a,Exent.Web.Beta.Defines.PlayButtonStatus.Running)}function setPlayButtonsStates(a,d){try{var g=GetXMLDocument();g.async=false;g.loadXML(a);var j="";var b;var f=g.selectSingleNode("GetGamesIdsListResponse");for(var c=0;c<f.childNodes.length;c++){b=f.childNodes[c];j=b.getAttribute("Id");refreshPlayButton(j,d)}}catch(h){}}function refreshPlayButton(a){refreshPlayButton(a,getPlayButton(a))}function refreshPlayButton(d,b,f){var e="btnPlay"+d;var a=document.getElementById(e);if(a==null){return}if(b==null||b==""){b=getPlayButton(d)}var c="Download";if((typeof f=="undefined")||(f=="")){f=a.name}if(b==Exent.Web.Beta.Defines.PlayButtonStatus.Download){a.src=g_strImageServerUrl+"/"+g_downloadButton;a.alt="Download "+f}else{if(b==Exent.Web.Beta.Defines.PlayButtonStatus.Play){a.src=g_strImageServerUrl+"/"+g_playButton;a.alt="Play "+f}else{if(b==Exent.Web.Beta.Defines.PlayButtonStatus.Downloading){a.src=g_strImageServerUrl+"/"+g_downloadingButton;a.alt="Downloading "+f}else{if(b==Exent.Web.Beta.Defines.PlayButtonStatus.Running){a.src=g_strImageServerUrl+"/"+g_runningButton;a.alt="Running "+f}else{if(b==Exent.Web.Beta.Defines.PlayButtonStatus.InDownloadQueue){a.src=g_strImageServerUrl+"/"+g_inqueueButton;a.alt="Download "+f}}}}}}function structDirections(c,a,b){this.strDirections=c;this.strDirectionsErrCode=a;this.strDirectionsErrString=b}function DownloadAndPlayGame(d,b,a){var c;if(isValidObject(a)&&a!=""){c=GPlayerApi_PrepareGameForPlay(d,g_strProviderID,0,"","",a.strDirections,"",true,false,0)}else{if(g_strPCDependencies==""){g_strPCDependencies=GPlayerApi_GetPCDependences();g_strPCDependencies=Base64.encode(g_strPCDependencies)}c=GPlayerApi_PrepareGameForPlay(d,g_strProviderID,1,g_strDirectionUrl,"","","",true,false,0,1,g_strPCDependencies)}return c}function AddGameToDownloadList(d,a,c){var b;if(isValidObject(a)&&a!=""){b=GPlayerApi_AddGameToDownloadList(d,g_strProviderID,a.strDirections,false,-1,g_strDirectionUrl)}else{b=GPlayerApi_AddGameToDownloadList(d,g_strProviderID,"",false,-1,g_strDirectionUrl)}if("0"!=b){return b}else{refreshPlayButton(d,Exent.Web.Beta.Defines.PlayButtonStatus.InDownloadQueue)}b=GPlayerApi_ResumeDownloadList(g_strProviderID);if((c)&&("0"==b)){GPlayerApi_RestorePlayer("SubsDownloads")}return b}function PlayGame(f,g,d,c,a,e,b){PlayGameNew(f,g,d,c,a,true,e,b)}function PlayGameNew(a,n,e,j,p,f,c,d){if(g_strUserOS=="9X"){HandleError("1002",a);return}var o=GPlayerApi_GetActiveGameId();if(a==o){return}var g=getPlayButton(a);var h=getTrackingEvent(a);var k="";for(var q=0;q<j.length;q++){if(j[q][0]==a){k=j[q][1]}}var s="";var b=canRunApplication(a);if("0"!=b){HandleError(b,a);return}if(true==checkSystemDependencies(a,n,k)){return}if(g==Exent.Web.Beta.Defines.PlayButtonStatus.Download){if(true==checkEmailCollection(a,d)){return}}if(!g_bControlInstalled){performConversion(Exent.Web.Beta.Defines.Tracking.ConversionName.FirstTimeExperience);setSessionCookie("strGameIdAction",a);setSessionCookie("strCmdLine",e);setSessionCookie("strRunGameStatus","wait_to_player_installation");InstallEXEtenderEx(p);return}if(f){if(!g_bClientInstalled){setSessionCookie("strGameIdAction",a);setSessionCookie("strCmdLine",e);setSessionCookie("strRunGameStatus","wait_to_player_installation");InstallEXEtenderEx(p);return}}deleteSessionCookie(Exent.Web.Beta.Defines.Cookies.FromSystemIncompatibleMessage);var r;var m=true;if(g==Exent.Web.Beta.Defines.PlayButtonStatus.Play){m=false}var l="0";if(g==Exent.Web.Beta.Defines.PlayButtonStatus.Play){l=DownloadAndPlayGame(a,true,r)}else{if(g==Exent.Web.Beta.Defines.PlayButtonStatus.Running){}else{l=AddGameToDownloadList(a,r,c)}}if("0"!=l){WriteToLog(l);HandleError(l,a)}}function OpenEmailCollectionForm(b){var a=g_strBaseURL+"/do/game?partner="+g_strCurrentPartnerName+"&game="+b+"&action=emailCollection";if(isIE){showModalWindow(a,500,251)}else{showModalWindow(a,500,247)}}function showMessageBox(d,b,c){var a=g_strBaseURL+"/do/general?partner="+g_strCurrentPartnerName+"&jspName=messageBox";a+="&iconUrl="+d;a+="&messageTitle="+escape(b);a+="&message="+escape(c);if(isIE){showModalWindow(a,350,195)}else{showModalWindow(a,350,195)}}function OpenRedTitleMessage(b,c){var a=strRedTitleMessage.replace(/%TOKEN_GAME_NAME%/g,c);a=a.replace(/%TOKEN_GAME_PAGE_URL%/g,'"'+g_strBaseURL+"/do/game?partner="+g_strCurrentPartnerName+"&game="+b+'#SystemRequirements"');showMessageBox(g_strImageServerUrl+"/products/"+b+"/boxshot.jpg","Oops...",a)}function OpenIncompatibleMessage(c,d,b){var a=g_strBaseURL+"/do/general?partner="+g_strCurrentPartnerName+"&jspName=SystemIncompatibleMessage&contentId="+c+"&contentName="+escape(d)+"&isRedTitle="+b;if(isIE){showModalWindow(a,450,275)}else{showModalWindow(a,454,275)}}function GetDirections(g,k,j){var c;var m="";try{var i=GPlayerApi_GetPCMuid();if(!k){if(g_strPCDependencies==""){g_strPCDependencies=GPlayerApi_GetPCDependences()}if(g_strPCDependencies!=""){m="&components="+g_strPCDependencies}}var b=g_ContextPath+"/do/mediaRGMX?partner="+g_strCurrentPartnerName+"&appId="+g+"&runIndex=0&muid="+i+"&bAddToDownloadList="+k+m;b=addTrackingParamsToUrl(b,j);var n=xmlDocLoadURLSync(b);var l=n.getElementsByTagName("Directions");if(null==l.item(0)){c=new structDirections("","","Wrong Directions");return c}var a=n.getElementsByTagName("ErrorCode");var h=n.getElementsByTagName("ErrorString");if("0"!=a.item(0).text){c=new structDirections("",a.item(0).text,"Error: Code = "+a.item(0).text+", Message = "+h.item(0).text);return c}var f=n.getElementsByTagName("Buffer");if(null==f.item(0)){c=new structDirections("","","Wrong Directions");return c}c=new structDirections(f.item(0).text,a.item(0).text,h.item(0).text);return c}catch(d){c=new structDirections("","","Exception in GetDirections() function");return c}}function getPlayButton(b){if(!g_bClientInstalled||!GPlayerApi_IsActiveXInstalled(g_strActiveXVersion)){return Exent.Web.Beta.Defines.PlayButtonStatus.Download}var a=GetGPlayerGameInfo(b);if("1"==a.strActive&&"0"!=a.strDownloadPriority){return Exent.Web.Beta.Defines.PlayButtonStatus.Downloading}if("0"<a.strDownloadPriority){return Exent.Web.Beta.Defines.PlayButtonStatus.InDownloadQueue}if("1"==a.strGameRunning){return Exent.Web.Beta.Defines.PlayButtonStatus.Running}if("0"==a.strPlayerAPIErrCode&&"1"==a.strReadyToUse){return Exent.Web.Beta.Defines.PlayButtonStatus.Play}return Exent.Web.Beta.Defines.PlayButtonStatus.Download}function canRunApplication(f){var b="0";try{var g=g_ContextPath+"/do/directionsSupplier?partner="+g_strCurrentPartnerName+"&callType=canRunApplication&appId="+f+"&runIndex=0";var c=xmlDocLoadURLSync(g);var a=c.getElementsByTagName("ErrorCode");if("0"!=a.item(0).text){b=a.item(0).text;return b}return b}catch(d){return"-1"}}function checkEmailCollection(c,a){if("1"!=iEmailCollectionLevel){var d=g_strProviderID+"_"+Exent.Web.Beta.Defines.Cookies.EmailCollection;var b=getPersistentCookie(d);if(b!="true"){if(!isValidObject(a)||a==false){OpenEmailCollectionForm(c);return true}}}return false}var Base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(c){var a="";var k,h,f,j,g,e,d;var b=0;c=Base64._utf8_encode(c);while(b<c.length){k=c.charCodeAt(b++);h=c.charCodeAt(b++);f=c.charCodeAt(b++);j=k>>2;g=((k&3)<<4)|(h>>4);e=((h&15)<<2)|(f>>6);d=f&63;if(isNaN(h)){e=d=64}else{if(isNaN(f)){d=64}}a=a+this._keyStr.charAt(j)+this._keyStr.charAt(g)+this._keyStr.charAt(e)+this._keyStr.charAt(d)}return a},decode:function(c){var a="";var k,h,f;var j,g,e,d;var b=0;c=c.replace(/[^A-Za-z0-9\+\/\=]/g,"");while(b<c.length){j=this._keyStr.indexOf(c.charAt(b++));g=this._keyStr.indexOf(c.charAt(b++));e=this._keyStr.indexOf(c.charAt(b++));d=this._keyStr.indexOf(c.charAt(b++));k=(j<<2)|(g>>4);h=((g&15)<<4)|(e>>2);f=((e&3)<<6)|d;a=a+String.fromCharCode(k);if(e!=64){a=a+String.fromCharCode(h)}if(d!=64){a=a+String.fromCharCode(f)}}a=Base64._utf8_decode(a);return a},_utf8_encode:function(b){b=b.replace(/\r\n/g,"\n");var a="";for(var e=0;e<b.length;e++){var d=b.charCodeAt(e);if(d<128){a+=String.fromCharCode(d)}else{if((d>127)&&(d<2048)){a+=String.fromCharCode((d>>6)|192);a+=String.fromCharCode((d&63)|128)}else{a+=String.fromCharCode((d>>12)|224);a+=String.fromCharCode(((d>>6)&63)|128);a+=String.fromCharCode((d&63)|128)}}}return a},_utf8_decode:function(a){var b="";var d=0;var e=c1=c2=0;while(d<a.length){e=a.charCodeAt(d);if(e<128){b+=String.fromCharCode(e);d++}else{if((e>191)&&(e<224)){c2=a.charCodeAt(d+1);b+=String.fromCharCode(((e&31)<<6)|(c2&63));d+=2}else{c2=a.charCodeAt(d+1);c3=a.charCodeAt(d+2);b+=String.fromCharCode(((e&15)<<12)|((c2&63)<<6)|(c3&63));d+=3}}}return b}};