﻿Dea.emsData = {};
Dea.AddEvent = {};

var oStartBox = null;
var oEndBox;
var locationUrl_array = new Array();
var customFieldNum;

var _eventUdfs = new Array();

function loadEventUdfs(mcEventUdfs) {
    _eventUdfs.length = 0;
    if (mcEventUdfs !== "") {
        var eventUdfs = mcEventUdfs.split('||');
        for (var i = 0; i < eventUdfs.length; i++) {
            var ru = eventUdfs[i].split('|');
            _eventUdfs.push(new udf(ru[0], ru[1], ru[2], ru[3]));
        }
    }
}

function udf(udqId, boxId, isRequired, text) {
    udqId = udqId.replace("\"", "");
    this.UdqId = udqId;
    this.Box = Dea.Get(boxId);
    this.IsRequired = isRequired;
    this.Question = text;
}

/*
Dea.AddEvent.anchorStartToEnd = function() {
    if (oStartBox === null) {
        oStartBox = Dea.Get("StartTime");
        oEndBox = Dea.Get("EndTime");
    }
    if (oStartBox !== null && oEndBox !== null) {
        Dea.browser.addEvent(oStartBox, "blur", Dea.AddEvent.setEndTime);
        Dea.browser.addEvent(oEndBox, "blur", Dea.AddEvent.changeDuration);
    }
}

Dea.AddEvent.changeDuration() = function() {
    if (oStartBox.value === "") {
        oStartBox.value = oEndBox.value;
    }
    else {
        Dea.setEmsData(true);
        Dea.makeCallback("changeDuration", Dea.emsData);
    }
}

Dea.AddEvent.setEndTime() = function() {
    if (oEndBox.value === "") {
        oEndBox.value = oStartBox.value;
    }
    else {
        if (oStartBox.value !== "") {
            Dea.setEmsData(true);
            Dea.makeCallback("getEndTime", Dea.emsData);
        }
    }
    
}
*/
Dea.pageHandleCallback = function(emsResponse, context) {
    if (emsResponse.success && emsResponse.success === "0") {
        alert(emsResponse.msg);
        return true;
    }
    
    switch (context) {
        case "loadUdqs":
            Dea.setHtml("udqHolder", emsResponse.udqResults);
            if (emsResponse.hasUDQs === "1") {
                loadEventUdfs(emsResponse.udqIds);
                Dea.setDisplay("udqContainer", "");
            }
            else {
                loadEventUdfs("");
                Dea.setDisplay("udqContainer", "none");
            }
            wireUpModals();
            return true;
        case "removeAttachment":
            mcAttachment.fileHtml = emsResponse.attachmentHolder;
            attachedFile();
            Dea.setDisplay("AttachmentFilesHolder", "");
            wireUpModals();
            return true;
        case "removeImage":
            mcAttachment.fileHtml = emsResponse.attachmentHolder;
            Dea.setDisplay("ImageAttachmentHolder", "none");
            Dea.setDisplay("imageAttachContainer", "");
            wireUpModals();
            return true;
        case "submitEvent":
            if (emsResponse.redirectUrl && emsResponse.redirectUrl !== "")
                goTo(emsResponse.redirectUrl);
            wireUpModals();
            return true;
        case "previewEvent":
            showPopWin("PreviewEvent.aspx", 650, 600, null);
            Dea.setDisplay(locationLookupId, "none");
            Dea.setDisplay(customFieldLookupId, "none");
            wireUpModals();
            return true;
     
    }
    return false;
}

function toggleTab(e) {
    setTabColor(this);
}

var mcEvent =
{
    "Title": "",
    "TitleUrl": "",
    "Description": "",
    "CalendarIds": "",
    "EventTypeId": 0,
    "StatusId": 2,
    "ContactName": "",
    "ContactPhone": "",
    "ContactEmail": "",
    "LocationId": 0,
    "Location": "",
    "LocationUrl": "",
    "Department": "",
    "TimeZoneId": 0,
    "CustomType1": -1,
    "CustomField1": "",
    "CustomFieldDescription1": "",
    "CustomFieldUrl1": "",
    "CustomType2": -1,
    "CustomField2": "",
    "CustomFieldDescription2": "",
    "CustomFieldUrl2": "",
    "Emails": "",
    "hasRecurrence": false,
    "Dates": "",
    "EventDate": "",
    "HideContactName": false,
    "HideContactEmail": false,
    "HideContactPhone": false,
    "calendarNames": "",
    "Cancel": false,
    "PostDate": ""
};

