/***************************************************************************************
 * @author Diabetes Victoria
 * @date 10/09/2015
 * @description This file is used to Display event Detail according to conditions
 ****************************************************************************************/
var eventDetails = {
    /******* Variable Decleration to use throughout the page *****/
    userType: '',
    memberFees: 0,
    nonMemberFees: 0,
    formData: [],
    dietaryReq: 'null',
    totalPrize: 0,
    oppId: null,
    eventDetailsIsMem: null,
    eventRegId: null,
    validationFlag: true,
    nonMemberString: "da vic non-member",
    MemberString: "da vic member",
    eventCurrentData: null,
    CaptureContact: false,
    donationId: document.getElementById("donationId"),
    galleryLink: (window.location.origin || window.location.protocol + "//" + window.location.hostname) + '/Event-gallery?tags=Events/',
    nextPageLink: (window.location.origin || window.location.protocol + "//" + window.location.hostname) + '/EventConfirmDetail',
    eventListLink: (window.location.origin || window.location.protocol + "//" + window.location.hostname) + '/events',
    superMarketEventListLink: (window.location.origin || window.location.protocol + "//" + window.location.hostname) + '/supermarket-tours',
    waitListPage: (window.location.origin || window.location.protocol + "//" + window.location.hostname) + '/Wait-listing-Confirmation',
    eventDate: " ",
    eventName: " ",
    eventVenue: " ",
    guestData: {},
    allData: {},
    RemainingSeats:0,
    otherCheckBoxFlag: false,
    defaultImageURL: "https://s3-ap-southeast-2.amazonaws.com/dv-resources/Event+Images/DAV-090+DV+2015+Website+Events+Box+725x350px+V01+2.png",
    /******* Twitter Intigration ********/
    setTwitterData: function(eventObjTW) {
        var params = {
            url: window.location.href,
            text: "Diabetes Victoria Event"
        };
        $("a.btn-twitter").attr('href', "https://twitter.com/intent/tweet?" + jQuery.param(params));
    },
    setEmailData: function() {
        $(document).on('click', 'a.btn-flickr > i.fa', function() {
            var eventObjEm = eventDetails.eventCurrentData.eventDetailList[0];
            $(location).attr('href', 'mailto:?subject=' + encodeURIComponent("Diabetes Victoria Event") + "&body=" + encodeURIComponent("Event Name: " + eventObjEm.Name + "\n" + "Event Details: " + eventObjEm.Description + "\n" + "Event URL:" + window.location.href));
        });
    },
    /******** call to salesForce to retrive Event Data ********/
    testDynamiCall: function(eventData) {
        $("div#showLoader").show();
        //$("div#showLoader").text('We are loading complete details. Please wait ...');
        $.orchestracmsRestProxy.doAjaxServiceRequest('DV_OCMS_EventDetail_Service', eventData, function(testStatus, json, xhr) {
            //Holding all container for putting values
			$('#removeGuest').attr("disabled", "disabled");

			var container = document.getElementById("eventDetail");
            var eventDescription = document.getElementById("eventDescription");
            var cardTypeSelectId = document.getElementById("cardTypeSelectId");
            var eventID = '';
            if (json.success) {
                var schoolRegDiv = document.getElementById('schoolRegDiv');

                console.log("After success", json);
                eventDetails.eventCurrentData = json;

                var isSuperMarketEvent = eventDetails.eventCurrentData.eventDetailList[0].isSuperMarketEvent;
                if(isSuperMarketEvent && schoolRegDiv){
                    schoolRegDiv.style.display = 'none';
                }
                if(isSuperMarketEvent){
                    var accessibilityRequirementDiv = document.getElementById('accessibilityRequirementDiv');
                    accessibilityRequirementDiv.style.display = 'none';
                }
                if (eventDetails.eventCurrentData.eventDetailList[0].PostcodeMandatory) {
                    var postCodeLbl = document.getElementById('postCodeLbl');
                    postCodeLbl.innerText += ' *';
                }

				getSchoolData();
                eventDetails.setTwitterData(eventDetails.eventCurrentData.eventDetailList[0]);
                eventDetails.setEmailData();
                $("div#showLoader").hide();
                for (var i = 0; i < json.eventDetailList.length; i++) {
                    // placing event Name
                    eventID = json.eventDetailList[i].EventID;
                    var unorderedList = document.createElement("UL");
                    var eventHeading = document.getElementById("eventHeading");
                    eventHeading.textContent = json.eventDetailList[i].Name;
                    // placing event Image
                    var eventImagehref = eventDetails.defaultImageURL;
                    if (json.eventDetailList[i].EventImage !== "" && json.eventDetailList[i].EventImage !== " ") {
                        eventImagehref = eventDetails.eventCurrentData.eventDetailList[i].EventImage;
                    }
                    var eventImage = document.createElement("img");
                    eventImage.setAttribute("class", "img-responsive");
                    eventImage.setAttribute("src", eventImagehref);
                    var banner = document.getElementById("event-banner");
                    if (banner) {
                        banner.style.background = "url('" + eventImagehref + "')";
                        banner.style.backgroundRepeat = "no-repeat";
                        banner.style.backgroundSize = "100%";
                    }
                    //gallary link
                    if (eventDetails.eventCurrentData.eventDetailList[i].StartDate && eventDetails.eventCurrentData.eventDetailList[i].Name && eventDetails.eventCurrentData.eventDetailList[i].VenueName && !(eventDetails.getTimeDifference())) {
                        eventDetails.eventDate = new Date(eventDetails.eventCurrentData.eventDetailList[i].StartDate);

                        var gallaryLinkelm = document.createElement("a");
                        gallaryLinkelm.setAttribute("href", eventDetails.galleryLink + (eventDetails.eventDate.getFullYear()) + "/" + ((eventDetails.eventDate.getMonth()) + 1) + "/" + json.eventDetailList[i].Name + " " + eventDetails.eventCurrentData.eventDetailList[i].VenueName);
                        var gallaryText = document.createTextNode("View Gallery");
                        gallaryLinkelm.appendChild(gallaryText);
                        eventDescription.appendChild(gallaryLinkelm);
                    }
                    if (eventDetails.eventCurrentData.eventDetailList[i].EventCategory && eventDetails.eventCurrentData.eventDetailList[i].EventCategory != " ") {
                        var span1 = document.createElement("span");
                        var category = eventDetails.eventCurrentData.eventDetailList[i].EventCategory;
                        var text = " ";
                        //checking for category type
                        switch (category) {
                            case 'Type 1':
                                span1.setAttribute("class", "square-icons purple-icon");
                                text = document.createTextNode("T1");
                                break;
                            case 'Type 2':
                                span1.setAttribute("class", "square-icons light-blue-icon");
                                text = document.createTextNode("T2");
                                break;
                            case 'Health Professionals':
                                span1.setAttribute("class", "square-icons diff-green");
                                text = document.createTextNode("HP");
                                break;
                            case 'General':
                                span1.setAttribute("class", "square-icons dark-blue-icon");
                                text = document.createTextNode("G");
                                break;
                            default:
                                span1.setAttribute("class", "square-icons dark-blue-icon");
                                text = document.createTextNode("ND");
                        }
                        span1.appendChild(text);
                        container.appendChild(span1);

                        var li1 = document.createElement("li");
                        var li1_text = document.createTextNode("Category: " + category);
                        li1.appendChild(li1_text);
                        unorderedList.appendChild(li1);
                    }
                    if (eventDetails.eventCurrentData.eventDetailList[i].StartDate) {
                        eventDetails.addEventDateTime(eventDetails.eventCurrentData.eventDetailList[i].StartDate, eventDetails.eventCurrentData.eventDetailList[i].EndDate, unorderedList);
                    }
                    if (eventDetails.eventCurrentData.eventDetailList[i].ContactPhone && eventDetails.eventCurrentData.eventDetailList[i].ContactPhone != " ") {
                        var li5 = document.createElement("li");
                        var li5_span = document.createElement("span");
                        var li5_spanText = document.createTextNode("Contact:");
                        li5_span.appendChild(li5_spanText);
                        li5.appendChild(li5_span);
                        var p5 = document.createElement("p");
                        p5_text = document.createTextNode(eventDetails.eventCurrentData.eventDetailList[i].ContactPhone);
                        p5.appendChild(p5_text);
                        li5.appendChild(p5);
                        unorderedList.appendChild(li5);
                    }
                    if (eventDetails.eventCurrentData.eventDetailList[i].SpecialNote && eventDetails.eventCurrentData.eventDetailList[i].SpecialNote != " ") {
                        var li5 = document.createElement("li");
                        var li5_span = document.createElement("span");
                        var li5_spanText = document.createTextNode("Special notes:");
                        li5_span.appendChild(li5_spanText);
                        li5.appendChild(li5_span);
                        var p5 = document.createElement("p");
                        p5_text = document.createTextNode(eventDetails.eventCurrentData.eventDetailList[i].SpecialNote);
                        p5.appendChild(p5_text);
                        li5.appendChild(p5);
                        unorderedList.appendChild(li5);
                    }
                    if (eventDetails.eventCurrentData.eventDetailList[i].VenueStreet1 && eventDetails.eventCurrentData.eventDetailList[i].VenueStreet1 != " ") {
                        var li4 = document.createElement("li");
                        var li4_span = document.createElement("span");
                        var li4_spanText = document.createTextNode("Venue:");
                        li4_span.appendChild(li4_spanText);
                        li4.appendChild(li4_span);
                        li4.appendChild(document.createElement("br"));
                        var p4 = document.createElement("p");
                        var streetAddress = '';

                        if (eventDetails.eventCurrentData.eventDetailList[i].VenueName && eventDetails.eventCurrentData.eventDetailList[i].VenueName != " ") {
                            streetAddress = eventDetails.eventCurrentData.eventDetailList[i].VenueName + "<br><br>";
                        }

                        if (eventDetails.eventCurrentData.eventDetailList[i].RoomVenue && eventDetails.eventCurrentData.eventDetailList[i].RoomVenue != " ") {
                            streetAddress = eventDetails.eventCurrentData.eventDetailList[i].RoomVenue + "<br> ";
                        }
                        streetAddress = streetAddress + eventDetails.eventCurrentData.eventDetailList[i].VenueStreet1 + "<br> ";

                        if (eventDetails.eventCurrentData.eventDetailList[i].VenueCity && eventDetails.eventCurrentData.eventDetailList[i].VenueCity != " ") {
                            streetAddress = streetAddress + eventDetails.eventCurrentData.eventDetailList[i].VenueCity + "<br>";
                        }

                        if (eventDetails.eventCurrentData.eventDetailList[i].VenueState && eventDetails.eventCurrentData.eventDetailList[i].VenueState != " ") {
                            streetAddress = streetAddress + eventDetails.eventCurrentData.eventDetailList[i].VenueState + "<br>";
                        }
                        if (eventDetails.eventCurrentData.eventDetailList[i].VenuePostCode && eventDetails.eventCurrentData.eventDetailList[i].VenuePostCode != " ") {
                            streetAddress = streetAddress + eventDetails.eventCurrentData.eventDetailList[i].VenuePostCode + "<br>";
                        }
                        if (eventDetails.eventCurrentData.eventDetailList[i].MapToVenue && eventDetails.eventCurrentData.eventDetailList[i].MapToVenue != " ") {
                            streetAddress = streetAddress + "<br>" + eventDetails.eventCurrentData.eventDetailList[i].MapToVenue;
                        }

                        p4.innerHTML = streetAddress;
                        li4.appendChild(p4);
                        unorderedList.appendChild(li4);
                    }
                    container.appendChild(unorderedList);
                    var descParagraph = document.createElement("p");
                    descParagraph.setAttribute("class", "intro-text");
                    var descriptionValue = "....";
                    descriptionValue = eventDetails.eventCurrentData.eventDetailList[i].Description;

                    if (descriptionValue) {
                        var description = document.createTextNode(descriptionValue);
                        descParagraph.appendChild(description);
                        eventDescription.appendChild(descParagraph);
                    }
                    if (eventDetails.eventCurrentData.Concession_Cards__c) {
                        // card Type SelectId
                        var cardTypeArray = eventDetails.eventCurrentData.Concession_Cards__c;
                        for (var j in cardTypeArray) {
                            var option = document.createElement("option");
                            var value = cardTypeArray[j].PicklistVal;
                            var description = document.createTextNode(value);
                            option.appendChild(description);
                            option.setAttribute("value", value);
                            cardTypeSelectId.appendChild(option);
                        }
                        if (eventDetails.eventCurrentData.concessionCard) {
                            if (eventDetails.eventCurrentData.concessionCard != "null") {
                                cardTypeSelectId.value = eventDetails.eventCurrentData.concessionCard;
                            } else {
                                //cardTypeSelectId.value = "Select card type";
                                cardTypeSelectId.options[0].selected = 'selected';
                            }
                        }
                    }
                    eventDetails.memberFees = json.eventDetailList[i].MemberFees;
                    eventDetails.nonMemberFees = json.eventDetailList[i].NonMemberFees;

                    var topics = json.eventDetailList[i].EventTopic;
                    var topicUl = document.getElementById("topics");
                    if (topics == ' ') {
                        topicUl.innerHTML = "";
                    } else {
                        topicUl.innerHTML = topics;
                    }
                    var eventCapacity = json.eventDetailList[i].EventCapacity;
                    var flag = isNaN(eventCapacity);

                    var formBooking = json.eventDetailList[i].BookingForm;
                    var publicBooking = json.eventDetailList[i].ForPublicBooking;

                    var eventCapacity = json.eventDetailList[i].EventCapacity;
                    eventDetails.RemainingSeats = json.eventDetailList[i].RemainingCapacity;


                    /**** booking form will display if formBooking and publicBooking flags are true
                        and event Date greater than todays Date and Event Capacity is not Null
                            *******/
                    if (formBooking === true && eventDetails.getTimeDifference() && publicBooking === true) {
                        var guestAllowedFlag = json.eventDetailList[i].GuestAllowed;
                        //Check for Guest Flag
                        //guest not allowed then dont display add Guest Block
                        if(eventDetails.eventCurrentData.eventDetailList[0].AllowWaitlistBookings && eventDetails.RemainingSeats < 1){
                            $('.EventFullyBooked').show();
                            $('#billingDetails').hide();
                            $('#donations').hide();
                        }

                        console.log('@@@ event name = ' + eventDetails.eventCurrentData.eventDetailList[0].EventName);

                        if(eventDetails.eventCurrentData.eventDetailList[0].IsPromoteOnly && eventDetails.eventCurrentData.eventDetailList[0].EventName == 'DESMOND'){
                            $('.EventFullyBooked').text('This program is BOOKED OUT');
                            $('.EventFullyBooked').show();
                            $('#progressbarDiv').hide();
                            $('#BookingForm').hide();
                            $('#billingDetails').hide();
                            $('#donations').hide();
                            $('#eventSubmitBtn').hide();
                            $('#addGuest').hide();
                            $('#removeGuest').hide();
                            $('#addGuestBlock').hide();
                        }
                        if (guestAllowedFlag !== true) {
                            var addGuest = document.getElementById("addGuestBlock");
                            addGuest.style.display = "none";
                        } else {
                            $("#guest-block").html(null);
                        }
                        if(eventDetails.eventCurrentData.eventDetailList[0].AllowWaitlistBookings == false && eventDetails.RemainingSeats < 1 ){
                            $('#BookingForm, #donations, #addGuestBlock, #eventSubmitBtn').hide();
                            $('.CanNotBook').css({'color':'red'}).show();
                        }
                        if(eventDetails.eventCurrentData.eventDetailList[0].AllowWaitlistBookings){
                            if(eventDetails.eventCurrentData.eventDetailList[0].CurrentWaitListed >= eventDetails.eventCurrentData.eventDetailList[0].MaximumWaiting && eventDetails.eventCurrentData.eventDetailList[0].MaximumWaiting > 0){
                                $('#BookingForm, #donations, #addGuestBlock, #eventSubmitBtn').hide();
                                $('.EventFullyBooked').hide();
                                $('.WaitlistingSeatsBooked').show();
                            }
                        }
                    } else{
                        if(eventDetails.eventCurrentData.eventDetailList[0].AllowWaitlistBookings == false && eventDetails.RemainingSeats < 1 ){
                            $('.CanNotBook').css({'color':'red'}).show();
                        }
                        $('#BookingForm, #donations, #addGuestBlock, #eventSubmitBtn').hide();
                        var progressbarDiv = document.getElementById('progressbarDiv');
                        progressbarDiv.style.display = 'none';
                        if(eventDetails.eventCurrentData.eventDetailList[0].IsPromoteOnly && eventDetails.eventCurrentData.eventDetailList[0].EventName == 'DESMOND'){
                            $('.EventFullyBooked').text('This program is BOOKED OUT');
                            $('#progressbarDiv').hide();
                            $('#BookingForm').hide();
                        }
                        else{
                            $('.EventFullyBooked').text('Public booking is not available for this event');
                        }

                        $('.EventFullyBooked').show();
                    }
                }
                //If user Logged in then Display his/her Details
                var userDetail = json.UserDetail;
                if (eventDetails.eventCurrentData.Dietary_Needs__c) {
                    var str = "";
                    for (var i in eventDetails.eventCurrentData.Dietary_Needs__c) {
                        if(eventDetails.eventCurrentData.Dietary_Needs__c[i].PicklistVal == 'Other') {
                            str += "<li><input type='checkbox' name='dietaryNeeds' id='otherCheckBox' value='other'>Other</li>";
                        } else {
                            str += "<li><input type='checkbox' name='dietaryNeeds' value='" + eventDetails.eventCurrentData.Dietary_Needs__c[i].PicklistVal + "'>" + eventDetails.eventCurrentData.Dietary_Needs__c[i].PicklistVal + "</li>";
                        }
                    }

                    $("#dietaryRequirement").html(str);
                } else {
                    $("#dietaryRequirement").hide();
                }

                if (userDetail) {
                    eventDetails.userType = userDetail.RecordType.Name;
                    var status = json.Status.trim().toLowerCase();
                    //if user Status is 'Do Not Contact' then Dont display user Detail
                    if (status !== 'do not contact') {

                        var title = document.getElementById("title");
                        title.value = json.Title;
                        var firstName = document.getElementById("firstName");
                        firstName.setAttribute("value", userDetail.FirstName);
                        var lastName = document.getElementById("lastName");
                        lastName.setAttribute("value", userDetail.LastName);
                        var phone = document.getElementById("contact");
                        phone.setAttribute("value", userDetail.Phone);
                        var occupation = document.getElementById("OccupationBlock");
                        if (json.eventDetailList[0].CaptureOccupation) {
                            //var occup=document.getElementById("Occupation");
                        } else {
                            occupation.style.display = "none";
                        }

                        /********* tCode Check For Some condition *************/
                        eventDetails.checkRequiredFlag(userDetail);
                        /********* tCode *************/
                       if (userDetail.BillingStreet !== "null" && userDetail.BillingStreet !== "" && userDetail.BillingStreet !== undefined) {
                            var addressOne = document.getElementById("addressOne");
                            addressOne.setAttribute("value", userDetail.BillingStreet);
                        }
                        if (userDetail.BillingCity !== "null" && userDetail.BillingCity !== "" && userDetail.BillingCity !== undefined) {
                            var cityName = document.getElementById("cityName");
                            cityName.setAttribute("value", userDetail.BillingCity);
                        }
                        if (userDetail.BillingState !== "null" && userDetail.BillingState !== "" && userDetail.BillingState!==undefined) {
                            var stateName = document.getElementById("stateName");
                            stateName.value = userDetail.BillingState;
                        }
                        if (userDetail.BillingPostalCode !== "null" && userDetail.BillingPostalCode !== "" && userDetail.BillingPostalCode !== undefined) {
                            var postCode = document.getElementById("postCode");
                            postCode.setAttribute("value", userDetail.BillingPostalCode);
                        }
                        eventDetails.checkRequiredFlag(userDetail);
                    }
                } else {
                    // Asking for diabetes type when user is not looged in and trying to book a desmond event
                    if(eventDetails.eventCurrentData.eventDetailList[0].EventName == 'DESMOND'){
                        console.log('@@@ About to show diabetes type options');
                        $('#diabetesType').show();
                        $('#diabetesLength').show();
                    }
                }
                eventDetails.checkRequirementFlagDetail();
                eventDetails.checkFeesCriteria();
            } else {
                $("div#showLoader").hide();
                container.innerHTML = " Error: Datail Not Found.";
            }

        }, null, true);
    },
	/******** Function to check if registrant is from school ********/
    checkSchoolRegistrant: function() {
		$('#generalOrgOccDiv').toggleClass('hide');
		$('#schoolDetails').toggleClass('hide');
		$('#addressOne, #cityName, #stateName, #postCode').val('').prop('disabled', false);
		for (i = 1; i <= counter; i++) {
            $("#added_" + (i)).remove();
        }
        counter = 0;
        var isSchoolRegistration = document.getElementById('isSchoolRegistration');
        var addGuestHeader = document.getElementById('addGuestHeader');
        var addGuest = document.getElementById('addGuest');
        var removeGuest = document.getElementById('removeGuest');
        var accessibilityRequirementDiv = document.getElementById('accessibilityRequirementDiv');
        var accessibilityRequirementsDetailDiv = document.getElementById('accessibilityRequirementsDetailDiv');
        var accessibilityRequirementChk = document.getElementById('accessibilityRequirementChk');
        var dietaryRequirementLbl = document.getElementById('dietaryRequirementLbl');

		if(isSchoolRegistration && isSchoolRegistration.checked){
            $("#dietaryRequirementCls").show();
            dietaryRequirementLbl.innerText += ' *';
			var schools = eventDetails.eventCurrentData.schoolDetails;
            applySchoolAddress(schools);
            addGuest.innerText = 'Add Staff';
            removeGuest.innerText = 'Remove Staff';
            addGuestHeader.innerText = 'Add Staff';

            accessibilityRequirementChk.checked = false;
            accessibilityRequirementDiv.style.display = 'none';
            accessibilityRequirementsDetailDiv.style.display = 'none';
		}else if(isSchoolRegistration && !isSchoolRegistration.checked){
            dietaryRequirementLbl.innerText = 'Dietary requirement';
            addGuest.innerText = 'Add Guest';
            removeGuest.innerText = 'Remove Guest';
            addGuestHeader.innerText = 'Add Guest';
            accessibilityRequirementDiv.style.display = '';
            accessibilityRequirementsDetailDiv.style.display = '';
        }
        if (!eventDetails.eventCurrentData.eventDetailList[0].CaptureDietary && isSchoolRegistration && !isSchoolRegistration.checked) {
            $("#dietaryRequirementCls").hide();
        }
    },
    enableAccessibilityOptions : function(){
        $('#accessibilityRequirementsDetailDiv').toggleClass('hide');
        $('#schoolRegDiv').toggleClass('hide');
    },

    enableVisionImpairmentDetails : function(){
        var visionImpairmentChk = document.getElementById('visionImpairmentChk');
        var visionImpairmentDetail = document.getElementById('visionImpairmentDetail');
        if(visionImpairmentChk && visionImpairmentDetail && visionImpairmentChk.checked){
            visionImpairmentDetail.disabled = false;
        }else{
            visionImpairmentDetail.disabled = true;
        }
    },
    enableHearingImpairmentDetails : function(){
        var hearingImpairmentChk = document.getElementById('hearingImpairmentChk');
        var hearingImpairmentDetail = document.getElementById('hearingImpairmentDetail');
        if(hearingImpairmentChk && hearingImpairmentDetail && hearingImpairmentChk.checked){
            hearingImpairmentDetail.disabled = false;
        }else{
            hearingImpairmentDetail.disabled = true;
        }
    },

    enableReducedMobilityImpairmentDetails : function(){
        var reducedMobilityImpairmentChk = document.getElementById('reducedMobilityImpairmentChk');
        var reducedMobilityImpairmentDetail = document.getElementById('reducedMobilityImpairmentDetail');
        if(reducedMobilityImpairmentChk && reducedMobilityImpairmentDetail && reducedMobilityImpairmentChk.checked){
            reducedMobilityImpairmentDetail.disabled = false;
        }else{
            reducedMobilityImpairmentDetail.disabled = true;
        }
    },

    /******** Function to check Flags of all require information ********/
    checkRequirementFlagDetail: function() {

        if (eventDetails.eventCurrentData.eventDetailList[0]) {
            if (!eventDetails.eventCurrentData.eventDetailList[0].CaptureDietary) {
                $("#dietaryRequirementCls").hide();
            }
            if (!eventDetails.eventCurrentData.eventDetailList[0].CaptureOccupation) {
                $("#OccupationBlock").hide();
            }
            if (!eventDetails.eventCurrentData.eventDetailList[0].CaptureOrg) {
                $("#captureOrg").hide();
            }
            if (!eventDetails.eventCurrentData.eventDetailList[0].CaptureContact) {
                $("#captureContact").hide();
            }
        }
    },
    addEventDateTime: function(startDateToFormat, endDateToFormat, unorderedList) {

        var daysText = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
        var monthsText = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];

        var startDateToFormat = new Date(startDateToFormat);
        var startDate = startDateToFormat.getDate();
        var startDay = startDateToFormat.getDay();
        var startMonth = startDateToFormat.getMonth();
        var startYear = startDateToFormat.getFullYear();
        var startTime = eventDetails.amPm(startDateToFormat);

        var endDateToFormat = new Date(endDateToFormat);
        var endDate = endDateToFormat.getDate();
        var endDay = endDateToFormat.getDay();
        var endMonth = endDateToFormat.getMonth();
        var endYear = endDateToFormat.getFullYear();
        var endTime = eventDetails.amPm(endDateToFormat);

        var timingsNode;

        console.log('@@@ startDateToFormat = ', startDateToFormat.getTime());
        console.log('@@@ endDateToFormat = ', startDateToFormat.getTime());
        console.log('@@@ They both equal = ', (startDateToFormat.getTime() === endDateToFormat.getTime()));

        if(startDateToFormat.getTime() == endDateToFormat.getTime()) {

            var li3 = document.createElement("li");
            var li3_span = document.createElement("span");
            var li3_spanText = document.createTextNode("Event Date: ");
            li3_span.appendChild(li3_spanText);
            li3.appendChild(li3_span);
            var p3 = document.createElement("p");
            var p3_text = document.createTextNode(startDate + ' ' + monthsText[startMonth] + ' ' + startYear);
            p3.appendChild(p3_text);
            li3.appendChild(p3);
            unorderedList.appendChild(li3);

            var li4 = document.createElement("li");
            var li4_span = document.createElement("span");
            var li4_spanText = document.createTextNode("Event Time: ");
            li4_span.appendChild(li4_spanText);
            li4.appendChild(li4_span);
            var p4 = document.createElement("p");
            var p4_text = document.createTextNode(startTime + ' - ' + endTime);
            p4.appendChild(p4_text);
            li4.appendChild(p4);
            unorderedList.appendChild(li4);

        } else {

            var li3 = document.createElement("li");
            var li3_span = document.createElement("span");
            var li3_spanText = document.createTextNode("Event Start Date & Time: ");
            li3_span.appendChild(li3_spanText);
            li3.appendChild(li3_span);
            var p3 = document.createElement("p");
            var p3_text = document.createTextNode(startDate + ' ' + monthsText[startMonth] + ' ' + startYear + ' - ' + startTime);
            p3.appendChild(p3_text);
            li3.appendChild(p3);
            unorderedList.appendChild(li3);

            var li5 = document.createElement("li");
            var li5_span = document.createElement("span");
            var li5_spanText = document.createTextNode("Event End Date & Time: ");
            li5_span.appendChild(li5_spanText);
            li5.appendChild(li5_span);
            var p5 = document.createElement("p");
            var p5_text = document.createTextNode(endDate + ' ' + monthsText[endMonth] + ' ' + endYear + ' - ' + endTime);
            p5.appendChild(p5_text);
            li5.appendChild(p5);
            unorderedList.appendChild(li5);
        }

    },
    /******** Function to check Fees Criteria like Early Bird, Concessions, Member Fees, Non Member Fees *********/
    checkFeesCriteria: function() {
        var value = eventDetails.getDaysDifference();
        var EarlyBirdDays = parseInt(eventDetails.eventCurrentData.eventDetailList[0].EarlyBirdDays);
        EarlyBirdDays = eventDetails.checkValueObject(EarlyBirdDays);
        var memFees = 0,
            noMemFees = 0,
            EarlyBirdMemFees = 0,
            EarlyBirdNonMemFees = 0,
            ConcessionFees = 0;
        if (eventDetails.eventCurrentData.eventDetailList) {
            memFees = eventDetails.checkValueObject(eventDetails.eventCurrentData.eventDetailList[0].MemberFees);
            noMemFees = eventDetails.checkValueObject(eventDetails.eventCurrentData.eventDetailList[0].NonMemberFees);
            EarlyBirdMemFees = eventDetails.checkValueObject(eventDetails.eventCurrentData.eventDetailList[0].EarlyBirdMemberFee);
            EarlyBirdNonMemFees = eventDetails.checkValueObject(eventDetails.eventCurrentData.eventDetailList[0].EarlyBirdNonMemberFee);
            ConcessionFees = eventDetails.checkValueObject(eventDetails.eventCurrentData.eventDetailList[0].ConcessionFees);
        }

        if(memFees == 0){
            $("p#memFees").html('Free');
        }else{
            $("p#memFees").html('$' + memFees);
        }
        $("p#noMemFees").html('$' + noMemFees);
        $("p#EarlyBirdMemFees").html('$' + EarlyBirdMemFees);
        $("p#EarlyBirdNonMemFees").html('$' + EarlyBirdNonMemFees);
        $("p#ConcessionFees").html('$' + ConcessionFees);
		var isSuperMarketEvent = eventDetails.eventCurrentData.eventDetailList[0].isSuperMarketEvent;
		if(isSuperMarketEvent){
			if(EarlyBirdMemFees == 0){
				$('#earlyBirdMemberFeeLI').hide();
			}
			if(EarlyBirdNonMemFees == 0){
				$('#earlyBirdNonMemberFeeLI').hide();
			}
			if(ConcessionFees == 0){
				$('#concessionFeeLI').hide();
			}
		}else{
            if(EarlyBirdMemFees == 0){
				$('#EarlyBirdMemFees').text("N/A");
			}
			if(EarlyBirdNonMemFees == 0){
				$('#EarlyBirdNonMemFees').text("N/A");
            }
            if(ConcessionFees == 0){
				$('#ConcessionFees').text("N/A");
			}
        }

       // $("p#remainingSeats").html(eventDetails.RemainingSeats);

        $(".fees-box input").attr("disabled", true);
        /* For member condition */
        if (value > EarlyBirdDays) {
            $("input[name='EarlyBirdMemFees']").attr('checked', false);
        } else {
            $("input[name='EarlyBirdMemFees']").attr('checked', false);

        }
        $("input[name='memFees']").attr('checked', false);
        $("input[name='ConcessionFees']").attr('checked', false);

        /* For non-member condition */
        if (value > EarlyBirdDays) {
            $("input[name='EarlyBirdNonMemFees']").attr('checked', true);
        } else {
            $("input[name='EarlyBirdNonMemFees']").attr('checked', false);
        }
        $("input[name='noMemFees']").attr('checked', true);
    },
    /****** Function to check values if Null then return blank ******/
    checkResponseObject: function(val) {
        if (val !== undefined && val !== null) {
            return val;
        }
        return "";
    },
    dateFormat: function(nDate) {
        var aDate = new Date(nDate);
        var day = ("0" + aDate.getDate()).slice(-2);
        var month = ("0" + (aDate.getMonth() + 1)).slice(-2);
        return day + "/" + month + "/" + aDate.getFullYear();
    },
    /********* function to Check Some conditions *************/
    checkRequiredFlag: function(userDetail) {
        /** Phone checking **********/
        /*CaptureContact: false
        CaptureDietary: false
        CaptureEmail: false
        CaptureOccupation: true
        CaptureOrg: false
            */
        //var captureContactID=document.getElementById("captureContact");
        if (userDetail.Phone !== "null" && userDetail && userDetail.Phone !== undefined) {
            var contact = document.getElementById("contact");
            contact.setAttribute("value", userDetail.Phone);
        }
        if (userDetail.Concession_Card_Number__c !== "") {
            $("#concessionCardNumber").val(userDetail.Concession_Card_Number__c);
        }
        if (!!userDetail.DA_Concession_expiry_Date__c) {
            $("#concessionExpiryDate").val(eventDetails.dateFormat(userDetail.DA_Concession_expiry_Date__c));
        }
        if (userDetail.PersonEmail) {
            var email = document.getElementById("emailAdd");
            email.setAttribute("value", userDetail.PersonEmail);
        }
        /**  chacking dietaryReq**********/
        //var dietaryRequrement  =document.getElementById("dietaryRequirementCls");
        //var dietaryRequrementSel  =document.getElementById("dietaryRequirementSelectCls");
        //var dietaryFlag = true;
        if (eventDetails.eventCurrentData.eventDetailList) {
            if (!eventDetails.eventCurrentData.eventDetailList[0].CaptureDietary) {
                $('#dietaryRequirementCls').hide();
            }
        }
        if (eventDetails.eventCurrentData.eventDetailList) {
            if (eventDetails.eventCurrentData.eventDetailList[0].CaptureOrg === true) {
                var CaptureOrg = document.getElementById("organization");
                CaptureOrg.setAttribute("value", eventDetails.checkResponseObject(userDetail.Company__c));
            } else {
                $('#captureOrg').hide();
            }

            if (eventDetails.eventCurrentData.eventDetailList[0].CaptureOccupation === true) {
                var Occupation = document.getElementById("Occupation");
                Occupation.setAttribute("value", userDetail.DA_Occupation__c);
            } else {
                $('#Occupation').hide();
            }
        }
    },

    /********* Function to Check NonMember Price *************/
    getNotMemberPrize: function() {
        var daysDiff = eventDetails.getDaysDifference();
        var getTotalAmt = 0;
        var EarlyBirdDays = parseInt(eventDetails.eventCurrentData.eventDetailList[0].EarlyBirdDays);
        if (eventDetails.eventCurrentData.eventDetailList.length > 0 && eventDetails.eventCurrentData.eventDetailList[0].EarlyBirdDays) {
            if (daysDiff > EarlyBirdDays) {
                var earlyBirdPrize = parseInt(eventDetails.eventCurrentData.eventDetailList[0].EarlyBirdNonMemberFee);
                getTotalAmt = eventDetails.checkValueObject(earlyBirdPrize);
            } else {
                var NonMemFees = parseInt(eventDetails.eventCurrentData.eventDetailList[0].NonMemberFees);
                getTotalAmt = eventDetails.checkValueObject(NonMemFees);
            }
        } else {
            var NonMemFees = parseInt(eventDetails.eventCurrentData.eventDetailList[0].NonMemberFees);
            getTotalAmt = eventDetails.checkValueObject(NonMemFees);
        }
        return getTotalAmt;
    },
    /********* Function to Check all Member Price *************/
    checkMemEarlyBird: function() {
        var daysDiff = eventDetails.getDaysDifference();
        var getMemAmt = 0
        var MemFees = parseInt(eventDetails.eventCurrentData.eventDetailList[0].MemberFees);
        var EarlyBirdDays = parseInt(eventDetails.eventCurrentData.eventDetailList[0].EarlyBirdDays);
        if (eventDetails.eventCurrentData.eventDetailList.length > 0 && eventDetails.eventCurrentData.eventDetailList[0].EarlyBirdDays) {
            if (daysDiff > EarlyBirdDays) {
                var earlyBirdPrize = parseInt(eventDetails.eventCurrentData.eventDetailList[0].EarlyBirdMemberFee);
                getMemAmt = eventDetails.checkValueObject(earlyBirdPrize);
            } else {
                // var MemFees = parseInt(eventDetails.eventCurrentData.eventDetailList[0].MemberFees);
                getMemAmt = eventDetails.checkValueObject(MemFees);
            }
        } else {
            // var MemFees = parseInt(eventDetails.eventCurrentData.eventDetailList[0].MemberFees);
            getMemAmt = eventDetails.checkValueObject(MemFees);
        }
        return getMemAmt;
    },
    /****** member Price *******/
    getMemberPrize: function() {

        var getMemAmt = 0;
        var concession = eventDetails.eventCurrentData.eventDetailList[0].ConcessionFees;
        if (concession > 0 && concession) {
            getMemAmt = eventDetails.checkMemEarlyBird();
            getMemAmt = getMemAmt - concession;
        } else {
            getMemAmt = eventDetails.checkMemEarlyBird();
        }
        return getMemAmt;
    },
    /******** Function to calculate days difference for Early Bird **********/
    getDaysDifference: function() {
        var date1 = new Date(eventDetails.eventCurrentData.eventDetailList[0].TodaysDate);
        var date2 = new Date(eventDetails.eventCurrentData.eventDetailList[0].StartDate);
        var timeDiff = Math.abs(date2.getTime() - date1.getTime());
        var diffDays = Math.floor(timeDiff / (1000 * 3600 * 24));
        return diffDays;
    },
    /******* Function to calculate Time Difference *******/
    getTimeDifference: function() {
        var date1='';
        var date2='';
        if(navigator.userAgent.indexOf("Safari") != -1){
            date1=eventDetails.dateForSafari(eventDetails.eventCurrentData.eventDetailList[0].TodaysDate);
            date2=eventDetails.dateForSafari(eventDetails.eventCurrentData.eventDetailList[0].StartDate);
        }


        else{
            date1= new Date(eventDetails.eventCurrentData.eventDetailList[0]["TodaysDate"]);
            date2 = new Date(eventDetails.eventCurrentData.eventDetailList[0]["StartDate"]);
        }
        //var timeDiff = Math.abs(date2.getTime() - date1.getTime());
        if (date2.getTime() > date1.getTime()) {
            return true;
        } else {
            return false;
        }
    },
    dateForSafari:function(a){
        var b=a.replace("-","/");
        return new Date(b.replace("-","/"));
    },
    /****** Function to calculate guest Price ********/
    getGuestPrice: function(st) {
        var freeGuests = 0;
        $('[id^="guestType"]').each(function() {
            if(this.value!='')
                freeGuests = freeGuests + 1;
        });
        console.log('Free Guest ', freeGuests);
        var daysDiff = eventDetails.getDaysDifference();
        var getTotalAmt = 0;
        var EarlyBirdDays = parseInt(eventDetails.eventCurrentData.eventDetailList[0].EarlyBirdDays);
        if (eventDetails.eventCurrentData.eventDetailList.length > 0 && eventDetails.eventCurrentData.eventDetailList[0].EarlyBirdDays) {
            if (daysDiff > EarlyBirdDays) {
                var earlyBirdPrize = parseInt(eventDetails.eventCurrentData.eventDetailList[0].EarlyBirdNonMemberFee);
                getTotalAmt = (st - freeGuests) * eventDetails.checkValueObject(earlyBirdPrize);
            } else {
                var NonMemFees = parseInt(eventDetails.eventCurrentData.eventDetailList[0].NonMemberFees);
                getTotalAmt = (st - freeGuests) * eventDetails.checkValueObject(NonMemFees);
            }
        } else {
            var NonMemFees = parseInt(eventDetails.eventCurrentData.eventDetailList[0].NonMemberFees);
            getTotalAmt = (st - freeGuests) * eventDetails.checkValueObject(NonMemFees);
        }
        console.log('getTotalAmt******', getTotalAmt);
        return getTotalAmt;
    },
    /********* Function to calculate Member Fees *******/
    getUserActualPrice: function() {
        var totalPrice = 0;
        var userDetail = eventDetails.eventCurrentData.UserDetail;
        if (userDetail) {
            var userType = eventDetails.eventCurrentData.UserDetail['RecordType']['Name'];
            var userType = userType.toLowerCase();
            if (userType === eventDetails.MemberString && userType !== "" && userType !== "null") {
                totalPrice = eventDetails.getMemberPrize();
                console.log(totalPrice);

            } else {
                totalPrice = eventDetails.getNotMemberPrize();
                console.log(totalPrice);
            }

        } else {

            totalPrice = eventDetails.getNotMemberPrize();
        }
        return totalPrice;
    },
    /***** function for separating data, time and am pm *******/
    amPm: function(date) {
        var hours = date.getHours();
        var minutes = date.getMinutes();
        var ampm = hours >= 12 ? 'pm' : 'am';
        hours = hours % 12;
        hours = hours ? hours : 12; // the hour '0' should be '12'
        minutes = minutes < 10 ? '0' + minutes : minutes;
        var strTime = hours + '.' + minutes + ' ' + ampm;
        return strTime;
    },
    /***** seprating ID parameters from url *****/
    getParamArray: function() {
        var urlString = window.location.href;
        urlString = urlString.split("%20").join(' ');
        var splitArray = urlString.split('?');
        var paramStr = splitArray[1] || '';
        var paramSepStr = paramStr.split('&') || [];
        var objectPrm = {};
        for (var i in paramSepStr) {
            var d = paramSepStr[i].split("=");
            var strTagname = d[0];
            var strTagValue = d[1];
            objectPrm[strTagname] = strTagValue;
        }
        return objectPrm;
    },
    /********* tCode generate add guest Templ *************/
    getAddGuestTemplate: function(counter1) {
        var isSchoolRegistration = document.getElementById('isSchoolRegistration');
        var templateString = "";
        templateString += "<div class='col-lg-12 col-md-12 left-right-zero left-zero' id='added_" + counter1 + "'>";

        templateString += "<div class='col-lg-6 col-md-6'><div class='col-lg-12 col-md-12 commonzero name-zero' >";

        templateString += "<div class='col-md-5 col-sm-12 left-zero paddingbottom'>";
        templateString += "<label>Title *</label>";
        //templateString += "<input type='text' class='form-control' placeholder='Mr.' id='gmr_"+counter1+"' >";

        templateString += "<select  id='gmr_" + counter1 + "' class='form-control'>";
        templateString += '<option value="">--Select--</option>';
        templateString += '<option value="Mr.">Mr.</option>';
        templateString += '<option value="Miss.">Miss.</option>';
        templateString += '<option value="Mrs.">Mrs.</option>';
        templateString += '<option value="Ms.">Ms.</option>';
        templateString += '<option value="Dr.">Dr.</option>';
        templateString += "</select></div> ";

        templateString += "<div class='col-sm-12 col-md-7 commonzero name-zero'>";
        templateString += "<label>First name *</label>";
        templateString += "<input type='text' class='form-control' placeholder='First name' id='gFirstName_" + counter1 + "'>";
        templateString += "</div>";

        templateString += "</div></div>";

        templateString += "<div class='col-lg-6 col-md-6'>";
        templateString += "<label>Last name *</label>";
        templateString += "<input type='text' class='form-control' placeholder='Last name' id='gLastName_" + counter1 + "'>";
        templateString += "</div>";

        templateString += "<div class='col-lg-6 col-md-6'>";
        if(isSchoolRegistration && isSchoolRegistration.checked){
			templateString += "<label id='gEmailLbl_" + counter1 + "'>Email *</label>";
		}else{
			templateString += "<label id='gEmailLbl_" + counter1 + "'>Email</label>";
		}
        templateString += "<input type='text' class='form-control' placeholder='Email address' id='gEmail_" + counter1 + "'>";
        templateString += "</div>";

        if (eventDetails.eventCurrentData.eventDetailList[0].CaptureDietary || (isSchoolRegistration && isSchoolRegistration.checked)) {
            templateString += "<div class='col-lg-6  col-md-6'>";
            templateString += "<label>Dietary requirement </label>";
            templateString += "<ul id='dietaryNeed'>";
            if (eventDetails.eventCurrentData.Dietary_Needs__c.length > 0) {
                for (var i in eventDetails.eventCurrentData.Dietary_Needs__c) {
                    if(eventDetails.eventCurrentData.Dietary_Needs__c[i].PicklistVal == 'Other') {
                        templateString += "<li><input class='iboxguest' type='checkbox' data-ibox='gdietryOther" + counter1 + "' name='gdietaryNeeds" + counter1 + "' id='gotherCheckBox" + counter1 + "' value='other'>Other</li>";
                    } else {
                        templateString += "<li><input type='checkbox' name='gdietaryNeeds" + counter1 + "' value='" + eventDetails.eventCurrentData.Dietary_Needs__c[i].PicklistVal + "'>" + eventDetails.eventCurrentData.Dietary_Needs__c[i].PicklistVal + "</li>";
                    }
                }
            }
            templateString += "</ul><input type='text' placeholder='Enter Dietary Requirements' id='gdietryOther" + counter1 + "' class='form-control hide'>";

            templateString += "</div>";
        }
        if (eventDetails.eventCurrentData.eventDetailList[0].CaptureContact) {
            templateString += "<div class='col-lg-6  col-md-6'>";
            templateString += "<label>Contact Number </label>";
            templateString += "<input type='text' class='form-control' action='phnumber' placeholder='Contact number' id='gContact_" + counter1 + "'>";
            templateString += "</div>";
        }
        //Guest organization display
        if (eventDetails.eventCurrentData.eventDetailList[0].CaptureOrg || (isSchoolRegistration && isSchoolRegistration.checked)) {
            var orgValue = '';
            var orgDisabled = false;
            var schoolName = document.getElementById('schoolName');
            templateString += "<div class='col-lg-6  col-md-6'>";

            if(isSchoolRegistration && isSchoolRegistration.checked && schoolName){
                orgValue = schoolName.value;
                orgDisabled = true;
                templateString += "<label>School </label>";
            }else{
                templateString += "<label>Organisation </label>";
            }
            var isDisabled = '';
            if(orgDisabled){
                isDisabled = " disabled='"+orgDisabled+"'";
            }
            templateString += "<input type='text' class='form-control' "+ isDisabled + "' placeholder='Organisation' id='gOrganisation_" + counter1 + "' value='"+orgValue+"' >";
            templateString += "</div>";
        }
        // Guest Occupation dispaly
        if (eventDetails.eventCurrentData.eventDetailList[0].CaptureOccupation && isSchoolRegistration && !isSchoolRegistration.checked) {
            templateString += "<div class='col-lg-6  col-md-6'>";
            templateString += "<label>Occupation </label>";
            templateString += "<input type='text' class='form-control'  placeholder='Occupation' id='gOccupation_" + counter1 + "'>";
            templateString += "</div>";
        }else if(eventDetails.eventCurrentData.eventDetailList[0].CaptureOccupation && isSchoolRegistration && isSchoolRegistration.checked){
            templateString += "<div class='col-lg-6  col-md-6'>";
            templateString += "<label>Occupation </label>";
            templateString += "<select  id='gOccupation_" + counter1 + "' class='form-control'>";
            templateString += '<option value="">--Select--</option>';
            templateString += '<option value="Kindergarten teacher">Kindergarten teacher</option>';
            templateString += '<option value="Primary teacher">Primary teacher</option>';
            templateString += '<option value="Secondary teacher">Secondary teacher</option>';
            templateString += '<option value="Teacherâ€™s aide">Teacherâ€™s aide</option>';
            templateString += '<option value="Childcare">Childcare</option>';
            templateString += '<option value="Office/admin staff">Office/admin staff</option>';
            templateString += '<option value="First aid">First aid</option>';
            templateString += '<option value="School nurse">School nurse</option>';
            templateString += '<option value="Other">Other</option>';
            templateString += "</select></div> ";
        }
        //Guest Type
        if ((isSchoolRegistration && !isSchoolRegistration.checked) && (eventDetails.eventCurrentData.eventDetailList[0].EventName.match("Membership") || eventDetails.eventCurrentData.eventDetailList[0].EventName.match("Consumer Events")
            || eventDetails.eventCurrentData.eventDetailList[0].EventName.match("Business Development"))) {
            templateString += "<div class='col-lg-6  col-md-6'>";
            templateString += "<label>Guest Type </label>";
            templateString += "<select class='form-control' id='guestType"+ counter1 + "'> <option value='' selected='selected'>None</option> <option value='Guardian'>Guardian</option> <option value='Under 17s'>Under 17s</option> <option value='Carer'>Carer</option></select>";
            templateString += "</div>";
        }
        templateString += "</div>";
        templateString += "</div>";

        return templateString;
    },
    /****** Function to check value of Member price if its null then assign zero to them *******/
    checkValueObject: function(objectData) {
        if (objectData && objectData != "null") {
            return objectData;
        }
        return 0;

    },
    /******* Function to get Members Information *********/
    getMemObjectToSend: function() {

        var EarlyBirdDays = parseInt(eventDetails.eventCurrentData.eventDetailList[0].EarlyBirdDays);
        var daysDiff = eventDetails.getDaysDifference();
        var EarlyBirdFlag = false;
        var userType = '';
        if (daysDiff > EarlyBirdDays) {
            EarlyBirdFlag = true;
        }

        if (eventDetails.userType !== '') {
            userType = eventDetails.userType;
        } else {
            userType = eventDetails.nonMemberString;
        }

        return {
            'EarlyBirdFlag': EarlyBirdFlag,
            'userType': userType,
            'MemFees': eventDetails.eventCurrentData.eventDetailList[0].MemberFees,
            'nonMemFees': eventDetails.eventCurrentData.eventDetailList[0].NonMemberFees,
            'EarlyBirdNonMemFees': eventDetails.eventCurrentData.eventDetailList[0].EarlyBirdNonMemberFee,
            'EarlyBirdMemFees': eventDetails.eventCurrentData.eventDetailList[0].EarlyBirdMemberFee,
            'concession': eventDetails.eventCurrentData.eventDetailList[0].ConcessionFees,
        };
    },
    /********* Function to send Request to PlaceOrder *************/
    sendRequestForPlaceOrder: function(eventData) {
        console.log('before call',eventDetails.allData);
        $.orchestracmsRestProxy.doAjaxServiceRequest('DV_OCMS_CreateEventRegOpp_Service', eventData, function(checkStatus, json, xhr) {
            if (json.success) {
                console.log('json',json);
                var jsonData = json;
                if (jsonData.createdId !==undefined){
                    if (jsonData.createdId.OppId || jsonData.createdId.eventRegId) {
                        console.log("redirected", jsonData);
                        if(eventDetails.eventCurrentData.eventDetailList[0].AllowWaitlistBookings && eventDetails.RemainingSeats < 1){
                            console.log("registered as a waiting list.",eventDetails.allData);
                            window.location = eventDetails.waitListPage+'?eventName='+eventDetails.eventCurrentData.eventDetailList[0].Name;
                        }else{
                            window.location = eventDetails.nextPageLink + '?oppID=' + jsonData.createdId.OppId + '&eventRegId=' + jsonData.createdId.eventRegId;
                        }
                    }
                }
                if(jsonData.NotAllSeatsAvailable!==undefined && jsonData.NotAllSeatsAvailable!==""){
                    $('#remainingSeats').html(jsonData.NotAllSeatsAvailable.RemainingCapacity);
                    $('#dataToGuestDetail').html(jsonData.NotAllSeatsAvailable.Message);
                    $('#confirmAndprocees').hide();
                    $('#modal-dismiss').text("Got it");
                    $('#myModal').modal('show');
                    $('#modal-dismiss').click(function(){
                        window.location=window.location.href;
                    });
                }
            } else if(json.Fraudarant_Opportunity){
                window.location.href = '/Payment-Error';
            }else{
                console.log(json);
                if(json.Error != undefined && json.Error.Message != undefined){
                    //alert(json.Error.Message);
                    $('#paymentLinkModal').modal({
                        backdrop: 'static',
                        keyboard: false
                    });
                    var pathUrl = '';
                    if(json.Error.Message.match('Already Registered - Link ')){
                        pathUrl = json.Error.Message.replace('Already Registered - Link ','');
                        var linkUrl = (window.location.origin || window.location.protocol + "//" + window.location.hostname)+'/'+pathUrl;
                        var anchorHTML = 'Already Registered . <a href="'+linkUrl+'">Click here</a> to proceed with the payment.';
                        $('#paymentLinkModal .modal-header h4').text('');
                        $('#paymentLinkModal #dataToGuestDetail').html(anchorHTML);
                    }else if(json.Error.Message.match('Already Registered - , Main')){
                        $('#paymentLinkModal .modal-header h4').text('');
                        $('#paymentLinkModal #dataToGuestDetail').html('You have already registered.');
                    }else{
                        $('#paymentLinkModal .modal-header h4').text('Error');
                        $('#paymentLinkModal #dataToGuestDetail').html(json.Error.Message);
                    }
                }
            }
            $("#showLoader").hide();
        }, null, false);
    },
    /********* Function to get Value By ID *************/
    getVlueFromID: function(itemID) {
        var valueOfRecord = $("#" + itemID).val();
        if (valueOfRecord) {
            return valueOfRecord;
        } else {
            return "";
        }
    },

    /******* Function to calculate donation *******/
    donationCalc: function() {
        var donation = document.getElementsByName("donation");
        var donationAmt = 0;
        selDonationType = '';
        for (var i = 0; i < donation.length; i++) {
            if (donation[i].checked === true) {
                selDonationType = genders[i].value;
            }
        }
        if (selDonationType === 'no-thanks') {
            eventDetails.donationId.style.display = "block";
            eventDetails.donationId.value = "0 AUD";
        }
        if (selDonationType === 'donate') {
            eventDetails.donationId.style.display = "block";
            donationAmt = eventDetails.donationId.value;
        }
        return donationAmt;
    },
    /****** function to validate Phone Number of Member ********/
    phoneValidationUser: function(values) {
        intRegex = /[0-9 -()+]+$/;
        if (values.length > 0) {
            if ((values.length == 10) && intRegex.test(values)) {
                //eventDetails.validationFlag = true;
            } else {
                eventDetails.validationFlag = false;
            }
        }
    },
    /******* Function to validate Guest Phone Number *******/
    phoneValidationGuest: function(values) {
        /*** Guest Phone  No True *******/
        intRegex = /[0-9 -()+]+$/;
        if (values.length > 0) {

            if ((values.length == 10) && intRegex.test(values)) {
                //eventDetails.validationFlag = true;
            } else {
                eventDetails.validationFlag = false;
            }
        }
    },
    /****** Function to check require flag ********/
    checkRequiredField: function(record) {
        if (record === "") {
            eventDetails.validationFlag = false;
        }
    },
    /******* Function to check validation flag ********/
    checkValidation: function(fname, lname, email) {
        //console.log(fname,fname,email);
        if (fname !== "" && lname !== "") {
            eventDetails.checkRequiredField(fname);
            eventDetails.checkRequiredField(lname);
			var isSchoolRegistration = document.getElementById('isSchoolRegistration');
			if(isSchoolRegistration && isSchoolRegistration.checked){
				eventDetails.checkRequiredField(email);
			}
        } else {
            eventDetails.validationFlag = false;
        }
    },
    /****** Function to hide Donation Box ********/
    checkBoxClick: function() {
        $("#donationId").hide();
    },
    revertHandling: function() {
        $("#donationId").show();
    },
    /******* Function to validate Card Numbers *******/
    cardNovalidation: function(current) {
        this.value = this.value.replace(/[^0-9.]/g, '').substring(0, 16);
    },
    /******* Function to check only Number input *********/
    checkPhoneValidation: function() {
        this.value = this.value.replace(/[^0-9.]/g, '').substring(0, 10);
    },
    /******** function to check concession card ******/
    concessionCardValidation: function() {
        var value = $(this).val();
        if (value.length < 17) {

            $(this).removeClass('required');
        } else {
            $(this).addClass('required');
            alert("16 number required");
        }
    },
    /******* Function to check phone number length ********/
    checkPhoneLengthValidation: function() {

        var value = $(this).val();
        if (value.length > 0) {
            if (value.length == 10) {

                $(this).removeClass('required');
            } else {
                $(this).addClass('required');
                //alert("Please enter 10 digit no. - area code and phone number without spaces or brakets ");
                alert("Phone number must be 10 digits long and have no spaces i.e. 0394143596");
            }
        } else {
            $(this).removeClass('required');
        }
    },
    /******** Function to check Concession card Validte date ********/
    concessionDateValidation: function() {
        var val = $(this).val();
        var date1 = new Date(eventDetails.eventCurrentData.eventDetailList[0].TodaysDate);
        var date2 = new Date(val);
        //var timeDiff = Math.abs(date2.getTime() - date1.getTime());
        console.log(val, date1);
        if (date2.getTime() > date1.getTime()) {
            $(this).removeClass('required');
        } else {
            $(this).addClass('required');
            $(this).val(null);
            alert("Date should be greater than current date");
        }
    },
    /******** Function to hide Concession card if NA is selected *******/
    concessionSelectChange: function() {

        var values = $(this).val();

        if (values !== "Select card type" && values !== "" && values !== "NA") {
            $("#concessionCardNumber").parent().show();
            $("#concessionExpiryDate").parent().show();

        } else {
            $("#concessionCardNumber").parent().hide();
            $("#concessionExpiryDate").parent().hide();
        }
    },
    /******* Function to attach all event listener *******/
    addEventListener: function() {
        $('#concessionExpiryDate').datepicker({
            format: "dd/mm/yyyy",
            startDate: '+1d'
        });
        $("input[value='no-thanks']").unbind('change');
        $("input[value='no-thanks']").bind("change", eventDetails.checkBoxClick);
        $("input[value='round-up']").unbind('change');
        $("input[value='round-up']").bind("change", eventDetails.checkBoxClick);
        $("input[value='donate']").unbind('change');
        $("input[value='donate']").bind("change", eventDetails.revertHandling);
        $("input[action='phnumber']").unbind('keyup');
        $("input[action='phnumber']").bind("keyup", eventDetails.checkPhoneValidation);
        $(document).on("keyup", "input[action='phnumber']", eventDetails.checkPhoneValidation);
        $(document).on("focusout", "input[action='phnumber']", eventDetails.checkPhoneLengthValidation);
        $("input[action='cardnumber']").unbind('keyup');
        $("input[action='cardnumber']").bind("keyup", eventDetails.cardNovalidation);
        $("input[type='date']").unbind('change');
        $("input[type='date']").bind('change', eventDetails.concessionDateValidation);
        $("#confirmAndprocees").click(function() {
            $("#showLoader").show();
            eventDetails.sendRequestForPlaceOrder(eventDetails.allData);
        });
        $(document).on("click", "#otherCheckBox", eventDetails.otherChecked);
        $(document).on("click", ".iboxguest", eventDetails.gotherCheckedNew);
    },
    otherChecked: function() {
        if (document.getElementById('otherCheckBox').checked === true) {
            $('#dietryOther').removeClass('hide');
            eventDetails.otherCheckBoxFlag = true;
        } else {
            $('#dietryOther').addClass('hide');
            $('#dietryOther').val('');
            eventDetails.otherCheckBoxFlag = false;
        }
    },
    gotherChecked: function() {
        if (document.getElementById('gotherCheckBox').checked === true) {
            $('#gdietryOther').removeClass('hide');
            eventDetails.otherCheckBoxFlag = true;
        } else {
            $('#gdietryOther').addClass('hide');
            $('#gdietryOther').val('');
            eventDetails.otherCheckBoxFlag = false;
        }
    },
    gotherCheckedNew: function(e) {
        var ipboxId = e.currentTarget.dataset.ibox;
        if ($(this).prop('checked')) {
            $('#' + ipboxId).removeClass('hide');
        } else {
            $('#' + ipboxId).addClass('hide');
        }
    },
    /********* Function to get Donation amount *******/
    getDonationPrice: function(PRICE) {
        var checkBox = $("input[value='round-up']:checked");
        if (checkBox.length > 0) {
            var valueRec = PRICE % 10;
            if (valueRec === 0) {
                return 0;
            }
            return 10 - valueRec;
        }
        var checkBoxNoThanks = $("input[value='no-thanks']:checked");
        if (checkBoxNoThanks.length > 0) {

            return 0;
        }
        var value = eventDetails.getVlueFromID("donationId");

        if (value === "") {
            return 0;
        } else {
            return value;
        }
        return 0;
    },
    /******** Function to set Checked values to Dietary Needs ********/
    checkboxfordietaryNeeds: function(holder) {
        // var speConValues=[];
        if (holder.length > 0) {
            var stringToPush = "";
            for (var i = 0; i < holder.length; i++) {
                if (holder[i].checked) {
                    if (holder[i].value !== "other") {
                        stringToPush += $(holder[i]).val();
                        stringToPush += ";";
                        console.log(stringToPush);
                    }
                }
            }

            return stringToPush;
        }
        return "";
    },
    /******** Function to check Email Validation ********/
    emailValidation: function(values) {
        intRegex = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
        var emailflag = intRegex.test(values);
        if (!emailflag) {
            eventDetails.validationFlag = false;
        }
    },
    /******** Function to validate Contact Number *******/
    contactValidation: function(values) {

        if (eventDetails.eventCurrentData.eventDetailList[0]) {
            if (eventDetails.eventCurrentData.eventDetailList[0].CaptureContact) {
                if (values === "") {

                    eventDetails.validationFlag = false;
                } else {
                    if (values.length !== 10) {
                        eventDetails.validationFlag = false;
                    }
                }
            }
        }
    },
    /******** Function to Validate occupation **********/
    occupationValidation: function(values) {

        if (eventDetails.eventCurrentData.eventDetailList[0]) {
            if (eventDetails.eventCurrentData.eventDetailList[0].CaptureOccupation) {
                if (values === "") {
                    eventDetails.validationFlag = false;
                }
            }
        }
    },
    /******* Function to validate Organization *********/
    organizationValidation: function(values) {
        if (eventDetails.eventCurrentData.eventDetailList[0]) {
            if (eventDetails.eventCurrentData.eventDetailList[0].CaptureOrg) {
                if (values === "") {
                    eventDetails.validationFlag = false;
                }
            }
        }
    },
    /********* function to validte dietary need ********/
    dietaryValidation: function(dietaryNeed) {
        var values = eventDetails.checkboxfordietaryNeeds(dietaryNeed);
        if (eventDetails.eventCurrentData.eventDetailList[0]) {
            if (eventDetails.eventCurrentData.eventDetailList[0].CaptureDietary) {
                if (values === "") {
                    eventDetails.validationFlag = false;
                }
            }
        }

    },
    /********* Function to check event Validation **********/
    eventValidationCheck: function() {
        var fnameUser = eventDetails.getVlueFromID("firstName");
        if (fnameUser === "") {
            alert("Main Registrant's First Name is Required");
            return true;
        }
        var lastName = eventDetails.getVlueFromID("lastName");
        if (lastName === "") {
            alert("Main Registrant's Last Name is Required");
            return true;
        }
        if (eventDetails.eventCurrentData.eventDetailList[0].PostcodeMandatory) {
            var postCode = eventDetails.getVlueFromID("postCode");
            if (!postCode) {
                alert("Post code is Required");
                return true;
            }
        }
        var isSchoolRegistration = document.getElementById('isSchoolRegistration');
		if(isSchoolRegistration && isSchoolRegistration.checked){
			var schoolName = eventDetails.getVlueFromID("schoolName");
			if(!schoolName){
				alert("School name is Required");
                return true;
			}
			var occupation = eventDetails.getVlueFromID("schoolOccupation");
			if(!occupation){
				alert("Occupation is Required");
                return true;
			}
			var allChecks = $('#dietaryRequirement').find('input[type=checkbox]:checked');
			if(allChecks && allChecks.length) {
				var selectedOpts = [];
				for(var i=0; i<allChecks.length; i++){
					selectedOpts.push($(allChecks[i]).val());
				}
				console.log(selectedOpts);
			} else {
				alert("Dietary requirement is Required");
                return true;
			}
        }
        var accessibilityRequirementChk = document.getElementById('accessibilityRequirementChk');

        if(accessibilityRequirementChk && accessibilityRequirementChk.checked){
            var visionImpairmentChk = document.getElementById('visionImpairmentChk').checked;
            var hearingImpairmentChk = document.getElementById('hearingImpairmentChk').checked;
            var reducedMobilityImpairmentChk = document.getElementById('reducedMobilityImpairmentChk').checked;
            var wheelChairImpairmentChk = document.getElementById('wheelChairImpairmentChk').checked;

            var visionImpairmentDetail = document.getElementById('visionImpairmentDetail').value;
            var hearingImpairmentDetail = document.getElementById('hearingImpairmentDetail').value;
            var reducedMobilityImpairmentDetail = document.getElementById('reducedMobilityImpairmentDetail').value;

            console.log('visionImpairmentChk ',visionImpairmentChk);
            console.log('hearingImpairmentChk ',hearingImpairmentChk);
            console.log('reducedMobilityImpairmentChk ',reducedMobilityImpairmentChk);
            console.log('wheelChairImpairmentChk ',wheelChairImpairmentChk);

            console.log('visionImpairmentDetail ',visionImpairmentDetail);
            console.log('hearingImpairmentDetail ',hearingImpairmentDetail);
            console.log('reducedMobilityImpairmentDetail ',reducedMobilityImpairmentDetail);

            if(visionImpairmentChk && !visionImpairmentDetail){
                alert('Select Vision Impairment Detail');
                return true;
            }
            if(hearingImpairmentChk && !hearingImpairmentDetail){
                alert('Select Hearing Impairment Detail');
                return true;
            }
            if(reducedMobilityImpairmentChk && !reducedMobilityImpairmentDetail){
                alert('Select Reduced mobility Impairment Detail');
                return true;
            }
            if(accessibilityRequirementChk && !visionImpairmentChk && !hearingImpairmentChk && !reducedMobilityImpairmentChk && !wheelChairImpairmentChk){
                alert('Select one of the accessibility or uncheck the accessibility requirement');
                return true;
            }
        }

        eventDetails.validationFlag = true;
        var emailUser = eventDetails.getVlueFromID("emailAdd");
        eventDetails.validationFlag = true;
        if (emailUser === "") {
            alert("Main Registrant's Email is required");
            return true;
        } else {
            eventDetails.emailValidation(emailUser);
            if (!eventDetails.validationFlag) {
                alert("Enter Main Registrant's  valid Email Address");
                return true;
            }
        }
        var contact = eventDetails.getVlueFromID("contact");
        eventDetails.validationFlag = true;
        eventDetails.contactValidation(contact);
        if (!eventDetails.validationFlag) {
            alert("Enter Main Registrant's valid Contact No");
            return true;
        }

        if(isSchoolRegistration) {
            if(!isSchoolRegistration.checked) {
                var Occupation = eventDetails.getVlueFromID("Occupation");
                eventDetails.validationFlag = true;
                eventDetails.occupationValidation(Occupation);
            }
        } else {
            var Occupation = eventDetails.getVlueFromID("Occupation");
            eventDetails.validationFlag = true;
            eventDetails.occupationValidation(Occupation);
        }

        if (!eventDetails.validationFlag) {
            if (eventDetails.eventCurrentData.eventDetailList[0].EventTypeCategory == 'HP / Other events') {
                alert("Main Registrant's Occupation is Required");
                return true;
            }
        }

        if(isSchoolRegistration) {
            if(!isSchoolRegistration.checked) {
                var organization = eventDetails.getVlueFromID("organization");
                eventDetails.validationFlag = true;
                eventDetails.organizationValidation(organization);
            }
        } else {
            var organization = eventDetails.getVlueFromID("organization");
            eventDetails.validationFlag = true;
            eventDetails.organizationValidation(organization);
        }

        if (!eventDetails.validationFlag) {
            if (eventDetails.eventCurrentData.eventDetailList[0].EventTypeCategory == 'HP / Other events') {
                alert("Main Registrant's Organisation is Required");
                return true;
            }
        }

        var userDietaryNeeds = $('input[name="dietaryNeeds"]:checked');
        eventDetails.dietaryValidation(userDietaryNeeds);
        if(!eventDetails.validationFlag) {
            alert("Please provide dietary requirements");
            return true;
        }

        if(eventDetails.eventCurrentData.eventDetailList[0].EventName == 'DESMOND') {
            var diabetesTypeTwo = document.getElementById('diabetesTypeTwo').checked;
            console.log('@@@ Diabetes Type Two = ', diabetesTypeTwo);
            if(diabetesTypeTwo) {
                var diabetesLengthOptions = document.getElementById('diabetesLengthOptions').value;
                console.log('@@@ Diabetes Length selected as ', diabetesLengthOptions);
                if(diabetesLengthOptions == null || diabetesLengthOptions == '') {
                    alert("Please specify how long have you had Diabetes for");
                    return true;
                }
            }
        }

        var donationVal = $('#donations input[type="radio"]:checked').val();
        if(donationVal == "donate"){
            var donationAmount = $("#donationId").val();
            if(donationAmount.trim() === ""){
                if(eventDetails.eventCurrentData.eventDetailList[0].AllowWaitlistBookings && eventDetails.RemainingSeats < 1){

                }else{
                    alert("Please enter donation amount");
                    return true;
                }
            }
        }

        return false;
    },

    modalData: function(counter) {
        var str = "";
        var totalPerson = counter + 1;

        if (totalPerson > eventDetails.RemainingSeats && eventDetails.RemainingSeats > 0) {
            $('#confirmAndprocees').hide();
            $('.modal-title').text('Warning');

            $('#seats-available-1').html(eventDetails.RemainingSeats);
            $('#seats-available-2').html(eventDetails.RemainingSeats);
            var context = '';
             if( eventDetails.RemainingSeats == 1){
                  context = "Please note there is only "+eventDetails.RemainingSeats +" seat available. You can make up to "+ eventDetails.RemainingSeats+" booking. Please reduce your guests here and do separate Wait-listed booking afterwards on same page."
            }else{
                context = $('.NotAllSeatsAvailable').html().trim();
            }

            $('#dataToGuestDetail').html(context);
            $('#modal-dismiss').text("Ok");
             $('#myModal').modal('show');

            //AllowWaitlistBookings
        }else{
            if(eventDetails.eventCurrentData.eventDetailList[0].AllowWaitlistBookings && eventDetails.RemainingSeats < 1){
                $('.modal-title').text('Warning');
                var nowWaitingCount=eventDetails.eventCurrentData.eventDetailList[0].MaximumWaiting - eventDetails.eventCurrentData.eventDetailList[0].CurrentWaitListed;
                if(totalPerson > nowWaitingCount){
                     $('.NotAllWaitlistingSeatsAvailable #seats-available-1').html(nowWaitingCount);
                        $('.NotAllWaitlistingSeatsAvailable #seats-available-2').html(nowWaitingCount);
                   var context ='';
                    if(nowWaitingCount > 1){
                        context = $('.NotAllWaitlistingSeatsAvailable').html().trim();
                    }else{
                        context =  "Please note there is only "+nowWaitingCount+" seat available. You can make up to "+nowWaitingCount+" booking. Please reduce your guests."
                    }
                    console.log(context);
                    $('#dataToGuestDetail').html(context);
                    $('#confirmAndprocees').hide();
                     $('#modal-dismiss').text("Ok");
                      $('#myModal').modal('show');
                }else{
                         $("#showLoader").show();
                         eventDetails.sendRequestForPlaceOrder(eventDetails.allData);
                }

            }else{
                     $("#showLoader").show();
                     eventDetails.sendRequestForPlaceOrder(eventDetails.allData);
            }
        }
    }
};
var counter = 0;
$(document).ready(function() {
    var parameterArray = eventDetails.getParamArray();
    var particularEventId = parameterArray["eventID"];


    eventData = {
        "action": "getEventDetail"
    };
    /*
    * @added by Sachin Ranvirkar
    */
    if(particularEventId){
        eventData["eventId"] = particularEventId;
    }else if(location.pathname.substring(0, 6) === "/expo-"){ // Page starts with /-expo-
        eventData["event_name"] = "Diabetes Expo 2019";
    }else if(location.pathname === "/diabetes-expo"){ // Page starts with /-expo-
        eventData["event_name"] = "Diabetes Expo 2019 (For GP's & Pharmacists)";
    }
    /* Ends */


    /****** call to sales force *********/
    eventDetails.testDynamiCall(eventData);
    $('#addGuest').click(function() {
        if (counter < 5) {
            var isSchoolRegistration = document.getElementById('isSchoolRegistration');
            var schoolName = document.getElementById('schoolName');
            if(isSchoolRegistration && isSchoolRegistration.checked && schoolName && !schoolName.value){
                alert('Please fill the form completely before adding guest');
                return;
            }
            if(isSchoolRegistration && isSchoolRegistration.checked){
                $('#addGuest').text('Add Another Staff Member');
            }else{
                $('#addGuest').text('Add Another Guest');
            }

            counter++;
            var templateStr = eventDetails.getAddGuestTemplate(counter);
            $("#guest-block").append(templateStr);

            if(counter == 5){
                $('#addGuest').attr("disabled", "disabled");
            }
            $('#removeGuest').removeAttr("disabled");
        } else {
            $('#addGuest').attr("disabled", "disabled");
            console.log("limit finished");
        }
    });


    if(document.getElementById("isSchoolRegistration")) {
        document.getElementById("isSchoolRegistration").addEventListener("click", eventDetails.checkSchoolRegistrant);
    }

    if(document.getElementById("visionImpairmentChk")) {
        document.getElementById("visionImpairmentChk").addEventListener("click", eventDetails.enableVisionImpairmentDetails);
    }

    if(document.getElementById("hearingImpairmentChk")) {
        document.getElementById("hearingImpairmentChk").addEventListener("click", eventDetails.enableHearingImpairmentDetails);
    }

    if(document.getElementById("reducedMobilityImpairmentChk")) {
        document.getElementById("reducedMobilityImpairmentChk").addEventListener("click", eventDetails.enableReducedMobilityImpairmentDetails);
    }

    if(document.getElementById("accessibilityRequirementChk")) {
        document.getElementById("accessibilityRequirementChk").addEventListener("click", eventDetails.enableAccessibilityOptions);
    }


	//$("#addressTwo").parent().hide();
    /*********** Call Function to Attach Event Listener ***************/
    eventDetails.addEventListener();
    //eventDetails.addGoogle_Plus_icon();
    /******** Addition guest on click on add guest button *********/
    $('#removeGuest').click(function() {
        if (counter >= 0) {
            var isSchoolRegistration = document.getElementById('isSchoolRegistration');
            console.log("removed last child",counter);
            $("#added_" + (counter)).remove();
            console.log($("#added_" + (counter)));
            if (counter == 1) {
                if(isSchoolRegistration && isSchoolRegistration.checked){
                    $('#addGuest').text('Add Staff');
                }else{
                    $('#addGuest').text('Add Guest');
                }
                counter = 0;
            } else {
                counter--;
            }
            if(counter == 0){
                $('#removeGuest').attr("disabled", "disabled");
            }
            $('#addGuest').removeAttr("disabled");
        } else {
            $('#removeGuest').attr("disabled", "disabled");
            console.log("No more guest");
        }
    });
    //$.ajaxSetup({ cache: true });
    $.getScript('//connect.facebook.net/en_US/sdk.js', function() {
        FB.init({
            appId: '721843514615262',
            version: 'v2.5' // or v2.0, v2.1, v2.2, v2.3
        });
    });
    $.getScript('//platform.twitter.com/widgets.js', function() {
        twttr.events.bind('tweet', function(event) {});
    });


    $(document).on('click', 'i.fa-google-plus', function() {

        window.open('https://plus.google.com/share?url={https://davic-davic-diabetesvic.cs5.force.com/customers/event-detail?eventID=a1CO0000000qN2MMAU}', 'newwindow', 'zxdcv width=300, height=250');

    });


    $(document).on('click', 'i.fa-linkedin', function() {
        if (eventDetails.eventCurrentData.eventDetailList.length > 0) {
            var eventObj = eventDetails.eventCurrentData.eventDetailList[0];
            var url = window.location.href;
            var name = eventObj.Name;
            var description = eventObj.Description;
            window.open('https://www.linkedin.com/shareArticle?mini=true&url=' + url + '&title=' + name + '&summary=' + description + '&source=LinkedIn', 'newwindow', 'width=300, height=250');
        }
    });

    $(document).on('click', 'i.fa-facebook', function() {
        console.log(eventDetails.eventCurrentData);
        console.log(eventDetails.eventCurrentData.eventDetailList.length);
        //return false;
        if (eventDetails.eventCurrentData.eventDetailList.length > 0) {
            var eventObj = eventDetails.eventCurrentData.eventDetailList[0];
            var eventDetailsObj = {
                method: 'feed',
                name: eventObj.Name,
                caption: 'Diabetes Victoria Event',
                description: (eventObj.Description),
                link: window.location.href
                    //picture: eventObj.EventImage
            };
            if (eventObj.EventImage && $.trim(eventObj.EventImage) !== '') {
                eventDetailsObj.picture = eventObj.EventImage;
            }
            console.log(eventDetailsObj);
            FB.ui(eventDetailsObj,
                function(response) {
                    if (response && response.post_id) {
                        alert('Event posted.');
                    } else {
                        alert('Event was not posted.');
                    }
                }
            );
        }
    });
	/* Autocomplete for school name list */
		$.widget("ui.autocomplete", $.ui.autocomplete, {

	  _renderMenu: function(ul, items) {
		var that = this;
		ul.attr("class", "nav nav-pills nav-stacked  bs-autocomplete-menu");
		$.each(items, function(index, item) {
		  that._renderItemData(ul, item);
		});
	  },

	  _resizeMenu: function() {
		var ul = this.menu.element;
		ul.outerWidth(Math.min(
		  // Firefox wraps long text (possibly a rounding bug)
		  // so we add 1px to avoid the wrapping (#7513)
		  ul.width("").outerWidth() + 1,
		  this.element.outerWidth()
		));
	  }

	});
});

