/**
  * Returns a block of XHTML-valid code that contains markup for this specific
  * component. 
  * @param string $fieldName The field name to use when outputting form data or
  * similar parameters/information.
  * @access public
  * @return string
  */
 function getMarkup($fieldName)
 {
     $fromParent = parent::getMarkup($fieldName);
     // make sure that we add the form info to the markup
     $harmoni = Harmoni::instance();
     $urlObj = $harmoni->request->mkURL();
     $url = $urlObj->write();
     $formName = $this->getWizardFormName();
     $pre = "<form action='{$url}' method='post' name='{$formName}' id='{$formName}' enctype='multipart/form-data'>\n";
     $post = "\n</form>\n";
     // The removal of this confirmation on submission was added to
     // Wizard.abstract.php
     if (isset($this->confirmLeaving) && $this->confirmLeaving) {
         if (isset($this->confirmLeavingMessage) && $this->confirmLeavingMessage) {
             $string = $this->confirmLeavingMessage;
         } else {
             $string = dgettext("polyphony", "You in a wizard. Any unsubmitted changes will be lost.");
         }
         $post .= "\n<script type='text/javascript'>\n// <![CDATA[ \n\t\t\n\t\twindow.addUnloadConfirmationForElement(\"{$formName}\", \"{$string}\");\n\t\t\n\t\t// Override our parent's implementation to remove unload confirmation.\n\t\tfunction submitWizard(form) {\n\t\t\twindow.removeUnloadConfirmationForElement(form.id);\n\n\t\t\tif (validateWizard(form)) \n\t\t\t\tform.submit();\n\t\t}\n\t\n// ]]>\n</script>\n";
     }
     // ignore the field name
     return $fromParent . $pre . Wizard::parseText($this->_text, $this->getChildren(), $this->getIdString() . "_") . $post;
 }