

var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
function ControlVersion()
{
	var version;
	var axo;
	var e;
	// NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry
	try {
		// version will be set for 7.X or greater players
		axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version = axo.GetVariable("$version");
	} catch (e) {
	}
	if (!version)
	{
		try {
			// version will be set for 6.X players only
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
			
			// installed player is some revision of 6.0
			// GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
			// so we have to be careful. 
			
			// default to the first public version
			version = "WIN 6,0,21,0";
			// throws if AllowScripAccess does not exist (introduced in 6.0r47)		
			axo.AllowScriptAccess = "always";
			// safe to call for 6.0r47 or greater
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}
	if (!version)
	{
		try {
			// version will be set for 4.X or 5.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}
	if (!version)
	{
		try {
			// version will be set for 3.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "WIN 3,0,18,0";
		} catch (e) {
		}
	}
	if (!version)
	{
		try {
			// version will be set for 2.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "WIN 2,0,0,11";
		} catch (e) {
			version = -1;
		}
	}
	
	return version;
}
// JavaScript helper required to detect Flash Player PlugIn version information
function GetSwfVer(){
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	var flashVer = -1;
	
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			var descArray = flashDescription.split(" ");
			var tempArrayMajor = descArray[2].split(".");			
			var versionMajor = tempArrayMajor[0];
			var versionMinor = tempArrayMajor[1];
			var versionRevision = descArray[3];
			if (versionRevision == "") {
				versionRevision = descArray[4];
			}
			if (versionRevision[0] == "d") {
				versionRevision = versionRevision.substring(1);
			} else if (versionRevision[0] == "r") {
				versionRevision = versionRevision.substring(1);
				if (versionRevision.indexOf("d") > 0) {
					versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
				}
			}
			var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if ( isIE && isWin && !isOpera ) {
		flashVer = ControlVersion();
	}	
	return flashVer;
}
// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
{
	versionStr = GetSwfVer();
	if (versionStr == -1 ) {
		return false;
	} else if (versionStr != 0) {
		if(isIE && isWin && !isOpera) {
			// Given "WIN 2,0,0,11"
			tempArray         = versionStr.split(" "); 	// ["WIN", "2,0,0,11"]
			tempString        = tempArray[1];			// "2,0,0,11"
			versionArray      = tempString.split(",");	// ['2', '0', '0', '11']
		} else {
			versionArray      = versionStr.split(".");
		}
		var versionMajor      = versionArray[0];
		var versionMinor      = versionArray[1];
		var versionRevision   = versionArray[2];
        	// is the major.revision >= requested major.revision AND the minor version >= requested minor
		if (versionMajor > parseFloat(reqMajorVer)) {
			return true;
		} else if (versionMajor == parseFloat(reqMajorVer)) {
			if (versionMinor > parseFloat(reqMinorVer))
				return true;
			else if (versionMinor == parseFloat(reqMinorVer)) {
				if (versionRevision >= parseFloat(reqRevision))
					return true;
			}
		}
		return false;
	}
}
function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}
function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
  var str = '';
 
  if (isIE && isWin && !isOpera)
  {
    str += '<object ';
    for (var i in objAttrs)
    {
      str += i + '="' + objAttrs[i] + '" ';
    }
    str += '>';
    for (var i in params)
    {
      str += '<param name="' + i + '" value="' + params[i] + '" /> ';
    }
    str += '</object>';
  }
  else
  {
    str += '<embed ';
    for (var i in embedAttrs)
    {
      str += i + '="' + embedAttrs[i] + '" ';
    }
    str += '> </embed>';
  }
  //document.write(str);
  return str;
}
function AC_FL_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  return AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
  
}
function AC_SW_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}
function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    
    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblclick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
      case "id":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}
// -->