function getSchoolData(){

	  var schools = eventDetails.eventCurrentData.schoolDetails;

	  $('.bs-autocomplete').each(function() {
		var _this = $(this),
		  _data = _this.data(),
		  _hidden_field = $('#' + _data.hidden_field_id);

		_this.after('<div class="bs-autocomplete-feedback form-control-feedback"><div class="autoCompleteLoader">Loading...</div></div>')
		  .parent('.form-group1').addClass('has-feedback');

		var feedback_icon = _this.next('.bs-autocomplete-feedback');
		feedback_icon.hide();

		_this.autocomplete({
			minLength: 2,
			autoFocus: false,

			source: function(request, response) {
			  var _regexp = new RegExp('^' + request.term, 'i');
			  var data = schools.filter(function(item) {
				return item.Name.match(_regexp);
			  });
			  response(data);
			},

			search: function() {
			  feedback_icon.show();
			  _hidden_field.val('');
			},

			response: function() {
			  feedback_icon.hide();
			},

			focus: function(event, ui) {
			  _this.val(ui.item[_data.item_label]);
			  event.preventDefault();
			},

			select: function(event, ui) {
			  _this.val(ui.item[_data.item_label]);
			  _hidden_field.val(ui.item[_data.item_id]);
			  applySchoolAddress(schools);
			  event.preventDefault();
			}
		  })
		  .data('ui-autocomplete')._renderItem = function(ul, item) {
			return $('<li></li>')
			  .data("item.autocomplete", item)
			  .append('<a>' + item[_data.item_label] + '</a>')
			  .appendTo(ul);
		  };
		});
}

