/* Provided as-is, no guarantees 
 *  Author: Steve Speicher <sspeiche@us.ibm.com>
 *
 * Checks to see if XForms extension is installed, if not, then start
 * the install automatically. This is intended to work for both Firefox/Moz and IE.
 */
 function checkXForms() {
  if (navigator.appName == 'Netscape') {
    if (document.implementation.hasFeature("org.w3c.xforms.dom", "1.0")) {
      return;
    }
    
    /* Note: there are claims that this can be done with <object codebase="" /> 
      but not much luck gettting it to work.  Have to do script anyway for condition
      platform install. */
    var xpi ='';
    if (navigator.platform == 'Win32') {
      xpi={'Mozilla XForms 0.5 Alpha Release Extension' : 'http://releases.mozilla.org/pub/mozilla.org/extensions/mozilla_xforms/mozilla_xforms-0.5-fx+mz+zm-windows.xpi'};
    } else if (navigator.platform == 'Linux') {
      xpi={'Mozilla XForms 0.5 Alpha Release Extension' : 'http://releases.mozilla.org/pub/mozilla.org/extensions/mozilla_xforms/mozilla_xforms-0.5-fx+mz+zm-linux.xpi'};
    } else if (navigator.platform == 'MacOSX') {
      xpi={'Mozilla XForms 0.5 Alpha Release Extension' : 'http://releases.mozilla.org/pub/mozilla.org/extensions/mozilla_xforms/mozilla_xforms-0.5-fx+mz+zm-macosx.xpi'};
    }
    
    /* If appropriate platform, start the installer. Let the
      installer handle browser version checks. */
    if (xpi != '') {
      InstallTrigger.install(xpi);
    }
  } else if (navigator.appName == 'Microsoft Internet Explorer') {
    /* XXX Need to test for fP install */
    var classId="CLSID:4D0ABA11-C5F0-4478-991A-375C4B648F58";
    var fpCab="http://www.formsplayer.com/download/download/cab/formsPlayer.cab";
    document.write('<object classid="'+classId+'" height="0" id="FormsPlayer" width="0" codebase="'+fpCab+'" ><b>FormsPlayer has failed to load! Please check your installation.</b></object><?import namespace="xforms" implementation="#FormsPlayer"?>');
/*  } else if (navigator.appName == 'Opera' || 
             navigator.appName == 'Safari' ||
             navigator.appName == 'NetFront' ||
             navigator.appName == 'Konquerer') {
    var type = 'text/javascript';
    var src = 'FormFaces/formfaces.js';
    var script = document.createElement('script');
    script.src = src;
    script.typ = type;
    var head = document.getElementsByTagName('head')[0];
    head.appendChild(script);
  }
  */
   } else if (navigator.appName != 'X-Smiles') {
     alert('Unsupported browser and XForms combination detected.  Only Mozilla, X-Smiles and Internet Explorer may be used.');
   }
}

/* Just include this script and will get invoked as document is loaded */     
checkXForms();