Dea.AddEvent.submitEvent = function(isPreview) {
    var inputs = document.getElementsByTagName("input");
    var selects = document.getElementsByTagName("select");

    var oTitle = Dea.Get("Title", inputs);
    var oTitleUrl = Dea.Get("TitleUrl", inputs);
    var oCalendars = Dea.Get("Calendars", selects);
    var oEventType = Dea.Get("EventType", selects);
    var oEventTimeType = Dea.Get("EventTimeType", selects);
    var oTimezone = Dea.Get("Timezone", selects);
    var oStatus = Dea.Get("Status", selects);
    var oContactName = Dea.Get("ContactName", inputs);
    var oContactEmail = Dea.Get("ContactEmail", inputs);
    var oContactPhone = Dea.Get("ContactPhone", inputs);
    var oLocation = Dea.Get("LocationBox", inputs);
    var oLocationUrl = Dea.Get("LocationUrl", inputs);
    var oDepartment = Dea.Get("Department", inputs);
    var oCF1 = Dea.Get("CustomFieldName1", inputs);
    var oCFDescription1 = Dea.Get("CustomFieldDescription1", inputs);
    var oCFUrl1 = Dea.Get("CustomFieldUrl1", inputs);
    var oCF2 = Dea.Get("CustomFieldName2", inputs);
    var oCFDescription2 = Dea.Get("CustomFieldDescription2", inputs);
    var oCFUrl2 = Dea.Get("CustomFieldUrl2", inputs);
    var oEmails = Dea.Get("Emails", inputs);
    var oCustomType1 = Dea.Get("CustomLink1", selects);
    var oCustomType2 = Dea.Get("CustomLink2", selects);

    var oPostDate = Dea.Get("PostDate", inputs);
    var oEventDate = Dea.Get("EventDate", inputs);
    var oStartTime = Dea.Get("StartTime", inputs);
    var oEndTime = Dea.Get("EndTime", inputs);


    mcEvent.Title = Dea.getValue(oTitle);
    mcEvent.TitleUrl = Dea.getValue(oTitleUrl);
    mcEvent.CalendarIds = mcCalendars;
    if (Dea.getValue(oEventType) !== "")
        mcEvent.EventTypeId = Dea.getValue(oEventType);

    mcEvent.Description = Dea.Get(sEditorId, inputs).getHTML();
    mcEvent.TimeZoneId = Dea.getValue(oTimezone);
    if (Dea.Get("Status") && Dea.getValue("Status") !== "")
        mcEvent.StatusId = Dea.getValue(oStatus);
    mcEvent.ContactName = Dea.getValue(oContactName);
    mcEvent.ContactEmail = Dea.getValue(oContactEmail);
    mcEvent.ContactPhone = Dea.getValue(oContactPhone);

    if (locationId != "" && locationId > 0)
        mcEvent.LocationId = locationId;

    mcEvent.PostDate = Dea.Get("PostDate").value;
    mcEvent.EventDate = Dea.Get("EventDate").value;
    mcEvent.Location = Dea.getValue(oLocation);
    mcEvent.LocationUrl = Dea.getValue(oLocationUrl);
    if (Dea.Get("Department") && Dea.getValue("Department") !== "")
        mcEvent.Department = Dea.getValue(oDepartment);


    if (showCustomFields) {
        mcEvent.CustomType1 = Dea.getValue(oCustomType1);
        mcEvent.CustomField1 = Dea.getValue(oCF1);
        mcEvent.CustomFieldDescription1 = Dea.getValue(oCFDescription1);
        mcEvent.CustomFieldUrl1 = mcEvent.CustomType1 == -1 ? "" : Dea.getValue(oCFUrl1);
        mcEvent.CustomType2 = Dea.getValue(oCustomType2);
        mcEvent.CustomField2 = Dea.getValue(oCF2);
        mcEvent.CustomFieldDescription2 = Dea.getValue(oCFDescription2);
        mcEvent.CustomFieldUrl2 = mcEvent.CustomType2 == -1 ? "" : Dea.getValue(oCFUrl2);
    }
    mcEvent.Emails = Dea.getValue(oEmails);

    mcEvent.StartTime = Dea.getValue("StartTime");
    mcEvent.EndTime = Dea.getValue("EndTime");
    mcEvent.NoEndTime = Dea.Get("NoEndTime").checked;
    mcEvent.NextDay = Dea.Get("NextDay").checked;
    mcEvent.HideContactName = Dea.Get("HideContactName").checked;
    mcEvent.HideContactEmail = Dea.Get("HideContactEmail").checked;
    mcEvent.HideContactPhone = Dea.Get("HideContactPhone").checked;
    mcEvent.EventTimeType = Dea.getValue(oEventTimeType);
    mcEvent.hasRecurrence = mcRecurrence.hasRecurrence;
    if (Dea.Get("Cancel"))
        mcEvent.Cancel = Dea.Get("Cancel").checked;

    if (isPreview)
        mcEvent.calendarNames = mcCalendarNames;

    if (mcRecurrence.hasRecurrence)
        mcEvent.Dates = mcRecurrence.dates;

    if (!Dea.validate(oTitle, mcEvent.Title, null)) {
        return false;
    }

    if (!Dea.validate(oTitleUrl, mcEvent.TitleUrl, null)) {
        return false;
    }

    if (!Dea.validate(oPostDate, mcEvent.PostDate, null)) {
        return false;
    }

    if (mcEvent.CalendarIds === "") {
        Dea.showError(oCalendars, selects, null)
        return false;
    }

    if (Dea.Get("EventTypeHolder").style.visibility === "" && oEventType.isRequired) {
        if (mcEvent.EventTypeId === "-1") {
            Dea.showError(oEventType, selects, null)
            return false;
        }
    }

    if (editMode == 0) {
        if (!Dea.validate(oContactName, mcEvent.ContactName, null)) {
            return false;
        }
        if (!Dea.validate(oContactEmail, mcEvent.ContactEmail, null) || !Dea.isValidEmail(oContactEmail, invalidContactMsg)) {
            return false;
        }

        if (!Dea.validate(oContactPhone, mcEvent.ContactPhone, null)) {
            return false;
        }
    }


    if (oLocation.isRequired) {
        if (!Dea.validate(oLocation, mcEvent.Location, null)) {
            return false;
        }
    }

    if (Dea.Get("departmentHolder").style.visibility === "" && Dea.Get("Department").disabled == false && oDepartment.isRequired) {
        if (!Dea.validate(oDepartment, mcEvent.Department, null)) {
            return false;
        }
    }

    
    if (!mcRecurrence.hasRecurrence && !Dea.validate(oEventDate, mcEvent.EventDate, null)) {
        return false;
    }

    if (!Dea.validate(oStartTime, mcEvent.StartTime, null)) {
        return false;
    }
    if (!Dea.Get("NoEndTime").checked) {
        if (!Dea.validate(oEndTime, mcEvent.EndTime, null)) {
            return false;
        }
    }
  
    if (!mcEvent.NextDay && !Dea.Get("NoEndTime").checked) {
        var dtStart = new Date("1/1/2007 " + mcEvent.StartTime);
        var dtEnd = new Date("1/1/2007 " + mcEvent.EndTime);
        var difference_in_milliseconds = dtEnd - dtStart;
        if (difference_in_milliseconds < 0) {
            alert(starttimeInvalidmsg);
            if(!mcRecurrence.hasRecurrence)
                oStartTime.focus();
            return false;
        }
    }

    

    //we have a resource, add the udfs alert if required on not filled out
    for (var j = 0; j < _eventUdfs.length; j++) {
        var rUdq = "mcEvent.udqId_" + _eventUdfs[j].UdqId;
        var rUdqQ = "mcEvent.udqQuestion_" + _eventUdfs[j].UdqId;
        //add the udq
        if (isPreview && _eventUdfs[j].Box.tagName === "SELECT") {
            for (var i = 0; i < _eventUdfs[j].Box.options.length; i++) {
                if (_eventUdfs[j].Box.options[i].value == _eventUdfs[j].Box.value)
                    eval(rUdq + " = " + _eventUdfs[j].Box.options[i].text.trim().toJSONString());
            }

        }
        else {
            eval(rUdq + " = " + _eventUdfs[j].Box.value.trim().toJSONString());
        }

        eval(rUdqQ + " = " + _eventUdfs[j].Question.toJSONString());
        var em = _eventUdfs[j].Box.getAttribute("errorMsg");
        if (em === null)
            em = _eventUdfs[j].Box.errorMsg;

        if (em !== undefined)
            em = Dea.htmlDecode(em);

        if (_eventUdfs[j].IsRequired === "True") {
            if (_eventUdfs[j].Box.tagName === "SELECT") {
                if (_eventUdfs[j].Box.value === "0") {
                    Dea.ctsm(null, em, _eventUdfs[j].Box);
                    return false;
                }
            }
            else {
                if (_eventUdfs[j].Box.value === "") {
                    Dea.ctsm(null, em, _eventUdfs[j].Box);
                    return false;
                }
            }
        }
    }

    if (showCustomFields) {
        if (mcEvent.CustomType1 != -1) {
            if (mcEvent.CustomFieldUrl1 === "") {
                Dea.showError(oCFUrl1, selects, null)
                return false;
            }
        }

        if (mcEvent.CustomType2 != -1) {
            if (mcEvent.CustomFieldUrl2 === "") {
                Dea.showError(oCFUrl2, selects, null)
                return false;
            }
        }
    }

    if (isPreview) {
        Dea.makeCallback("previewEvent", mcEvent)
    }
    else {
        Dea.setDisabled(sSubmitButton, true);
        Dea.makeCallback("submitEvent", mcEvent)
    }
    return false;
}