function applySchoolAddress(schoolsData) {
	var schoolId = $('#schoolId').val();
	var selectedSchool = schoolsData.filter(function(school){
		return school.ID === schoolId;
	})[0];
	if(selectedSchool) {
		$('#addressOne').val(selectedSchool.BillingStreet);
		$('#cityName').val(selectedSchool.BillingCity);
		$('#stateName').val(selectedSchool.BillingState);
		$('#postCode').val(selectedSchool.BillingPostalCode);
		$('#addressOne, #cityName, #stateName, #postCode').prop('disabled', true);
    }
    var schoolName = document.getElementById('schoolName');
    var isSchoolRegistration = document.getElementById('isSchoolRegistration');
    schoolName.value;
    if(counter > 0 && isSchoolRegistration && isSchoolRegistration.checked && eventDetails.eventCurrentData.eventDetailList[0].CaptureOrg){
        for (i = 1; i <= counter; i++) {
            document.getElementById('gOrganisation_' + (i)).value = schoolName.value;
        }
    }
}

function cancelRegistration(){
    var isSuperMarketEvent = eventDetails.eventCurrentData.eventDetailList[0].isSuperMarketEvent;
    if(isSuperMarketEvent){
        window.location = eventDetails.superMarketEventListLink;
    }else{
        window.location = eventDetails.eventListLink;
    }
}

