/**
  * Init creation form
  */
 function initForm($a_mode = "create")
 {
     global $lng, $ilCtrl;
     include_once "Services/Form/classes/class.ilPropertyFormGUI.php";
     if ($a_mode == "edit") {
         $std_item = $this->object->getMediaItem("Standard");
     }
     $this->form_gui = new ilPropertyFormGUI();
     // standard view resource
     $title = new ilTextInputGUI($lng->txt("title"), "standard_title");
     $title->setSize(40);
     $title->setMaxLength(120);
     $this->form_gui->addItem($title);
     $radio_prop = new ilRadioGroupInputGUI($lng->txt("cont_resource"), "standard_type");
     $op1 = new ilRadioOption($lng->txt("cont_file"), "File");
     $up = new ilFileInputGUI("", "standard_file");
     $up->setSuffixes(ilObjMediaObject::getRestrictedFileTypes());
     $up->setInfo("");
     $op1->addSubItem($up);
     $radio_prop->addOption($op1);
     $op2 = new ilRadioOption($lng->txt("url"), "Reference");
     $ref = new ilTextInputGUI("", "standard_reference");
     $ref->setInfo($lng->txt("cont_ref_helptext"));
     $op2->addSubItem($ref);
     $radio_prop->addOption($op2);
     $radio_prop->setValue("File");
     $this->form_gui->addItem($radio_prop);
     // standard format
     if ($a_mode == "edit") {
         $format = new ilNonEditableValueGUI($lng->txt("cont_format"), "standard_format");
         $format->setValue($std_item->getFormat());
         $this->form_gui->addItem($format);
     }
     // standard size
     $radio_size = new ilRadioGroupInputGUI($lng->txt("size"), "standard_size");
     if ($a_mode == "edit") {
         if ($orig_size = $std_item->getOriginalSize()) {
             $add_str = " (" . $orig_size["width"] . " x " . $orig_size["height"] . ")";
         }
         $op1 = new ilRadioOption($lng->txt("cont_resource_size") . $add_str, "original");
         $op2 = new ilRadioOption($lng->txt("cont_custom_size"), "selected");
     } else {
         $op1 = new ilRadioOption($lng->txt("cont_orig_size"), "original");
         $op2 = new ilRadioOption($lng->txt("cont_adjust_size"), "selected");
     }
     $radio_size->addOption($op1);
     // width height
     include_once "./Services/MediaObjects/classes/class.ilWidthHeightInputGUI.php";
     $width_height = new ilWidthHeightInputGUI($lng->txt("cont_width") . " / " . $lng->txt("cont_height"), "standard_width_height");
     $width_height->setConstrainProportions(true);
     $op2->addSubItem($width_height);
     // resize image
     if ($a_mode == "edit") {
         $std_item = $this->object->getMediaItem("Standard");
         if (is_int(strpos($std_item->getFormat(), "image")) && $std_item->getLocationType() == "LocalFile") {
             $resize = new ilCheckboxInputGUI($lng->txt("cont_resize_img"), "standard_resize");
             $op2->addSubItem($resize);
         }
     }
     $radio_size->setValue("original");
     if ($a_mode == "create" && ($this->getHeightPreset() > 0 || $this->getWidthPreset() > 0)) {
         $radio_size->setValue("selected");
         $width_height->setWidth($this->getWidthPreset());
         $width_height->setHeight($this->getHeightPreset());
     }
     $radio_size->addOption($op2);
     $this->form_gui->addItem($radio_size);
     // standard caption
     $caption = new ilTextAreaInputGUI($lng->txt("cont_caption"), "standard_caption");
     $caption->setCols(30);
     $caption->setRows(2);
     $this->form_gui->addItem($caption);
     /*$caption = new ilTextInputGUI($lng->txt("cont_caption"), "standard_caption");
     		$caption->setSize(40);
     		$caption->setMaxLength(200);
     		$this->form_gui->addItem($caption);*/
     // text representation (alt text)
     if ($a_mode == "edit" && is_int(strpos($std_item->getFormat(), "image"))) {
         $ta = new ilTextAreaInputGUI($lng->txt("text_repr"), "text_representation");
         $ta->setCols(30);
         $ta->setRows(2);
         $ta->setInfo($lng->txt("text_repr_info"));
         $this->form_gui->addItem($ta);
     }
     // standard parameters
     if ($a_mode == "edit" && !in_array($std_item->getFormat(), ilObjMediaObject::_getSimpleMimeTypes())) {
         if (ilObjMediaObject::_useAutoStartParameterOnly($std_item->getLocation(), $std_item->getFormat())) {
             $auto = new ilCheckboxInputGUI($lng->txt("cont_autostart"), "standard_autostart");
             $this->form_gui->addItem($auto);
         } else {
             $par = new ilTextAreaInputGUI($lng->txt("cont_parameter"), "standard_parameters");
             $par->setRows(5);
             $par->setCols(50);
             $this->form_gui->addItem($par);
         }
     }
     if ($a_mode == "edit") {
         $full_item = $this->object->getMediaItem("Fullscreen");
     }
     // fullscreen view resource
     $fs_sec = new ilFormSectionHeaderGUI();
     $fs_sec->setTitle($lng->txt("cont_fullscreen"));
     $this->form_gui->addItem($fs_sec);
     $radio_prop2 = new ilRadioGroupInputGUI($lng->txt("cont_resource"), "full_type");
     $op1 = new ilRadioOption($lng->txt("cont_none"), "None");
     $radio_prop2->addOption($op1);
     $op4 = new ilRadioOption($lng->txt("cont_use_same_resource_as_above"), "Standard");
     $radio_prop2->addOption($op4);
     $op2 = new ilRadioOption($lng->txt("cont_file"), "File");
     $up = new ilFileInputGUI("", "full_file");
     $up->setSuffixes(ilObjMediaObject::getRestrictedFileTypes());
     $up->setInfo("");
     $op2->addSubItem($up);
     $radio_prop2->addOption($op2);
     $op3 = new ilRadioOption($lng->txt("url"), "Reference");
     $ref = new ilTextInputGUI("", "full_reference");
     $ref->setInfo($lng->txt("cont_ref_helptext"));
     $op3->addSubItem($ref);
     $radio_prop2->addOption($op3);
     $radio_prop2->setValue("None");
     $this->form_gui->addItem($radio_prop2);
     // fullscreen format
     if ($a_mode == "edit") {
         if ($this->object->hasFullscreenItem()) {
             $format = new ilNonEditableValueGUI($lng->txt("cont_format"), "full_format");
             $format->setValue($full_item->getFormat());
             $this->form_gui->addItem($format);
         }
     }
     // fullscreen size
     $radio_size = new ilRadioGroupInputGUI($lng->txt("size"), "full_size");
     if ($a_mode == "edit") {
         $add_str = "";
         if ($this->object->hasFullscreenItem() && ($orig_size = $full_item->getOriginalSize())) {
             $add_str = " (" . $orig_size["width"] . " x " . $orig_size["height"] . ")";
         }
         $op1 = new ilRadioOption($lng->txt("cont_resource_size") . $add_str, "original");
         $op2 = new ilRadioOption($lng->txt("cont_custom_size"), "selected");
     } else {
         $op1 = new ilRadioOption($lng->txt("cont_orig_size"), "original");
         $op2 = new ilRadioOption($lng->txt("cont_adjust_size"), "selected");
     }
     $radio_size->addOption($op1);
     // width/height
     $width_height = new ilWidthHeightInputGUI($lng->txt("cont_width") . " / " . $lng->txt("cont_height"), "full_width_height");
     $width_height->setConstrainProportions(true);
     $op2->addSubItem($width_height);
     // resize image
     if ($a_mode == "edit") {
         $full_item = $this->object->getMediaItem("Fullscreen");
         if ($this->object->hasFullscreenItem() && is_int(strpos($full_item->getFormat(), "image")) && $full_item->getLocationType() == "LocalFile") {
             $resize = new ilCheckboxInputGUI($lng->txt("cont_resize_img"), "full_resize");
             $op2->addSubItem($resize);
         }
     }
     $radio_size->setValue("original");
     $radio_size->addOption($op2);
     $this->form_gui->addItem($radio_size);
     // fullscreen caption
     $caption = new ilTextAreaInputGUI($lng->txt("cont_caption"), "full_caption");
     $caption->setCols(30);
     $caption->setRows(2);
     $this->form_gui->addItem($caption);
     /*$caption = new ilTextInputGUI($lng->txt("cont_caption"), "full_caption");
     		$caption->setSize(40);
     		$caption->setMaxLength(200);
     		$this->form_gui->addItem($caption);*/
     // text representation (alt text)
     if ($a_mode == "edit" && $this->object->hasFullscreenItem() && is_int(strpos($std_item->getFormat(), "image"))) {
         $ta = new ilTextAreaInputGUI($lng->txt("text_repr"), "full_text_representation");
         $ta->setCols(30);
         $ta->setRows(2);
         $ta->setInfo($lng->txt("text_repr_info"));
         $this->form_gui->addItem($ta);
     }
     // fullscreen parameters
     if ($a_mode == "edit" && $this->object->hasFullscreenItem() && !in_array($full_item->getFormat(), ilObjMediaObject::_getSimpleMimeTypes())) {
         if (ilObjMediaObject::_useAutoStartParameterOnly($full_item->getLocation(), $full_item->getFormat())) {
             $auto = new ilCheckboxInputGUI($lng->txt("cont_autostart"), "full_autostart");
             $this->form_gui->addItem($auto);
         } else {
             $par = new ilTextAreaInputGUI($lng->txt("cont_parameter"), "full_parameters");
             $par->setRows(5);
             $par->setCols(50);
             $this->form_gui->addItem($par);
         }
     }
     $this->form_gui->setTitle($lng->txt("cont_insert_mob"));
     if ($a_mode == "edit") {
         $this->form_gui->addCommandButton("saveProperties", $lng->txt("save"));
     } else {
         $this->form_gui->addCommandButton("save", $lng->txt("save"));
         $this->form_gui->addCommandButton("cancel", $lng->txt("cancel"));
     }
     $this->form_gui->setFormAction($ilCtrl->getFormAction($this));
 }