var ucCookieValue = '';
var ucLocale ='';

function getUCCookie()
{
	var UC_LOCALE = 'locale#';
	ucCookieValue = getCookieValue('usercontext');
	pos= ucCookieValue.indexOf(UC_LOCALE)
	if(pos >= 0)
	{		
		ucLocale = ucCookieValue.substr(pos+UC_LOCALE.length,2)
	}
}

function getlink(link,text)
{
	if(text!='')
	{
		return ' - ' + '<a href="' +  link  +  '"> ' + text ;
	}
	else
	{
		return '';
	}	
}
 
var BrowserDetect = {
	init: function () {		
		this.browser = this.searchString(this.dataBrowser) || this.unknownBrowser;
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| this.unknownVersion;
		this.OS = this.searchString(this.dataOS) || this.unknownOS;
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		//return dataString.substring(index+this.versionSearchString.length+1);
	   return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.userAgent,
     		subString: "Opera",
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Microsoft IE ",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.userAgent,
			subString: "Win16",
			identity: "Windows 3.11"
		},
		{
			string: navigator.userAgent,
			subString: "Windows 95",
			identity: "Windows 95"
		},
		{
			string: navigator.userAgent,
			subString: "Win95",
			identity: "Windows 95"
		},
				{
			string: navigator.userAgent,
			subString: "Windows_95",
			identity: "Windows 95"
		},
		{
			string: navigator.userAgent,
			subString: "Windows 98",
			identity: "Windows 98"
		},
		{
			string: navigator.userAgent,
			subString: "Win98",
			identity: "Windows 98"
		},
		{
			string: navigator.userAgent,
			subString: "Windows NT 5.0",
			identity: "Windows 2000"
		},
		{
			string: navigator.userAgent,
			subString: "Windows 2000",
			identity: "Windows 2000"
		},
		{
			string: navigator.userAgent,
			subString: "Windows NT 5.1",
			identity: "Windows XP (NT 5.1)"
		},
		{
			string: navigator.userAgent,
			subString: "Windows XP",
			identity: "Windows XP (NT 5.1)"
		},
		{
			string: navigator.userAgent,
			subString: "Windows NT 5.2",
			identity: "Windows Server 2003"
		},
		{
			string: navigator.userAgent,
			subString: "Windows NT 6.0",
			identity: "Windows Vista (NT 6.0)"
		},
		{
			string: navigator.userAgent,
			subString: "Windows NT 7.0",
			identity: "Windows 7"
		},
		{
			string: navigator.userAgent,
			subString: "Windows NT 4.0",
			identity: "Windows NT 4.0"
		},
		{
			string: navigator.userAgent,
			subString: "WinNT4.0",
			identity: "Windows NT 4.0"
		},
		{
			string: navigator.userAgent,
			subString: "Windows NT",
			identity: "Windows NT 4.0"
		},
		{
			string: navigator.userAgent,
			subString: "WinNT",
			identity: "Windows NT 4.0"
		},
		{
			string: navigator.userAgent,
			subString: "Windows ME",
			identity: "Windows ME"
		},
		{
			string: navigator.userAgent,
			subString: "Open BSD",
			identity: "OpenBSD"
		},
		{
			string: navigator.userAgent,
			subString: "SunOS",
			identity: "SunOS"
		},
		{
			string: navigator.userAgent,
			subString: "Mac_PowerPC",
			identity: "Mac OS"
		},
		{
			string: navigator.userAgent,
			subString: "Macintosh",
			identity: "Mac OS"
		},
		{
			string: navigator.userAgent,
			subString: "X11",
			identity: "Linux"
		},
		{
			string: navigator.userAgent,
			subString: "QNX",
			identity: "QNX"
		},
		{
			string: navigator.userAgent,
			subString: "BeOS",
			identity: "BeOS"
		},
		{
			string: navigator.userAgent,
			subString: "OS/2",
			identity: "OS/2"
		},
		{
			string: navigator.userAgent,
			subString: "Linux",
			identity: "Linux"
		}
	]
};
BrowserDetect.init();
 
