anchor.diff:  
               return false; // to prevent link with href='#' to scroll to the top of the page
           },
  -        addImage: function () {
  -            var vmName = $j("#image option:selected").text(),
  -                snapshotName = $j("#snapshot option:selected").text(),
  -                cloneFolder = $j("#cloneFolder").val(),
  -                resourcePool = $j("#resourcePool").val(),
  -                cloneBehaviour = $j("#cloneBehaviour").val(),
  -                maxInstances = $j("#maxInstances").val();
  -
  -            if (this.validateOptions()) {
  -                this.addImageInternal(vmName, snapshotName, cloneFolder, resourcePool, cloneBehaviour, maxInstances);
  -                this.updateHidden();
  -            }
  -
  -            return false; // to prevent link with href='#' to scroll to the top of the page
  -        },
           validateOptions: function () {
               var cloneFolder = $j("#cloneFolder").val(),
  -                resourcePool = $j("#resourcePool").val(),
  -                cloneBehaviour = $j("#cloneBehaviour").val(),
  -                maxInstances = $j("#maxInstances").val(),
  -                isValid = true;
  +                    resourcePool = $j("#resourcePool").val(),
  +                    cloneBehaviour = $j("#cloneBehaviour").val(),
  +                    maxInstances = $j("#maxInstances").val(),
  +                    isValid = true;
   
               // checking properties
               $j("#error_image").empty();
               $j("#error_cloneBehaviour").empty();
   
  -            if ($j("#image").val() == "") {
  +            if (!this.$image.val()) {
                   $j("#error_image").append($j("<div>").text("Please select a VM"));
                   isValid = false;
               }
  -            if ($j("#image option:selected").parent().attr("label") == 'Templates' && cloneBehaviour == 'START') {
  +            if (this.$image.find(":selected").parent().attr("label") == 'Templates' && cloneBehaviour == 'START') {
                   $j("#error_cloneBehaviour").append($j("<div>").text("Start/Stop mode is not available for readonly(template) VMs"));
                   isValid = false;
               }
  -            if ($j("#snapshot").val() == "" && cloneBehaviour == "LINKED_CLONE") {
  +            if ( !this.$snapshot.val()  && cloneBehaviour == "LINKED_CLONE") {
                   $j("#error_cloneBehaviour").append($j("<div>").text("Linked clone mode requires an existing snapshot"));
                   isValid = false;
               }
   
               return isValid;
           },
  -        restoreFromHidden: function () {
  -            var self = this,
  -                partsOfStr = $j("#${cons.imagesData}").val();
  -
  -            if (partsOfStr) {
  -                partsOfStr.split(';X;:').each(function (partOfStr) {
  -                    var ones = partOfStr.split(';');
  -
  -                    if (ones[0].length > 0) {
  -                        self.addImageInternal.apply(self, ones);
  -                    }
  -                });
  -                $j(".images-list-wrapper").show(200);
  -            }
  -        },
  -        addImageInternal: function (vmName, snapshotName, cloneFolder, resourcePool, cloneBehaviour, maxInstances) {
  -            $j("#vmware_images_list tbody").append($j("<tr>")
  +        addImage: function () {
  +            var vmName = $j("#image option:selected").text(),
  +                    snapshotName = $j("#snapshot option:selected").text(),
  +                    cloneFolder = $j("#cloneFolder").val(),
  +                    resourcePool = $j("#resourcePool").val(),
  +                    cloneBehaviour = $j("#cloneBehaviour").val(),
  +                    maxInstances = $j("#maxInstances").val();
  +
  +            if (this.validateOptions()) {
  +                this._addImage(vmName, snapshotName, cloneFolder, resourcePool, cloneBehaviour, maxInstances);
  +                this.updateImagesData();
  +            }
  +
  +            return false; // to prevent link with href='#' to scroll to the top of the page
  +        },
  +        _addImage: function (vmName, snapshotName, cloneFolder, resourcePool, cloneBehaviour, maxInstances) {
  +            this.$imagesList.append($j("<tr>")
                   .append($j("<td>").text(vmName))
                   .append($j("<td>").text(snapshotName))
                   .append($j("<td>").text(cloneFolder))
  
positive.code:     BS.Clouds.VMWareVSphere = BS.Clouds.VMWareVSphere || {
          refreshOptionsUrl: '<c:url value="${refreshablePath}"/>',
          refreshSnapshotsUrl: '<c:url value="${refreshSnapshotsPath}"/>',
          init: function () {
              this.$fetchOptionsButton = $j('#vmwareFetchOptionsButton');
              this.$addImageButtons = $j('#vmwareAddImageButton');
              this.$image = $j('#image');
  
              this.$fetchOptionsButton.on('click', BS.Clouds.VMWareVSphere.refreshOptions.bind(BS.Clouds.VMWareVSphere));
              this.$addImageButtons.on('click', BS.Clouds.VMWareVSphere.addImage.bind(BS.Clouds.VMWareVSphere));
              this.$image.on('change', BS.Clouds.VMWareVSphere.readSnapshots.bind(BS.Clouds.VMWareVSphere));
              $j("#cloneBehaviour, #snapshot, #image").on('change', BS.Clouds.VMWareVSphere.validateOptions.bind(BS.Clouds.VMWareVSphere));
          },
          refreshOptions: function () {
              var self = this,
  
negative.code:             }
  
              this.$fetchOptionsButton.attr('disabled', true);
              $loader.insertAfter(this.$fetchOptionsButton);
  
              BS.ajaxRequest(this.refreshOptionsUrl, {
                  parameters: BS.Clouds.Admin.CreateProfileForm.serializeParameters(),
  
                  onComplete: function () {
                      $loader.remove();
                      self.$fetchOptionsButton.attr('disabled', false);
                  },
  