
var g_iPS_NotInitiated=-1;var g_iPS_Error=0;var g_iPS_Canceled=1;var g_iPS_Unknown=10;var g_iPS_Initializing=13;var g_iPS_RunDownload=20;var g_iPS_CheckSigniture=30;var g_iPS_RunInstall=40;var g_iPS_Finished=50;var g_bLog=false;var g_bValidate=false;var g_strSchemaPath="C:\\PlayerAPI\\PlayerApiSchema.xsd";var g_bIsIE=(-1!=navigator.userAgent.indexOf("MSIE"));function GetXMLDocument(bForSchema)
{var xmlDoc;if(!bForSchema)
{bForSchema=false;}
else
{bForSchema=true;}
if(g_bIsIE)
{if(bForSchema)
{xmlDoc=new ActiveXObject("MSXML2.DOMDocument.4.0");}
else
{xmlDoc=new ActiveXObject("Msxml2.DOMDocument");}}
else
{xmlDoc=zXmlDom.createDocument();}
return xmlDoc;}
function GetXMLDocumentSchemaCache()
{var xmlDoc;if(g_bIsIE)
{xmlDoc=new ActiveXObject("MSXML2.XMLSchemaCache.4.0");}
else
{xmlDoc=zXmlDom.createDocument();}
return xmlDoc;}
function GPlayerApi_GetGamesIdsList(strProviderId,bActiveGamesOnly,bInDownloadListOnly,bReadyToUseOnly,bNotInDownloadList,strSortBy,bCurrentOSOnly,bCacheUpdating)
{var strActiveGamesOnly="0";if(bActiveGamesOnly)
{strActiveGamesOnly="1";}
var strInDownloadListOnly="0";if(bInDownloadListOnly)
{strInDownloadListOnly="1";}
var strReadyToUseOnly="0";if(bReadyToUseOnly)
{strReadyToUseOnly="1";}
var strNotInDownloadList="0";if(bNotInDownloadList)
{strNotInDownloadList="1";}
var strCurrentOSOnly="0";if(bCurrentOSOnly)
{strCurrentOSOnly="1";}
var strCacheUpdating="0";if(bCacheUpdating)
{strCacheUpdating="1";}
var strRequest="<GetGamesIdsListRequest ProviderId=\""+strProviderId+"\" ActiveGamesOnly=\""+strActiveGamesOnly+"\" InDownloadListOnly=\""+strInDownloadListOnly+"\" ReadyToUseOnly=\""+strReadyToUseOnly+"\" NotInDownloadList=\""+strNotInDownloadList+"\" CurrentOSOnly=\""+strCurrentOSOnly+"\" CacheUpdating=\""+strCacheUpdating+"\" SortBy=\""+strSortBy+"\"/>";return DispatchRequestAndReturnPlayerXml(strRequest,"GetGamesIdsListResponse");}
function GPlayerApi_GetActiveGameId()
{var strResponse=GPlayerApi_GetGamesIdsList("-2",true,false,false,false,"None",true);var strQuery="GetGamesIdsListResponse/ContentDescriptor";return GetAttribFromXml(strResponse,strQuery,"Id");}
function GPlayerApi_GetDownloadListInfo(strContentId,strProviderId)
{var strRequest="<GetDownloadListInfoRequest><ContentDescriptor Id=\""+
strContentId+"\" "+"ProviderId=\""+strProviderId+"\" "+"/></GetDownloadListInfoRequest>";return DispatchRequestAndReturnPlayerXml(strRequest,"GetDownloadListInfoResponse");}
function GPlayerApi_GetDownloadListState(strProviderId)
{var strRequest="<GetDownloadListStateRequest><ProviderDescriptor Id=\""+
strProviderId+"\" "+"/></GetDownloadListStateRequest>";return DispatchRequestAndReturnPlayerXml(strRequest,"GetDownloadListStateResponse");}
function GPlayerApi_GetDownloadInfo(strContentId)
{var strRequest="<GetDownloadInfoRequest><ContentDescriptor Id=\""+
strContentId+"\" "+"/></GetDownloadInfoRequest>";return DispatchRequestAndReturnPlayerXml(strRequest,"GetDownloadInfoResponse");}
function GPlayerApi_GetExecutionState(strContentId,strProviderId)
{var strRequest="<GetExecutionStateRequest><ContentDescriptor Id=\""+
strContentId+"\" "+"ProviderId=\""+strProviderId+"\" "+"/></GetExecutionStateRequest>";return DispatchRequestAndReturnPlayerXml(strRequest,"GetExecutionStateResponse");}
function GPlayerApi_GetLastSessionError(strContentId,strProviderId)
{var strRequest="<GetLastSessionErrorRequest><ContentDescriptor Id=\""+
strContentId+"\" "+"ProviderId=\""+strProviderId+"\" "+"/></GetLastSessionErrorRequest>";return DispatchRequestAndReturnPlayerXml(strRequest,"GetLastSessionErrorResponse");}
function GPlayerApi_ClearLastSessionError(strContentId,strProviderId)
{var strRequest="<ClearLastSessionErrorRequest><ContentDescriptor Id=\""+
strContentId+"\" "+"ProviderId=\""+strProviderId+"\" "+"/></ClearLastSessionErrorRequest>";return DispatchRequestAndReturnAPIErrorFromContent(strRequest,strContentId,"ClearLastSessionErrorResponse");}
function GPlayerApi_GetLastSessionInfo(strContentId,strProviderId)
{var strRequest="<GetLastSessionInfoRequest><ContentDescriptor Id=\""+
strContentId+"\" "+"ProviderId=\""+strProviderId+"\" "+"/></GetLastSessionInfoRequest>";return DispatchRequestAndReturnPlayerXml(strRequest,"GetLastSessionInfoResponse");}
function GPlayerApi_OpenSettings(strPageName)
{if(typeof strPageName=="undefined"||strPageName=="")
{strPageName="DefaultPage";}
var strRequest="<OpenSettingsRequest PageName=\""+strPageName+"\" />";return DispatchRequestAndReturnAPIErrorFromRoot(strRequest,"OpenSettingsResponse");}
function GPlayerApi_SetLang(strProviderId,strLangId)
{var strRequest="<SetLangRequest ProviderId=\""+
strProviderId+"\" LangId=\""+
strLangId+"\"/>";return DispatchRequestAndReturnAPIErrorFromRoot(strRequest,"SetLangResponse");}
function GPlayerApi_ClosePlayer(bForce)
{var strForce="0";if(bForce)
{strForce="1";}
var strRequest="<ClosePlayerRequest Force = \""+strForce+"\" />";return DispatchRequestAndReturnAPIErrorFromRoot(strRequest,"ClosePlayerResponse");}
function GPlayerApi_MinimizePlayer(bMinimizeToSystemTray)
{var strMinimizeToSystemTray="0";if(bMinimizeToSystemTray)
{strMinimizeToSystemTray="1";}
var strRequest="<MinimizePlayerRequest MinimizeToSystemTray=\""+
strMinimizeToSystemTray+"\"/>";return DispatchRequestAndReturnAPIErrorFromRoot(strRequest,"MinimizePlayerResponse");}
function GPlayerApi_RestorePlayer(strActionInfo)
{var strRequest="<RestorePlayerRequest";if(strActionInfo)
{strRequest+=">";strRequest+="<ActionInfo>";strRequest+="<![CDATA[";strRequest+=strActionInfo;strRequest+="]]>";strRequest+="</ActionInfo>";strRequest+="</RestorePlayerRequest>";}
else
{strRequest+="/>";}
return DispatchRequestAndReturnAPIErrorFromRoot(strRequest,"RestorePlayerResponse");}
function GPlayerApi_SetFullScreen(bFullScreen)
{var strFullScreen="0";if(bFullScreen)
{strFullScreen="1";}
var strRequest="<SetFullScreenRequest FullScreen=\""+
strFullScreen+"\"/>";return DispatchRequestAndReturnAPIErrorFromRoot(strRequest,"SetFullScreenResponse");}
function GPlayerApi_SetFullScreenOff(bFullScreen)
{var strFullScreen="0";var strRequest="<SetFullScreenRequest FullScreen=\""+
strFullScreen+"\"/>";return DispatchRequestAndReturnAPIErrorFromRoot(strRequest,"SetFullScreenResponse");}
function GPlayerApi_SetTheaterMode(bTheaterMode)
{var strTheaterMode="0";if(bTheaterMode)
{strTheaterMode="1";}
var strRequest="<SetTheaterModeRequest TheaterMode=\""+
strTheaterMode+"\"/>";return DispatchRequestAndReturnAPIErrorFromRoot(strRequest,"SetTheaterModeResponse");}
function GPlayerApi_AddGameToDownloadList(strContentId,strProviderId,strDirections,bFullDownload,ToPriority,strDirectionsUrl)
{var strFullDownload="0";if(bFullDownload)
{strFullDownload="1";}
var strToPriority="-1";if(ToPriority)
{strToPriority=""+ToPriority;}
if(!strDirectionsUrl)
{strDirectionsUrl="";}
if(strDirectionsUrl!="")
{strDirectionsUrl=GPlayerApi_FixUrl(strDirectionsUrl);}
var strRequest="<AddGameToDownloadListRequest><ContentDescriptor Id=\""+
strContentId+"\" "+"ProviderId=\""+strProviderId+"\" "+"FullDownload=\""+strFullDownload+"\" "+"DirectionsUrl=\""+strDirectionsUrl+"\" "+"ToPriority=\""+strToPriority+"\">"+"<DirectionsString>"+strDirections+"</DirectionsString></ContentDescriptor></AddGameToDownloadListRequest>";return DispatchRequestAndReturnAPIErrorFromContent(strRequest,strContentId,"AddGameToDownloadListResponse");}
function GPlayerApi_RemoveGameFromDownloadList(strContentId,strProviderId)
{var strRequest="<RemoveGameFromDownloadListRequest><ContentDescriptor Id=\""+
strContentId+"\" "+"ProviderId=\""+strProviderId+"\" "+"/></RemoveGameFromDownloadListRequest>";return DispatchRequestAndReturnAPIErrorFromContent(strRequest,strContentId,"RemoveGameFromDownloadListResponse");}
function GPlayerApi_IncreaseDownloadPriority(strContentId,strProviderId)
{var strRequest="<IncreaseDownloadPriorityRequest><ContentDescriptor Id=\""+
strContentId+"\" "+"ProviderId=\""+strProviderId+"\" "+"/></IncreaseDownloadPriorityRequest>";return DispatchRequestAndReturnAPIErrorFromContent(strRequest,strContentId,"IncreaseDownloadPriorityResponse");}
function GPlayerApi_DecreaseDownloadPriority(strContentId,strProviderId)
{var strRequest="<DecreaseDownloadPriorityRequest><ContentDescriptor Id=\""+
strContentId+"\" "+"ProviderId=\""+strProviderId+"\" "+"/></DecreaseDownloadPriorityRequest>";return DispatchRequestAndReturnAPIErrorFromContent(strRequest,strContentId,"DecreaseDownloadPriorityResponse");}
function GPlayerApi_ResumeDownloadList(strProviderId)
{var strRequest="<ResumeDownloadListRequest><ProviderDescriptor Id=\""+
strProviderId+"\" "+"/></ResumeDownloadListRequest>";return DispatchRequestAndReturnAPIErrorFromProvider(strRequest,strProviderId,"ResumeDownloadListResponse");}
function GPlayerApi_PauseDownloadList(strProviderId)
{var strRequest="<PauseDownloadListRequest><ProviderDescriptor Id=\""+
strProviderId+"\" "+"/></PauseDownloadListRequest>";return DispatchRequestAndReturnAPIErrorFromProvider(strRequest,strProviderId,"PauseDownloadListResponse");}
function GPlayerApi_DownloadAndPlay(strContentId,strProviderId,strDirections,bAutoSwitch,bAutoPlay,intPlayerAPIType,bAllowLoseFocus)
{return GPlayerApi_PrepareGameForPlay(strContentId,strProviderId,0,"","",strDirections,"",bAutoSwitch,bAutoPlay,intPlayerAPIType,bAllowLoseFocus);}
function GPlayerApi_PlayGame(strContentId,strCmdLineId,bAllowLoseFocus)
{var strAllowLoseFocus="0";if(typeof bAllowLoseFocus=="undefined"||bAllowLoseFocus==1)
{strAllowLoseFocus="1";}
var strRequest="<PlayGameRequest><ContentDescriptor Id=\""+
strContentId+"\" "+"CmdlineId=\""+strCmdLineId+"\" "+"AllowLoseFocus=\""+strAllowLoseFocus+"\" "+"/></PlayGameRequest>";return DispatchRequestAndReturnAPIErrorFromContent(strRequest,strContentId,"PlayGameResponse");}
function GPlayerApi_StopGame(strContentId)
{var strRequest="<StopGameRequest><ContentDescriptor Id=\""+
strContentId+"\" "+"/></StopGameRequest>";return DispatchRequestAndReturnAPIErrorFromContent(strRequest,strContentId,"StopGameResponse");}
function GPlayerApi_UninstallGame(strContentId,bKeepSavedInfo)
{var strKeepSavedInfo="0";if(bKeepSavedInfo)
{strKeepSavedInfo="1";}
var strRequest="<RemoveGameRequest><ContentDescriptor Id=\""+
strContentId+"\" "+"KeepSavedInfo=\""+strKeepSavedInfo+"\" "+"/></RemoveGameRequest>";return DispatchRequestAndReturnAPIErrorFromContent(strRequest,strContentId,"RemoveGameResponse");}
function GPlayerApi_LoadActiveX(strActiveXFolderPath,strFileName,strActiveXVersion,strParamsForActiveX,bRegisterNotifications)
{var strRealName=strFileName;if(strFileName==""||strFileName==null)
{strRealName="game_launcher";}
strRealName=strRealName+".ocx";if(strActiveXFolderPath!=""&&strActiveXFolderPath!=null)
{strRealName=strActiveXFolderPath+"/"+strRealName;}
var str;if(g_bIsIE)
{str="<object codebase='"+strRealName+"#version="+strActiveXVersion+"' CLASSID='clsid:6A060448-60F9-11D5-A6CD-0002B31F7455' id='EXENTCTL' name='MyCtrl' style='position:absolute;bottom:0pxright:0px;' width='1'>";str=str+strParamsForActiveX;str=str+"</object>";}
else
{if(null!=navigator.mimeTypes["application/x-exent-aod"])
{str="<object type='application/x-exent-aod' id='EXENTCTL' name='MyCtrl' hidden='true' VIEWASTEXT>";str=str+strParamsForActiveX;str=str+"</object>";}}
if(bRegisterNotifications)
{str=str+"<SCRIPT LANGUAGE=\"JavaScript\" FOR=\"EXENTCTL\" EVENT=\"InvokeCB(strXml)\">return GPlayerApi_InvokeCB(strXml)</SCRIPT>";}
document.writeln(str);}
function GPlayerApi_FormatActiveXParamStr(strSkinId,strStyleId,strProviderId)
{if(!strProviderId)
{strProviderId="60000";}
var strParamsForActiveX="<param name='player_skin_id' value='"+strSkinId+"'>"+"<param name='player_style_id' value='"+strStyleId+"'>"+"<param name='player_provider_id' value='"+strProviderId+"'>";return strParamsForActiveX;}
function GPlayerApi_InvokeCB(strXml)
{try
{if(g_bValidate)
{ValidateXml(strXml);}
GPlayerInvokeCB(strXml);}
catch(e)
{}}
function GPlayerApi_IsActiveXInstalled(strPortalActiveXVersion)
{try
{var ExentCtl=null;ExentCtl=GetExentCtlInstance(true);if(null!=ExentCtl)
{if(null==strPortalActiveXVersion||""==strPortalActiveXVersion)
{return true;}
var strInstalledVersion=GetActiveXInstalledVersion(ExentCtl);var iResult=CompareActiveXVersions(strInstalledVersion,strPortalActiveXVersion);if(iResult<2)
{return true;}}
return false;}
catch(e)
{return false;}}
function GPlayerApi_CompareActiveXVersions(strPortalActiveXVersion)
{try
{var ExentCtl=null;ExentCtl=GetExentCtlInstance(true);if(null!=ExentCtl)
{var strInstalledVersion=GetActiveXInstalledVersion(ExentCtl);var iResult=CompareActiveXVersions(strInstalledVersion,strPortalActiveXVersion);return iResult;}
return-1;}
catch(e)
{return-1;}}
function GPlayerApi_IsPlayerInstalled(strClientVersion,strClientVersionMask,strSkinId,strSkinVersion,strSkinVersionMask)
{if(strSkinId!=null&&strSkinId!=""&&strSkinVersion!=null&&strSkinVersion!=""&&strSkinVersionMask!=null&&strSkinVersionMask!="")
{var bIsSkinInstalled=GPlayerApi_IsPlayerSkinInstalled(strSkinId,strSkinVersion,strSkinVersionMask);if(!bIsSkinInstalled)
{return false;}}
return(GPlayerApi_IsClientInstalled(strClientVersion,strClientVersionMask));}
function GPlayerApi_IsClientInstalled(strClientVersion,strClientVersionMask)
{var strMinClientVersion=strClientVersion+";"+strClientVersionMask;try
{var strXml=GetExentCtlInstance(true).GetClientInfo(1,0,strMinClientVersion);var xmlDoc=GetXMLDocument();xmlDoc.async=false;xmlDoc.loadXML(strXml);var Node=xmlDoc.selectSingleNode("ClientInformation/ErrorId");var strErrorId=Node.text;if("0"!=strErrorId)
{return false;}}
catch(e)
{return false;}
return true;}
function GPlayerApi_IsPlayerSkinInstalled(strSkinId,strSkinVersion,strSkinVersionMask)
{var strMinSkinVersion=strSkinId+";"+strSkinVersion+";"+strSkinVersionMask;try
{var strXml=GetExentCtlInstance(true).GetClientInfo(14,0,strMinSkinVersion);var xmlDoc=GetXMLDocument();xmlDoc.async=false;xmlDoc.loadXML(strXml);var Node=xmlDoc.selectSingleNode("ClientInformation/ErrorId");var strErrorId=Node.text;if("0"!=strErrorId)
{return false;}}
catch(e)
{return false;}
return true;}
function GPlayerApi_GetPCDependences()
{var strPCDependences="";try
{var strXml=GetExentCtlInstance(true).GetClientInfo(3,0,"getinfo");var xmlDoc=GetXMLDocument();xmlDoc.async=false;xmlDoc.loadXML(strXml);var Node=xmlDoc.selectSingleNode("ClientInformation/ErrorId");var strErrorId=Node.text;if("0"!=strErrorId)
{return"";}
Node=xmlDoc.selectSingleNode("ClientInformation/Information");strPCDependences=Node.text;}
catch(e)
{return"";}
return strPCDependences;}
function GPlayerApi_GetPCDependencesAsXml()
{var strPCDependences="";try
{var strXml=GetExentCtlInstance(true).GetClientInfo(16,0,"getinfo");var xmlDoc=GetXMLDocument();xmlDoc.async=false;xmlDoc.loadXML(strXml);var Node=xmlDoc.selectSingleNode("ClientInformation/ErrorId");var strErrorId=Node.text;if("0"!=strErrorId)
{return"";}
Node=xmlDoc.selectSingleNode("ClientInformation/Information/Components");strPCDependences=Node.xml;}
catch(e)
{return"";}
return strPCDependences;}
function GPlayerApi_GetPCMuid()
{var strMuid="";try
{var strXml=GetExentCtlInstance(true).GetClientInfo(9,1,"");var xmlDoc=GetXMLDocument();xmlDoc.async=false;xmlDoc.loadXML(strXml);var Node=xmlDoc.selectSingleNode("ClientInformation/ErrorId");var strErrorId=Node.text;if("0"!=strErrorId)
{return"";}
Node=xmlDoc.selectSingleNode("ClientInformation/Information");strMuid=Node.text;}
catch(e)
{return"";}
return strMuid;}
function GPlayerApi_InstallPlayer(strEXEtenderInstallationPath,bSilentMode)
{try
{var iOption=5;if(bSilentMode)
{iOption=13;}
var strXml=GetExentCtlInstance(true).GetClientInfo(iOption,0,strEXEtenderInstallationPath);var xmlDoc=GetXMLDocument();xmlDoc.async=false;xmlDoc.loadXML(strXml);var Node=xmlDoc.selectSingleNode("ClientInformation/ErrorId");var strErrorId=Node.text;if("0"!=strErrorId)
{return false;}}
catch(e)
{return false;}
window.setTimeout("IsPlayerInstallationFinished()",100);}
function GPlayerApi_InstallPlayerWithGUI(strEXEtenderInstallationPath,bSilentMode)
{try
{var iOption=11;GetExentCtlInstance(true).SetParam("install_url",strEXEtenderInstallationPath);var strXml=GetExentCtlInstance(true).GetClientInfo(iOption,1,"");var xmlDoc=GetXMLDocument();xmlDoc.async=false;xmlDoc.loadXML(strXml);var Node=xmlDoc.selectSingleNode("ClientInformation/ErrorId");var strErrorId=Node.text;if("0"!=strErrorId)
{try
{var iStatus=GPlayerApi_GetPlayerInstallationState();switch(iStatus)
{case g_iPS_Error:case g_iPS_Canceled:case g_iPS_Unknown:case g_iPS_NotInitiated:return false;}}
catch(e)
{return false;}}}
catch(e)
{return false;}
window.setTimeout("IsPlayerInstallationFinished()",1000);}
function DispatchRequestAndReturnAPIErrorFromSkin(strRequest,strSkinId,strTagName)
{var strQuery="ClientInformation/Information/"+strTagName+"/SkinDescriptor[@Id="+strSkinId+"]";var strXmlResponse=DispatchXmlRequest(strRequest);return GetPlayerAPIErrorFromXml(strXmlResponse,strQuery);}
function DispatchRequestAndReturnAPIErrorFromContent(strRequest,strContentId,strTagName)
{var strQuery="ClientInformation/Information/"+strTagName+"/ContentDescriptor[@Id="+strContentId+"]";var strXmlResponse=DispatchXmlRequest(strRequest);return GetPlayerAPIErrorFromXml(strXmlResponse,strQuery);}
function DispatchRequestAndReturnAPIErrorFromProvider(strRequest,strProviderId,strTagName)
{var strQuery="ClientInformation/Information/"+strTagName+"/ProviderDescriptor[@Id="+strProviderId+"]";var strXmlResponse=DispatchXmlRequest(strRequest);return GetPlayerAPIErrorFromXml(strXmlResponse,strQuery);}
function DispatchRequestAndReturnAPIErrorFromRoot(strRequest,strTagName)
{var strQuery="ClientInformation/Information/"+strTagName;var strXmlResponse=DispatchXmlRequest(strRequest);return GetPlayerAPIErrorFromXml(strXmlResponse,strQuery);}
function DispatchRequestAndReturnAPIErrorFromGG(strRequest,strGGID,strTagName)
{var strQuery="ClientInformation/Information/"+strTagName+"/GGDescriptor[@Id=\""+strGGID+"\"]";var strXmlResponse=DispatchXmlRequest(strRequest);return GetPlayerAPIErrorFromXml(strXmlResponse,strQuery);}
function GetExentCtlInstanceInternal()
{var tempCtl=null;try
{if(null==tempCtl)
{tempCtl=document.EXENTCTL;if(null==tempCtl)
{tempCtl=parent.document.EXENTCTL;}
if(null==tempCtl)
{tempCtl=top.document.EXENTCTL;}}}
catch(e)
{return null;}
return tempCtl;}
var g_ActiveXObject=null;function GetExentCtlInstance(bAllowNewActiveXObject)
{if(null!=g_ExentCtl&&g_ExentCtl.id=="EXENTCTL")
{return g_ExentCtl;}
var tempCtl=GetExentCtlInstanceInternal();g_ExentCtl=tempCtl;if(bAllowNewActiveXObject&&null==tempCtl)
{if(null!=g_ActiveXObject)
{return g_ActiveXObject;}
try
{if(g_bIsIE)
{tempCtl=new ActiveXObject("ExentCtl.ExentInf");g_ActiveXObject=tempCtl;}
else
{if(null!=navigator.mimeTypes["application/x-exent-aod"])
{document.write("<object type='application/x-exent-aod' id='EXENTCTL_TEMP' name='MyCtrlTemp' hidden='true' VIEWASTEXT>undefined</object>");tempCtl=document.EXENTCTL_TEMP;g_ActiveXObject=tempCtl;}}}
catch(e){}}
return tempCtl;};function DispatchXmlRequest(strRequest)
{try
{if(g_bLog)
{OnAPIRequestLog(strRequest);}
if(g_bValidate)
{ValidateXml(strRequest);}
var strResponse=GetExentCtlInstance(false).Invoke(strRequest);if(strResponse=="")
{strResponse="Handle this case";}
if(g_bLog)
{var xmlDoc=GetXMLDocument();xmlDoc.async=false;xmlDoc.loadXML(strResponse);var strQuery="ClientInformation/Information";var Node=xmlDoc.selectSingleNode(strQuery);var ResponseNode=Node.firstChild;OnAPIResponseLog(ResponseNode.xml);if(g_bValidate)
{ValidateXml(ResponseNode.xml);}}
return strResponse;}
catch(e)
{return"Exception";}}
function ValidateXml(strXml)
{var strMsg="";try
{var schemaCache=GetXMLDocumentSchemaCache();schemaCache.add("",g_strSchemaPath);var xmlDoc=GetXMLDocument(true);xmlDoc.schemas=schemaCache;xmlDoc.async="false";xmlDoc.validateOnParse=true;xmlDoc.loadXML(strXml);if(xmlDoc.parseError.errorCode!="0")
{strMsg="Failed!!! ValidateXml  xml=";}
else
{strMsg="Success!!! ValidateXml  xml=";}
strMsg+=strXml;alert(strMsg);}
catch(e)
{}}
function GetPlayerAPIErrorFromXml(strXml,strQuery)
{var strErrorId=GetResponseErrorId(strXml);if("0"!=strErrorId)
{return strErrorId;}
return GetAttribFromXml(strXml,strQuery,"PlayerAPIErr");}
function GetResponseErrorId(strXml)
{try
{var xmlDoc=GetXMLDocument();xmlDoc.async=false;xmlDoc.loadXML(strXml);var Node=xmlDoc.selectSingleNode("ClientInformation/ErrorId");var strErrorId=Node.text;return strErrorId;}
catch(e)
{return"";}}
function GetAttribFromXml(strXml,strQueryOnResponse,strAttrib)
{try
{var xmlDoc=GetXMLDocument();xmlDoc.async=false;xmlDoc.loadXML(strXml);var Node=xmlDoc.selectSingleNode(strQueryOnResponse);return Node.getAttribute(strAttrib);}
catch(e)
{return"";}}
function GPlayerApi_Log(bLog)
{g_bLog=bLog;};function DispatchRequestAndReturnPlayerXml(strRequest,strTagName)
{try
{var strXmlResponse=DispatchXmlRequest(strRequest);var xmlDoc=GetXMLDocument();xmlDoc.async=false;xmlDoc.loadXML(strXmlResponse);var strQuery="ClientInformation/Information/"+strTagName;var Node=xmlDoc.selectSingleNode(strQuery);return Node.xml;}
catch(e)
{return"";}}
function IsPlayerInstallationFinished()
{var blnActiveXInstalled=true;if(null==GetExentCtlInstance(true))
{blnActiveXInstalled=false;}
if(!blnActiveXInstalled)
{if(!g_bIsIE)
{navigator.plugins.refresh();if(null!=navigator.mimeTypes["application/x-exent-aod"])
{top.location.reload();window.setTimeout("IsPlayerInstallationFinished()",1000);return;}}
window.setTimeout("IsPlayerInstallationFinished()",1000);return;}
try{OnPlayerInstalling(g_strMasterId);}catch(e){}
var bIsPlayerInstalled=false;var iAfterPlayerInstallationFinishedCallInterval=1000;try
{bIsPlayerInstalled=GPlayerApi_IsPlayerInstalled(g_strClientVersion,g_strClientVersionMask,g_strClientSkinID,g_strClientSkinVersion,g_strClientSkinVersionMask);iAfterPlayerInstallationFinishedCallInterval=g_AfterEXEtenderInstallationPageRefreshInterval;}
catch(e)
{bIsPlayerInstalled=true;}
if(bIsPlayerInstalled)
{var blnFinished=false;try
{var iStatus=GPlayerApi_GetPlayerInstallationState();switch(iStatus)
{case g_iPS_Initializing:case g_iPS_RunDownload:case g_iPS_CheckSigniture:case g_iPS_RunInstall:blnFinished=false;break;case g_iPS_Error:case g_iPS_Canceled:case g_iPS_Unknown:case g_iPS_Finished:default:blnFinished=true;break;}}
catch(e)
{blnFinished=true;}
if(blnFinished)
{window.setTimeout("AfterPlayerInstallationFinished()",iAfterPlayerInstallationFinishedCallInterval);return;}}
window.setTimeout("IsPlayerInstallationFinished()",1000);}
function GetActiveXInstalledVersion(ExentCtl)
{try
{var strXml=ExentCtl.GetClientInfo(12,0,"");var xmlDoc=GetXMLDocument();xmlDoc.async=false;xmlDoc.loadXML(strXml);var Node=xmlDoc.selectSingleNode("ClientInformation/ErrorId");var strErrorId=Node.text;if("0"!=strErrorId)
{return"";}
var Node=xmlDoc.selectSingleNode("ClientInformation/Information");var strVersion=Node.text;return strVersion;}
catch(e)
{return"";}}
function CompareActiveXVersions(strInstalledVersion,strPortalVersion)
{var arrInstalledVersion=strInstalledVersion.split(".");var arrPortalVersion=strPortalVersion.split(",");var iCurrentInstalledVersion;var iCurrentPortalVersion;for(iIndex=0;iIndex<arrInstalledVersion.length;iIndex++)
{iCurrentInstalledVersion=parseInt(arrInstalledVersion[iIndex]);if(isNaN(iCurrentInstalledVersion))
{iCurrentInstalledVersion=0;}
iCurrentPortalVersion=parseInt(arrPortalVersion[iIndex]);if(isNaN(iCurrentPortalVersion))
{iCurrentPortalVersion=0;}
if(iCurrentInstalledVersion>iCurrentPortalVersion)
{return 1;}
if(iCurrentInstalledVersion<iCurrentPortalVersion)
{return 2;}}
return 0;}
function GPlayerApi_GetPlayerInstallationState()
{try
{var strXml=GetExentCtlInstance(true).GetClientInfo(6,0,"");var xmlDoc=GetXMLDocument();xmlDoc.async=false;xmlDoc.loadXML(strXml);var Node=xmlDoc.selectSingleNode("ClientInformation/ErrorId");var strErrorId=Node.text;if("0"!=strErrorId)
{return g_iPS_Error;}
var Node=xmlDoc.selectSingleNode("ClientInformation/Information/State");var strState=Node.text;var iInstallationState=parseInt(strState);if(isNaN(iInstallationState))
{iInstallationState=0;}
return iInstallationState;}
catch(e)
{return g_iPS_Error;}}
function GPlayerApi_PrepareGameForPlay(strContentId,strProviderId,dwCmdlineId,strDirectionsUrl,strActivationKey,strDirections,strAuthKey,bAutoSwitch,bAutoPlay,intPlayerAPIType,bAllowLoseFocus)
{var strAutoSwitch="0";var strAutoPlay="0";var strAllowLoseFocus="0";if(strDirectionsUrl!="")
{strDirectionsUrl=GPlayerApi_FixUrl(strDirectionsUrl);}
if(bAutoSwitch)
{strAutoSwitch="1";}
if(bAutoPlay)
{strAutoPlay="1";}
if(typeof bAllowLoseFocus=="undefined"||bAllowLoseFocus==1)
{strAllowLoseFocus="1";}
var strRequest="<PrepareGameForPlayRequest><ContentDescriptor Id=\""+
strContentId+"\" "+"ProviderId=\""+strProviderId+"\" "+"CmdlineId=\""+dwCmdlineId+"\" "+"DirectionsUrl=\""+strDirectionsUrl+"\" "+"ActivationKey=\""+strActivationKey+"\" "+"AuthKey=\""+strAuthKey+"\" "+"AutoSwitch=\""+strAutoSwitch+"\" "+"AutoPlay=\""+strAutoPlay+"\" "+"PlayerAPIType=\""+intPlayerAPIType+"\" "+"AllowLoseFocus=\""+strAllowLoseFocus+"\">"+"<DirectionsString>"+strDirections+"</DirectionsString></ContentDescriptor></PrepareGameForPlayRequest>";return DispatchRequestAndReturnAPIErrorFromContent(strRequest,strContentId,"PrepareGameForPlayResponse");}
function GPlayerApi_FixUrl(strUrl)
{var strOut=strUrl.replace(/&/g,"&#38;amp;");return strOut;}
function GPlayerApi_GetGameAsset(strContentId,strProviderId,strAssetId)
{var strRequest="<GetGameAssetRequest>"+"<ContentDescriptor Id=\""+strContentId+"\" ProviderId=\""+strProviderId+"\">"+"<Asset Id=\""+strAssetId+"\" />"+"</ContentDescriptor>"+"</GetGameAssetRequest>"
return DispatchRequestAndReturnPlayerXml(strRequest,"GetGameAssetResponse");}
function GPlayerApi_GetGameMD(strContentId,strProviderId,strMDId,strDefault)
{var strRequest="<GetGameMDRequest>"+"<ContentDescriptor Id=\""+strContentId+"\" ProviderId=\""+strProviderId+"\" >"+"<MD Id=\""+strMDId+"\" Default=\""+strDefault+"\"/>"+"</ContentDescriptor>"+"</GetGameMDRequest>";return DispatchRequestAndReturnPlayerXml(strRequest,"GetGameMDResponse");}
function GPlayerApi_GetLicenseInfo(strContentId,strProviderId)
{var strRequest="<GetLicenseInfoRequest>"+"<ContentDescriptor Id=\""+strContentId+"\" ProviderId=\""+strProviderId+"\" />"+"</GetLicenseInfoRequest>";return DispatchRequestAndReturnPlayerXml(strRequest,"GetLicenseInfoResponse");}
function GPlayerApi_ChangeGameMedia(strContentId,dwMediaId)
{var strRequest="<ChangeGameMediaRequest>"+"<ContentDescriptor Id=\""+strContentId+"\" MediaId=\""+dwMediaId+"\" />"+"</ChangeGameMediaRequest>";return DispatchXmlRequest(strRequest);}
function GPlayerApi_SetMask(strSkinId,strMaskName,bCenterWindow)
{var strCenterWindow="0";if(bCenterWindow)
{strCenterWindow="1";}
var strRequest="<SetMaskRequest>"+"<SkinDescriptor Id=\""+strSkinId+"\" MaskName=\""+strMaskName+"\" CenterWindow=\""+strCenterWindow+"\"/>"+"</SetMaskRequest>";return DispatchRequestAndReturnAPIErrorFromSkin(strRequest,strSkinId,"SetMaskResponse");}
function GPlayerApi_SetLanguage(strSkinId,strLangId)
{var strRequest="<SetLanguageRequest>"+"<SkinDescriptor Id=\""+strSkinId+"\" LangId=\""+strLangId+"\"/>"+"</SetLanguageRequest>";return DispatchXmlRequest(strRequest);}
function GPlayerApi_CreateMCL(strContentId,strProviderId,strBaseUrl,dwCategory,strBGColor,strStartImage,strThumbnailImage,bForceRecreate)
{var strRequest="<CreateMCLRequest>"+"<ContentDescriptor Id=\""+strContentId+"\" ProviderId=\""+strProviderId+"\" "+"BaseUrl=\""+strBaseUrl+"\" "+"Category=\""+dwCategory+"\" BGColor = \""+strBGColor+"\" "+"StartImage=\""+strStartImage+"\" "+"ThumbnailImage=\""+strThumbnailImage+"\" ForceRecreate=\""+bForceRecreate+"\" />"+"</CreateMCLRequest>";return DispatchXmlRequest(strRequest);}
function GPlayerApi_RemoveMCL(strContentId,strProviderId)
{var strRequest="<RemoveMCLRequest>"+"<ContentDescriptor Id=\""+strContentId+"\" ProviderId=\""+strProviderId+"\"/>"+"</RemoveMCLRequest>";return DispatchXmlRequest(strRequest);}
function GPlayerApi_GetStringFromGameAssetRequest(strContentId,strProviderId,strAssetId,strStringId,strPath,strDefault)
{var strRequest="<GetStringFromGameAssetRequest>"+"<ContentDescriptor Id=\""+strContentId+"\" ProviderId=\""+strProviderId+"\" >"+"<Asset Id = \""+strAssetId+"\">"+"<String Id=\""+strStringId+"\" Path=\""+strPath+"\" Default=\""+strDefault+"\"/>"+"</Asset>"+"</ContentDescriptor>"+"</GetStringFromGameAssetRequest>"
return DispatchRequestAndReturnPlayerXml(strRequest,"GetStringFromGameAssetResponse");}
function GPlayerApi_GetStringTableRequest(strSkinId,strLangId)
{var strRequest="<GetStringTableRequest>"+"<SkinDescriptor Id=\""+strSkinId+"\" LangId=\""+strLangId+"\" />"+"</GetStringTableRequest>";return DispatchRequestAndReturnPlayerXml(strRequest,"GetStringTableResponse");}
function GPlayerApi_UpdateViewRequest(strSkinId,strView)
{var strRequest="<UpdateViewRequest><SkinDescriptor Id=\""+strSkinId+"\" >"+
strView+"</SkinDescriptor></UpdateViewRequest>";return DispatchRequestAndReturnAPIErrorFromSkin(strRequest,strSkinId,"UpdateViewResponse");}
function GPlayerApi_SetPlayerCookie(strUrl,strName,strValue)
{var strRequest="<SetPlayerCookieRequest Url=\""+strUrl+"\" Name=\""+strName+"\" Value=\""+strValue+"\" />";return DispatchRequestAndReturnAPIErrorFromRoot(strRequest,"SetPlayerCookieResponse");}
function GPlayerApi_GetPlayerCookie(strUrl,strName)
{var strRequest="<GetPlayerCookieRequest Url=\""+strUrl+"\" Name=\""+strName+"\" />";return DispatchRequestAndReturnPlayerXml(strRequest,"GetPlayerCookieResponse");}
function GPlayerApi_CreateOSL(strGGID,strProviderId,strCreateUrl)
{var strRequest="<CreateOSLRequest>"+"<GGDescriptor Id=\""+strGGID+"\" ProviderId=\""+strProviderId+"\" CreateUrl=\""+strCreateUrl+"\" >"+"</GGDescriptor>"+"</CreateOSLRequest>";return DispatchRequestAndReturnAPIErrorFromGG(strRequest,strGGID,"CreateOSLResponse");}
function GPlayerApi_UpdateOSL(strGGID,strProviderId)
{var strRequest="<UpdateOSLRequest>"+"<GGDescriptor Id=\""+strGGID+"\" ProviderId=\""+strProviderId+"\" >"+"</GGDescriptor>"+"</UpdateOSLRequest>"
return DispatchRequestAndReturnAPIErrorFromGG(strRequest,strGGID,"UpdateOSLResponse");}
function GPlayerApi_RemoveOSL(strGGID,strProviderId,strRemoveUrl,strChallengeRequest)
{var strRequest="<RemoveOSLRequest>"+"<GGDescriptor Id=\""+strGGID+"\" ProviderId=\""+strProviderId+"\" RemoveUrl=\""+strRemoveUrl+"\" CR=\""+strChallengeRequest+"\" >"+"</GGDescriptor>"+"</RemoveOSLRequest>";return DispatchRequestAndReturnAPIErrorFromGG(strRequest,strGGID,"RemoveOSLResponse");}
function GPlayerApi_GetGameOSLInfo(strContentId,strProviderId)
{var strRequest="<GetGameOSLInfoRequest>"+"<ContentDescriptor Id=\""+strContentId+"\" ProviderId=\""+strProviderId+"\" />"+"</GetGameOSLInfoRequest>";return DispatchRequestAndReturnPlayerXml(strRequest,"GetGameOSLInfoResponse");}
function GPlayerApi_InstallPMLicense(strContentId,strProviderId,strDirections)
{var strRequest="<InstallPMLicenseRequest>"+"<ContentDescriptor Id=\""+strContentId+"\" ProviderId=\""+strProviderId+"\" >"+"<DirectionsString>"+strDirections+"</DirectionsString>"+"</ContentDescriptor>"+"</InstallPMLicenseRequest>";return DispatchRequestAndReturnPlayerXml(strRequest,"InstallPMLicenseResponse");}
function GPlayerApi_ReportOSLUsage(strProviderId)
{var strRequest="<ReportOSLUsageRequest><ProviderDescriptor Id=\""+
strProviderId+"\" "+"/></ReportOSLUsageRequest>";return DispatchRequestAndReturnAPIErrorFromProvider(strRequest,strProviderId,"ReportOSLUsageResponse");}