var myDate = new Date();
var hours;
var mins;
var time;
var day;
var month;
var year;
day	  = myDate.getDate();
month = myDate.getMonth();
year  = myDate.getFullYear();
hours = myDate.getHours();
mins  = myDate.getMinutes();
months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
if (day < 10) {
day = "0" + day;
}
if (hours >= 12) {
time = timePM;
} else {
time = timeAM;
}
if (hours > 12) {
hours -= 12;
}
if (hours == 0) {
hours = 12;
}
if (mins < 10) {
mins = "0" + mins;
}
 
function getL7dDate()
{
	return day + " " + Date.ShortMonths[month] + " " + year + ", " + hours + ":" + mins + ' '+ time;
}
 
function getL7dDate_ja_JP()
{
	yearL7d ='&#x5E74;';
	dayL7d ='&#x65E5;';
	monthL7d='&#x6708;';
	monthnum = month + 1;
	return year  +  yearL7d + " " +monthnum+ monthL7d + " " + day +  dayL7d +" " + hours + ":" + mins + ' '+ time;
}
 
function userHasFlash(){
var flashStatus =  '<img src="/img/icons/img_browsers_cross.gif" style="float:left;"><span class="flag">'+ varFailed + ' - <a href="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" target="_blank">' + downloadFlash + '</a></span>';
detectFlash();
if (flashEnabled) {
if (hasRightVersion) {
flashStatus = '<img src="/img/icons/img_browsers_tick.gif" style="float:left;"><span class="flag"> Flash ' + actualVersion + '</span>';
}
else {
flashStatus = '<img src="/img/icons/img_browsers_cross.gif" style="float:left;"><span class="flag"> Flash ' + actualVersion + ' currently installed. You need version ' + requiredVersion + ' or higher. <a href="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" target="_blank">'+ upgradeFlash +'</a></span>';
}
}
return flashStatus;
}

function loadIframe(iframeName, url) {
if (document.getElementById(iframeName) ) {
	document.getElementById(iframeName).src=url;
	return true;
}
else 
	return false;
}
 
function sslTestPassed() {
// this function is called onLoad of SSL frame, which means SSL is supported
var ssldiv = document.getElementById('sslDisplay');
ssldiv.innerHTML = '<img src="/img/icons/img_browsers_tick.gif" style="float:left;"><span class="flag">'+  varPassed  + '</span>';
}
 
function sslTestFailed(){
// this function is called intially 
var ssldiv = document.getElementById('sslDisplay');
ssldiv.innerHTML = '<img src="/img/icons/img_browsers_cross.gif" style="float:left;"><span class="flag">'+  varFailed  + getlink(linkSSL,enableSSL)  + '</span>';
}
 
var popups =''; 
 function checkPopups(){
// popups enabled check
popups = '<img src="/img/icons/img_browsers_cross.gif" style="float:left;"><span class="flag">' + varFailed + getlink(linkPopups,enablePopups)   + '</a></span>';
var myWindow = window.open("", "tinyWindow", 'toolbar,width=100,height=100');
if (myWindow != null) { // window was opened successfully?
popups = '<img src="/img/icons/img_browsers_tick.gif" style="float:left;"><span class="flag">'+ varPassed +'</span>';
myWindow.close();
}
}
  
function userHasCookies()
{
var cookieEnabled=(navigator.cookieEnabled)? true : false
var cookieStatus='<img src="/img/icons/img_browsers_cross.gif" style="float:left;"><span class="flag"> '+ varFailed + getlink(linkCookies,enableCookies)  + '</a></span>';
//if not IE4+ nor NS6+
if (typeof navigator.cookieEnabled=="undefined" && !cookieEnabled){ 
document.cookie="cookietest"
cookieEnabled=(document.cookie.indexOf("cookietest")!=-1)? true : false
}
if(cookieEnabled)
{
cookieStatus = '<img src="/img/icons/img_browsers_tick.gif" style="float:left;"><span class="flag">' + varPassed +'</span>';
}
return cookieStatus;
}
 
var sslurl = "https://" + document.location.hostname + "/" + "ssl_test.html";
 
function checkssl()
{
	if(BrowserDetect.OS != "Mac OS")
	{
		var url = "https://" + document.location.hostname + "/" + "ssl_test.html";
		// loading SSL iFrame
		//loadIframe('sslFrame', 'https://www.qantas.com.au/ssl_test.html');
		//loadIframe('sslFrame', url);
	}
}
 