function speedtestflash()
{
	
var ss = document.getElementById('main');
ss.innerHTML = ""
		ss.innerHTML = "<table cellspacing='20px'><tr><td id='menuatas' class='st' style='cursor:pointer' onclick='speedtestflash();'>Versi Flash</td><td style='cursor:pointer' onclick='speedtestjava();'>Versi Java</td><td style='cursor:pointer' onclick='speedtestphp();'>Versi php</td></tr></table>"
			/*child = document.createElement('div');
		child.setAttribute('id','Swf');
		ss.appendChild(child);
		var dd = document.getElementById('Swf');
		dd.innerHTML = ""*/
		ss.innerHTML +=  AC_FL_RunContent('codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0','width', '540',		'height', '430','src', '2/AuditMyPcSpeedTestv107','quality', 'high','pluginspage', 'http://www.adobe.com/go/getflashplayer','align', 'center',		'play', 'true','loop', 'true','scale', 'showall','wmode', 'window',	'devicefont', 'false','id', 'AuditMyPcSpeedTestv107','bgcolor', '#ffffff',	'name', 'AuditMyPcSpeedTestv107','menu', 'true','allowFullScreen', 'false','allowScriptAccess','sameDomain','movie', '2/AuditMyPcSpeedTestv107','salign', ''); //end AC code
	ss.innerHTML += "<div><p align='left' style='font-size:16px;'><strong><em>Bagaimana cara pengukuran kecepatan koneksi  ini ?</em></strong></p><strong></strong><p align='left' style='font-size:13px;'>Ketika anda membuka halaman ini, maka secara otomatis anda akan mengambil data yang diberikan server dengan ukuran tertentu. Pada saat data tersebut diambil, maka server akan mencatat waktu yang dibutuhkan. Begitu data selesai diambil, server juga mencatat waktu akhir pembacaan.Lalu file tersebut akan diupload kembali ke server, dan kemudian di catat kembali waktunya. Berdasarkan ukuran file dan selang waktu      yang dibutuhkan untuk membaca data tersebut, maka kami dapat menentukan kecepatan koneksi download dan upload anda anda.</p></div>";
}

function homes()
{
	var ss = document.getElementById('main');
	ss.innerHTML = "<table><tr><td valign='top'>" + AC_FL_RunContent(
		'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0',
		'width', '226',
		'height', '348',
		'src', '2/AuditMyPcSpeedTestSBv107',
		'quality', 'high',
		'pluginspage', 'http://www.adobe.com/go/getflashplayer',
		'align', 'left',
		'play', 'true',
		'loop', 'true',
		'scale', 'showall',
		'wmode', 'window',
		'devicefont', 'false',
		'id', 'AuditMyPcSpeedTestSBv107',
		'bgcolor', '#ffffff',
		'name', 'AuditMyPcSpeedTestSBv107',
		'menu', 'true',
		'allowFullScreen', 'false',
		'allowScriptAccess','sameDomain',
		'movie', '2/AuditMyPcSpeedTestSBv107',
		'salign', ''
		) + "</td><td valign='top'><div style='font:Verdana, Geneva, sans-serif; font-size:16px; font-weight:800;'>Selamat Datang di Speedtest.co.id</div><div align='left' style='font-size:12px;'><p>Berapa sebenarnya kecepatan koneksi anda? Kenapa  koneksi saya terasa lambat ? Pada halaman ini anda dapat mengukur kecepatan koneksi menggunakan web browser, baik untuk akses internet via wireless, ADSL, cable modem, dll.</p><p> Untuk mengukur kecepatan koneksi, ketika anda membuka halaman ini, tekan tombol Home User untuk pengguna koneksi internet kecepatan rendah - sedang, dan tombol T3 or More untuk pengguna koneksi internet kecepatan tinggi.</p><p>Selain itu anda bisa menggunakan menggunakan <a style='cursor:pointer;color:#66CCFF;' onclick='speedtestflash();'>Broadband Internet SpeedTest</a> Lain nya</p></div><div style='font-size:12px;' align = 'left'><strong><p><em>Kenapa hasil pengukurannya berubah-ubah ?</em></p></strong><p>Kecepatan koneksi internet pada dasarnya tergantung banyak faktor. Seperti halnya jalan raya yang memiliki banyak tikungan dan jalan dengan batas kecepatan yang bervariasi, koneksi internet memiliki berbagai jenis perangkat (modem, PC, server, router, dll) dari berbagai penyelenggara jaringan yang berbeda.</p><p>Karena itu kecepatan koneksi secara keseluruhan sangat bergantung dari kesibukan dan performansi perangkat yang dilalui baik dari PC dan modem anda, jaringan ISP, interkoneksi dari ISP ke jaringan Maxindo (jika menggunakan ISP selain Maxindo) dan juga kesibukan server kami.</p><p>Untuk menghasilkan data yang relatif stabil, anda dapat mencoba pengukuran pada jam diluar jam sibuk. Jangan lupa pada saat melakukan pengukuran untuk tidak menjalankan program lain pada PC anda (apalagi melakukan koneksi internet / download ke situs lain) karena akan  mempengaruhi akurasi pengukuran.</p></div></td></tr></table>";
}