/*  end autocomplete */
function submitFormData() {

    var isSchoolRegistration = document.getElementById('isSchoolRegistration');

    if (eventDetails.eventValidationCheck()) {
        $("#showLoader").hide();
        return;
    }

    eventDetails.validationFlag = true;
    var dataToSend = {};
    var dataToGuestArray = [];
    for (i = 1; i <= counter; i++) {
        var gmrValue = eventDetails.getVlueFromID("gmr_" + (i));
        var gfnValue = eventDetails.getVlueFromID("gFirstName_" + (i));
        var glnValue = eventDetails.getVlueFromID("gLastName_" + (i));
        var gEmailValue = eventDetails.getVlueFromID("gEmail_" + (i));
        var gphoneValue = eventDetails.getVlueFromID("gContact_" + (i));
        var guestType = eventDetails.getVlueFromID("guestType" + (i));
        if (eventDetails.eventCurrentData.eventDetailList[0].CaptureOrg) {
          var gOrganisationValue = eventDetails.getVlueFromID("gOrganisation_" + (i));
          dataToSend['guestOrganisation' + i] = gOrganisationValue;
        }
        if (eventDetails.eventCurrentData.eventDetailList[0].CaptureOccupation) {
            var gOccupationValue = eventDetails.getVlueFromID("gOccupation_" + (i));
            dataToSend['guestOccupation' + i] = gOccupationValue;
        }

        var guestDiatery = $('input[name="gdietaryNeeds' + (i) + '"]:checked');
        dataToSend['guestDReq' + i] = eventDetails.checkboxfordietaryNeeds(guestDiatery);
        console.log("guest diatery", dataToSend['guestDReq' + i]);
        var gdValue = eventDetails.getVlueFromID("gDietary_" + (i));

        //gdietryOther
        if ($('#gdietryOther' + i).length > 0 && $('#gdietryOther' + i) !== "") {
            dataToSend['guestDReq' + i] = dataToSend['guestDReq' + i] + $('#gdietryOther' + i).val();
        }

        /**** Validation check ****************/
        eventDetails.checkValidation(gfnValue, glnValue, gEmailValue);
        eventDetails.phoneValidationGuest(gphoneValue);
        /**** Validation check ****************/

        dataToSend['guestTitle' + i] = gmrValue;
        dataToSend['guestFName' + i] = gfnValue;
        dataToSend['guestLName' + i] = glnValue;
        dataToSend['guestEmail' + i] = gEmailValue;
        dataToSend['guestPhone' + i] = gphoneValue;
        dataToSend['guestType'  + i]  = guestType;
        eventDetails.guestData = dataToSend;
    }
    var userID = "",
        eventID = "";
    if (eventDetails.eventCurrentData.eventDetailList) {
        eventID = eventDetails.eventCurrentData.eventDetailList[0].EventID;
    }
    if (eventDetails.eventCurrentData.UserDetail) {
        userID = eventDetails.eventCurrentData.UserDetail.Id;
    }

    //Check for waiting list
    dataToSend["waitingList"] = false;
    if(eventDetails.eventCurrentData.eventDetailList[0].AllowWaitlistBookings && eventDetails.RemainingSeats < 1){
        dataToSend["waitingList"]=true;
    }
    dataToSend["action"] = "eventDetails";
    dataToSend["accountId"] = userID;
    dataToSend["eventId"] = eventID;
    dataToSend["eventId"] = eventID;
    var fnameUser = eventDetails.getVlueFromID("firstName");
    var lnameUser = eventDetails.getVlueFromID("lastName");
    var emailUser = eventDetails.getVlueFromID("emailAdd");
    var phoneNoUser = eventDetails.getVlueFromID("contact");

    dataToSend["title"] = eventDetails.getVlueFromID("title");
    dataToSend["firstname"] = eventDetails.getVlueFromID("firstName");
    dataToSend["lastname"] = eventDetails.getVlueFromID("lastName");
    dataToSend["email"] = eventDetails.getVlueFromID("emailAdd");
    dataToSend["diatery"] = eventDetails.getVlueFromID("dietaryRequirement");
    dataToSend["phone"] = eventDetails.getVlueFromID("contact");
    dataToSend["organization"] = eventDetails.getVlueFromID("organization");
    if($("#Occupation").length){
        dataToSend["occupation"] = eventDetails.getVlueFromID("Occupation");
    }
    dataToSend["address1"] = eventDetails.getVlueFromID("addressOne");
    dataToSend["city"] = eventDetails.getVlueFromID("cityName");
    dataToSend["state"] = eventDetails.getVlueFromID("stateName");
    dataToSend["postcode"] = eventDetails.getVlueFromID("postCode");
    /****** counter to count number of guest ******/
    dataToSend['guestSize'] = counter;
    var objectTopush = eventDetails.getMemObjectToSend();
    dataToSend['earlyBirdFlag'] = objectTopush.EarlyBirdFlag;
    dataToSend['userType'] = objectTopush.userType;
    var guestPrize = eventDetails.getGuestPrice(counter);
    var userPrize = eventDetails.getUserActualPrice();
    var toatalPrizeAddedGuest = userPrize + guestPrize;
    dataToSend['ticketPrice'] = toatalPrizeAddedGuest;
    dataToSend['priceOfGuest'] = guestPrize;
    dataToSend['priceOfCurrentUser'] = userPrize;

        if(eventDetails.eventCurrentData.eventDetailList[0].EventName == 'DESMOND') {
            var diabetesTypeTwo = document.getElementById('diabetesTypeTwo').checked;
            console.log('@@@ Diabetes Type Two = ', diabetesTypeTwo);
            if(diabetesTypeTwo) {
                var diabetesLengthOptions = document.getElementById('diabetesLengthOptions').value;
                console.log('@@@ Diabetes Length selected as ', diabetesLengthOptions);
                if(diabetesLengthOptions == null || diabetesLengthOptions == '') {
                    alert("Please specify how long have you had Diabetes for");
                    return true;
                }
            }
        }

    if(eventDetails.eventCurrentData.eventDetailList[0].EventName == 'DESMOND') {
        console.log('@@@ Sending non-member diabetes information as event type is desmond');
        dataToSend['diabetesType2'] = document.getElementById('diabetesTypeTwo').checked;
        dataToSend['diabetesLength'] = document.getElementById('diabetesLengthOptions').value;
    }


    /********* For card Selection ************/
    var selectedCardRecord = eventDetails.getVlueFromID("cardTypeSelectId");
    if (selectedCardRecord === "Select card type" || selectedCardRecord == "null") {

        dataToSend['concessionCard'] = "";
        dataToSend['concessionCard_No'] = "";
        dataToSend['concessionCard_Date'] = "";

    } else {
        var dateValue = $("#concessionExpiryDate").val();
        var cardNo = $("#concessionCardNumber").val();
        if (cardNo != "" && dateValue != "") {

            dataToSend['concessionCard'] = selectedCardRecord;
            dataToSend['concessionCard_No'] = cardNo;
            dataToSend['concessionCard_Date'] = formatDate(dateValue);

        } else {
            eventDetails.validationFlag = false;
            alert("Please Enter Card No & Expiry Date");
            return;
        }
    }
	/* Getting school name value */
	if(document.getElementById('schoolId')) {
        var schoolNameOrganisationId = document.getElementById('schoolId').value;
        dataToSend['schoolOrgId'] = schoolNameOrganisationId;
    }

    if(isSchoolRegistration && isSchoolRegistration.checked) {
        dataToSend["occupation"] = eventDetails.getVlueFromID("schoolOccupation");
        dataToSend["organization"] = eventDetails.getVlueFromID("schoolName");
    }

    /* Getting Accessibility Details */
    var accessibilityRequirementChk = document.getElementById('accessibilityRequirementChk');
    if(accessibilityRequirementChk && accessibilityRequirementChk.checked){
        var visionImpairmentChk = document.getElementById('visionImpairmentChk').checked;
        var hearingImpairmentChk = document.getElementById('hearingImpairmentChk').checked;
        var reducedMobilityImpairmentChk = document.getElementById('reducedMobilityImpairmentChk').checked;
        var wheelChairImpairmentChk = document.getElementById('wheelChairImpairmentChk').checked;

        var visionImpairmentDetail = document.getElementById('visionImpairmentDetail').value;
        var hearingImpairmentDetail = document.getElementById('hearingImpairmentDetail').value;
        var reducedMobilityImpairmentDetail = document.getElementById('reducedMobilityImpairmentDetail').value;

        dataToSend["accessibilityRequirementChk"] = accessibilityRequirementChk.checked;

        dataToSend["visionImpairmentChk"] = visionImpairmentChk ? 'true' : 'false';
        dataToSend["hearingImpairmentChk"] = hearingImpairmentChk ? 'true' : 'false';
        dataToSend["reducedMobilityImpairmentChk"] = reducedMobilityImpairmentChk ? 'true' : 'false';
        dataToSend["wheelChairImpairmentChk"] = wheelChairImpairmentChk ? 'true' : 'false';

        dataToSend["visionImpairmentDetail"] = visionImpairmentDetail;
        dataToSend["hearingImpairmentDetail"] = hearingImpairmentDetail;
        dataToSend["reducedMobilityImpairmentDetail"] = reducedMobilityImpairmentDetail;

    }else{
        dataToSend["accessibilityRequirementChk"] = false;
    }


    var dietaryNeed = $('input[name="dietaryNeeds"]:checked');
    dataToSend['dietaryNees'] = eventDetails.checkboxfordietaryNeeds(dietaryNeed);
    if (document.getElementById('otherCheckBox').checked === true && $('#dietryOther').val() !== "") {
        dataToSend['dietaryNees'] = dataToSend['dietaryNees'] + $('#dietryOther').val();
    }

    var donationVal = $("input[type='radio'][name='donation']:checked").val();
    dataToSend["donation"] = 0;
    if (donationVal === "round-up") {
        dataToSend["donation"] = 'round';
    } else if (donationVal === 'donate' && $('#donationId').val() !== "") {
        dataToSend["donation"] = $('#donationId').val();
    } else {
        dataToSend["donation"] = 0;
    }
    console.log('data ',dataToSend);
    if (eventDetails.validationFlag) {
        console.log("value of guest", counter);
        eventDetails.allData = dataToSend;
        if (counter > 0) {
           eventDetails.modalData(counter);
        } else {
            $("#showLoader").show();
            eventDetails.sendRequestForPlaceOrder(eventDetails.allData);
        }

    } else {
        if(isSchoolRegistration && isSchoolRegistration.checked){
			alert("Staff First Name Required   \nStaff Last Name Required \nStaff Email Required");
		}else{
			alert("Guest First Name Required   \nGuest Last Name Required \n ");
		}
        $("#showLoader").hide();
    }

}
