/**
  * Save new or updated map area
  */
 function saveArea()
 {
     global $lng, $ilCtrl;
     switch ($_SESSION["il_map_edit_mode"]) {
         // save edited link
         case "edit_link":
             $st_item = $this->media_object->getMediaItem("Standard");
             $max = ilMapArea::_getMaxNr($st_item->getId());
             $area = new ilMapArea($st_item->getId(), $_SESSION["il_map_area_nr"]);
             if ($_POST["area_link_type"] == IL_INT_LINK) {
                 $area->setLinkType(IL_INT_LINK);
                 $area->setType($_SESSION["il_map_il_type"]);
                 $area->setTarget($_SESSION["il_map_il_target"]);
                 $area->setTargetFrame($_SESSION["il_map_il_targetframe"]);
             } else {
                 $area->setLinkType(IL_EXT_LINK);
                 if ($_POST["area_link_type"] != IL_NO_LINK) {
                     $area->setHref(ilUtil::stripSlashes($_POST["area_link_ext"]));
                 } else {
                     $area->setHref("");
                 }
             }
             $area->update();
             break;
             // save edited shape
         // save edited shape
         case "edit_shape":
             $st_item = $this->media_object->getMediaItem("Standard");
             $max = ilMapArea::_getMaxNr($st_item->getId());
             $area =& new ilMapArea($st_item->getId(), $_SESSION["il_map_area_nr"]);
             $area->setShape($_SESSION["il_map_edit_area_type"]);
             $area->setCoords($_SESSION["il_map_edit_coords"]);
             $area->update();
             break;
             // save new area
         // save new area
         default:
             $area_type = $_SESSION["il_map_edit_area_type"];
             $coords = $_SESSION["il_map_edit_coords"];
             $st_item = $this->media_object->getMediaItem("Standard");
             $max = ilMapArea::_getMaxNr($st_item->getId());
             // make new area object
             $area = new ilMapArea();
             $area->setItemId($st_item->getId());
             $area->setShape($area_type);
             $area->setCoords($coords);
             $area->setNr($max + 1);
             $area->setTitle(ilUtil::stripSlashes($_POST["area_name"]));
             switch ($_POST["area_link_type"]) {
                 case "ext":
                     $area->setLinkType(IL_EXT_LINK);
                     $area->setHref($_POST["area_link_ext"]);
                     break;
                 case "int":
                     $area->setLinkType(IL_INT_LINK);
                     $area->setType($_SESSION["il_map_il_type"]);
                     $area->setTarget($_SESSION["il_map_il_target"]);
                     $area->setTargetFrame($_SESSION["il_map_il_targetframe"]);
                     break;
             }
             // put area into item and update media object
             $st_item->addMapArea($area);
             $this->media_object->update();
             break;
     }
     //$this->initMapParameters();
     ilUtil::sendSuccess($lng->txt("cont_saved_map_area"), true);
     $ilCtrl->redirect($this, "editMapAreas");
 }