function displaySelectBoxes() {
    Dea.setDisplay(locationLookupId, "none");
    Dea.setDisplay(customFieldLookupId, "none");
    Dea.displaySelectBoxes();
}

var mcAttachment = {
    fileHtml: "",
    isImage: false
}

function attachedFile() {
    var names = mcAttachment.fileHtml.split(",");
    var shtml = "";
    if (mcAttachment.isImage) {
        shtml = "<div class=\"row\">" + names[0] + " <a href=\"#\" onclick=\"return removeImage(" + names[0] + ");\">remove</a></div>";
        shtml += "<div class=\"spacer\"></div>";
        Dea.setHtml("ImageAttachmentHolder", shtml);
        Dea.setDisplay("ImageAttachmentHolder", "");
        Dea.setDisplay("imageAttachContainer", "none");
    }
    else {
        if (names.length > 0 && names.toString() !== "") {
            for (var i = 0; i < names.length; i++) {
                shtml += "<div class=\"row\">" + names[i] + " <a href=\"#\" onclick=\"return removeAttachment(" + names[i] + ");\">remove</a></div>";
            }
            shtml += "<div class=\"spacer\"></div>";
            Dea.setHtml("AttachmentFilesHolder", shtml);
            Dea.setDisplay("AttachmentFilesHolder", "");
            if (names.length > 0) {
                Dea.setDisplay("attachFileContainer", "none");
                Dea.setDisplay("attachAnotherFileContainer", "");
            }
            else {
                Dea.setDisplay("attachAnotherFileContainer", "none");
                Dea.setDisplay("attachFileContainer", "");
            }
        }
        else {
            Dea.setDisplay("AttachmentFilesHolder", "none");
            Dea.setHtml("AttachmentFilesHolder", "");
        }
    }
    return false;
}

