 var appName = navigator.appName; var xmlHttp = null; var browser = 0; var browsersSupported = new Array( new Array("", "", "", "Selaimesi ei ole tuettu", 0.0, "", false, false), new Array("Opera", "Opera/", " ", "Opera", 8.0, "http://www.opera.com/download/", true, false), new Array("Microsoft", "MSIE ", ";", "Internet Explorer", 5.5, "http://www.microsoft.com/ie", true, true), new Array("Netscape", "Netscape/", " ", "Netscape", 7.1, "http://browser.netscape.com/", true, true), new Array("Netscape", "Firefox/3", " ", "Firefox 3", 2.0, "http://www.mozilla.com/firefox/", false, false), new Array("Netscape", "Firefox/", " ", "Firefox", 1.03, "http://www.mozilla.com/firefox/", true, true)); var operatingSystemsSupported = new Array( new Array("", "tuntematon käyttöjärjestelmä", false), new Array("windows nt 6.1", "Windows 7", true), new Array("windows nt 6.0", "Windows Vista", true), new Array("windows nt 5.2", "Windows XP x64", true), new Array("windows nt 5.1", "Windows XP", true), new Array("windows nt 5.0", "Windows 2000", true), new Array("winnt", "Windows NT", false), new Array("windows nt", "Windows NT", false), new Array("win 9x 4.90", "Windows ME", false), new Array("win98", "Windows 98", false), new Array("windows 98", "Windows 98", false), new Array("win95", "Windows 95", false), new Array("windows 95", "Windows 95", false), new Array("win", "tuntematon Windows", false), new Array("linux", "Linux", false), new Array("x11", "Unix", false), new Array("mac", "Mac", false)); var IFrameObj; var installed = false; var plugins = new Array( new Array("Firefox/2.0"  ,{'Mozilla Firefox 2.0 ActiveX Plug-in':'http://www.iol.ie/~locka/mozilla/mozactivex-ff-15.xpi'}), new Array("Firefox/1.5"  ,{'Mozilla Firefox 1.5 ActiveX Plug-in':'http://www.iol.ie/~locka/mozilla/mozactivex-ff-15.xpi'}), new Array("Firefox/1.0.7",{'Mozilla Firefox 1.0.7 ActiveX Plug-in':'http://www.iol.ie/~locka/mozilla/mozactivex-ff-107.xpi'}), new Array('Firefox/1.0.6',{'Mozilla Firefox 1.0.6 ActiveX Plug-in':'http://www.iol.ie/~locka/mozilla/mozactivex-ff-106.xpi'}), new Array('Firefox/1.0.4',{'Mozilla Firefox 1.0.4 ActiveX Plug-in':'http://www.iol.ie/~locka/mozilla/mozactivex-ff-104.xpi'}), new Array('Firefox/1.0.3',{'Mozilla Firefox 1.0.3 ActiveX Plug-in':'http://www.iol.ie/~locka/mozilla/mozactivex-ff-103-2.xpi'})); var pluginBrowsers = new Array("Firefox", "Netscape"); var requiredDRMVersionNumber = 2.2; var srcFrame = null; var userAgent = navigator.userAgent; function activeXPluginInstallDone(name, result) { if (result) { if (result == -227) { writeObj('DRMVersionInfo', customtext01 + name + customtext02 + result + customtext47); } else { writeObj('DRMVersionInfo', customtext01 + name + customtext02 + result); } } else { writeObj('DRMVersionInfo', customtext03); installed = true; setTimeout('checkSystemInfo()', 10); } } function installTestKey() { if (getObj("DRMLicense") != null) { var n2 = getObj('netobj'); writeObj('DRMLicense', customtext43); writeObj('DRMLicenseInfo', customtext46); if (n2 == undefined) { try { n2 = new GeckoActiveXObject("DRM.GetLicense.1"); } catch(e) { try { n2 = new ActiveXObject("DRM.GetLicense.1"); } catch(e) { }; } } if (!n2) { writeObj('DRMLicenseInfo', customtext45); setTimeout('playFileOnMediaPlayer(false)', 10); return null; } xmlHttp = null; try { xmlHttp = new XMLHttpRequest(); if (xmlHttp.overrideMimeType) { xmlHttp.overrideMimeType('text/html'); } } catch(e) { try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { }; } } if (!xmlHttp) { writeObj('DRMLicenseInfo', customtext45); setTimeout('playFileOnMediaPlayer(false)', 10); return null; } xmlHttp.onreadystatechange = function() { if (xmlHttp.readyState == 4) { if (xmlHttp.status == 200) { try { n2.StoreLicense(xmlHttp.responseText); } catch (e) { writeObj('DRMLicenseInfo', customtext45); setTimeout('playFileOnMediaPlayer(false)', 10); return null; } writeObj('DRMLicenseInfo', customtext44); setTimeout('playFileOnMediaPlayer(true)', 10); return null; } else { writeObj('DRMLicenseInfo', customtext45); setTimeout('playFileOnMediaPlayer(false)', 10); return null; } } }; var param = null; try { param = "clientinfo=" + n2.GetSystemInfo() + "&purchaseid=9B4FBEA4-AF9B-41D0-A41E-2ABEC02DBFF6&contentid=D76AF4FA-E7A0-A64A-A507-C148509CDC43"; } catch (e) { writeObj('DRMLicenseInfo', customtext45); setTimeout('playFileOnMediaPlayer(false)', 10); return null; } try { xmlHttp.open('POST', 'http://allthenoise.com/TestLicense.ashx', true); } catch (e) { writeObj('DRMLicenseInfo', customtext45); setTimeout('playFileOnMediaPlayer(false)', 10); return null; } try { xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlHttp.setRequestHeader("Content-length", param.length); xmlHttp.setRequestHeader("Connection", "close"); xmlHttp.send(param); } catch (e) { writeObj('DRMLicenseInfo', customtext45); setTimeout('playFileOnMediaPlayer(false)', 10); return null; } } else { setTimeout('playFileOnMediaPlayer(true)', 10); } } function playFileOnMediaPlayer(eok) { if ((eok == false) && (getObj("WMPPlace") != null)) { getObj("WMPPlace").innerHTML = customtext35 + ((browsersSupported[browser][3] == "Internet Explorer") ? '' : customtext36) + customtext37; return null; } else if ((eok == false) && (getObj("DRMLicenseInfo") != null)) { getObj("DRMLicenseInfo").innerHTML += '<br />' + customtext35 + ((browsersSupported[browser][3] == "Internet Explorer") ? '' : customtext36) + customtext37; } else if (getObj("WMPPlace") != null) { writeObj('WMPPlace', '<object id="Player" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" height="60" width="210" type="application/x-oleobject">' + ' <param name="autoStart" value="true" />' + ' <param name="uiMode" value="mini" />' + ' <param name="enabled" value="true" />' + ' <param name="URL" value="http://www.securycast.com/download/A01_Testikappale.wma" />' + ' <embed type="application/x-ms-wmp" pluginspage="http://www.microsoft.com/windows/windowsmedia/"' + ' src="http://www.securycast.com/download/A01_Testikappale.wma"' + ' name="MediaPlayer" autostart="1" showstatusbar="1" showcontrols="1" showpositioncontrols="0" showdisplay="0" showtracker="0"' + ' width="210" height="60"></embed>' + '</object>');if (getObj('Player') != null) {getObj('Player').URL = 'http://www.securycast.com/download/A01_Testikappale.wma';getObj('Player').controls.play(); } } if (eok == true) { setTimeout('results()', 10); } } function checkBrowser() { try { browser = 0; for (i = 1 ; i < browsersSupported.length; i++) if (appName.indexOf(browsersSupported[i][0]) != -1 && userAgent.indexOf(browsersSupported[i][1]) != -1) { browser = i; break; } var browserNameId = getObj('BrowserName'); var browserInfoId = getObj('BrowserInfo'); if (browser) { var browserName = browsersSupported[browser][3]; var browserVersion = userAgent.split(browsersSupported[browser][1])[1].split(browsersSupported[browser][2])[0]; if (typeof(browserVersion) != "undefined") browserName += " " + browserVersion; browserNameId.innerHTML = customtext04 + browserName + customtext05; browserVersionFloat = parseVersionNumber(browserVersion); if (typeof(browserVersionFloat) != "undefined") if (browserVersionFloat < browsersSupported[browser][5]) browserInfoId.innerHTML = customtext06 + browsersSupported[browser][5] + customertext07 + browsersSupported[browser][6] + customertext08; else { if (browsersSupported[browser][7]){ browserInfoId.innerHTML = customtext09;} else{ browserInfoId.innerHTML = 'Selaimesi ei ole tuettu!';} setTimeout('checkSystemInfo(false)', 10); } } else { browserNameId.innerHTML = customtext10; for (i = 1; i < browsersSupported.length; i++) if (browsersSupported[i][7]) browserInfoId.innerHTML += '<tr><a href="' + browsersSupported[i][5] + '">' + browsersSupported[i][3] + customtext11 + browsersSupported[i][4] + customtext12 + '</a></tr>'; } } catch(e) {}; } function checkOperatingSystem() { try { var OS = 0; try { var oscpu = navigator.oscpu.toLowerCase(); for (i = 1 ; i < operatingSystemsSupported.length; i++) if (oscpu.indexOf(operatingSystemsSupported[i][0]) != -1) { OS = i; break; } }catch (e) {}; if (OS == 0) { var userAgent = navigator.userAgent.toLowerCase(); for (i = 1 ; i < operatingSystemsSupported.length; i++) if (userAgent.indexOf(operatingSystemsSupported[i][0]) != -1) { OS = i; break; } } var OSNameId = getObj('OSName'); var OSInfoId = getObj('OSInfo'); OSNameId.innerHTML = customtext13 + operatingSystemsSupported[OS][1] + customtext14; if (operatingSystemsSupported[OS][2]) { OSInfoId.innerHTML = customtext15; setTimeout('checkBrowser()', 10); } else { OSInfoId.innerHTML = customtext16; var OSList = ''; for (i = 1; i < operatingSystemsSupported.length; i++) if (operatingSystemsSupported[i][2]) OSList += (OSList != '' ? ', ' : '') + customtext17 + operatingSystemsSupported[i][1] + customtext18; OSInfoId.innerHTML += OSList; } } catch(e) {}; } function checkSystemInfo() { var SystemInfo; var DRMVersionId = getObj("DRMVersion"); var DRMVersionInfoId = getObj("DRMVersionInfo"); DRMVersionId.innerHTML = customtext19; if (browsersSupported[browser][7]) { try { SystemInfo = getObj("netobj").GetSystemInfo(); } catch(e) { if (appName.indexOf("Netscape") != -1) { var result = -1; if (installed || typeof(ActiveXObject) != "undefined" || (result = installActiveXPlugIn()) == 1) { if (document.URL.match(/^http:\/\//)) { DRMVersionInfoId.innerHTML = customtext20 + document.URL + '?download=true&installed=' + installed + customtext21; setTimeout('downloadFile()', 5000); } else if (enableActiveX('pref("capability.policy.policynames", "allthenoise.com");\r\npref("capability.policy.allthenoise.com.sites", "http://allthenoise.com http://www.securycast.com https://www.securycast.com");\r\npref("capability.policy.allthenoise.com.ClassID.CIDA9FC132B-096D-460B-B7D5-1DB0FAE0C062", "AllAccess");\r\n')) DRMVersionInfoId.innerHTML = customtext22 + browsersSupported[browser][3] + customtext23; else DRMVersionInfoId.innerHTML = customtext24 } else if (result == 0) DRMVersionInfoId.innerHTML = customtext25 + browsersSupported[browser][5] + customtext26; } else DRMVersionInfoId.innerHTML = customtext27 + '<br />' + e.description; return; } } else { DRMVersionInfoId.innerHTML = customtext28; var browserList = ''; for (i = 1; i < browsersSupported.length; i++) if (browsersSupported[i][7]) browserList += (browserList != '' ? ', ' : '') + customtext29 + browsersSupported[i][5] + customtext30 + browsersSupported[i][3] + customtext31; DRMVersionInfoId.innerHTML += browserList + customtext32; return; } var DRMVersionNumber = 0; try { var xmlobject = createDOMParser(SystemInfo); DRMVersionNumber = parseVersionNumber(xmlobject.getElementsByTagName("DRMKVERSION")[0].firstChild.nodeValue); } catch(e) { }; var drmIsOk = false; if (DRMVersionNumber == 0) { var OS = 0; try { var oscpu = navigator.oscpu.toLowerCase(); for (i = 1 ; i < operatingSystemsSupported.length; i++) if (oscpu.indexOf(operatingSystemsSupported[i][0]) != -1) { OS = i; break; } }catch (e) {}; if (OS == 0) { try { var userAgent = navigator.userAgent.toLowerCase(); for (i = 1 ; i < operatingSystemsSupported.length; i++) if (userAgent.indexOf(operatingSystemsSupported[i][0]) != -1) { OS = i; break; } }catch (e) {}; } try { if (operatingSystemsSupported[OS][1] == 'Windows Vista') { DRMVersionId.innerHTML = customtext33 + customtext34; DRMVersionInfoId.innerHTML = customtext38; drmIsOk = true; } }catch (e) {}; } if (drmIsOk == false) { DRMVersionId.innerHTML = customtext33 + DRMVersionNumber + customtext34; if (DRMVersionNumber < requiredDRMVersionNumber) DRMVersionInfoId.innerHTML = customtext35 + ((browsersSupported[browser][3] == "Internet Explorer") ? '' : customtext36) + customtext37; else { DRMVersionInfoId.innerHTML = customtext38; } } setTimeout('installTestKey()', 10); } function closeWindow() { if (appName.indexOf("Netscape") != -1) { window.open('','_parent',''); window.close(); } else if (appName.indexOf("Microsoft Internet Explorer") != -1) { window.opener = self; window.close(); } } function createDOMDocument() { try { return new ActiveXObject("Msxml2.DOMDocument.6.0"); } catch(e) {}; try { return new ActiveXObject("Msxml2.DOMDocument.5.0"); } catch(e) {}; try { return new ActiveXObject("Msxml2.DOMDocument.4.0"); } catch(e) {}; try { return new ActiveXObject("Msxml2.DOMDocument.3.0"); } catch(e) {}; try { return new ActiveXObject("Msxml2.DOMDocument.2.6"); } catch(e) {}; try { return new ActiveXObject("Msxml2.DOMDocument"); } catch(e) {}; try { return new ActiveXObject("Msxml.DOMDocument"); } catch(e) {}; return null; } function createDOMParser(xml) { try { if (typeof DOMParser != "undefined") return (new DOMParser()).parseFromString(xml, "application/xml"); else if (typeof ActiveXObject != "undefined") { var doc = createDOMDocument(); doc.loadXML(xml); return doc; } else { var url = "data:text/xml;charset=utf-8," + encodeURIComponent(xml); var request = new XMLHttpRequest(); request.open("GET", url, false); request.send(null); return request.responseXML; } } catch(e) { return null; } } function downloadFile() { window.location = document.URL + '?download=true&installed=' + installed; } function enableActiveX(content) { try { writeObj('DRMVersionInfo', customtext39); netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); var file = Components.classes["@mozilla.org/file/directory_service;1"].getService(Components.interfaces.nsIProperties).get("PrfDef", Components.interfaces.nsIFile); file.append("activex.js"); if (!file.exists()) return false; var outputStream = Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance(Components.interfaces.nsIFileOutputStream); outputStream.init(file, 0x02 | 0x10, 00004, null); outputStream.write(content, content.length); outputStream.close(); return true; } catch (e) { return false; } } function installActiveXPlugIn() { var Model = -1; try { for (i in pluginBrowsers) if ((Model = userAgent.indexOf(pluginBrowsers[i])) != -1) { var Separator = userAgent.indexOf(" ", Model + pluginBrowsers[i].length); if (Separator == -1) Separator = Model; if (userAgent.indexOf("(ax)", Separator) != -1) return 1; } } catch(e) {}; try { for (i in navigator.plugins) if (navigator.plugins[i][0].type.toLowerCase() == "application/x-oleobject") return 1; } catch(e) {}; var xpi; for (i in plugins) if (userAgent.indexOf(plugins[i][0], Model) != -1) xpi = plugins[i][1]; if (xpi) { InstallTrigger.install(xpi, activeXPluginInstallDone); return 2; } return 0; } function parseVersionNumber(version) { try { var splitVersion = version.split("."); version = splitVersion[0] + "."; if (splitVersion.length > 1) for (i = 1; i < splitVersion.length; i++) version += splitVersion[i]; return parseFloat(version); } catch(e) { return null; }; } function results() { if (!document.URL.match(/^http:\/\//)) { writeObj('Results', customtext40); setTimeout(customtext41, 5000); } else { writeObj('Results', customtext42); } } function updateStats(formName) { try { if (!document.createElement) return true; var IFrameDoc; var URL = "http://www.securycast.com/TestResult.html?SystemInfo=" + escape(formName); if (!IFrameObj && document.createElement) { try { var tempIFrame = document.createElement("iframe"); tempIFrame.setAttribute("id", "hiddenFrame"); tempIFrame.style.border = "0px"; tempIFrame.style.width = "0px"; tempIFrame.style.height = "0px"; IFrameObj = document.body.appendChild(tempIFrame); if (document.frames) IFrameObj = document.frames["hiddenFrame"]; } catch(e) { iframeHTML = '<iframe id="hiddenFrame" style="border:0px;width:0px;height:0px;"><\/iframe>'; document.body.innerHTML += iframeHTML; IFrameObj = new Object(); IFrameObj.document = new Object(); IFrameObj.document.location = new Object(); IFrameObj.document.location.iframe = getObj("hiddenFrame"); IFrameObj.document.location.replace = function(location) { this.iframe.src = location; } } } if (appName.indexOf("Netscape") != -1 && !IFrameObj.contentDocument) { setTimeout('callToServer("' + formName + '")', 10); return false; } if (IFrameObj.contentDocument) IFrameDoc = IFrameObj.contentDocument; else if (IFrameObj.contentWindow) IFrameDoc = IFrameObj.contentWindow.document; else if (IFrameObj.document) IFrameDoc = IFrameObj.document; else return true; IFrameDoc.location.replace(URL); return false; } catch(e) { return false; }; } function writeObj(objName, theContent) { if (document.getElementById) document.getElementById(objName).innerHTML = theContent; else if (document.all) document.all(objName).innerHTML = theContent; else if (document.layers) { document.layers[objName].document.write(theContent); document.layers[objName].document.close(); } } function getObj(objName) { if (document.getElementById) return document.getElementById(objName); else if (document.all) return document.all(objName); return null; }