
function genVMX(formid) {

 if (document.getElementById)
 {
   var form = document.getElementById(formid);
   var idoc = document.getElementById('vmxout');

   idoc.value = "## Configuration Generated with VMBuilder - http://dcgrendel.be/vmbuilder/\n\n";

   idoc.value = idoc.value + 'config.version = "8"\n';
   idoc.value = idoc.value + 'virtualHW.version = "3"\n\n';

   idoc.value = idoc.value + 'uuid.location = "56 4d 5c cc 3d 4a 43 29-55 89 5c 28 1e 7e 06 58"\n';
   idoc.value = idoc.value + 'uuid.bios = "56 4d 5c cc 3d 4a 43 29-55 89 5c 28 1e 7e 06 58"\n\n';

   idoc.value = idoc.value + 'uuid.action = "create"\n';
   idoc.value = idoc.value + 'checkpoint.vmState = ""\n\n';

   idoc.value = idoc.value + 'displayName = "' + form.displayname.value + '"\n';
   idoc.value = idoc.value + 'annotation = "' + form.annotation.value + '"\n';
   idoc.value = idoc.value + 'guestinfo.vmware.product.long = "' + form.productlong.value + '"\n';
   idoc.value = idoc.value + 'guestinfo.vmware.product.url = "' + form.producturl.value + '"\n\n';


   Item = form.guestos.selectedIndex;
   Text = form.guestos.options[Item].value;
   idoc.value = idoc.value + 'guestOS = "' + Text + '"\n';


   Item = form.numvcpus.selectedIndex;
   Text = form.numvcpus.options[Item].value;
   idoc.value = idoc.value + 'numvcpus = "' + Text + '"\n';

   Item = form.memsize.selectedIndex;
   Text = form.memsize.options[Item].value;
   idoc.value = idoc.value + 'memsize = "' + Text + '"\n';

   idoc.value = idoc.value + 'paevm = "' + (form.memallowautoscaledown.checked ? "TRUE": "FALSE") + '"\n';
   idoc.value = idoc.value + 'sched.mem.pshare.enable = "' + (form.pshare.checked ? "TRUE": "FALSE") + '"\n';

   idoc.value = idoc.value + 'MemAllowAutoScaleDown = "' + (form.memallowautoscaledown.checked ? "TRUE": "FALSE") + '"\n\n';
   idoc.value = idoc.value + 'MemTrimRate = "-1"\n\n';


   idoc.value = idoc.value + 'nvram = "' + form.nvram_filename.value + '"\n\n';

   Item = form.svgamaxsize.selectedIndex;
   if(Item) {
     Text = form.svgamaxsize.options[Item].value;
     idoc.value = idoc.value + 'svga.maxWidth = "' + Text.replace(/x/g, '"\nsvga.maxHeight = "') + '"\n\n';
   }

   Item = form.vramsize.selectedIndex;
   if(Item) {
     Text = form.vramsize.options[Item].value;
     idoc.value = idoc.value + 'svga.vramSize = "' + Text + '"\n\n';
   }

   if(form.mks_enable3d.checked) {
      idoc.value = idoc.value + 'mks.enable3d = "TRUE"\n';
   } else {
      idoc.value = idoc.value + 'mks.enable3d = "FALSE"\n';
   }

   if(form.vmmouse_present.checked) {
      idoc.value = idoc.value + 'vmmouse.present = "TRUE"\n\n';
   } else {
      idoc.value = idoc.value + 'vmmouse.present = "FALSE"\n\n';
   }


   if(form.synctime.checked) {
      idoc.value = idoc.value + 'tools.syncTime = "TRUE"\n';
   } else {
      idoc.value = idoc.value + 'tools.syncTime = "FALSE"\n';
   }

   if(form.remindinstall.checked) {
      idoc.value = idoc.value + 'tools.remindinstall = "TRUE"\n\n';
   } else {
      idoc.value = idoc.value + 'tools.remindinstall = "FALSE"\n\n';
   }

   if(form.hgfsdisable.checked) {
      idoc.value = idoc.value + 'isolation.tools.hgfs.disable = "TRUE"\n';
   } else {
      idoc.value = idoc.value + 'isolation.tools.hgfs.disable = "FALSE"\n';
   }
   if(form.dnddisable.checked) {
      idoc.value = idoc.value + 'isolation.tools.dnd.disable = "TRUE"\n';
   } else {
      idoc.value = idoc.value + 'isolation.tools.dnd.disable = "FALSE"\n';
   }
   if(form.copydisable.checked) {
      idoc.value = idoc.value + 'isolation.tools.copy.enable = "FALSE"\n';
   } else {
      idoc.value = idoc.value + 'isolation.tools.copy.enable = "TRUE"\n';
   }
   if(form.pastedisable.checked) {
      idoc.value = idoc.value + 'isolation.tools.paste.enabled = "FALSE"\n';
   } else {
      idoc.value = idoc.value + 'isolation.tools.paste.enabled = "TRUE"\n';
   }

   if(form.guirestricted.checked) {
      idoc.value = idoc.value + 'gui.restricted = "TRUE"\n\n';
   } else {
      idoc.value = idoc.value + 'gui.restricted = "FALSE"\n\n';
   }

   for(i=0; i<form.ethcount.value; i++) {
     idoc.value = idoc.value + 'ethernet' + i + '.present = "TRUE"\n';
     Item = eval('form.ethernet' + i + '_connectiontype.selectedIndex');
     Text = eval('form.ethernet' + i + '_connectiontype.options[Item].value');
     idoc.value = idoc.value + 'ethernet' + i + '.connectionType = "' + Text + '"\n';
     Item = eval('form.ethernet' + i + '_address_vendor.selectedIndex');
     Text = eval('form.ethernet' + i + '_address_vendor.options[Item].value');
     idoc.value = idoc.value + 'ethernet' + i + '.addressType = "' + Text + '"\n';
     if(Text == 'static') {
       idoc.value = idoc.value + 'ethernet' + i + '.address = "00:50:56:' + eval('form.ethernet' + i + '_address_host.value') + '"\n\n';
     } else {
       idoc.value = idoc.value + 'ethernet' + i + '.generatedAddress = "00:0c:29:' + eval('form.ethernet' + i + '_address_host.value') + '"\n';
       idoc.value = idoc.value + 'ethernet' + i + '.generatedAddressOffset = "0"\n\n';
     }
   }

   if(form.usb_present.checked) {
     idoc.value = idoc.value + 'usb.present = "TRUE"\n';
     idoc.value = idoc.value + 'usb.generic.autoconnect = "' + (form.usb_generic_autoconnect.checked ? "TRUE": "FALSE") + '"\n\n';
   } else {
     idoc.value = idoc.value + 'usb.present = "FALSE"\n\n';
   }

   if(form.sound_present.checked) {
     idoc.value = idoc.value + 'sound.present = "TRUE"\n';
     Item = form.sound_virtualdev.selectedIndex;
     Text = form.sound_virtualdev.options[Item].value;
     idoc.value = idoc.value + 'sound.virtualdev = "' + Text + '"\n\n';
   } else {
     idoc.value = idoc.value + 'sound.present = "FALSE"\n\n';
   }

   if(form.scsi0count.value > 0) {
     idoc.value = idoc.value + 'scsi0.present = "TRUE"\n';
     Item = form.scsi0_virtualdev.selectedIndex;
     Text = form.scsi0_virtualdev.options[Item].value;
     idoc.value = idoc.value + 'scsi0.virtualdev = "' + Text + '"\n\n';

     for(i=0; i<form.scsi0count.value; i++) {
       var x=i;
       var drive = new Array("0", "1", "2", "3", "4", "5", "6", "8", "9", "a", "b", "c", "d", "e", "f");
       var z=drive[i];
	 if(i>6) x=i+1;
       idoc.value = idoc.value + 'scsi0:' + x + '.present = "TRUE"\n';
       idoc.value = idoc.value + 'scsi0:' + x + '.fileName = "' + eval('form.scsi0' + z + '_filename.value') + '"\n';
       Item = eval('form.scsi0' + z + '_devicetype.selectedIndex');
       Text = eval('form.scsi0' + z + '_devicetype.options[Item].text');
       idoc.value = idoc.value + 'scsi0:' + x + '.deviceType = "' + Text + '"\n';
	 if(Text == 'disk') {
         Item = eval('form.scsi0' + z + '_mode.selectedIndex');
         Text = eval('form.scsi0' + z + '_mode.options[Item].text');
         idoc.value = idoc.value + 'scsi0:' + x + '.mode = "' + Text + '"\n';
         idoc.value = idoc.value + 'scsi0:' + x + '.redo = ""\n';
         idoc.value = idoc.value + 'scsi0:' + x + '.writeThrough = "' + (eval('form.scsi0' + z + '_writethrough.checked') ? "TRUE": "FALSE") + '"\n';
       } else {
         idoc.value = idoc.value + 'scsi0:' + x + '.autodetect = "' + (eval('form.scsi0' + z + '_autodetect.checked') ? "TRUE": "FALSE") + '"\n';
       }
       idoc.value = idoc.value + 'scsi0:' + x + '.startConnected = "' + (eval('form.scsi0' + z + '_startconnected.checked') ? "TRUE": "FALSE") + '"\n\n';
     }

   }

   if(form.scsi1count.value > 0) {
     idoc.value = idoc.value + 'scsi1.present = "TRUE"\n';
     Item = form.scsi1_virtualdev.selectedIndex;
     Text = form.scsi1_virtualdev.options[Item].value;
     idoc.value = idoc.value + 'scsi1.virtualdev = "' + Text + '"\n\n';

     for(i=0; i<form.scsi1count.value; i++) {
       var x=i;
       var drive = new Array("0", "1", "2", "3", "4", "5", "6", "8", "9", "a", "b", "c", "d", "e", "f");
       var z=drive[i];
	 if(i>6) x=i+1;
       idoc.value = idoc.value + 'scsi1:' + x + '.present = "TRUE"\n';
       idoc.value = idoc.value + 'scsi1:' + x + '.fileName = "' + eval('form.scsi1' + z + '_filename.value') + '"\n';
       Item = eval('form.scsi1' + z + '_devicetype.selectedIndex');
       Text = eval('form.scsi1' + z + '_devicetype.options[Item].text');
       idoc.value = idoc.value + 'scsi1:' + x + '.deviceType = "' + Text + '"\n';
	 if(Text == 'disk') {
         Item = eval('form.scsi1' + z + '_mode.selectedIndex');
         Text = eval('form.scsi1' + z + '_mode.options[Item].text');
         idoc.value = idoc.value + 'scsi1:' + x + '.mode = "' + Text + '"\n';
         idoc.value = idoc.value + 'scsi1:' + x + '.redo = ""\n';
         idoc.value = idoc.value + 'scsi1:' + x + '.writeThrough = "' + (eval('form.scsi1' + z + '_writethrough.checked') ? "TRUE": "FALSE") + '"\n';
       } else {
         idoc.value = idoc.value + 'scsi1:' + x + '.autodetect = "' + (eval('form.scsi1' + z + '_autodetect.checked') ? "TRUE": "FALSE") + '"\n';
       }
       idoc.value = idoc.value + 'scsi1:' + x + '.startConnected = "' + (eval('form.scsi1' + z + '_startconnected.checked') ? "TRUE": "FALSE") + '"\n\n';
     }

   }

   if(form.scsi2count.value > 0) {
     idoc.value = idoc.value + 'scsi2.present = "TRUE"\n';
     Item = form.scsi2_virtualdev.selectedIndex;
     Text = form.scsi2_virtualdev.options[Item].value;
     idoc.value = idoc.value + 'scsi2.virtualdev = "' + Text + '"\n\n';

     for(i=0; i<form.scsi2count.value; i++) {
       var x=i;
       var drive = new Array("0", "1", "2", "3", "4", "5", "6", "8", "9", "a", "b", "c", "d", "e", "f");
       var z=drive[i];
	 if(i>6) x=i+1;
       idoc.value = idoc.value + 'scsi2:' + x + '.present = "TRUE"\n';
       idoc.value = idoc.value + 'scsi2:' + x + '.fileName = "' + eval('form.scsi2' + z + '_filename.value') + '"\n';
       Item = eval('form.scsi2' + z + '_devicetype.selectedIndex');
       Text = eval('form.scsi2' + z + '_devicetype.options[Item].text');
       idoc.value = idoc.value + 'scsi2:' + x + '.deviceType = "' + Text + '"\n';
	 if(Text == 'disk') {
         Item = eval('form.scsi2' + z + '_mode.selectedIndex');
         Text = eval('form.scsi2' + z + '_mode.options[Item].text');
         idoc.value = idoc.value + 'scsi2:' + x + '.mode = "' + Text + '"\n';
         idoc.value = idoc.value + 'scsi2:' + x + '.redo = ""\n';
         idoc.value = idoc.value + 'scsi2:' + x + '.writeThrough = "' + (eval('form.scsi2' + z + '_writethrough.checked') ? "TRUE": "FALSE") + '"\n';
       } else {
         idoc.value = idoc.value + 'scsi2:' + x + '.autodetect = "' + (eval('form.scsi2' + z + '_autodetect.checked') ? "TRUE": "FALSE") + '"\n';
       }
       idoc.value = idoc.value + 'scsi2:' + x + '.startConnected = "' + (eval('form.scsi2' + z + '_startconnected.checked') ? "TRUE": "FALSE") + '"\n\n';
     }

   }

   if(form.scsi3count.value > 0) {
     idoc.value = idoc.value + 'scsi3.present = "TRUE"\n';
     Item = form.scsi3_virtualdev.selectedIndex;
     Text = form.scsi3_virtualdev.options[Item].value;
     idoc.value = idoc.value + 'scsi3.virtualdev = "' + Text + '"\n\n';

     for(i=0; i<form.scsi3count.value; i++) {
       var x=i;
       var drive = new Array("0", "1", "2", "3", "4", "5", "6", "8", "9", "a", "b", "c", "d", "e", "f");
       var z=drive[i];
	 if(i>6) x=i+1;
       idoc.value = idoc.value + 'scsi3:' + x + '.present = "TRUE"\n';
       idoc.value = idoc.value + 'scsi3:' + x + '.fileName = "' + eval('form.scsi3' + z + '_filename.value') + '"\n';
       Item = eval('form.scsi3' + z + '_devicetype.selectedIndex');
       Text = eval('form.scsi3' + z + '_devicetype.options[Item].text');
       idoc.value = idoc.value + 'scsi3:' + x + '.deviceType = "' + Text + '"\n';
	 if(Text == 'disk') {
         Item = eval('form.scsi3' + z + '_mode.selectedIndex');
         Text = eval('form.scsi3' + z + '_mode.options[Item].text');
         idoc.value = idoc.value + 'scsi3:' + x + '.mode = "' + Text + '"\n';
         idoc.value = idoc.value + 'scsi3:' + x + '.redo = ""\n';
         idoc.value = idoc.value + 'scsi3:' + x + '.writeThrough = "' + (eval('form.scsi3' + z + '_writethrough.checked') ? "TRUE": "FALSE") + '"\n';
       } else {
         idoc.value = idoc.value + 'scsi3:' + x + '.autodetect = "' + (eval('form.scsi3' + z + '_autodetect.checked') ? "TRUE": "FALSE") + '"\n';
       }
       idoc.value = idoc.value + 'scsi3:' + x + '.startConnected = "' + (eval('form.scsi3' + z + '_startconnected.checked') ? "TRUE": "FALSE") + '"\n\n';
     }

   }


     if(form.ide0count.value > 0) {
       idoc.value = idoc.value + 'ide0:0.present = "TRUE"\n';
       idoc.value = idoc.value + 'ide0:0.fileName = "' + form.ide00_filename.value + '"\n';
       Item = form.ide00_devicetype.selectedIndex;
       Text = form.ide00_devicetype.options[Item].text;
       idoc.value = idoc.value + 'ide0:0.deviceType = "' + Text + '"\n';
	 if(Text == 'disk') {
         Item = form.ide00_mode.selectedIndex;
         Text = form.ide00_mode.options[Item].text;
         idoc.value = idoc.value + 'ide0:0.mode = "' + Text + '"\n';
         idoc.value = idoc.value + 'ide0:0.redo = ""\n';
         idoc.value = idoc.value + 'ide0:0.writeThrough = "' + (form.ide00_writethrough.checked ? "TRUE": "FALSE") + '"\n';
       } else {
         idoc.value = idoc.value + 'ide0:0.autodetect = "' + (form.ide00_autodetect.checked ? "TRUE": "FALSE") + '"\n';
       }
       idoc.value = idoc.value + 'ide0:0.startConnected = "' + (form.ide00_startconnected.checked ? "TRUE": "FALSE") + '"\n\n';
     }
     if(form.ide0count.value > 1) {
       idoc.value = idoc.value + 'ide0:1.present = "TRUE"\n';
       idoc.value = idoc.value + 'ide0:1.fileName = "' + form.ide01_filename.value + '"\n';
       Item = form.ide01_devicetype.selectedIndex;
       Text = form.ide01_devicetype.options[Item].text;
       idoc.value = idoc.value + 'ide0:1.deviceType = "' + Text + '"\n';
	 if(Text == 'disk') {
         Item = form.ide01_mode.selectedIndex;
         Text = form.ide01_mode.options[Item].text;
         idoc.value = idoc.value + 'ide0:1.mode = "' + Text + '"\n';
         idoc.value = idoc.value + 'ide0:1.redo = ""\n';
         idoc.value = idoc.value + 'ide0:1.writeThrough = "' + (form.ide01_writethrough.checked ? "TRUE": "FALSE") + '"\n';
       } else {
         idoc.value = idoc.value + 'ide0:1.autodetect = "' + (form.ide01_autodetect.checked ? "TRUE": "FALSE") + '"\n';
       }
       idoc.value = idoc.value + 'ide0:1.startConnected = "' + (form.ide01_startconnected.checked ? "TRUE": "FALSE") + '"\n\n';
     }
     if(form.ide1count.value > 0) {
       idoc.value = idoc.value + 'ide1:0.present = "TRUE"\n';
       idoc.value = idoc.value + 'ide1:0.fileName = "' + form.ide10_filename.value + '"\n';
       Item = form.ide10_devicetype.selectedIndex;
       Text = form.ide10_devicetype.options[Item].text;
       idoc.value = idoc.value + 'ide1:0.deviceType = "' + Text + '"\n';
	 if(Text == 'disk') {
         Item = form.ide10_mode.selectedIndex;
         Text = form.ide10_mode.options[Item].text;
         idoc.value = idoc.value + 'ide1:0.mode = "' + Text + '"\n';
         idoc.value = idoc.value + 'ide1:0.redo = ""\n';
         idoc.value = idoc.value + 'ide1:0.writeThrough = "' + (form.ide10_writethrough.checked ? "TRUE": "FALSE") + '"\n';
       } else {
         idoc.value = idoc.value + 'ide1:0.autodetect = "' + (form.ide10_autodetect.checked ? "TRUE": "FALSE") + '"\n';
       }
       idoc.value = idoc.value + 'ide1:0.startConnected = "' + (form.ide10_startconnected.checked ? "TRUE": "FALSE") + '"\n\n';
     }
     if(form.ide1count.value > 1) {
       idoc.value = idoc.value + 'ide1:1.present = "TRUE"\n';
       idoc.value = idoc.value + 'ide1:1.fileName = "' + form.ide11_filename.value + '"\n';
       Item = form.ide11_devicetype.selectedIndex;
       Text = form.ide11_devicetype.options[Item].text;
       idoc.value = idoc.value + 'ide1:1.deviceType = "' + Text + '"\n';
	 if(Text == 'disk') {
         Item = form.ide11_mode.selectedIndex;
         Text = form.ide11_mode.options[Item].text;
         idoc.value = idoc.value + 'ide1:1.mode = "' + Text + '"\n';
         idoc.value = idoc.value + 'ide1:1.redo = ""\n';
         idoc.value = idoc.value + 'ide1:1.writeThrough = "' + (form.ide11_writethrough.checked ? "TRUE": "FALSE") + '"\n';
       } else {
         idoc.value = idoc.value + 'ide1:1.autodetect = "' + (form.ide11_autodetect.checked ? "TRUE": "FALSE") + '"\n';
       }
       idoc.value = idoc.value + 'ide1:1.startConnected = "' + (form.ide11_startconnected.checked ? "TRUE": "FALSE") + '"\n\n';
     }


   if(form.floppy0_present.checked) {
     idoc.value = idoc.value + 'floppy0.present = "TRUE"\n';
     idoc.value = idoc.value + 'floppy0.fileName = "' + form.floppy0_filename.value + '"\n';
     idoc.value = idoc.value + 'floppy0.startConnected = "' + (form.floppy0_startconnected.checked ? "TRUE": "FALSE") + '"\n\n';
   } else {
     idoc.value = idoc.value + 'floppy0.present = "FALSE"\n\n';
   }

   if(form.serial0_present.checked) {
     idoc.value = idoc.value + 'serial0.present = "TRUE"\n';
     idoc.value = idoc.value + 'serial0.fileName = "' + form.serial0_filename.value + '"\n';
     idoc.value = idoc.value + 'serial0.flowcontrol = "' + (form.serial0_flowcontrol.checked ? "TRUE": "FALSE") + '"\n\n';
   } else {
     idoc.value = idoc.value + 'serial0.present = "FALSE"\n\n';
   }

   if(form.serial1_present.checked) {
     idoc.value = idoc.value + 'serial1.present = "TRUE"\n';
     idoc.value = idoc.value + 'serial1.fileName = "' + form.serial1_filename.value + '"\n';
     idoc.value = idoc.value + 'serial1.flowcontrol = "' + (form.serial1_flowcontrol.checked ? "TRUE": "FALSE") + '"\n\n';
   } else {
     idoc.value = idoc.value + 'serial1.present = "FALSE"\n\n';
   }

   if(form.parallel0_present.checked) {
     idoc.value = idoc.value + 'parallel0.present = "TRUE"\n';
     idoc.value = idoc.value + 'parallel0.fileName = "' + form.parallel0_filename.value + '"\n';
     idoc.value = idoc.value + 'parallel0.bidirectional = "' + (form.parallel0_bidirectional.checked ? "TRUE": "FALSE") + '"\n\n';
   } else {
     idoc.value = idoc.value + 'parallel0.present = "FALSE"\n\n';
   }

 }
 else if (document.all)
 {
   var form = document.all[formid];
 }

 hidediv('vmxdiv', { queue: {position: 'front', scope: 'divs'}, duration: 0.5 });
 showdiv('outdiv', { queue: {position: 'end', scope: 'divs'}, duration: 0.5 });
 hidediv('vmxbtn', { queue: {position: 'front', scope: 'buttons'}, duration: 0.33 });
 showdiv('licbtn', { queue: {position: 'end', scope: 'buttons'}, duration: 0.33 });
}