function attachImage() {
    var shtml = "";
        shtml = "<div class=\"row\">" + imageName + " <a href=\"#\" onclick=\"return removeImage(" + imageName + ");\">remove</a></div>";
        shtml += "<div class=\"spacer\"></div>";
        Dea.setHtml("ImageAttachmentHolder", shtml);
        Dea.setDisplay("ImageAttachmentHolder", "");
        Dea.setDisplay("imageAttachContainer", "none");
    return false;
}

function removeAttachment(fileName) {
    Dea.emsData.fileName = fileName;
    Dea.emsData.isImage = false;
    Dea.makeCallback("removeAttachment", Dea.emsData)
    return false;
}

function removeImage(fileName) {
    Dea.emsData.fileName = fileName;
    Dea.emsData.isImage = true;
    Dea.makeCallback("removeImage", Dea.emsData)
    return false;
}


function showFileDiag(isImage) {
    Dea.setDisplay(locationLookupId, "none");
    Dea.setDisplay(customFieldLookupId, "none");
    var image = 0;
    if (isImage)
        image = 1;

    var link = PathToRoot + "EventAttachment.aspx?im=" + image;
    showPopWin(link, 400, 200, attachedFile, true)
    return false;
}


function setLocationLookupValue(obj) {
    locationId = obj.options[obj.selectedIndex].value;
    locationName = obj.options[obj.selectedIndex].text;
    for (var x = 0; x < locationUrl_array.length; x++) {
        var locationString = locationUrl_array[x].split("|");
        
        if (locationString[0] == locationId) {
            locationUrl = locationString[1];
            return;
        }
    }
    locationUrl = "";
    return;
}

