Recurring events multiple entry

I have created recurring having multiple entry in the DB.
I am able to create the recurring events multiple entry can cant able to edit it.

function init() {

    scheduler.config.xml_date = "%Y-%m-%d %H:%i";
    var day_week = scheduler.date.date_to_str("%d <span class='weeknr' >%W</span>");
    scheduler.templates.month_day = function(date) {
        if (date.getDay() == 1)
            return day_week(date);
        return date.getDate();
    }
    scheduler.config.prevent_cache = true;
    var sections = [
<?php foreach ($section as $value) { ?>
            {key:<?php echo $value['id'] ?>, label: "<?php echo $value['name'] ?>"},
<?php } ?>
    ];
   scheduler.config.lightbox.sections=[
        {name:"description", height:43, map_to:"text", type:"textarea" , focus:true},
        {name:"body", height:130, type:"textarea", map_to:"BODY" },
        {name:"location", height:43, type:"textarea", map_to:"DETAILS" },
        {name:"uid", height:1, type:"textarea", map_to:"PERSNR",default_value:<?php echo $selected; ?> },
        {name:"recurring", height:115, type:"recurring", map_to:"rec_type", button:"recurring"},              
        {name:"time", height:72, type:"time", map_to:"auto"}
    ]

    scheduler.config.first_hour = 0;
    scheduler.config.repeat_date = "%d.%m.%Y";
    scheduler.config.last_hour = 24
    scheduler.config.multi_day = true;
    scheduler.config.left_border = true
    scheduler.locale.labels.section_location = "<?php echo $translator->translate('Location'); ?>";
    scheduler.locale.labels.section_description = "<?php echo $translator->translate('Title'); ?>";

    scheduler.locale.labels.section_body = "<?php echo $translator->translate('Description'); ?>";
<?php if ((isset($_SESSION['user']['uid']) && strpos($_SESSION['user']['uid'], ',') !== false) || (!isset($_SESSION['user']['uid']))) { ?>
        //            scheduler.config.readonly = true;
<?php } ?>
    scheduler.templates.workweek_date = scheduler.templates.week_date;
    scheduler.templates.workweek_scale_date = scheduler.templates.week_scale_date;

    scheduler.locale.labels.unit_tab = "Balken"
    scheduler.locale.labels.agenda_tab = "Termine"
    scheduler.config.details_on_create = true;
    scheduler.config.details_on_dblclick = true;
    scheduler.config.icons_select = [];

    scheduler.config.scroll_hour = 6;


    //scheduler.config.month_date = '%M %Y (%W)';


    scheduler.init('scheduler_here',null,"week");
    scheduler.createUnitsView({
        name: "unit",
        property: "PERSNR",
        list: sections
    });
    var temp_counter = 0;
    var temp_user = [];

    var user_array = JSON.parse('<?php echo json_encode($json); ?>');
    var onload = 1;

    scheduler.templates.event_class = function(start, end, event) {
        for (i in user_array)
        {
            if (user_array[i].uid == event.PERSNR) {
                return user_array[i].color;
            }
        }
        onload = 0;

    }
    scheduler.load("<?php echo $Dir; ?>/events.php?uid=" + scheduler.uid());
    var dp = new dataProcessor("<?php echo $Dir; ?>/events.php");
    dp.init(scheduler);
<?php if ($addSeparateEvent) { ?>
        dp.attachEvent("onAfterUpdate", function(sid, action, tid, tag)
        {
            if (action == "inserted")
            {
                if (scheduler.getEvent(tid).rec_type != '' && scheduler.getEvent(tid).rec_type != 'none')
                {
                    var eventText = scheduler.getEvent(tid).DETAILS;
                    var eventBODY = scheduler.getEvent(tid).BODY;
                    var repeatArray = new Array();
                    var repeatArray = scheduler.getRecDates(tid);
                    var repeatCount = repeatArray.length;
                    var new_id = scheduler.uid(); //added
                    var completed = scheduler.getEvent(tid).completed;
                    var eventArr = [];
                    var i;
                    var title = scheduler.getEvent(tid).text;

//console.log(completed+‘–’);
for (i = 0; i < repeatCount; i++)
{
var start_date = repeatArray[i][‘start_date’];
var end_date = repeatArray[i][‘end_date’];

                        scheduler.addEvent({
                            id: new_id, //added
                            start_date: start_date,
                            end_date: end_date,
                            BODY: eventBODY,
                            DETAILS: eventText,
                            text: title,
                            event_length: start_date.valueOf() / 1000,
                            rec_type: "",
                            event_pid: tid,
                            completed: completed
                        });
                        //                        scheduler._add_rec_marker(scheduler.getEvent(new_id),start_date);
                        //                        if (new_id!=tid) //added
                        //                            dp.setUpdated(new_id, true, "inserted"); //added

                        new_id = scheduler.uid(); //added
                    }// render updated event
                    var timer = setTimeout(function() {
                        if (i == repeatCount) {
                            //                                location.reload();
                        }
                    }, 1000);
                }
                else
                    return true;
            }
        })
<?php } ?>
    var calendar = scheduler.renderCalendar({
        container: "mini_calendar",
        date: new Date(),
        navigation: true,
        handler: function(date, calendar) {
            scheduler.setCurrentView(date);
        }
    });

    var monthNames = [
        "January", "February", "March",
        "April", "May", "June",
        "July", "August", "September",
        "October", "November", "December"
    ];

    scheduler.linkCalendar(calendar);
    scheduler.templates.day_date = function(date) {
        return date.getDate() + "." + date.getMonth() + "." + date.getFullYear() + " (KW" + date.getWeek() + ")";
    };
    scheduler.templates.week_date = function(date1, date2) {

        return date1.getDate() + "." + date1.getMonth() + " - " + date2.getDate() + "." + date2.getMonth() + "." + date2.getFullYear() + " (KW " + date1.getWeek() + ")";
    };
    //alert(scheduler.date.week_start);


    // scheduler.attachEvent("onDblClick",chk_auth);
    //scheduler.attachEvent("onDblClick",check_save_delete);

    scheduler.attachEvent("onClick",chk_auth);
    scheduler.attachEvent("onBeforeDrag",chk_auth);
    scheduler.attachEvent("onLightbox",hide_ele);


    function chk_auth(id){   

	

        if (!id) return true;    
        
		var ev = this.getEvent(id);
		 
        var user_active = "<?= $user ?>";
        var user =  user_active.split("-");
        //alert(user[0]);
        
        // TODO change that in time
        // Dangerous Quick and Dirty!!!!!!!!!!
        // It works only because there is only one PERSNR in ifsg application
        ev.PERSNR = user[0];


        if(user[0] == ev.PERSNR){
			
            scheduler.config.icons_select =  ['icon_details', 'icon_edit', 'icon_delete'];
			
            $(".dhx_btn_set").show();
            $(".dhx_cal_ltext textarea").attr('disabled',false);
            $(".dhx_custom_button").css('display','block');
            $(".dhx_section_time select").attr('disabled',false);
			
            return true;

        }

        else{
			
            scheduler.config.icons_select =   [];
            // $(".dhx_btn_set").hide();
            // $(".dhx_cancel_btn_set").show();
            // $(".dhx_cal_ltext textarea").attr('disabled','disabled');
            //$(".dhx_cal_ltext textarea").attr('disabled','disabled');
            return false;
        }


    }
    function hide_ele(id) {
  
			
			scheduler.form_blocks.textarea.set_value=function(node,value,ev){
			node.firstChild.value=value||"";
			node.firstChild.disabled = ev.disabled; //or just '= true' to disable all events
		
        var user_active = "<?= $user ?>";
        var user =  user_active.split("-");
        
        // /** TODO Quick and Dirty, works but is not safe at all **/
        ev.PERSNR = user[0];
		
        if (user[0] == ev.PERSNR) {
			
            $(".dhx_btn_set").show();
            $(".dhx_cal_ltext textarea").attr('disabled', false);
            $(".dhx_custom_button").css('display', 'block');
            $(".dhx_section_time select").attr('disabled', false);
        }
        else {
			
            if (ev.PERSNR == undefined) {
                
                $(".dhx_btn_set").show();
                $(".dhx_cal_ltext textarea").attr('disabled', false);
                $(".dhx_custom_button").css('display', 'block');
                $(".dhx_section_time select").attr('disabled', false);
            }
            else {
				
				
                $(".dhx_btn_set").hide();
                $(".dhx_cancel_btn_set").show();
                $(".dhx_cal_ltext textarea").attr('disabled', true);
                $(".dhx_custom_button").css('display', 'none');
                $(".dhx_section_time select").attr('disabled', true);
                
            }
        }
        
    }


            $('.dhx_repeat_left label:first').hide();
            $('.dhx_repeat_left label:last').hide();
            $('.dhx_repeat_right label:first').hide();
            $('.dhx_repeat_right label:last .dhx_repeat_radio').prop("checked", true);


        $('.dhx_cal_lsection').each(function() {
            if ($(this).html() == 'undefined')
                $(this).parent().hide();
        });


      /*  if ($('#magruppe_select').val() != '-1') {
            $('.dhx_cal_checkbox').parent().show();
            $('select').parent().parent('.dhx_wrap_section').show();
            if (str_flag) {

// var str = ‘

Mtarbeiter
<?php echo $thisUser['user_username'] ?>
’;
// $(‘.dhx_cal_checkbox’).parent().prepend(str);
str_flag = false;
}
} else {
$(‘.dhx_cal_checkbox’).parent().hide();
$(‘select’).parent().parent(‘.dhx_wrap_section’).hide();

        } */
		 scheduler.setLightboxSize();
    }

    var str_flag = true;
    
    download_label();
}

Please help me in this
codebase.zip (228 KB)

Getting
TypeError: a is undefined when clicking it

Do you have some online demo or a full sample ( which we can run locally ) where issue occurs ?