//---------------------------------------------------------------------------------------------------------------------------------------
// install_plugin.js
// JavaScript for detecting the webbrowser
//---------------------------------------------------------------------------------------------------------------------------------------
// variables & defines
//---------------------------------------------------------------------------------------------------------------------------------------


// Help function
function _checkIt(strUA, strKeyWord) {
	return strUA.indexOf(strKeyWord) != -1;
}

// Get OS
function GetOS() {
	var strOS = '';
	var strUA = navigator.userAgent.toLowerCase();
	if (_checkIt(strUA, 'konqueror')) {
		strOS = "Linux";
	}
	if (!strOS) {
		if      (_checkIt(strUA, 'linux')) strOS = "Linux";
		else if (_checkIt(strUA, 'x11'))   strOS = "Unix";
		else if (_checkIt(strUA, 'mac'))   strOS = "Mac";
		else if (_checkIt(strUA, 'win'))   strOS = "Windows";
		else strOS = "an unknown operating system";
	}
	return strOS;
}

// Get browser
function GetBrowser() {
	var strBrowser = '';
	var strUA = navigator.userAgent.toLowerCase();
	if (_checkIt(strUA, 'konqueror')) {
		 strBrowser = "Konqueror";
	}
	else if  (_checkIt(strUA, 'chrome'))  strBrowser= "Google Chrome";
	else if  (_checkIt(strUA, 'safari'))  strBrowser= "Safari";
	else if  (_checkIt(strUA, 'omniweb')) strBrowser= "OmniWeb";
	else if  (_checkIt(strUA, 'opera'))   strBrowser= "Opera";
	else if  (_checkIt(strUA, 'webtv'))   strBrowser= "WebTV";
	else if  (_checkIt(strUA, 'icab'))    strBrowser= "iCab";
	else if  (_checkIt(strUA, 'msie'))    strBrowser= "Internet Explorer";
	else if (!_checkIt(strUA, 'compatible')) {
		strBrowser = "Netscape Navigator";
		//var strVersion = strDetect.charAt(8); // if required somewhere.
	}
	else strBrowser = "An unknown browser";
	return strBrowser;
}

// Get Browser Version
function GetBrowserVersion() {
	var version = 0.0;
	if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)) { //test for Firefox/x.x or Firefox x.x (ignoring remaining digits);
		version=new Number(RegExp.$1) // capture x.x portion and store as a number
	}
	else if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) { //test for MSIE x.x;
		version=new Number(RegExp.$1) // capture x.x portion and store as a number
	}
	return version; 
}

function WriteContactTag(Url, Width, Height, Name, Params) {
	var UseUrl=       Url == undefined? 'www.bitmanagement.de/download/AutoInstall/cube_grid.wrl' : Url;
	var UseWidth=   Width == undefined? '100%' : Width;
	var UseHeight= Height == undefined? '100%' : Height;
	var UseName=     Name == undefined? 'BSContact' : Name;
	var UseParams= Params == undefined? new Array() : Params;
	var DetectedBrowser= GetBrowser();
	var cbPrintText= false;
	var lt= cbPrintText? '&lt;' : '<';
	var gt= cbPrintText? '&gt;' : '>';
	if(cbPrintText) {
		document.writeln('<PRE>');
	}
	if(DetectedBrowser == "Internet Explorer") {
		document.writeln(lt +'OBJECT id="'+ UseName +'" name="'+ UseName +'"');
		document.writeln('classid=clsid:4B6E3013-6E45-11D0-9309-0020AFE05CC8');
		document.writeln('codeBase="http://www.bitmanagement.de/download/BS_Contact/cab-xpi/BS_Contact_VRML-X3D.exe"');
		document.writeln('width="'+ UseWidth +'" height="'+ UseHeight +'"');
		document.writeln('type=application/x-oleobject');
		document.writeln(gt);
		document.writeln('    '+ lt +'PARAM NAME="SRC" VALUE="'+ UseUrl +'"'+ gt);
		for(var Key in UseParams) {
		  document.writeln('    '+ lt +'PARAM NAME="'+ Key +'" VALUE="'+ UseParams[Key] +'"'+ gt);
		}
		document.writeln(lt +'/OBJECT'+ gt);
	}
	else {
		document.writeln(lt +'embed src="'+ UseUrl +'" width="'+ UseWidth +'" height="'+ UseHeight +'"');
		document.writeln('    type="application/x-cc3d" name="'+ UseName +'" id="'+ UseName +'"');
		document.writeln('    pluginspage="http://www.bitmanagement.com/download/BS_Contact_VRML/"');
		for(var Key in UseParams) {
		  document.writeln('    '+ Key +'="'+ UseParams[Key] +'"');
		}
		document.writeln(gt);
	}
	if(cbPrintText) document.writeln('</PRE>');
}
