BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Lough Ree Yacht Club - ECPv4.9.14//NONSGML v1.0//EN
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALNAME:Lough Ree Yacht Club
X-ORIGINAL-URL:https://www.lryc.ie
X-WR-CALDESC:Events for Lough Ree Yacht Club
BEGIN:VTIMEZONE
TZID:UTC
BEGIN:STANDARD
TZOFFSETFROM:+0000
TZOFFSETTO:+0000
TZNAME:UTC
DTSTART:20260101T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTSTART;VALUE=DATE:20261028
DTEND;VALUE=DATE:20261101
DTSTAMP:20261012T150845
CREATED:20261008T101157Z
LAST-MODIFIED:20261008T150950Z
UID:17383-1793145600-1793491199@www.lryc.ie
SUMMARY:National Training Week & Halloween Regatta
DESCRIPTION:\n\nvar total;\n    //Summary Strings\n    var summaryMsg = [];\n    var discountMsg = [];\n    var accomodationSummary = [];\n    var isDiscountActive=0;\n    //Arrays\n    var errors = [];\n    //Constants\n    var boatCount=1;\n    var accomodationCount=1;\n    var boatPostCount=0;\n    var sundayMealFee = 35;\n    var wednesdayMealFee = 25;\n    var processing = false;\n    var fillToCartURL='https://www.lryc.ie/cart/?fill_cart=';\n    function calculateTotal() {\n    clearCart();\n}\n    function clearCart() {\n    this.statusA=[];\n    this.summaryMsg = [];\n    var discountMsg = [];\n    this.boatPostCount=0;\n    thereAreValidationErrors()\n    if (this.errors.length > 0) {\n    printErrors();\n    return;\n}\n    this.total = 0;\n\n    disableButton();\n    getAdditionalInfo();\n}\n    function continuePurchase(){\n    getTotalBoatEntryFees(0);\n}\n\n    function finishPurchase(){\n    if (isDiscountActive > 0){\n    this.fillToCartURL='https://www.lryc.ie/cart?apply_coupon='+isDiscountActive\n    var xhr = new XMLHttpRequest()\n    xhr.open("GET"\, this.fillToCartURL\, true);\n    xhr.setRequestHeader("Content-Type"\, "application/x-www-form-urlencoded; charset=UTF-8");\n    xhr.onload = function () {\n    getAdditionalInfo(0);\n};\n    xhr.send();\n}\n    else {\n    getAdditionalInfo(0);\n}\n}\n    function thereAreValidationErrors(){\n    // Days offered (Sunday removed to match the form).\n    var days = ["mon"\,"tue"\,"wed"\,"thu"\,"fri"\,"sat"];\n    // Adult roll flavours\, matching the form field name suffixes.\n    // Keep this in sync with preOrderRolls().\n    var rollFields = ["Ham"\,"HamCheese"\,"Cheese"\,"HamCheeseSalad"\,"Tikka"\,"TikkaCheese"\,"Salad"\,"Egg"];\n\n    // Count the total quantity selected across every day and every flavour.\n    var totalSelected = 0;\n    for (var d=0; d 0) {\n    if(fillToCartURL.slice(-1) !== '=') {\n       this.fillToCartURL+='\,'+sat[0].value+'x15359';\n    } else {\n       this.fillToCartURL+=sat[0].value+'x15359';\n    }\n    }\n    if  (camp[0].value > 0) {\n       if(fillToCartURL.slice(-1) !== '=') {\n          this.fillToCartURL+='\,'+sat[0].value+'x14861';\n       } else {\n          this.fillToCartURL+=sat[0].value+'x14861';\n       }\n    }\n    fillCheckout();\n}\n   function disableButton(){\n   var goToCheckout = document.getElementById("Next");\n   goToCheckout.disabled = true;\n   goToCheckout.value='Thank you please wait a few moments while we build your entry';\n   printStatus("Clearing Cart");\n   goToCheckout.style.background = "#909090"\n   var xhr = new XMLHttpRequest();\n   xhr.open("GET"\, 'https://www.lryc.ie/?clear-cart'\, true);\n   xhr.setRequestHeader("Content-Type"\, "application/x-www-form-urlencoded; charset=UTF-8");\n    xhr.onload = function () {\n        printStatus("Entering Orders");\n        getAdditionalInfo();\n     };\n     xhr.send();\n}\n    function fillCheckout() {\n    printStatus("Going to Cart with anything else");\n    window.location.href = fillToCartURL;\n}\n    \n    function printStatus(newMsg){\n    this.statusA.push(newMsg)\n    var status= document.getElementById("status");\n    status.innerHTML="";\n    for (i = 0; i < this.statusA.length; i++) {\n    status.innerHTML += (this.statusA[i] + "");\n}\n}\n    function getAdditionalInfo(){\n    preOrderRolls();\n}\n    var myVar;\n\n    function myFunction() {\n    var buttons = document.getElementsByClassName('day-button');\n    var days = document.getElementsByClassName('daysOfWeek');\n    for (var i = 0; i < buttons.length; i++) {\n    buttons[i].onclick = function() {\n    if (this.className.indexOf('selected') === -1) {\n    this.className += ' selected';\n    days[this.id].style.display = ''\n} else {\n    this.className = this.className.replace(' selected'\, '');\n    days[this.id].style.display = 'none'\n}\n};\n}\n    var xhr = new XMLHttpRequest();\n    xhr.open("GET"\, 'https://www.lryc.ie/wp-json/wc/v3/products/?tag=52&consumer_key=ck_7f6690f29a4a127e16f083d3c12479b84a2b2350&consumer_secret=cs_1a4da17effea1475ecc471135901190a0e291fd6'\, true);\n    xhr.setRequestHeader("Content-Type"\, "application/json; charset=UTF-8");\n    xhr.onload = function (xhr) {\n    updateCourseTable(JSON.parse(xhr.target.response));\n};      xhr.send();\n}\n\n    function filterById(jsonObject\, id) {\n    return jsonObject.filter(function(jsonObject) {return (jsonObject['id'] == id);})[0];\n}\n\n\n    function updateCourseTable(xhr){\n    this.campingStock = filterById(xhr\, 14861).stock_quantity;\n    var campingOptions = document.getElementById("accomodationOptions");\n    var campingOutOfStock = document.getElementById("campingMsg");\n    if (campingStock > 0){\n   \n}\n\n    myVar = setTimeout(showPage\, 100);\n}\n    function showPage() {\n    document.getElementById("messageLoading").style.display = "none";\n    document.getElementById("loader").style.display = "none";\n    document.getElementById("myDiv").style.display = "block";\n}\n    function preOrderRolls(){\n    // Adult roll flavours offered in the form. Each entry maps the form field\n    // suffix to a human-readable label and the WooCommerce product id used when\n    // building the cart URL.\n    //\n    // TODO: Fill in the product ids marked PRODUCT_ID_PLACEHOLDER for the newly\n    // added flavours (Ham\, Ham & Cheese Salad\, Tikka Cheese\, Salad\, Egg) before\n    // going live. Leaving a placeholder means that flavour will NOT be added to\n    // the cart (it is skipped below) but will still appear in the order notes.\n    var adultFlavours = [\n{field:"Ham"\,            label:"Ham"\,                productId:"17400"}\,\n{field:"HamCheese"\,      label:"Ham Cheese"\,         productId:"12166"}\,\n{field:"Cheese"\,         label:"Cheese"\,             productId:"15282"}\,\n{field:"HamCheeseSalad"\, label:"Ham Cheese Salad"\,   productId:"15283"}\,\n{field:"Tikka"\,          label:"Tikka"\,              productId:"12152"}\,\n{field:"TikkaCheese"\,    label:"Tikka Cheese"\,       productId:"12175"}\,\n{field:"Salad"\,          label:"Salad"\,              productId:"17398"}\,\n{field:"Egg"\,            label:"Egg"\,                productId:"17399"}\n    ];\n\n    // Days offered. Sunday has been removed from the form\, so it is removed here\n    // too. prefix matches the form field name prefix; the leading space on the\n    // describe string (for every day except Monday) is preserved from the\n    // original layout.\n    var days = [\n{prefix:"mon"\, describe:"Mon "}\,\n{prefix:"tue"\, describe:" Tue "}\,\n{prefix:"wed"\, describe:" Wed "}\,\n{prefix:"thu"\, describe:" Thu "}\,\n{prefix:"fri"\, describe:" Fri "}\,\n{prefix:"sat"\, describe:" Sat "}\n    ];\n\n    // Running totals keyed by flavour field name\, e.g. amounts["Tikka"].\n    var amounts = {};\n    function addAmount(field\, qty) {\n    if (!amounts[field]) { amounts[field] = 0; }\n    amounts[field] += qty;\n}\n\n    function readField(prefix\, field) {\n    var el = document.getElementsByName(prefix + field);\n    if (el[0] && el[0].value !== "") {\n    return parseInt(el[0].value);\n}\n    return 0;\n}\n\n    var additionalInfo = "";\n\n    for (var d = 0; d < days.length; d++) {\n    var prefix = days[d].prefix;\n    var describe = days[d].describe;\n    var dayHasSelection = false;\n\n    // Adult rolls\n    for (var a = 0; a < adultFlavours.length; a++) {\n    var flavour = adultFlavours[a];\n    var qty = readField(prefix\, flavour.field);\n    if (qty > 0) {\n    addAmount(flavour.field\, qty);\n    describe += " " + flavour.label + ":" + qty;\n    dayHasSelection = true;\n}\n}\n\n    if (dayHasSelection) {\n    additionalInfo += describe;\n}\n}\n\n    if (additionalInfo == "") {\n    getTotalOtherFees();\n    return;\n}\n\n    var names = document.getElementsByName("names");\n    additionalInfo += " Collected by:" + names[0].value;\n\n    // Build the cart URL from every flavour that has a quantity and a known\n    // product id. Flavours still using PRODUCT_ID_PLACEHOLDER are skipped so we\n    // never append a bad product id to the cart.\n    var cartFlavours = adultFlavours;\n    for (var c = 0; c < cartFlavours.length; c++) {\n    var cf = cartFlavours[c];\n    var total = amounts[cf.field];\n    if (total > 0 && cf.productId !== "PRODUCT_ID_PLACEHOLDER") {\n    if (this.fillToCartURL.slice(-1) !== '=') {\n    this.fillToCartURL += '\,' + total + 'x' + cf.productId;\n} else {\n    this.fillToCartURL += total + 'x' + cf.productId;\n}\n}\n}\n\n    var xhr = new XMLHttpRequest();\n    xhr.open("POST"\, 'https://www.lryc.ie/?add-to-cart'\, true);\n    xhr.setRequestHeader("Content-Type"\, "application/x-www-form-urlencoded; charset=UTF-8");\n    xhr.onload = function () {\n    getTotalOtherFees();\n};\n    xhr.send('AdditionalInfo=' + additionalInfo + '&quantity=1&add-to-cart=' + 2150);\n}\n\n\n    \n        \n            \n                body {\n                font-family: sans-serif;\n                padding: 20px;\n            }\n\n                .day-selector {\n                display: flex;\n                flex-wrap: wrap; /* Ensure wrapping is allowed */\n                gap: 10px;\n                justify-content: left;\n            }\n\n                .day-button {\n                padding: 10px 15px;\n                border: 2px solid #888;\n                border-radius: 8px;\n                background-color: white;\n                cursor: pointer;\n                transition: all 0.2s ease;\n            }\n\n                .day-button.selected {\n                background-color: #007bff;\n                color: blue;\n                border-color: #0056b3;\n            }\n\n                .day-button:hover {\n                background-color: #f0f0f0;\n            }\n\n                /* Center the loader */\n                #loader {\n                position: absolute;\n                left: 50%;\n                top: 50%;\n                z-index: 1;\n                width: 120px;\n                height: 120px;\n                margin: -76px 0 0 -76px;\n                border: 16px solid #f3f3f3;\n                border-radius: 50%;\n                border-top: 16px solid #3498db;\n                -webkit-animation: spin 2s linear infinite;\n                animation: spin 2s linear infinite;\n            }\n\n                @-webkit-keyframes spin {\n                0% { -webkit-transform: rotate(0deg); }\n                100% { -webkit-transform: rotate(360deg); }\n            }\n\n                @keyframes spin {\n                0% { transform: rotate(0deg); }\n                100% { transform: rotate(360deg); }\n            }\n\n                /* Add animation to "page content" */\n                .animate-bottom {\n                position: relative;\n                -webkit-animation-name: animatebottom;\n                -webkit-animation-duration: 1s;\n                animation-name: animatebottom;\n                animation-duration: 1s\n            }\n\n                @-webkit-keyframes animatebottom {\n                from { bottom:-100px; opacity:0 }\n                to { bottom:0px; opacity:1 }\n            }\n\n                @keyframes animatebottom {\n                from{ bottom:-100px; opacity:0 }\n                to{ bottom:0; opacity:1 }\n            }\n\n                .break {\n                display: none;\n                flex-basis: 100%;\n                height: 0;\n            }\n                .widthFinder{\n                width: 60%\n            }\n                @media (max-width: 600px) {\n                .break {\n                display: block;\n            }\n                .widthFinder{\n                width: 100%\n            }\n            }\n                #myDiv {\n                display: none;\n            }\n            \n    \n    \n        \n        Checking Stock Availability\n        \n        \n            \n                \n                    \n                    \n                    \n                        1 Camping/Berthing\n                        \n                        \n                            Please select from options below if required>Camping  €50\n                        \n                    \n                    \n                        2Friday Dinner €35 (Includes entry to raffle 1st prize new sail)\n                        \n                            \n                    Please select how many suppers you would like\n                \n                Please select the number of meal(s)123456\n\n\n\n\n        \n            2Pre-Order Rolls\n            A selection of rolls can be pre-ordered for €6 each\n        \n        If you wish to pre-order rolls\, which days would you like?\n    \n        \n            Mon\n            Tue\n        \n        Wed\n        Thu\n         \n        Fri\n        Sat\n    \nSelect Monday Rolls\n\n    \n        Number of Ham\n        1\n        2\n        3\n        4\n        5\n        6\n    \n\n    \n        \n            Number of Ham and Cheese\n            1\n            2\n            3\n            4\n            5\n            6\n        \n    \n    \n        \n            Number of Cheese\n            1\n            2\n            3\n            4\n            5\n            6\n        \n    \n    \n        \n            Number of Ham and Cheese Salad\n            1\n            2\n            3\n            4\n            5\n            6\n        \n    \n    \n        \n            Number of Chicken Tikka\n            1\n            2\n            3\n            4\n            5\n            6\n        \n    \n    \n        \n            Number of Chicken Tikka Cheese\n            1\n            2\n            3\n            4\n            5\n            6\n        \n    \n    \n        \n            Number of Salad\n            1\n            2\n            3\n            4\n            5\n            6\n        \n    \n\n    \n        Number of Egg\n        1\n        2\n        3\n        4\n        5\n        6\n    \n\n\n\nSelect Tuesday Rolls\n\n    \n        Number of Ham\n        1\n        2\n        3\n        4\n        5\n        6\n    \n\n    \n        \n            Number of Ham and Cheese\n            1\n            2\n            3\n            4\n            5\n            6\n        \n    \n    \n        \n            Number of Cheese\n            1\n            2\n            3\n            4\n            5\n            6\n        \n    \n    \n        \n            Number of Ham and Cheese Salad\n            1\n            2\n            3\n            4\n            5\n            6\n        \n    \n    \n        \n            Number of Chicken Tikka\n            1\n            2\n            3\n            4\n            5\n            6\n        \n    \n    \n        \n            Number of Chicken Tikka Cheese\n            1\n            2\n            3\n            4\n            5\n            6\n        \n    \n    \n        \n            Number of Salad\n            1\n            2\n            3\n            4\n            5\n            6\n        \n    \n    \n        \n            Number of Egg\n            1\n            2\n            3\n            4\n            5\n            6\n        \n    \n\nSelect Wednesday Rolls\n\n    \n        Number of Ham\n        1\n        2\n        3\n        4\n        5\n        6\n    \n\n    \n        \n            Number of Ham and Cheese\n            1\n            2\n            3\n            4\n            5\n            6\n        \n    \n    \n        \n            Number of Cheese\n            1\n            2\n            3\n            4\n            5\n            6\n        \n    \n    \n        \n            Number of Ham and Cheese Salad\n            1\n            2\n            3\n            4\n            5\n            6\n        \n    \n    \n        \n            Number of Chicken Tikka\n            1\n            2\n            3\n            4\n            5\n            6\n        \n    \n    \n        \n            Number of Chicken Tikka Cheese\n            1\n            2\n            3\n            4\n            5\n            6\n        \n    \n    \n        \n            Number of Salad\n            1\n            2\n            3\n            4\n            5\n            6\n        \n    \n\n    \n        Number of Egg\n        1\n        2\n        3\n        4\n        5\n        6\n    \n\n\nSelect Thursday Rolls\n\n    \n        Number of Ham\n        1\n        2\n        3\n        4\n        5\n        6\n    \n\n    \n        \n            Number of Ham and Cheese\n            1\n            2\n            3\n            4\n            5\n            6\n        \n    \n    \n        \n            Number of Cheese\n            1\n            2\n            3\n            4\n            5\n            6\n        \n    \n    \n        \n            Number of Ham and Cheese Salad\n            1\n            2\n            3\n            4\n            5\n            6\n        \n    \n    \n        \n            Number of Chicken Tikka\n            1\n            2\n            3\n            4\n            5\n            6\n        \n    \n    \n        \n            Number of Chicken Tikka Cheese\n            1\n            2\n            3\n            4\n            5\n            6\n        \n    \n    \n        \n            Number of Salad\n            1\n            2\n            3\n            4\n            5\n            6\n        \n    \n\n    \n        Number of Egg\n        1\n        2\n        3\n        4\n        5\n        6\n    \n\n\nSelect Friday Rolls\n\n    \n        Number of Ham\n        1\n        2\n        3\n        4\n        5\n        6\n    \n\n    \n        \n            Number of Ham and Cheese\n            1\n            2\n            3\n            4\n            5\n            6\n        \n    \n    \n        \n            Number of Cheese\n            1\n            2\n            3\n            4\n            5\n            6\n        \n    \n    \n        \n            Number of Ham and Cheese Salad\n            1\n            2\n            3\n            4\n            5\n            6\n        \n    \n    \n        \n            Number of Chicken Tikka\n            1\n            2\n            3\n            4\n            5\n            6\n        \n    \n    \n        \n            Number of Chicken Tikka Cheese\n            1\n            2\n            3\n            4\n            5\n            6\n        \n    \n    \n        \n            Number of Salad\n            1\n            2\n            3\n            4\n            5\n            6\n        \n    \n\n    \n        Number of Egg\n        1\n        2\n        3\n        4\n        5\n        6\n    \n\n\nSelect Saturday Rolls\n\n    \n        Number of Ham\n        1\n        2\n        3\n        4\n        5\n        6\n    \n\n    \n        \n            Number of Ham and Cheese\n            1\n            2\n            3\n            4\n            5\n            6\n        \n    \n    \n        \n            Number of Cheese\n            1\n            2\n            3\n            4\n            5\n            6\n        \n    \n    \n        \n            Number of Ham and Cheese Salad\n            1\n            2\n            3\n            4\n            5\n            6\n        \n    \n    \n        \n            Number of Chicken Tikka\n            1\n            2\n            3\n            4\n            5\n            6\n        \n    \n    \n        \n            Number of Chicken Tikka Cheese\n            1\n            2\n            3\n            4\n            5\n            6\n        \n    \n    \n        \n            Number of Salad\n            1\n            2\n            3\n            4\n            5\n            6\n        \n    \n    \n        \n            Number of Egg\n            1\n            2\n            3\n            4\n            5\n            6\n        \n    \n\n\n3Person collecting lunches\n    If you have selected rolls please enter below the person who will be collecting these\n     \n\n\n    4 Summary\n    Please check that all items needed have been selected correctly. For more information contact sailing@lryc.ie\n    \n    \n    \n\n \n\n\n\n
URL:https://www.lryc.ie/event/national-training-week-halloween-regatta/
ATTACH;FMTTYPE=image/jpeg:https://www.lryc.ie/wp-content/uploads/2025/07/oppies1.jpg
END:VEVENT
END:VCALENDAR