function applyLocationLookup() {
    hideLocationLookupFilters();

    if (locationName != undefined) 
        Dea.setValue("LocationBox", locationName);
    
    if (locationUrl != undefined && locationUrl.length > 0)
        Dea.setValue("LocationUrl", locationUrl);
    else
        Dea.setValue("LocationUrl", "");
        
    Dea.emsData.locationId = locationId;
    
    return false;
}

function setCustomFieldValue(obj) {
    customFieldName = obj.options[obj.selectedIndex].text;
    return;
}

function applyCustomFieldLookup() {
    hideCustomFieldLookupFilters();
    if (customFieldName === undefined)
        return false;
        
    if(customFieldNum === 1)
        Dea.setValue("CustomFieldName1", customFieldName);
    else
        Dea.setValue("CustomFieldName2", customFieldName);
    return false;
}


function applyCalendars() {
    hideCalendarFilters();
    if (mcCalendars == "")
        selectValueSet(calendarDDId, "-1");
    else if (mcCalendars.indexOf(",") <= 0 && mcCalendars > 0)
        selectValueSet(calendarDDId, mcCalendars);
    else
        addMultipleSelected(calendarDDId, multipleSelectedItem);

    Dea.emsData.calIds = mcCalendars;
    Dea.makeCallback("loadUdqs", Dea.emsData)
    return false;
}

Dea.AddEvent.loadCalendarDetails = function(dd) {
   var o = Dea.Get(calendarsDiv);
    removeSelectValue(calendarDDId, -2);
    if (dd.value == 0) {
        SetCurrentPos(calendarsDiv);
        o.style.visibility = "visible";
    }
    else if (dd.value == -1) {
        clearCalendars();
        mcCalendars = "";
        hideCalendarFilters();
    }
    else {
        clearCalendars();
        mcCalendars = "";
        mcCalendarNames = "";
        addCalPopId(dd.value);
        addCalName(dd.options[dd.selectedIndex].text);
        hideCalendarFilters();
    }
    Dea.emsData.calIds = mcCalendars;
    Dea.makeCallback("loadUdqs", Dea.emsData)
    return false;
}

function showRecurrence() {
    Dea.setDisplay(locationLookupId, "none");
    Dea.setDisplay(customFieldLookupId, "none");
    var link = PathToRoot + "Recurrence.aspx";
    if (mcRecurrence.hasRecurrence === false) {
        link += "?sd=" + Dea.Get("EventDate").value;
        link += "&st=" + Dea.Get("StartTime").value;
        link += "&et=" + Dea.Get("EndTime").value;
        link += "&nd=" + Dea.Get("NextDay").checked;
        link += "&net=" + Dea.Get("NoEndTime").checked;
        link += "&ett=" + Dea.getValue("EventTimeType");
    }
    showPopWin(link, 650, 475, applyRecurrence, true);
    return false;
}

