function getWicliPlugin() 
{ 
  var i;
  for(i=0; i < navigator.plugins.length; i++)
  {
    if (navigator.plugins[i].name == "WebIdentity Plugin")
    {
      return navigator.plugins[i][0];
    }
  }
  return null;
}

function getWicliPluginVersion(wivers)
{ 
  var version = { 
        major: -1, 
        minor: -1,
        rev: -1,
        build: -1, 
        installed: false,
        update: false
      };

  var plugin = getWicliPlugin();
  if (!plugin) 
  {
    return version;
  }

  version.installed = true;

  var description = plugin.description; 
  
  var versionArray = description.match(/[\d]+/g); 
  var wiversArray = wivers.match(/[\d]+/g); 
  
  if (!versionArray || wiversArray.length != versionArray.length)
  {
    return version;
  }
  
  var n1, n2;
  for (i=0; i<wiversArray.length; i++) {
    n1 = versionArray[i];
    n2 = wiversArray[i];
    if (isNaN(n1) || isNaN(n2)) {
      continue;
    }
    n1 = parseFloat(versionArray[i]);
    n2 = parseFloat(wiversArray[i]);
    switch(i) {
      case 0:
        version.major = n1;
        break;
      case 1:
        version.minor = n1;
        break;
      case 2:
        version.rev = n1;
        break;
      case 3:
        version.build = n1;
        break;
      default:
        continue;
    }
    if (n1 != n2)
      version.update = true;
  }

  return version;
}

function identifyWicli(wivers)
{ 
  if (window.ActiveXObject && is_ie && is_win)
  {
    return;
  }
  var version = getWicliPluginVersion(wivers);

  if (!version.installed)
  {
    document.write("<p>WebIdentity Client is not installed as a plugin. " +
                   "You need to install the latest version available from " +
                   "<a href='../software/plugins.html'>here.<\/a>" +
                   "<\/p>");
    return;
  }

  if (version.major == -1 || version.minor == -1)
  {
    document.write("<p>WebIdentity Client is installed as a plugin but the version could not be determined.<\/p>");
    return;
  }
} 