function speedtestjava()
{
	
var ss = document.getElementById('main');
		ss.innerHTML = "<table cellspacing='20px'><tr><td id='menuatas' style='cursor:pointer' onclick='speedtestflash();'>Versi Flash</td><td style='cursor:pointer' class='st' onclick='speedtestjava();'>Versi Java</td><td style='cursor:pointer' onclick='speedtestphp();'>Versi php</td></tr></table>"
	ss.innerHTML += "<iframe src='1/index.htm' height='180' width='650px' frameborder='0' align='middle'></iframe>";
	ss.innerHTML += "<div>1024 Kbps = 1Mbps</div><div>Bandwith Calculator</div>"
	ss.innerHTML += "<iframe src='tools/calc.html' height='100' width='650px' frameborder='0' align='middle'></iframe>";
	ss.innerHTML += "<div><p align='left' style='font-size:16px;'><strong><em>Bagaimana cara pengukuran kecepatan koneksi  ini ?</em></strong></p><strong></strong><p align='left' style='font-size:13px;'>Ketika anda membuka halaman ini, maka secara otomatis anda akan mengambil data yang diberikan server dengan ukuran tertentu. Pada saat data tersebut diambil, maka server akan mencatat waktu yang dibutuhkan. Begitu data selesai diambil, server juga mencatat waktu akhir pembacaan.Lalu file tersebut akan diupload kembali ke server, dan kemudian di catat kembali waktunya. Berdasarkan ukuran file dan selang waktu      yang dibutuhkan untuk membaca data tersebut, maka kami dapat menentukan kecepatan koneksi download dan upload anda anda.</p></div>";
}

function speedtestphp()
{
	
var ss = document.getElementById('main');
		ss.innerHTML = "<table cellspacing='20px'><tr><td id='menuatas' style='cursor:pointer' onclick='speedtestflash();'>Versi Flash</td><td style='cursor:pointer' onclick='speedtestjava();'>Versi Java</td><td style='cursor:pointer' class='st' onclick='speedtestphp();'>Versi php</td></tr></table>";
		ss.innerHTML += "<iframe src='bw/initialmeter.php' height='250' width='650px' frameborder='0'></iframe>";
		ss.innerHTML += "<div><p align='left' style='font-size:16px;'><strong><em>Bagaimana cara pengukuran kecepatan koneksi  ini ?</em></strong></p><strong></strong><p align='left' style='font-size:13px;'>Ketika anda membuka halaman ini, maka secara otomatis anda akan mengambil data yang diberikan server dengan ukuran tertentu. Pada saat data tersebut diambil, maka server akan mencatat waktu yang dibutuhkan. Begitu data selesai diambil, server juga mencatat waktu akhir pembacaan.Lalu file tersebut akan diupload kembali ke server, dan kemudian di catat kembali waktunya. Berdasarkan ukuran file dan selang waktu      yang dibutuhkan untuk membaca data tersebut, maka kami dapat menentukan kecepatan koneksi download dan upload anda anda.</p></div>";
		
}

function tools()
{
	
}