function applyRecurrence() {
    Dea.setDisplay(locationLookupId, "none");
    Dea.setDisplay(customFieldLookupId, "none");
    var rt = Dea.Get("recurrenceText");
    var dtc = Dea.Get("dateTimeContainer");
    var toc = Dea.Get("timeOptionsContainer");
    var ett = Dea.Get("eventTimeTypeContainer");

    if (mcRecurrence.startTime !== "") {
        Dea.Get("StartTime").value = mcRecurrence.startTime;
    }
    if (mcRecurrence.endTime !== "") {
        Dea.Get("EndTime").value = mcRecurrence.endTime;
    }
    if (mcRecurrence.eventTimeType !== "") {
        Dea.setValue("EventTimeType", mcRecurrence.eventTimeType)
        Dea.AddEvent.showTimeFields(Dea.Get("EventTimeType"));
    }

        
        
    if (mcRecurrence.noEndTime === false)
        Dea.Get("EndTime").disabled = false;

    Dea.Get("NoEndTime").checked = mcRecurrence.noEndTime;    
    Dea.Get("NextDay").checked = mcRecurrence.nextDay;
    
    
    if (mcRecurrence.hasRecurrence) {
        Dea.setHtml(rt, mcRecurrence.text);
        Dea.setDisplay(rt, "");
        Dea.setDisplay(dtc, "none");
        Dea.setDisplay(toc, "none");
        Dea.setDisplay(ett, "none");
        Dea.setValue("mc_dates", mcRecurrence.dates);
        Dea.setDisplay("timeContainer", "none");
    }
    else {
        Dea.setDisplay("timeContainer", "");
        Dea.setDisplay(rt, "none");
        Dea.setDisplay(dtc, "");
        Dea.setDisplay(toc, "");
        Dea.setDisplay(ett, "");
        Dea.setValue("mc_dates", "");
    }
    
}
var mcRecurrence = { "text": "", "dates": "", "hasRecurrence": false, "startTime": "", "endTime": "", "noEndTime": false, "nextDay": false, "eventTimeType": "" };

Dea.AddEvent.showTimeFields = function(obj) {
    if(obj.value == 2) {
        Dea.setDisplay("timeOptionsContainer", "");
        Dea.setDisplay("timeContainer", "");
    } else {
        Dea.setDisplay("timeOptionsContainer", "none");
        Dea.setDisplay("timeContainer", "none");
        Dea.Get("NextDay").checked = false;
        Dea.Get("NoEndTime").checked = false;
    }
}

Dea.AddEvent.hideTimeFields = function() {
        Dea.setDisplay("timeOptionsContainer", "none");
        Dea.setDisplay("timeContainer", "none");
        Dea.Get("NextDay").checked = false;
        Dea.Get("NoEndTime").checked = false;
}

Dea.AddEvent.checkUncheckNextDay = function(obj) {
    if (obj.checked) {
        Dea.Get("NoEndTime").checked = false;
        Dea.Get("NoEndTime").disabled = true;
    }
    else {
        Dea.Get("NoEndTime").disabled = false;
    }
}

Dea.AddEvent.checkUncheckEndTime = function(obj) {
    if (obj.checked) {
        Dea.Get("NextDay").checked = false;
        Dea.setDisabled("NextDay", true);
        Dea.Get("EndTime").value = "";
        Dea.setDisabled("EndTime", true);
    }
    else {
        Dea.setDisabled("NextDay", false);
        Dea.setDisabled("EndTime", false);
    }
}

Dea.AddEvent.ChangeCusomType = function(field, ddvalue) {
    if (ddvalue != -1) {
        Dea.setDisplay(field == 1 ? "CustomUrl1Holder" : "CustomUrl2Holder", "inline");
        if (ddvalue > 0) {
            var i = Dea.Get(field == 1 ? "CustomLink1" : "CustomLink2").selectedIndex;
            Dea.setValue(field == 1 ? "CustomFieldName1" : "CustomFieldName2", Dea.Get(field == 1 ? "CustomLink1" : "CustomLink2").options[i].text);
            Dea.setDisabled(field == 1 ? "CustomFieldName1" : "CustomFieldName2", true);
            Dea.setDisplay(field == 1 ? "helpIcon1Holder" : "helpIcon2Holder", "none");
        }
        else {
            if(arguments.length < 3)
                Dea.setValue(field == 1 ? "CustomFieldName1" : "CustomFieldName2", "");
            
            Dea.setDisabled(field == 1 ? "CustomFieldName1" : "CustomFieldName2", false);
            Dea.setDisplay(field == 1 ? "helpIcon1Holder" : "helpIcon2Holder", "inline");
        }
    }
    else {
        Dea.setDisplay(field == 1 ? "CustomUrl1Holder" : "CustomUrl2Holder", "none");
        Dea.setValue(field == 1 ? "CustomFieldName1" : "CustomFieldName2", "");
        Dea.setDisabled(field == 1 ? "CustomFieldName1" : "CustomFieldName2", false);
        Dea.setDisplay(field == 1 ? "helpIcon1Holder" : "helpIcon2Holder", "inline");
    }

    return false;

}
 function cancelAction() {
     window.location.href = mcCancelLink;
     return false;
 }