var jsver=0.0;
 
function getJS()
{
//this function called to include html from another html
	var jsText = "<script type='text/javascript'>jsver = 1.0;</script>";
	jsText +="<script language='Javascript1.1'>jsver = 1.1;</script>";
	jsText +="<script language='Javascript1.2'>jsver = 1.2;</script>";
	jsText +="<script language='Javascript1.3'>jsver = 1.3;</script>";
	jsText +="<script language='Javascript1.4'>jsver = 1.4;</script>";
	jsText +="<script language='Javascript1.5'>jsver = 1.5;</script>";
	jsText +="<script language='Javascript1.6'>jsver = 1.6;</script>";
	document.write(jsText);
}
 
function getSSLHtml()
{
	sslTestFailed();
	var sslHtml =  '<iframe width="1" marginwidth="0" height="1" marginheight="0" align="left" scrolling="no" frameborder="0" name="sslFrame" id="sslFrame" style="margin:0;border:0;padding:0;" onLoad="sslTestPassed();"></iframe>'; 
	//document.write(sslHtml );
	return  sslHtml;
}
 
function hasJS()
{
	if (jsver > 1.1)
	{
		return '<img src="/img/icons/img_browsers_tick.gif" style="float:left;"><span class="flag"> ' + varPassed+  ' </span>';
	}
	else
	{
		return '<img src="/img/icons/img_browsers_cross.gif" style="float:left;"><span class="flag">' + varFailed + getlink(linkJavascript,enableJavascript) +' </a></span>';		
	}
}
 
function loadvalues()
{ 
	getUCCookie();
	 checkPopups();
	//this is called on onload event
	document.getElementById("jsversion").innerHTML=hasJS();
	document.getElementById("popups").innerHTML=popups;
	if (typeof BrowserDetect.version =="undefined" )
	{
		document.getElementById("browser").innerHTML=BrowserDetect.browser;
	}
	else
	{
		document.getElementById("browser").innerHTML=BrowserDetect.browser + ' ' + BrowserDetect.version;
	}
	document.getElementById("browserOS").innerHTML=BrowserDetect.OS;
    document.getElementById("flash").innerHTML=userHasFlash();
    document.getElementById("cookies").innerHTML=userHasCookies();
	if(ucLocale!='ja' && ucLocale!='zh')
    document.getElementById("ldate").innerHTML=getL7dDate();
	else
    document.getElementById("ldate").innerHTML=getL7dDate_ja_JP();
    //document.getElementById("sslDisplay").innerHTML=getSSLHtml();
}

function detectBrowserAndOS()
{
	var browserString = BrowserDetect.OS;
	if (typeof BrowserDetect.version =="undefined" )
	{
		document.getElementById("browser").innerHTML=BrowserDetect.browser;
	}
	else
	{
		document.getElementById("browser").innerHTML=BrowserDetect.browser + ' ' + BrowserDetect.version;
	}
	document.getElementById("OS").innerHTML=BrowserDetect.OS;

	if (browserString == "Mac OS")
	{
		document.getElementById("downloadlinks").innerHTML="<a target='_blank' class='btn' href='http://www.apple.com/support/downloads/safariupdate201.html'>" +  downloadStringSafari + "</a>";

	}
	else
	if(browserString.indexOf('Win') != -1)
		{
			if(browserString == "Windows 95")
			{
				document.getElementById("downloadlinks").innerHTML="<a target='_blank' class='btn' href='http://www.microsoft.com/windows/ie/downloads/archive/default.mspx'>"+downloadStringIE55+"</a>";
			}
			else
			{
				document.getElementById("downloadlinks").innerHTML="<a target='_blank' class='btn' href='http://www.microsoft.com/windows/downloads/ie/getitnow.mspx'>" +  downloadStringIE7+ "</a> "+ orString +" <a target='_blank' class='btn' href='http://www.mozilla.com/en-US/firefox/'>" +  downloadStringFirefox+ "</a>";

			}
		}
		else
		{
			document.getElementById("downloadlinks").innerHTML="<a target='_blank' class='btn' href='http://www.mozilla.org/products/mozilla1.x'>" +  downloadStringMozilla + "</a>";
		}
}