

//---------------------------------------------------------------------------------------------------------------------------------------
// install_plugin.js
// JavaScript for detecting the webbrowser
// Author: Mariano Spiegelberg
//         modified by Herbert Stocker
//         modified by Oliver Neubauer


//---------------------------------------------------------------------------------------------------------------------------------------
// 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? '/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:///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>');
}




//---------------------------------------------------------------------------------------------------------------------------------------
// END OF FILE


