function repetitive_event_related($event,$action,$type_related = "",$event_data = array()){
     //I find all those related to the event to find out if the original
     $event_related = ProjectEvents::findByRelated($event->getObjectId());
     if(!$event_related){
         //is not the original as the original look plus other related
         if($event->getOriginalEventId() != "0"){
             $event_related = ProjectEvents::findByEventAndRelated($event->getObjectId(),$event->getOriginalEventId());
         }
     }            
     if($event_related){
         switch($action){
                 case "edit":
                         foreach ($event_related as $e_rel){
                             if($type_related == "news"){
                                 if($event->getStart() <= $e_rel->getStart()){
                                     $this->repetitive_event_related_edit($e_rel,$event_data);
                                 }
                             }else{
                                 $this->repetitive_event_related_edit($e_rel,$event_data);
                             }                                    
                         }
                 break;
                 case "delete":
                         $delete_event = array();
                         foreach ($event_related as $e_rel){
                             $event_rel = Objects::findObject($e_rel->getId());   
                             if($type_related == "news"){
                                 if($event->getStart() <= $e_rel->getStart()){
                                     $delete_event[] = $e_rel->getId();                                                                             
                                     $event_rel->trash(); 
                                 }
                             }else{
                                 $delete_event[] = $e_rel->getId();                                                                             
                                 $event_rel->trash(); 
                             }                                                                        
                         }
                         return $delete_event;
                 break;
                 case "archive":
                         $archive_event = array();
                         foreach ($event_related as $e_rel){
                             $event_rel = Objects::findObject($e_rel->getId());                                    
                             if($type_related == "news"){
                                 if($event->getStart() <= $e_rel->getStart()){
                                     $archive_event[] = $e_rel->getId();                                                                            
                                     $e_rel->archive();  
                                 }
                             }else{
                                 $archive_event[] = $e_rel->getId();                                                                            
                                 $e_rel->archive();
                             }
                         }
                         return $archive_event;
                 break;
         }
     }
     
 }