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:20260509
DTEND;VALUE=DATE:20260511
DTSTAMP:20260505T121123
CREATED:20230224T150859Z
LAST-MODIFIED:20260401T122341Z
UID:10790-1778284800-1778457599@www.lryc.ie
SUMMARY:SB20 Midlander Championships
DESCRIPTION:\n\n\nvar total = 0;\nvar summaryMsg = [];\nthis.statusA=[];\nvar errors = [];\n//Constants\nvar fillToCartURL='https://www.lryc.ie/cart/?fill_cart=';\nfunction calculateTotal() {\n   this.summaryMsg = [];\n   thereAreValidationErrors()\n   if (this.errors.length > 0) {\n      printErrors();\n      return;\n   }\n   disableButton();\n}\nfunction goToCart() {\n   window.location.href = 'www.lryc.ie/cart';\n}\nfunction getEntryProductSingleFleet(){\n   var today = new Date();\n   var dd = today.getDate();\n   var mm = today.getMonth()+1; //January is 0!\n   \n   if (mm === 7 && dd > 18) {\n      return '1657';\n   } else if (mm > 7) {\n      return '1657';\n   }\n   return '1656'\n}\nfunction thereAreValidationErrors(){\n   this.errors = [];\n   var helm = document.getElementsByName("helm");\n   var boatNo = document.getElementsByName("boatNo");\n   var boatName = document.getElementsByName("boatName");\n   var emergency = document.getElementsByName("emergency");\nvar emergencyPhone = document.getElementsByName("emergencyPhone");\nvar club = document.getElementsByName("club");\n   var phone = document.getElementsByName("phone");\n   var member = document.getElementsByName("member");\nvar silver = document.getElementsByName("silver");\n   if (boatName[0].value.length < 3 && helm[0].value.length < 3 && boatNo[0].value.length < 3){\n      var friday = document.getElementsByName("friday");\n      var camp = document.getElementsByName("camp");\n      if (friday[0].value === "" && camp[0].value === ""){\n         this.errors.push("Please enter something to proceed")\n      }\n   } else {\n      if (boatName[0].value.length < 3) {\n         this.errors.push("Please enter a boat name")\n      } \n      if (helm[0].value.length < 3) {\n         this.errors.push("Please enter a helm name")\n      }  \n      if (boatNo[0].value.length < 3) {\n         this.errors.push("Please enter a boat number")\n      }   \n      if (club[0].value.length < 3) {\n         this.errors.push("Please enter a club")\n      }   \n      if (phone[0].value.length < 3) {\n         this.errors.push("Please enter a phone number")\n      } \n      if (emergency[0].value.length < 3) {\n         this.errors.push("Please enter an emergency contact")\n      } \n      if (emergencyPhone[0].value.length < 3) {\n         this.errors.push("Please enter an emergency contact number")\n      } \n      if (silver[0].value === "") {\n         this.errors.push("Please select whether or not you wish to be considered for Silver fleet")\n      } \n      if (member[0].value === "") {\n         this.errors.push("Please state your 2026 membership status")\n      }  \n      var declaration = document.getElementById("declaration");\n      if(!declaration.checked){\n         this.errors.push("Please agree to the declaration")\n      }\n   }\n   var validation = document.getElementById("validation");\n   validation.innerHTML = "";\n}\nfunction printErrors(){\n    var validation = document.getElementById("validation");\n    for (i = 0; i < errors.length; i++) {\n        validation.innerHTML += (errors[i] + "");\n    }\n}\nfunction createCartButton(){ \n   this.cartHref += "\″ onclick=\"disableButton()\" id=\"goToCheckout\">Add to Cart"\n   var summary = document.getElementById("addToCart").innerHTML = this.cartHref;    \n}\nfunction 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 Boat");\n        getTotalBoatEntryFees();\n     };\n     xhr.send();\n}\nfunction getTotalBoatEntryFees(){\n  var helm = document.getElementsByName("helm");\n  var boatNo = document.getElementsByName("boatNo");\n  var boatName = document.getElementsByName("boatName");\n  var phone = document.getElementsByName("phone");\n  var emergency = document.getElementsByName("emergency");\n  var emergencyPhone = document.getElementsByName("emergencyPhone");\n  var club = document.getElementsByName("club");\n  var silver = document.getElementsByName("silver");\n  var lift = document.getElementsByName("lift");\n  var youth = document.getElementById("youth");\n   if (boatName[0].value.length < 3 && helm[0].value.length < 3 && boatNo[0].value.length < 3){\n      getTotalOtherFees();\n   } else {\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  var additional = document.getElementsByName("paragraph_text_dietary");\n  var additionalInfo = ' Club:'+club[0].value+' Phone Number:'+phone[0].value+' Emergency Contact:'+emergency[0].value+' Emergency Phone Number:'+emergencyPhone[0].value+' Silver Fleet:'+silver[0].value+' Lift Time:'+lift[0].value+' Other requests: '+ additional[0].value;\n  var productId = 0;\n  if(youth.checked){\n     productId = 7635\n  } else {\n     productId = 7634\n  }\nxhr.send('boatNumber='+boatNo[0].value+'&helm='+helm[0].value+'&boatName='+boatName[0].value+'&AdditionalInfo='+additionalInfo+'&quantity=1&add-to-cart='+productId);\n  }\n} \nfunction getTotalOtherFees(){\n    var member = document.getElementById("member");\n    var autumn = document.getElementById("autumn");\n    var member = document.getElementsByName("member");\n    var friday = document.getElementsByName("friday");\n    var camp = document.getElementsByName("camp");\n    if  (member[0].value === "No") {\n          if(fillToCartURL.slice(-1) !== '=') {\n             this.fillToCartURL+='\,1x7641';\n          } else {\n             this.fillToCartURL+='1x7641';\n          }\n    }\n    var friInt = parseInt(friday[0].value); \n    if (friInt > 0){\n       if(fillToCartURL.slice(-1) !== '=') {\n          this.fillToCartURL+='\,'+friInt+'x2477';\n       } else {\n          this.fillToCartURL+=friInt+'x2477';\n       }\n    }\n    if  (camp[0].value === "1") {\n          if(fillToCartURL.slice(-1) !== '=') {\n             this.fillToCartURL+='\,1x14662';\n          } else {\n             this.fillToCartURL+='1x14662';\n          }\n    }\n    if  (camp[0].value === "2") {\n          if(fillToCartURL.slice(-1) !== '=') {\n             this.fillToCartURL+='\,1x16316';\n          } else {\n             this.fillToCartURL+='1x16316';\n          }\n    }\n    fillCheckout();\n}\nfunction fillCheckout() {\n   printStatus("Going to Cart with anything else");\n   window.location.href = fillToCartURL;\n}\nfunction createSummary(){\n   this.total = 0; \n    this.summaryMsg = [];\n    var kidsMeal= document.getElementsByName("selectSundayMeal");\n    var kidsMealInt = parseInt(kidsMeal[0].value); \n    this.total += (kidsMealInt*kidsMealFee );\n    if (kidsMealInt > 0) {\n        this.summaryMsg.push(kidsMealInt + " x Saturday Junior Meal = €" + kidsMealFee*kidsMealInt  );\n    }\n    var adultsMeal= document.getElementsByName("selectAdultMeal");\n    var adultsMealInt = parseInt(adultsMeal[0].value); \n    this.total += (adultsMealInt*adultMealFee);\n    if (adultsMealInt > 0) {\n        this.summaryMsg.push(adultsMealInt + " x Saturday Adult Meal = €" + adultMealFee*adultsMealInt  );\n    }\n    var fleet = document.getElementsByName("fleet")[0].value;\n    var today = new Date();\n    var dd = today.getDate();\n    var mm = today.getMonth()+1; //January is 0!\n    var entry=50;\n    if (mm === 7 && dd > 18) {\n       entry=60;\n    }\n    if (fleet.length > 0) {\n      var productSum = getEntryProductSingleFleet();\n      if (productSum == '1657') {\n         this.total += 60;\n      } else {\n         this.total += 50;\n      }\n    }\n    var summary = document.getElementById("entrySummary");\n    summary.innerHTML = "";\n    for (i = 0; i < summaryMsg.length; i++) {\n        summary.innerHTML += (summaryMsg[i] + "");\n    }\n   document.getElementById("Total").innerHTML = "€ "+ this.total; \n   document.getElementById("regattaFormTotal").style.display= "block";\n}\nfunction 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\n\n\n\n\n1Documents\nSB20 Midlander Notice Of Race\n\n\n\n2Boat to Enter\nBoat Name\n\nSail No\n\nClub\n\n\nHelm\n\n\nHelm Phone Number\n\n\nEmergency Contact\n\n\nEmergency Phone Number\n\n\nDo you wish to be considered for inclusion in the Silver Fleet\n\n\nPlease select an answer\nYesNo\n\n\nWhich time are you planning for lift in?\n\n\nPlease select an answer\nFriday 7pm-8pmSaturday 8.30am-11.15amDon't know yet\n\n\n\n\n\n3Additional Options\n\n\n\n\n\nUnder 30 Entry (All crew must be under 30)\n\n\n\n\n\n\nEntry in Autumn Mini Series\, 9 Races\, 3 Saturdays\, 2pm FG\, 25 Sept\, 2 Oct\, 9 Oct (€90\, incl 3 x Crane in-out\, One Month Storage between races up to SB20 Midlands 16 Oct)\n\nSB20 Class Membership paid 2026 (€100 if NO)\n\nPlease select an answerYesNo\n\n\n\n\n4Meals\nSaturday Meal (€27.50)\n\n\nNumber of meals\n1\n2\n3\n4\n5\n6\n\n\n\nIf you have any dietary requirements\, please enter here and we will endeavour\, to fulfill the request if practical/possible. \n \n\n\n\n\n5Camping €30 & Caravan/Campervan €50\nDo you wish to add camping?\n\n\nNo\nYes add camping €30\nYes add  Campervan/Caravan €50\n\n \n\n\n6 Declaration\n\n\nRules of the Regatta\n1.1 The regatta will be governed by the rules as defined by The Racing Rules of Sailing.\n1.2 The regatta will be governed by the rules as defined by The Notice Of Race & Sailing Instructions.\n1.3 All relevant class rules will apply.\n\n\n\n\n\nI have read and am aware of the Rules of the regatta as above. Please accept my entry and if accepted I will fill in the declaration form(s) and where applicable class declaration form(s) and present it/them for approval at registration.\n\n\n\n7 Summary\nPlease 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\n
URL:https://www.lryc.ie/event/sb20-midlander-championships/
ATTACH;FMTTYPE=image/jpeg:https://www.lryc.ie/wp-content/uploads/2022/05/SB20westerns.jpg
END:VEVENT
BEGIN:VEVENT
DTSTART;VALUE=DATE:20260509
DTEND;VALUE=DATE:20260511
DTSTAMP:20260505T121123
CREATED:20260330T130315Z
LAST-MODIFIED:20260414T125441Z
UID:16320-1778284800-1778457599@www.lryc.ie
SUMMARY:Drascombes at LRYC
DESCRIPTION:\n\n\nvar total = 0;\nvar summaryMsg = [];\nthis.statusA=[];\nvar errors = [];\n//Constants\nvar fillToCartURL='https://www.lryc.ie/cart/?fill_cart=';\nfunction calculateTotal() {\n   this.summaryMsg = [];\n   thereAreValidationErrors()\n   if (this.errors.length > 0) {\n      printErrors();\n      return;\n   }\n   disableButton();\n}\nfunction goToCart() {\n   window.location.href = 'www.lryc.ie/cart';\n}\nfunction getEntryProductSingleFleet(){\n   var today = new Date();\n   var dd = today.getDate();\n   var mm = today.getMonth()+1; //January is 0!\n   \n   if (mm === 7 && dd > 18) {\n      return '1657';\n   } else if (mm > 7) {\n      return '1657';\n   }\n   return '1656'\n}\nfunction thereAreValidationErrors(){\n   this.errors = [];\n   var helm = document.getElementsByName("helm");\n   var boatName = document.getElementsByName("boatName");\n   var emergency = document.getElementsByName("emergency");\nvar emergencyPhone = document.getElementsByName("emergencyPhone");\nvar club = document.getElementsByName("club");\n   var phone = document.getElementsByName("phone");\n   var member = document.getElementsByName("member");\nvar silver = document.getElementsByName("silver");\n   if (boatName[0].value.length < 3 && helm[0].value.length < 3){\n      var friday = document.getElementsByName("friday");\n      var camp = document.getElementsByName("camp");\n      if (friday[0].value === "" && camp[0].value === ""){\n         this.errors.push("Please enter something to proceed")\n      }\n   } else {\n      if (boatName[0].value.length < 3) {\n         this.errors.push("Please enter a boat name")\n      } \n      if (helm[0].value.length < 3) {\n         this.errors.push("Please enter a helm name")\n      }   \n      if (phone[0].value.length < 3) {\n         this.errors.push("Please enter a phone number")\n      } \n      if (emergency[0].value.length < 3) {\n         this.errors.push("Please enter an emergency contact")\n      } \n      if (emergencyPhone[0].value.length < 3) {\n         this.errors.push("Please enter an emergency contact number")\n      }   \n      var declaration = document.getElementById("declaration");\n      if(!declaration.checked){\n         this.errors.push("Please agree to the declaration")\n      }\n   }\n   var validation = document.getElementById("validation");\n   validation.innerHTML = "";\n}\nfunction printErrors(){\n    var validation = document.getElementById("validation");\n    for (i = 0; i < errors.length; i++) {\n        validation.innerHTML += (errors[i] + "");\n    }\n}\nfunction createCartButton(){ \n   this.cartHref += "\″ onclick=\"disableButton()\" id=\"goToCheckout\">Add to Cart"\n   var summary = document.getElementById("addToCart").innerHTML = this.cartHref;    \n}\nfunction 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 Boat");\n        getTotalBoatEntryFees();\n     };\n     xhr.send();\n}\nfunction getTotalBoatEntryFees(){\n  var helm = document.getElementsByName("helm");\n  var boatName = document.getElementsByName("boatName");\n  var phone = document.getElementsByName("phone");\n  var emergency = document.getElementsByName("emergency");\n  var emergencyPhone = document.getElementsByName("emergencyPhone");\n   if (boatName[0].value.length < 3 && helm[0].value.length < 3){\n      getTotalOtherFees();\n   } else {\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  var additional = document.getElementsByName("paragraph_text_dietary");\n  var additionalInfo = ' Phone Number:'+phone[0].value+' Emergency Contact:'+emergency[0].value+' Emergency Phone Number:'+emergencyPhone[0].value+' Other requests: '+ additional[0].value;\n  var productId = 16321;\nxhr.send('helm='+helm[0].value+'&boatName='+boatName[0].value+'&AdditionalInfo='+additionalInfo+'&quantity=1&add-to-cart='+productId);\n  }\n} \nfunction getTotalOtherFees(){\n    var member = document.getElementById("member");\n    var autumn = document.getElementById("autumn");\n    var member = document.getElementsByName("member");\n    var friday = document.getElementsByName("friday");\n    var camp = document.getElementsByName("camp");\n    var friInt = parseInt(friday[0].value); \n    if (friInt > 0){\n       if(fillToCartURL.slice(-1) !== '=') {\n          this.fillToCartURL+='\,'+friInt+'x2477';\n       } else {\n          this.fillToCartURL+=friInt+'x2477';\n       }\n    }\n    if  (camp[0].value === "1") {\n          if(fillToCartURL.slice(-1) !== '=') {\n             this.fillToCartURL+='\,1x14662';\n          } else {\n             this.fillToCartURL+='1x14662';\n          }\n    }\n    if  (camp[0].value === "2") {\n          if(fillToCartURL.slice(-1) !== '=') {\n             this.fillToCartURL+='\,1x16316';\n          } else {\n             this.fillToCartURL+='1x16316';\n          }\n    }\n    fillCheckout();\n}\nfunction fillCheckout() {\n   printStatus("Going to Cart with anything else");\n   window.location.href = fillToCartURL;\n}\nfunction createSummary(){\n   this.total = 0; \n    this.summaryMsg = [];\n    var kidsMeal= document.getElementsByName("selectSundayMeal");\n    var kidsMealInt = parseInt(kidsMeal[0].value); \n    this.total += (kidsMealInt*kidsMealFee );\n    if (kidsMealInt > 0) {\n        this.summaryMsg.push(kidsMealInt + " x Saturday Junior Meal = €" + kidsMealFee*kidsMealInt  );\n    }\n    var adultsMeal= document.getElementsByName("selectAdultMeal");\n    var adultsMealInt = parseInt(adultsMeal[0].value); \n    this.total += (adultsMealInt*adultMealFee);\n    if (adultsMealInt > 0) {\n        this.summaryMsg.push(adultsMealInt + " x Saturday Adult Meal = €" + adultMealFee*adultsMealInt  );\n    }\n    var fleet = document.getElementsByName("fleet")[0].value;\n    var today = new Date();\n    var dd = today.getDate();\n    var mm = today.getMonth()+1; //January is 0!\n    var entry=50;\n    if (mm === 7 && dd > 18) {\n       entry=60;\n    }\n    if (fleet.length > 0) {\n      var productSum = getEntryProductSingleFleet();\n      if (productSum == '1657') {\n         this.total += 60;\n      } else {\n         this.total += 50;\n      }\n    }\n    var summary = document.getElementById("entrySummary");\n    summary.innerHTML = "";\n    for (i = 0; i < summaryMsg.length; i++) {\n        summary.innerHTML += (summaryMsg[i] + "");\n    }\n   document.getElementById("Total").innerHTML = "€ "+ this.total; \n   document.getElementById("regattaFormTotal").style.display= "block";\n}\nfunction 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\n\n\n\n\n1Boat to Enter (€50)\nBoat Name\n\nHelm\n\n\nHelm Phone Number\n\n\nEmergency Contact\n\n\nEmergency Phone Number\n\n\n\n\n\n\n2Meals\nSaturday Meal (€27.50)\n\n\nNumber of meals\n1\n2\n3\n4\n5\n6\n\n\n\nIf you have any dietary requirements\, please enter here and we will endeavour\, to fulfill the request if practical/possible. \n \n\n\n\n\n3Camping €30 & Caravan/Campervan €50\nDo you wish to add camping?\n\n\nNo\nYes add camping €30\nYes add  Campervan/Caravan €50\n\n \n\n\n6 Declaration\n\n\nRules of the Regatta\n1.1 The regatta will be governed by the rules as defined by The Racing Rules of Sailing.\n1.2 The regatta will be governed by the rules as defined by The Notice Of Race & Sailing Instructions.\n1.3 All relevant class rules will apply.\n\n\n\n\n\nI have read and am aware of the Rules of the regatta as above. Please accept my entry and if accepted I will fill in the declaration form(s) and where applicable class declaration form(s) and present it/them for approval at registration.\n\n\n\n4 Summary\nPlease 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\n
URL:https://www.lryc.ie/event/drascombes-at-lryc/
ATTACH;FMTTYPE=image/jpeg:https://www.lryc.ie/wp-content/uploads/2025/07/rib.jpeg
END:VEVENT
BEGIN:VEVENT
DTSTART;VALUE=DATE:20260509
DTEND;VALUE=DATE:20260510
DTSTAMP:20260505T121123
CREATED:20260430T175432Z
LAST-MODIFIED:20260430T175627Z
UID:16584-1778284800-1778371199@www.lryc.ie
SUMMARY:May Meal at LRYC
DESCRIPTION:\n//numericalTotals\nvar total = 0;\n//Summary Strings\nvar summaryMsg = [];\nvar fillToCartURL='https://www.lryc.ie/cart/?fill_cart=';\n//Arrays\nvar errors = [];\nfunction continuePurchase() {\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            getAdultMealFees();\n        };\n        xhr.send();\n}\nfunction clearCart() {\n   this.summaryMsg = [];\n   thereAreValidationErrors()\n   if (this.errors.length > 0) {\n      printErrors();\n      return;\n   }\n   disableButton();\n   continuePurchase(); \n}\nfunction thereAreValidationErrors(){\n   this.errors = [];\n   var validation = document.getElementById("validation");\n   var numberAdult = document.getElementsByName("friday");\n   validation.innerHTML = "";\n}\nfunction isNumeric(str) {\n  if (typeof str != "string") return false // we only process strings!  \n  return !isNaN(str) && // use type coercion to parse the _entirety_ of the string (`parseFloat` alone does not do this)...\n         !isNaN(parseFloat(str)) // ...and ensure strings of whitespace fail\n}\nfunction getAdultMealFees() {\n    var friday = document.getElementsByName("friday");\n    var friInt = parseInt(friday[0].value); \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       getAdditionalInfo();\n    };\n    if (friInt > 0){\n      var additional = document.getElementsByName("paragraph_text_dietary");\n      var additionalInfo = additional[0].value;\n      xhr.send('AdditionalInfo='+additionalInfo+'&quantity='+friInt+'&add-to-cart=2477');\n    } else {\n        getAdditionalInfo();\n    }\n}\nfunction sodaFees() {\n    var soda= document.getElementsByName("sodaFull");\n    if  (soda[0].value > 0) {\n          if(fillToCartURL.slice(-1) !== '=') {\n             this.fillToCartURL+='\,'+soda[0].value+'x1493';\n          } else {\n             this.fillToCartURL+=soda[0].value+'x1493';\n          }\n    }\n    var associate= document.getElementsByName("sodaTen");\n    if  (associate[0].value > 0) {\n          if(fillToCartURL.slice(-1) !== '=') {\n             this.fillToCartURL+='\,'+associate[0].value+'x1495';\n          } else {\n             this.fillToCartURL+=associate[0].value+'x1495';\n          }\n    }\n    fillCheckout();\n}\nfunction fillCheckout() {\n   window.location.href = fillToCartURL;\n}\nfunction getAdditionalInfo(){\n       var soda = document.getElementsByName("sodaDesc");\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           sodaFees();\n       };\n       var additionalInfo =  "";\n       if (soda[0].value != ""){\n          additionalInfo+= ' Soda Membership is for: ' +soda[0].value;\n          xhr.send('AdditionalInfo='+additionalInfo+'&quantity=1&add-to-cart='+2150);\n       } else {\n          sodaFees();\n       }\n}\n\n\n\n1Book a Meal(s)\n\n\nSaturday Meal €27.50\n\n\nNumber of meals\n1\n2\n3\n4\n5\n6\n\n\n\nIf you have any dietary requirements\, please enter here and we will endeavour\, to fulfill the request if practical/possible. \n \n\n\n\n2 Soda 2026 Membership\nPlease note its slightly cheaper to pay for these directly on SODA Website\n\nNumber of Full SODA Memberships €52 (Includes LRYC Stripe Fee)123\n\n\nNumber of Associate SODA Memberships €26 (Includes LRYC Stripe Fee)123\n\n\n\n \n \n
URL:https://www.lryc.ie/event/may-meal-at-lryc/
ATTACH;FMTTYPE=image/jpeg:https://www.lryc.ie/wp-content/uploads/2017/05/Whit.jpg
END:VEVENT
BEGIN:VEVENT
DTSTART;VALUE=DATE:20260516
DTEND;VALUE=DATE:20260518
DTSTAMP:20260505T121123
CREATED:20191114T135044Z
LAST-MODIFIED:20260227T121220Z
UID:4281-1778889600-1779062399@www.lryc.ie
SUMMARY:Chatterton Cup
DESCRIPTION:
URL:https://www.lryc.ie/event/chatterton-cup/
ATTACH;FMTTYPE=image/jpeg:https://www.lryc.ie/wp-content/uploads/2019/05/Yachts-2.jpg
END:VEVENT
BEGIN:VEVENT
DTSTART;VALUE=DATE:20260530
DTEND;VALUE=DATE:20260602
DTSTAMP:20260505T121123
CREATED:20170516T224651Z
LAST-MODIFIED:20260227T113407Z
UID:180-1780099200-1780358399@www.lryc.ie
SUMMARY:Whit Regatta
DESCRIPTION:\n//numericalTotals\nvar total = 0;\n//Summary Strings\nvar summaryMsg = [];\nvar fillToCartURL='https://www.lryc.ie/cart/?fill_cart=';\n//Arrays\nvar errors = [];\nfunction continuePurchase() {\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            getAdultMealFees();\n        };\n        xhr.send();\n}\nfunction clearCart() {\n   this.summaryMsg = [];\n   thereAreValidationErrors()\n   if (this.errors.length > 0) {\n      printErrors();\n      return;\n   }\n   disableButton();\n   continuePurchase(); \n}\nfunction thereAreValidationErrors(){\n   this.errors = [];\n   var validation = document.getElementById("validation");\n   var numberAdult = document.getElementsByName("friday");\n   validation.innerHTML = "";\n}\nfunction isNumeric(str) {\n  if (typeof str != "string") return false // we only process strings!  \n  return !isNaN(str) && // use type coercion to parse the _entirety_ of the string (`parseFloat` alone does not do this)...\n         !isNaN(parseFloat(str)) // ...and ensure strings of whitespace fail\n}\nfunction getAdultMealFees() {\n    var friday = document.getElementsByName("friday");\n    var friInt = parseInt(friday[0].value); \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       getAdditionalInfo();\n    };\n    if (friInt > 0){\n      var additional = document.getElementsByName("paragraph_text_dietary");\n      var additionalInfo = additional[0].value;\n      xhr.send('AdditionalInfo='+additionalInfo+'&quantity='+friInt+'&add-to-cart=14875');\n    } else {\n        getAdditionalInfo();\n    }\n}\nfunction sodaFees() {\n    var soda= document.getElementsByName("sodaFull");\n    if  (soda[0].value > 0) {\n          if(fillToCartURL.slice(-1) !== '=') {\n             this.fillToCartURL+='\,'+soda[0].value+'x1493';\n          } else {\n             this.fillToCartURL+=soda[0].value+'x1493';\n          }\n    }\n    var associate= document.getElementsByName("sodaTen");\n    if  (associate[0].value > 0) {\n          if(fillToCartURL.slice(-1) !== '=') {\n             this.fillToCartURL+='\,'+associate[0].value+'x1495';\n          } else {\n             this.fillToCartURL+=associate[0].value+'x1495';\n          }\n    }\n    fillCheckout();\n}\nfunction fillCheckout() {\n   window.location.href = fillToCartURL;\n}\nfunction getAdditionalInfo(){\n       var soda = document.getElementsByName("sodaDesc");\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           sodaFees();\n       };\n       var additionalInfo =  "";\n       if (soda[0].value != ""){\n          additionalInfo+= ' Soda Membership is for: ' +soda[0].value;\n          xhr.send('AdditionalInfo='+additionalInfo+'&quantity=1&add-to-cart='+2150);\n       } else {\n          sodaFees();\n       }\n}\n\n\n\n1Book a Sunday Meal(s)\nDinner ticket bookings not yet open for 2026.\n\n\nSunday Meal\n\n\nNumber of meals\n1\n2\n3\n\n\n\nIf you have any dietary requirements\, please enter here and we will endeavour\, to fulfill the request if practical/possible. \n \n\n\n\n2 Soda 2026 Membership\nPlease note its slightly cheaper to pay for these directly on SODA Website\n\nNumber of Full SODA Memberships €52 (Includes LRYC Stripe Fee)123\n\n\nNumber of Associate SODA Memberships €26 (Includes LRYC Stripe Fee)123\n\n\n\n \n \n
URL:https://www.lryc.ie/event/whit-regatta/
LOCATION:LRYC\, Lough Ree Yacht Club\, Ballyglass\, Athlone\, Ireland
CATEGORIES:Cruisers,Shannons
ATTACH;FMTTYPE=image/jpeg:https://www.lryc.ie/wp-content/uploads/2017/05/Whit.jpg
END:VEVENT
BEGIN:VEVENT
DTSTART;VALUE=DATE:20260613
DTEND;VALUE=DATE:20260615
DTSTAMP:20260505T121123
CREATED:20260305T140530Z
LAST-MODIFIED:20260305T140530Z
UID:16299-1781308800-1781481599@www.lryc.ie
SUMMARY:SODs North Shannon Regatta
DESCRIPTION:
URL:https://www.lryc.ie/event/sods-north-shannon-regatta/
ATTACH;FMTTYPE=image/jpeg:https://www.lryc.ie/wp-content/uploads/2025/09/reids.jpg
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=UTC:20260613T080000
DTEND;TZID=UTC:20260614T170000
DTSTAMP:20260505T121123
CREATED:20190128T103310Z
LAST-MODIFIED:20260227T121346Z
UID:2667-1781337600-1781456400@www.lryc.ie
SUMMARY:Terylene Plate
DESCRIPTION:
URL:https://www.lryc.ie/event/terylene-plate/
ATTACH;FMTTYPE=image/jpeg:https://www.lryc.ie/wp-content/uploads/2018/08/regatta-2018_22-e1549979979724.jpg
END:VEVENT
BEGIN:VEVENT
DTSTART;VALUE=DATE:20260620
DTEND;VALUE=DATE:20260622
DTSTAMP:20260505T121123
CREATED:20190301T235422Z
LAST-MODIFIED:20260227T122411Z
UID:2926-1781913600-1782086399@www.lryc.ie
SUMMARY:J24 Easterns
DESCRIPTION:\nLough Ree Yacht Club will be hosting the J24 Westerns 2019.\n\nJ24 Westerns Notice Of Race Click here\nJ24 Westerns Sailing Instructions Click here\n\nPlease note\, entries and dinner ticket sales close on Wednesday the 2nd of October at midnight\n\n				-2406Days\n				-13Hours\n				-13Minutes\n				-21Seconds\n			\n        document.addEventListener('DOMContentLoaded'\, function(event) {\n			jQuery('#main_countedown_1 .countdown').html('')\n		});#main_countedown_1 .countdown{text-align:center;}#main_countedown_1 .countdown{margin-top:10px;margin-bottom:10px}#main_countedown_1 .time_left{\nborder-radius:8px;\nbackground-color:#3DA8CC;\nfont-size:23px;\nfont-family:monospace;\ncolor:#000000;\n}\n#main_countedown_1 .time_description{\nfont-size:23px;\nfont-family:monospace;\ncolor:#000000;\n}\n#main_countedown_1 .element_conteiner{min-width:90px}\n\nOnline entry is available below.\n\n\n//numericalTotals\nvar total = 0;\n//Summary Strings\nvar summaryMsg = [];\n//Arrays\nvar errors = [];\nvar boatCount = 1;\n//Constants\nvar kidsMealFee = 10;\nvar adultMealFee = 15;\nvar onlydinner=false;\nfunction calculateTotal() {\n   this.summaryMsg = [];\n   thereAreValidationErrors()\n   if (this.errors.length > 0) {\n      printErrors();\n      return;\n   }\n   disableButton();\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      if (!onlydinner){\n          getTotalBoatEntryFees();\n      } else {\n          adultMeals();\n      }\n   };\n   xhr.send();\n}\nfunction goToCart() {\n   window.location.href = 'www.lryc.ie/cart';\n}\nfunction thereAreValidationErrors(){\n   this.errors = [];\n   var boatNo = document.getElementsByName("boatNo");\n   var boatName = document.getElementsByName("boatName");\n   var club = document.getElementsByName("club");\n   var declaration = document.getElementById("declaration");\n   var personInCharge = document.getElementsByName("personInCharge");\nvar sunday = document.getElementsByName("selectSundayMeal");\n   if (boatNo[0].value===""&&boatName[0].value===""&&club[0].value===""&&personInCharge[0].value===""&&sunday[0].value>0){\n      this.mealsOnly=true\n   }\nif (club[0].value.length===0 && boatName[0].value.length===0 && boatNo[0].value.length===0){\n onlydinner = true;\n}\nif(!onlydinner){\n   if (club[0].value.length < 3) {\n      this.errors.push("You forgot to enter a club")\n   }\n   if (boatName[0].value.length < 3) {\n      this.errors.push("You forgot to enter a boat name")\n   }\n   if (boatNo[0].value.length < 3) {\n      this.errors.push("You forgot to enter a sail number")\n   }    \n   if (personInCharge[0].value.length === 0) {\n      this.errors.push("You must designate a person in charge");\n   }\n   if (!declaration.checked) {\n      this.errors.push("Please agree to the declaration")\n   }\n}\n   var validation = document.getElementById("validation");\n   validation.innerHTML = "";\n}\nfunction printErrors(){\n    var validation = document.getElementById("validation");\n    for (i = 0; i < errors.length; i++) {\n        validation.innerHTML += (errors[i] + "");\n    }\n}\nfunction createCartButton(){\n   this.cartHref += "\″ onclick=\"disableButton()\" id=\"goToCheckout\">Add to Cart"\n   var summary = document.getElementById("addToCart").innerHTML = this.cartHref;\n}\nfunction disableButton(){\n   var goToCheckout = document.getElementById("Next");\n   goToCheckout.disabled = true;\n   goToCheckout.value='Thank you\, please wait a few moments.';\n   goToCheckout.style.background = "#909090"\n}\nfunction getTotalBoatEntryFees(){\n  var discount= document.getElementById("discounted");\n  var helm = document.getElementsByName("helm");\n  if (helm.length>0){\n     helm = helm[0].value;\n  } else {\n     helm = "Not Specified";\n  }\n  var boatNo = document.getElementsByName("boatNo");\n  var boatName = document.getElementsByName("boatName");\n  var hullNumber = document.getElementsByName("hullNumber");\n  if (hullNumber.length>0){\n     hullNumber = hullNumber[0].value;\n  } else {\n     hullNumber = "Not Specified";\n  }\n  var club = document.getElementsByName("club");\n  var personInCharge = document.getElementsByName("personInCharge");\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    adultMeals();\n  };\n  var additionalInfo = ' Person In Charge:' + personInCharge[0].value + ' Hull No:'+hullNumber +' Boat Name:'+boatName[0].value;\n  var productId = 2995;\n   if (discount.checked) {\n      productId=4099;\n   }\nxhr.send('boatNumber='+boatNo[0].value+'&helm='+helm+'&club='+club[0].value+'&AdditionalInfo='+additionalInfo+'&quantity=1&add-to-cart='+productId);\n}\nfunction adultMeals() {\n   var sunday = document.getElementsByName("selectSundayMeal");\n   if (parseInt(sunday[0].value) > 0) {\n     var sundayInt = parseInt(sunday[0].value);\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       goToCart();\n     };\n     xhr.send('quantity='+sundayInt+'&add-to-cart=2997');\n  } else {\n       goToCart();\n  }\n}\n\n\n\n\n1 Boat to Enter\nPlease note that if the boat to be entered attended the first instance of this event in April of this year\, a discount of €80 will apply for an entry fee of €50. Please select this option immediately below if applicable\n\n\n\n\n\nThis boat previously entered in April\n\nClub\n\n\n\nBoat Name\n\n\n\nSail Number\n\n\n\nHull Number (If different from above)\n\n\n\nPerson in Charge\n\n\nHelm (If different from above)\n\n2 Meals\nSaturday Meal €25\n\n0\n1\n2\n3\n4\n5\n6\n7\n8\n\n\n3 Declaration\n\n1) I wish to enter the above named boat in this event and I agree to be bound by the Racing Rules of Sailing\, The Prescriptions of the Irish Sailing Association and International J24 Class Association Rules\, the Sailing Instructions (SI’s) and in particular\, the risk statement as stated in the Sailing Instructions.  I accept that participation of the above named boat is at my sole and exclusive risk in every respect. By this entry I hereby indemnify Lough Ree Yacht Club\, and its members\, officers and agents in respect of all claims and demands which may be made upon them in correction with or howsoever arising from the participation or intended participation of the above named boat\, and I acknowledge that Lough Ree Yacht Club\, officers\, members\, servants and agents\, accept no responsibility with respect to loss of life\, personal injury or loss\, or damage to property\, which I or any other person may sustain by reason of the participation or intended participation of the above named boat in this event or how so arising in connection with this event.\n2) I confirm that the boat described in the Boat details above is insured with third party racing liability cover of at least €3m per incident for the duration of the event and the boat's stay at Lough Ree Yacht Club.\n\n\n\n\n\nI agree to the above declaration\n\n\n\n\n4 Enter Event\nPlease check that all items needed have been selected correctly. For more information contact commodore@lryc.ie\n\n\n\n
URL:https://www.lryc.ie/event/j24-easterns/
ATTACH;FMTTYPE=image/jpeg:https://www.lryc.ie/wp-content/uploads/2019/03/j24.jpg
END:VEVENT
BEGIN:VEVENT
DTSTART;VALUE=DATE:20260627
DTEND;VALUE=DATE:20260629
DTSTAMP:20260505T121123
CREATED:20180105T100626Z
LAST-MODIFIED:20260227T114053Z
UID:1128-1782518400-1782691199@www.lryc.ie
SUMMARY:SOD Long Distance Race
DESCRIPTION:\n//numericalTotals\nvar total = 0;\n//Summary Strings\nvar summaryMsg = [];\nvar fillToCartURL='https://www.lryc.ie/cart/?fill_cart=';\n//Arrays\nvar errors = [];\nfunction continuePurchase() {\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            getEntryFee();\n        };\n        xhr.send();\n}\nfunction clearCart() {\n   this.summaryMsg = [];\n   thereAreValidationErrors()\n   if (this.errors.length > 0) {\n      printErrors();\n      return;\n   }\n   disableButton();\n   continuePurchase(); \n}\nfunction thereAreValidationErrors(){\n   this.errors = [];\n   var validation = document.getElementById("validation");\n    var boatText = document.getElementsByName("boatToEnter");\n    var boatNumber = boatText[0].value; \n    var soda= document.getElementsByName("sodaFull");\n    var sodaFull=soda[0].value\n    var associate= document.getElementsByName("sodaTen");\n    var associateNum = associate[0].value;\n    if (associateNum==0 && sodaFull==0 && boatNumber=='') {\n         this.errors.push("Please either enter a boat number to enter the race\, or enter an amount of soda fees to be paid\, or both");\n    }\n   validation.innerHTML = "";\n}\nfunction isNumeric(str) {\n  if (typeof str != "string") return false // we only process strings!  \n  return !isNaN(str) && // use type coercion to parse the _entirety_ of the string (`parseFloat` alone does not do this)...\n         !isNaN(parseFloat(str)) // ...and ensure strings of whitespace fail\n}\nfunction getEntryFee() {\n    var boatText = document.getElementsByName("boatToEnter");\n    var boatNumber = boatText[0].value; \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       getAdditionalInfo();\n    };\n    if (boatNumber != ""){\n      xhr.send('&boatNumber='+boatNumber+'&quantity=1&add-to-cart=14996');\n    } else {\n        getAdditionalInfo();\n    }\n}\nfunction sodaFees() {\n    var soda= document.getElementsByName("sodaFull");\n    if  (soda[0].value > 0) {\n          if(fillToCartURL.slice(-1) !== '=') {\n             this.fillToCartURL+='\,'+soda[0].value+'x1493';\n          } else {\n             this.fillToCartURL+=soda[0].value+'x1493';\n          }\n    }\n    var associate= document.getElementsByName("sodaTen");\n    if  (associate[0].value > 0) {\n          if(fillToCartURL.slice(-1) !== '=') {\n             this.fillToCartURL+='\,'+associate[0].value+'x1495';\n          } else {\n             this.fillToCartURL+=associate[0].value+'x1495';\n          }\n    }\n    fillCheckout();\n}\nfunction fillCheckout() {\n   window.location.href = fillToCartURL;\n}\nfunction getAdditionalInfo(){\n       var soda = document.getElementsByName("sodaDesc");\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           sodaFees();\n       };\n       var additionalInfo =  "";\n       if (soda[0].value != ""){\n          additionalInfo+= ' Soda Membership is for: ' +soda[0].value;\n          xhr.send('AdditionalInfo='+additionalInfo+'&quantity=1&add-to-cart='+2150);\n       } else {\n          sodaFees();\n       }\n}\n\n\n\n1Enter a boat\nEntries for 2026 are not yet open\nEntry Fee €20\n\n\n\n2 Option to pay Soda 2026 Membership\nPlease note its slightly cheaper to pay for these directly on SODA Website\n\nNumber of Full SODA Memberships €52 (Includes LRYC Stripe Fee)123\n\n\nNumber of Associate SODA Memberships €26 (Includes LRYC Stripe Fee)123\n\n\n\n \n \n
URL:https://www.lryc.ie/event/sod-long-distance-race/
LOCATION:LRYC\, Lough Ree Yacht Club\, Ballyglass\, Athlone\, Ireland
CATEGORIES:Shannons
ATTACH;FMTTYPE=image/jpeg:https://www.lryc.ie/wp-content/uploads/2017/06/IMG_4922.jpg
END:VEVENT
BEGIN:VEVENT
DTSTART;VALUE=DATE:20260706
DTEND;VALUE=DATE:20260725
DTSTAMP:20260505T121123
CREATED:20180502T190915Z
LAST-MODIFIED:20260227T115201Z
UID:1625-1783296000-1784937599@www.lryc.ie
SUMMARY:Junior Sailing Course
DESCRIPTION:\n\n\n\nWelcome to the LRYC Junior Sailing Course 2025.\n\nWe are delighted to announce we will be running a full course again this year for all levels. There has been increased interest in the sailing course over the past few\nyears. To match site\, rescue and hire boat capacity\, along with available instructors and ISA teaching ratios\, the number of sailors within each level will be necessarily\ncapped.\nApplications will be opened first to members\, on Monday March 10th\, applications from non-members will be accepted on a first come\, first serve basis\, from Monday March 17th.\n\nWe ask you to kindly NOTE that a completed application form does not guarantee a place on the course. This will come into effect when the ratios of instructors\nto participants is finalised. \n\n  \n    Level\n    Age\n    Time\n    Duration\n    Dates\n    1st Child\n    2nd Child\n    3rd Child\n  \n  \n    Cara Na Mara - Otters Morning\n    7\n    1/2 Day\n    2 weeks\n    30th to 11th\n€160\n€150\n€140\n  \n  \n    Cara Na Mara - Seals Morning\n    8\n    1/2 Day\n    2 weeks\n    30th to 11th\n€160\n€150\n€140\n  \n  \n    Cara Na Mara - Dolphins\n    9\n    Full Day\n    2 weeks\n    30th to 11th\n€260\n€250\n€240\n  \n  \n    Cara Na Mara - Orcas\n    10\n    Full Day\n    2 weeks\n    30th to 11th\n€260\n€250\n€240\n  \n  \n    Basic Skills (Completed Orcas\, some experience)\n    11+\n    Full Day\n    2 weeks\n    30th to 11th\n€260\n€250\n€240\n  \n  \n    Improving Skills\n    11+\n    Full Day\n    3 weeks\n    30th to 18th\n€360\n€350\n€340\n  \n  \n    ABH/Start Racing\n    12+\n    Full Day\n    3 weeks\n    30th to 18th\n€360\n€350\n€340\n  \n  \n    Adventure/Kites and Wires and Pre Pre Instructor\n    12+\n    Full Day\n    3 weeks\n    30th to 18th\n€360\n€350\n€340\n  \n\nJuvenile Membership - €78\nPlease NOTE that if this is your child’s second year doing the sailing course and you are not current members of the club\, your child must be a paid-up\nJuvenile Member to participate in the junior sailing course. This membership also covers participation in other sailing activities during the year from July to\nDec 2025. Please ensure you choose the Juvenile Membership option with your online entry. \nFor more detailed information on the Cara na Mara ISA levels\, please use the link belowCara Na Mara \n\nClick Here To Enter\n \n\n\n\n
URL:https://www.lryc.ie/event/junior-sailing-course/
ATTACH;FMTTYPE=image/jpeg:https://www.lryc.ie/wp-content/uploads/2018/05/oppies.jpg
END:VEVENT
BEGIN:VEVENT
DTSTART;VALUE=DATE:20260711
DTEND;VALUE=DATE:20260713
DTSTAMP:20260505T121123
CREATED:20191114T135552Z
LAST-MODIFIED:20260227T121441Z
UID:4287-1783728000-1783900799@www.lryc.ie
SUMMARY:Witch Cup Part 1
DESCRIPTION:
URL:https://www.lryc.ie/event/witch-cup/
ATTACH;FMTTYPE=image/jpeg:https://www.lryc.ie/wp-content/uploads/2018/08/regatta-2018_20.jpg
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=UTC:20260711T080000
DTEND;TZID=UTC:20260712T170000
DTSTAMP:20260505T121123
CREATED:20230316T092114Z
LAST-MODIFIED:20260227T114144Z
UID:10905-1783756800-1783875600@www.lryc.ie
SUMMARY:Ballyglass Regatta
DESCRIPTION:\n//numericalTotals\nvar total = 0;\n//Summary Strings\nvar summaryMsg = [];\nvar fillToCartURL='https://www.lryc.ie/cart/?fill_cart=';\n//Arrays\nvar errors = [];\nfunction continuePurchase() {\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            getAdultMealFees();\n        };\n        xhr.send();\n}\nfunction clearCart() {\n   this.summaryMsg = [];\n   thereAreValidationErrors()\n   if (this.errors.length > 0) {\n      printErrors();\n      return;\n   }\n   disableButton();\n   continuePurchase(); \n}\nfunction thereAreValidationErrors(){\n   this.errors = [];\n   var validation = document.getElementById("validation");\n   var numberAdult = document.getElementsByName("friday");\n   validation.innerHTML = "";\n}\nfunction isNumeric(str) {\n  if (typeof str != "string") return false // we only process strings!  \n  return !isNaN(str) && // use type coercion to parse the _entirety_ of the string (`parseFloat` alone does not do this)...\n         !isNaN(parseFloat(str)) // ...and ensure strings of whitespace fail\n}\nfunction getAdultMealFees() {\n    var friday = document.getElementsByName("friday");\n    var friInt = parseInt(friday[0].value); \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       getAdditionalInfo();\n    };\n    if (friInt > 0){\n      var additional = document.getElementsByName("paragraph_text_dietary");\n      var additionalInfo = additional[0].value;\n      xhr.send('AdditionalInfo='+additionalInfo+'&quantity='+friInt+'&add-to-cart=15038');\n    } else {\n        getAdditionalInfo();\n    }\n}\nfunction sodaFees() {\n    var soda= document.getElementsByName("sodaFull");\n    if  (soda[0].value > 0) {\n          if(fillToCartURL.slice(-1) !== '=') {\n             this.fillToCartURL+='\,'+soda[0].value+'x1493';\n          } else {\n             this.fillToCartURL+=soda[0].value+'x1493';\n          }\n    }\n    var associate= document.getElementsByName("sodaTen");\n    if  (associate[0].value > 0) {\n          if(fillToCartURL.slice(-1) !== '=') {\n             this.fillToCartURL+='\,'+associate[0].value+'x1495';\n          } else {\n             this.fillToCartURL+=associate[0].value+'x1495';\n          }\n    }\n    fillCheckout();\n}\nfunction fillCheckout() {\n   window.location.href = fillToCartURL;\n}\nfunction getAdditionalInfo(){\n       var soda = document.getElementsByName("sodaDesc");\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           sodaFees();\n       };\n       var additionalInfo =  "";\n       if (soda[0].value != ""){\n          additionalInfo+= ' Soda Membership is for: ' +soda[0].value;\n          xhr.send('AdditionalInfo='+additionalInfo+'&quantity=1&add-to-cart='+2150);\n       } else {\n          sodaFees();\n       }\n} \nfunction breenFont() {\n var title = document.getElementsByClassName("entry-title");\n title[1].innerHTML="The BREEN Weekend"\n var featuredimg=document.getElementsByClassName("tribe-events-event-image");\n featuredimg[0].style.display="none"\n}\n\n\n\n1Book a Saturday Meal(s)\nDinner tickets for 2026 are not yet open\n\nSaturday Meal\n\n\nNumber of meals\n1\n2\n\n\n\nIf you have any dietary requirements\, please enter here and we will endeavour\, to fulfill the request if practical/possible. \n \n\n\n\n\n2Option to pay Soda 2026 Membership\nPlease note its slightly cheaper to pay for these directly on SODA Website\n\nNumber of Full SODA Memberships €52 (Includes LRYC Stripe Fee)123\n\n\nNumber of Associate SODA Memberships €26 (Includes LRYC Stripe Fee)123\n\n\n\n \n \n
URL:https://www.lryc.ie/event/ballyglass-regatta/
ATTACH;FMTTYPE=image/jpeg:https://www.lryc.ie/wp-content/uploads/2025/05/clubGrounds.jpg
END:VEVENT
BEGIN:VEVENT
DTSTART;VALUE=DATE:20260718
DTEND;VALUE=DATE:20260720
DTSTAMP:20260505T121123
CREATED:20180105T094834Z
LAST-MODIFIED:20260227T114945Z
UID:1120-1784332800-1784505599@www.lryc.ie
SUMMARY:Barges & Sods
DESCRIPTION:
URL:https://www.lryc.ie/event/inner-lakes/
LOCATION:LRYC\, Lough Ree Yacht Club\, Ballyglass\, Athlone\, Ireland
CATEGORIES:Shannons
ATTACH;FMTTYPE=image/jpeg:https://www.lryc.ie/wp-content/uploads/2018/01/inner-lakes.jpg
END:VEVENT
BEGIN:VEVENT
DTSTART;VALUE=DATE:20260718
DTEND;VALUE=DATE:20260720
DTSTAMP:20260505T121123
CREATED:20180407T114411Z
LAST-MODIFIED:20260227T121519Z
UID:1309-1784332800-1784505599@www.lryc.ie
SUMMARY:Witch Cup Part 2
DESCRIPTION:
URL:https://www.lryc.ie/event/cruisers-witch-cup-r4-6/
ATTACH;FMTTYPE=image/jpeg:https://www.lryc.ie/wp-content/uploads/2018/04/13880338_1144856898894279_5056377503574685630_n.jpg
END:VEVENT
BEGIN:VEVENT
DTSTART;VALUE=DATE:20260725
DTEND;VALUE=DATE:20260727
DTSTAMP:20260505T121123
CREATED:20180407T113933Z
LAST-MODIFIED:20260227T121921Z
UID:1303-1784937600-1785110399@www.lryc.ie
SUMMARY:Witch Cup Part 3
DESCRIPTION:
URL:https://www.lryc.ie/event/cruisers-witch-cup-r1-3/
CATEGORIES:Cruisers
ATTACH;FMTTYPE=image/jpeg:https://www.lryc.ie/wp-content/uploads/2018/04/14449040_1184385998274702_6698270733057710796_n.jpg
END:VEVENT
BEGIN:VEVENT
DTSTART;VALUE=DATE:20260725
DTEND;VALUE=DATE:20260727
DTSTAMP:20260505T121123
CREATED:20190927T080858Z
LAST-MODIFIED:20260227T115306Z
UID:4129-1784937600-1785110399@www.lryc.ie
SUMMARY:Double Ree
DESCRIPTION:\n\nDouble Ree Notice of Race Click Here\nDouble Ree Sailing Instructions Click Here\n\n\n.tribe-events-event-image {\n  display:none;\n}\n\n\n\n//numericalTotals\nvar total = 0;\n//Summary Strings\nvar summaryMsg = [];\n//Arrays\nvar errors = [];\nvar boatCount = 1;\n//Constants\nvar kidsMealFee = 15;\nvar adultMealFee = 15;\nvar fillToCartURL='https://www.lryc.ie/cart/?fill_cart=';\n\nfunction calculateTotal() {\n   this.summaryMsg = [];\n   thereAreValidationErrors()\n   if (this.errors.length > 0) {\n      printErrors();\n      return;\n   }\n   disableButton();\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         getTotalBoatEntryFees();\n      };\n      xhr.send(); \n}\nfunction goToCart() {\n   window.location.href = fillToCartURL;\n}\nfunction getEntryProductSingleFleet(){\n   var today = new Date();\n   var dd = today.getDate();\n   var mm = today.getMonth()+1; //January is 0!\n   \n   if (mm === 8 && dd > 21) {\n      return '1657';\n   } else if (mm > 8) {\n      return '1657';\n   }\n   return '1656'\n}\nfunction thereAreValidationErrors(){\n   this.errors = [];\n   var helm = document.getElementsByName("helm");\n   var crew = document.getElementsByName("crew");\n   var boatNo = document.getElementsByName("boatNo");\n   var club = document.getElementsByName("club");\n   var declaration = document.getElementById("checkMember");\n   var spinnaker = document.getElementsByName("spinnaker");\n   var boatClass = document.getElementsByName("field4")[0].value;\n   if (boatClass=="") {\n      \n   } else{\n   if (helm[0].value.length < 3) {\n      this.errors.push("Please enter a helm name")\n   } \n   if (crew[0].value.length < 3) {\n      this.errors.push("Please enter a crew name")\n   }   \n   if (!declaration.checked){\n      this.errors.push("Boats entering must be members of their respective class")\n   }\n   if (boatNo[0].value.length < 3) {\n      this.errors.push("Please enter a boat number")\n   }    \n   if (club[0].value.length < 3) {\n      this.errors.push("Please enter a club")\n   }}\n   var validation = document.getElementById("validation");\n   validation.innerHTML = "";\n}\nfunction printErrors(){\n    var validation = document.getElementById("validation");\n    for (i = 0; i < errors.length; i++) {\n        validation.innerHTML += (errors[i] + "");\n    }\n}\nfunction createCartButton(){ \n   this.cartHref += "\″ onclick=\"disableButton()\" id=\"goToCheckout\">Add to Cart"\n   var summary = document.getElementById("addToCart").innerHTML = this.cartHref;    \n}\nfunction 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   goToCheckout.style.background = "#909090"\n}\nfunction getTotalBoatEntryFees(){\n  var helm = document.getElementsByName("helm");\n  var crew = document.getElementsByName("crew");\n  var boatNo = document.getElementsByName("boatNo");\n  var boatName = document.getElementsByName("boatName");\n  var club = document.getElementsByName("club");\n  var boatClass= document.getElementsByName("field4");\n  var spinnaker = document.getElementsByName("spinnaker");\n  if (boatClass[0].value=="") {\n      getTotalMealFees();\n  } else{\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    getTotalMealFees();\n  };\n  var additionalInfo = ' Spinnaker Colour :' + spinnaker[0].value;\n  if (boatClass[0].value==="Mirror"){\n   if (boatName[0].value.length > 0){  \nxhr.send('boatClass='+boatClass[0].value+'&boatNumber='+boatNo[0].value+'&helm='+helm[0].value+'&crew='+crew[0].value+'&club='+club[0].value+'&boatName='+boatName[0].value+'&AdditionalInfo='+additionalInfo+'&quantity=1&add-to-cart='+1656);\n   } else {\nxhr.send('boatClass='+boatClass[0].value+'&boatNumber='+boatNo[0].value+'&helm='+helm[0].value+'&crew='+crew[0].value+'&club='+club[0].value+'&AdditionalInfo='+additionalInfo+'&quantity=1&add-to-cart='+1656);\n }}else{\n  if (boatName[0].value.length > 0){  \nxhr.send('boatClass='+boatClass[0].value+'&boatNumber='+boatNo[0].value+'&helm='+helm[0].value+'&crew='+crew[0].value+'&club='+club[0].value+'&boatName='+boatName[0].value+'&AdditionalInfo='+additionalInfo+'&quantity=1&add-to-cart='+1657);\n   } else {\nxhr.send('boatClass='+boatClass[0].value+'&boatNumber='+boatNo[0].value+'&helm='+helm[0].value+'&crew='+crew[0].value+'&club='+club[0].value+'&AdditionalInfo='+additionalInfo+'&quantity=1&add-to-cart='+1657);\n  }}\n}\n} \nfunction getTotalMealFees() {\n   var fridayS = document.getElementsByName("fridayBbq");\n   var smallNum=parseInt(fridayS[0].value);\n   if (smallNum>0) {\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               saturdayMeals();\n           };\n           xhr.send('&quantity='+smallNum+'&add-to-cart='+6691);\n   } else {\n      saturdayMeals();\n   }\n}\nfunction saturdayMeals() {\n   var fridayL = document.getElementsByName("saturdayLasagne");\n   var largeNum=parseInt(fridayL[0].value);\n   var dinners = largeNum;\n   if (dinners>0) {\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               getAdditionalInfo();\n           };\n           xhr.send('&quantity='+dinners+'&add-to-cart='+6685);\n   } else {\n        getAdditionalInfo();\n   }\n}\nfunction createSummary(){\n   this.total = 0; \n    this.summaryMsg = [];\n    var fridayL = document.getElementsByName("saturdayLasagne");\n    var largeNum=parseInt(fridayL[0].value);\n    var fridayV = document.getElementsByName("fridayBbq");\n    var largeNumV=parseInt(fridayV[0].value);\n    var boatClass = document.getElementsByName("field4")[0].value;\n    var today = new Date();\n    var dd = today.getDate();\n    var mm = today.getMonth()+1; //January is 0!\n    var entry=80;\n    if (mm === 7 && dd > 18) {\n       entry=80;\n    }\n    if (boatClass === "Mirror"){\n      this.summaryMsg.push("1 x " + boatClass + " Fleet Nationals = €"+100);\n      this.total += 100\n    } else if (boatClass.length > 0){\n      this.summaryMsg.push("1 x " + boatClass + "= €"+entry);\n      this.total += 80\n    }\n    if (largeNum > 0){\n       this.total += 20*largeNum;\n       this.summaryMsg.push(largeNum+" x Saturday Meal Lasagne = €"+20*largeNum);\n    }\n    if (largeNumV > 0){\n       this.total += 20*largeNumV;\n       this.summaryMsg.push(largeNumV+" x Saturday Vegetarian = €"+20*largeNumV);\n    }\n    var accomadation= document.getElementsByName("accomadationSelect");\n    for (i = 0; i < accomadation.length; i++) { \n        var priceAndProductNo = accomadation[i].value.split('\,');\n        if (parseInt(priceAndProductNo[0]) > 0) {\n            if (parseInt(priceAndProductNo[0]) == 45){\n               this.total += 15\n               this.summaryMsg.push("1 x " + accomadation[i][accomadation[i].selectedIndex].innerText+ " €15");\n            } else {\n               this.total += 30\n               this.summaryMsg.push("1 x " + accomadation[i][accomadation[i].selectedIndex].innerText+ " €30");\n            }\n        }\n    }\n    var summary = document.getElementById("entrySummary");\n    summary.innerHTML = "";\n    for (i = 0; i < summaryMsg.length; i++) {\n        summary.innerHTML += (summaryMsg[i] + "");\n    }\n   document.getElementById("Total").innerHTML = "€ "+ this.total; \n   document.getElementById("regattaFormTotal").style.display= "block";\n}\nfunction accomaSelected(){\n   createSummary()\n}\nfunction addBerthingAccomodation(){\n    var nextBoatDiv = document.getElementById("accomodationDetail");\n    nextBoatDiv.innerHTML="";\n    nextBoatDiv.innerHTML+="" +\n        " "+ \n    ""+\n    ""+\n    ""+\n    ""\n}\nfunction payBerthing(){\n       var accomadation= document.getElementsByName("accomadationSelect");\n       var priceAndProductNo = accomadation[0].value.split('\,');\n       var accom="";\n       var priceCode=13827\n       if (parseInt(priceAndProductNo[0]) == 45) {\n           priceCode=13826\n       }\n       if (parseInt(priceAndProductNo[0]) == 0) {\n           goToCart();\n       } else {\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               goToCart();\n           };\n           xhr.send('&quantity=1&add-to-cart='+priceCode);\n      }\n}\nfunction getAdditionalInfo(){\n       var additional = document.getElementsByName("paragraph_text");\n       var soda = document.getElementsByName("sodaDesc");\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           payBerthing();\n       };\n       var additionalInfo =  ""\n       if (additional[0].value !== ""){\n           additionalInfo += '  Additional Request: ' +additional[0].value;\n       } \n       xhr.send('AdditionalInfo='+additionalInfo+'&quantity=1&add-to-cart='+2150);\n}\n\n\n\n\n\n1 Declaration\n\nRules of the Regatta\n1.1 The regatta will be governed by the rules as defined by The Racing Rules of Sailing.\n1.2 The prescriptions of the Irish National Authority (Irish Sailing) will apply.\n1.3 All relevant class rules will apply.\n1.4 These Rules are contingent upon Covid-19\, Govt.\, I.S. and L.R.Y.C. Rules and Guidelines in\nplace at the time of the regatta.\n\n\n2 Boat to Enter\nHelm\n\nCrew\n\nClass\nPlease select a classMirror420Feva29er\n\n\n\n\n\nPlease tick here to confirm you are a member of the selected class for 2024. Please contact your respective association for class membership if required. \n\nSail No\n\nBoat Name (If applicable)\n\nSpinnaker Colour (may be changed at registration)\n\nClub\n\n\n3Meals \n\nSaturday Lasagne €20  \nNumber of Lasagne12345	 	 \n\nSaturday Vegetarian €20 \nNumber of Vegetarian12345	 	 \n\n\n\n\n4Berthing & Camping\nTents are €15 for the weekend\, Caravans are €30\n\nPlease select option if applicable\nCaravan\nTent\n\n\n\n\n\n\n\n\n\n5 Additional Requests\n\nIf you have any additional requests\, please enter here and we will endeavour\, at the regatta committee's absolute discretion\, to fulfill the request if practical/possible. \n \n\n\n\n6 Summary\nPlease check that all items needed have been selected correctly. For more information contact sailing@lryc.ie\n\nTotal\n€ 0\n\n\n \n\n\n
URL:https://www.lryc.ie/event/double-ree/
ATTACH;FMTTYPE=image/jpeg:https://www.lryc.ie/wp-content/uploads/2019/10/double-ree.jpg
END:VEVENT
BEGIN:VEVENT
DTSTART;VALUE=DATE:20260801
DTEND;VALUE=DATE:20260808
DTSTAMP:20260505T121123
CREATED:20180108T131112Z
LAST-MODIFIED:20260114T154257Z
UID:1138-1785542400-1786147199@www.lryc.ie
SUMMARY:Annual Regatta
DESCRIPTION:\n//numericalTotals\nvar total;\n//Summary Strings\nvar summaryMsg = [];\nvar discountMsg = [];\nvar accomodationSummary = [];\nvar isDiscountActive=0;\n//Constants\nvar boatCount=1;\nvar accomodationCount=1;\nvar boatPostCount=0;\nvar sundayMealFee = 35;\nvar wednesdayMealFee = 30;\nvar processing = false;\nvar fillToCartURL='https://www.lryc.ie/cart/?fill_cart=';\nfunction calculateTotal() {\n   clearCart();\n}\nfunction clearCart() {\n   this.statusA=[];\n   this.summaryMsg = [];\n   var discountMsg = [];\n   this.boatPostCount=0;\n   this.total = 0;\n   areThereValidationErrors();\n   if (this.errors.length > 0) {\n      printErrors();\n      return;\n   } else {\n      printStatus("Clearing Cart")\n      disableButton();\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         continuePurchase();\n      };\n      xhr.send();\n   }\n}\nfunction continuePurchase(){\n   var allBoats = document.getElementsByName("field4");\n   getTotalBoatEntryFees(0);\n}\nfunction 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         getTotalMealFees(0);\n      };\n      xhr.send();\n   }\n   else {\n      getTotalMealFees(0);\n   }\n}\nfunction getTotalMealFees() {\n   this.fillToCartURL='https://www.lryc.ie/cart/?fill_cart=';\n   var sunday = document.getElementsByName("sun");\n   var sundayInt = parseInt(sunday[0].value);\n   if (sundayInt>0) {\n      if(fillToCartURL.slice(-1) !== '=') {\n          this.fillToCartURL+='\,'+sundayInt+'x14162';\n      } else {\n         this.fillToCartURL+=sundayInt+'x14162';\n      }\n      wednesdayMeals();\n   } else {\n       wednesdayMeals();\n   }\n}\nfunction wednesdayMeals() {\n   var wednesday= document.getElementsByName("wed");\n   var wednesdayInt = parseInt(wednesday[0].value);\n   if (wednesdayInt >0) {\n      if(fillToCartURL.slice(-1) !== '=') {\n          this.fillToCartURL+='\,'+wednesdayInt+'x1434';\n      } else {\n         this.fillToCartURL+=wednesdayInt+'x1434';\n      }\n      getAccomadationEntryFees(0);\n  } else {\n       getAccomadationEntryFees(0);\n  }\n}\nfunction getTotalOtherFees(){\n    var electricity = document.getElementsByName("electricity");\n    var amountOfElectricity=0;\n    for (i = 0; i < electricity.length; i++) { \n       if  (electricity[i].checked) {\n           amountOfElectricity += 1;\n       }\n    }\n    if (amountOfElectricity > 0){\n       if(fillToCartURL.slice(-1) !== '=') {\n          this.fillToCartURL+='\,'+amountOfElectricity+'x1492';\n       } else {\n          this.fillToCartURL+=amountOfElectricity+'x1492';\n       }\n    }\n    var soda= document.getElementsByName("sodaFull");\n    if  (soda[0].value > 0) {\n          if(fillToCartURL.slice(-1) !== '=') {\n             this.fillToCartURL+='\,'+soda[0].value+'x1493';\n          } else {\n             this.fillToCartURL+=soda[0].value+'x1493';\n          }\n    }\n    var associate= document.getElementsByName("sodaTen");\n    if  (associate[0].value > 0) {\n          if(fillToCartURL.slice(-1) !== '=') {\n             this.fillToCartURL+='\,'+associate[0].value+'x1495';\n          } else {\n             this.fillToCartURL+=associate[0].value+'x1495';\n          }\n    }\n    fillCheckout();\n}\nfunction createSummary(){\n   this.total = 0;\n    this.isDiscountActive=0;\n    this.summaryMsg = [];\n    this.discountMsg = [];\n    var allBoats = document.getElementsByName("field4");\n    var totalBoats=0;\n    var newTotalBoats=0\n    var clinker = ["1234567899998"];\n    var boatHire = false;\n    for (i = 0; i < allBoats.length; i++) { \n        boatsIndex = allBoats[i].selectedIndex; \n        var BoatNo = document.getElementsByName("boatNo")[i].value;\n        var priceAndProductNo = allBoats[i].value.split('\,');\n        if (parseInt(priceAndProductNo[0]) > 0) {\n            this.summaryMsg.push("1 x " + allBoats[i][boatsIndex].innerText);\n            if(priceAndProductNo[1] != 11793 && priceAndProductNo[1]!= 11795 && priceAndProductNo[1]!= 11801 && priceAndProductNo[1]!= 11802){\n               totalBoats+=parseInt(priceAndProductNo[0]);\n               newTotalBoats+=parseInt(priceAndProductNo[0]);\n            } else {\n              boatHire=true;\n              newTotalBoats+=parseInt(priceAndProductNo[0]);\n              if (priceAndProductNo[1] === 11793){\n                 this.summaryMsg.push("Please Note a deposit of 100 euro is required at registration for a Pico ");\n              } else {\n                 this.summaryMsg.push("Please Note a deposit of 250 euro is required at registration for a Feva/Laser/420 ");\n              }\n            }\n        }\n    } \n    if (totalBoats > 0 || (totalBoats===0 && boatHire===true)) {\n       var today = new Date();	 	 \n       var dd = today.getDate();	 	 \n       var mm = today.getMonth()+1; //January is 0!	\n       if (mm === 7 && dd < 26) {\n          this.discountMsg.push("Early Entry Discount ="+ (30));	 	 \n          this.total-=30;	 	 \n          totalBoats-=30;\n          this.isDiscountActive+=30	 	 \n       } else if (mm < 7) {	 	 \n           this.discountMsg.push("Early Entry Discount ="+ (30));	 	 \n           this.total-=30;	 	 \n           totalBoats-=30;\n           this.isDiscountActive+=30	 	 \n       }	 	 \n    }\n    \n    if (totalBoats > 260) {\n        this.discountMsg.push("");\n        this.discountMsg.push("Note a Family sailing discount is being applied automatically. A maximum 260 fee for sailing boat entries (Excluding Pico & Feva hire)\, this applies to members of the same family from LRYC or LDYC\, if at registration the 2 or more boats entered are unrelated to each other the discount shall be removed.");\n        this.discountMsg.push("");\n        this.discountMsg.push("Family Discount ="+ (totalBoats-260));\n        this.discountMsg.push("");\n        this.total=260;\n        this.isDiscountActive+=(totalBoats-260);\n    } else {\n        this.total=totalBoats;\n    }\n    if (boatHire===true){\n       this.total+=200;\n    }\n    var accomadation= document.getElementsByName("accomadationSelect");\n    for (i = 0; i < accomadation.length; i++) { \n        var priceAndProductNo = accomadation[i].value.split('\,');\n        if (parseInt(priceAndProductNo[0]) > 0) {\n            this.total += parseInt(priceAndProductNo[0]);\n            this.summaryMsg.push("1 x " + accomadation[i][accomadation[i].selectedIndex].innerText);\n        }\n    }\n    var electricity = document.getElementsByName("electricity");\n    var amountOfElectricity=0;\n    for (i = 0; i < electricity.length; i++) { \n       if  (electricity[i].checked) {\n           amountOfElectricity += 1;\n       }\n    }\n    var sunday = document.getElementsByName("sun");\n    var sundayInt = parseInt(sunday[0].value);\n    var wednesday= document.getElementsByName("wed");\n    var wednesdayInt = parseInt(wednesday[0].value);\n    if (sundayInt>0){\n       this.summaryMsg.push(sundayInt+" x Sunday Supper WAIT LIST");\n       this.total += (sundayInt*0);\n    }\n    if (wednesdayInt>0){\n       this.summaryMsg.push(wednesdayInt+" x Wednesday Supper Wait List");\n       this.total += (wednesdayInt*0);\n    }\n    if(amountOfElectricity>0){\n       this.summaryMsg.push(amountOfElectricity+" x Electricity =€"+(amountOfElectricity*25));\n       this.total += (amountOfElectricity*20);\n    }\n    var soda = document.getElementsByName("sodaFull");\n    if  (soda[0].value > 0) {\n        this.summaryMsg.push(soda[0].value+" x Soda Membership €52");\n        this.total += (soda[0].value*52);\n    }\n    var associate = document.getElementsByName("sodaTen");\n    if  (associate[0].value > 0) {\n        this.summaryMsg.push(associate[0].value+" x Soda Associate Membership €26");\n        this.total += (associate[0].value*26);\n    }\n    var summary = document.getElementById("entrySummary");\n    summary.innerHTML = "";\n    this.summaryMsg.push("");\n    for (i = 0; i < this.summaryMsg.length; i++) {\n        summary.innerHTML += (this.summaryMsg[i] + "");\n    }\n    for (i = 0; i < this.discountMsg.length; i++) {\n        summary.innerHTML += (this.discountMsg[i] + "");\n    }\n    document.getElementById("Total").innerHTML = "€ "+ this.total;\n    document.getElementById("regattaFormTotal").style.display= "block";\n}\nfunction areThereValidationErrors(){\n   this.errors = [];\n    var allHelms = document.getElementsByName("helm");\n    var allBoatNo = document.getElementsByName("boatNo");\n    var allHelms = document.getElementsByName("helm");\n    var allFleets = document.getElementsByName("fleet");\n    var allBoats = document.getElementsByName("field4");\n    var declaration = document.getElementById("declaration");\n    for (i = 0; i < allBoats.length; i++) { \n        boatsIndex = allBoats[i].selectedIndex; \n        var priceAndProductNo = allBoats[i].value.split('\,');\n        if (parseInt(priceAndProductNo[0]) > 0) {\n           if (allHelms[i].value.length < 3) {\n              this.errors.push("You forgot to enter a helm name for boat number "+(i+1))\n           }\n           if (allBoatNo[i].value.length < 1) {\n              this.errors.push("You forgot to enter a sail number for boat number "+(i+1))\n           }\n           if (parseInt(priceAndProductNo[1]) === 1438 || parseInt(priceAndProductNo[1]) === 1439){\n              if (allFleets[i].value === "") {\n                 this.errors.push("Boat number "+(i+1)+" is an Optimist\, please enter a fleet")\n              }    \n           }\n        }  \n    }   \n   var priceAndProductNo = allBoats[0].value.split('\,');\n   if (!declaration.checked & parseInt(priceAndProductNo[0]) > 0) {\n      this.errors.push("Please tick the DECLARATION BOX")\n   }\n   var validation = document.getElementById("validation");\n   validation.innerHTML = "";\n}\nfunction printErrors(){\n    var validation = document.getElementById("validation");\n    for (i = 0; i < errors.length; i++) {\n        validation.innerHTML += (errors[i] + "");\n    }\n}\nfunction 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   goToCheckout.style.background = "#909090"\n}\nfunction fillCheckout() {\n   printStatus("Going to Cart with anything else");\n   window.location.href = fillToCartURL;\n}\nfunction addABoat(){\n  var nextBoatDiv = document.getElementById("boat" + (this.boatCount +1));\n  nextBoatDiv.innerHTML="Boat number "+(this.boatCount +1)+" " +\n""+\n"" +\n  "Please select another boat to enter" +\n  "Shannon One Design Week  €180" +\n  "Shannon One Design Weekend €130" +\n  "Keelboat & Sports ODs Week "+ "€160" +\n  "Keelboat & Sports ODs Weekend "+      \n  " €130" +\n  "Optimist Week €120" +\n  "Optimist Weekend €95" +\n  "ILCA (Lasers) Evening Races Week €60" +\n  "ILCA (Lasers) Evening Races Weekend only €40" +\n  "Mirror Week €120" +\n  "Mirror Weekend €95" +\n  "420 "+\n  "Week €120" +\n  "420"+\n  " Weekend only €95" +\n  "Hire Laser and Entry Week €200" +\n  "Laser Week €120" +\n  "Laser Weekend €95" +\n  "Hire Feva and Entry Week €200" +\n  "Feva Week €120" +\n  "Feva Weekend €95" +\n  "Hire Pico and Entry Week €200" +\n  "Pico Week €120" +\n  "Pico Weekend €95" +\n  ""+\n   "" +\n  "" +\n  "" +\n   "" +\n  "" +\n  "" +\n  "Preferred Fleet (For Optimists only)" +\n  "Gold" +\n  "Silver" +\n  "Bronze" +\n  "";\n   this.boatCount += 1;\n   var allBoats = document.getElementsByName("field4");\n   allBoats[(this.boatCount-1)].click();\n   if (this.boatCount === 2) {\n      var nextBoatButton = document.getElementById("removeBoatButton");\n      nextBoatButton.innerHTML = ""\n   }\n   if (this.boatCount === 4) {\n     var nextBoatButton = document.getElementById("addBoatsButton");\n     nextBoatButton.innerHTML = "Maximum boats per entry reached ";\n   }\n}\nfunction removeABoat(){\n   var nextBoatButton = document.getElementById("boat"+this.boatCount);\n   nextBoatButton.innerHTML = "";\n   this.boatCount-=1;\n   if (this.boatCount == 3) {\n      var nextBoatButton = document.getElementById("addBoatsButton");\n      nextBoatButton.innerHTML = "";\n   }\n   if (this.boatCount == 1) {\n      var nextBoatButton = document.getElementById("removeBoatButton");\n      nextBoatButton.innerHTML = "";\n   }\n   var nextBoatButton = document.getElementById("addAccomadationButton");\n   nextBoatButton.innerHTML = "" +\n"";\n   this.accomodationCount=1;\n   this.createSummary();\n}\nfunction addAccomodation(){\n  var nextBoatDiv = document.getElementById("accomadation" + (this.accomodationCount+1));\n  nextBoatDiv.innerHTML="Accomodation number "+(this.accomodationCount+1)+" " +\n""+\n""+\n"" +\n"Please select option if applicable" +\n"Barge €100" +\n"Cruiser €100" +\n"Mobile Home €115" +\n"Caravan €85" +\n"Trailer Tent €65" +\n"Tent Week €65" +\n"Tent Weekend €55" +\n"" +\n"" +\n"" +\n"" +\n"" +\n"" +\n"" +\n"" +\n"If you require electricity (€25) please "+\n"tick the box" +\n"" +\n"" +\n"";\n   this.accomodationCount+= 1;\n   if (this.accomodationCount>= 2) {\n     var nextBoatButton = document.getElementById("addAccomadationButton");\n     nextBoatButton.innerHTML = "";\n   }\n}\nfunction removeAccomodation(){\n   var nextBoatButton = document.getElementById("accomadation2");\n   nextBoatButton.innerHTML = "";\n   var nextBoatButton = document.getElementById("addAccomadationButton");\n   nextBoatButton.innerHTML = "" +\n"";\n   this.accomodationCount=1;\n}\nfunction 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   goToCheckout.style.background = "#909090"\n}\nfunction getAccomadationEntryFees(){\n       var allAccomodation = document.getElementsByName("accomadationSelect");\n       var accomadation = [];\n       for (i = 0; i < allAccomodation.length; i++) { \n          var priceAndProductNo = allAccomodation[i].value.split('\,');\n          if (parseInt(priceAndProductNo[0]) > 0) {\n              accomadation.push(parseInt(priceAndProductNo[1]));\n          }\n       }\n       if (accomadation.length > 1){\n          if (accomadation[0] == accomadation[1]) {\n             if(fillToCartURL.slice(-1) !== '=') {\n                this.fillToCartURL+='\,2x'+accomadation[0];\n             } else {\n                this.fillToCartURL+='2x'+accomadation[0];\n             }\n          } else {\n             if(fillToCartURL.slice(-1) !== '=') {\n                this.fillToCartURL+='\,1x'+accomadation[0]+'\,1x'+accomadation[1];\n             } else {\n     this.fillToCartURL+='1x'+accomadation[0]+'\,1x'+accomadation[1];\n             }\n          }\n       } else {\n          if(fillToCartURL.slice(-1) !== '=') {\n             this.fillToCartURL+='\,1x'+accomadation[0];\n          } else {\n             this.fillToCartURL+='1x'+accomadation[0];\n          }\n       }\n       getTotalOtherFees();\n}\nfunction getTotalBoatEntryFees(boatNumber){\n       var allHelms = document.getElementsByName("helm");\n       var allBoatNo = document.getElementsByName("boatNo");\n       var allNames = document.getElementsByName("boatName");\n       var allFleets = document.getElementsByName("fleet");\n       var allBoats = document.getElementsByName("field4");\n       boatsIndex = allBoats[boatNumber].selectedIndex;\n       var priceAndProductNo = allBoats[boatNumber].value.split('\,');\n       if (parseInt(priceAndProductNo[0]) > 0) {\n           printStatus("Adding "+priceAndProductNo[2]+" Entry")\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              boatNumber++;\n              if(boatNumber==allBoats.length){\n                 getAdditionalInfo();\n              } else{\n                 getTotalBoatEntryFees(boatNumber);\n              }\n           };\n           var additionalInfo='';\n           if (allFleets[boatNumber].value !== "") {\n              additionalInfo += ' Fleet :' + allFleets[boatNumber].value;\n           }\n           if (allNames[boatNumber].value !== "") {\n              additionalInfo += ' Boat Name:' + allNames[boatNumber].value;\n           }\n           var productId = priceAndProductNo[1];\n xhr.send('boatClass='+priceAndProductNo[2]+'&boatNumber='+allBoatNo[boatNumber].value+'&helm='+allHelms[boatNumber].value+'&AdditionalInfo='+additionalInfo+'&quantity=1&add-to-cart='+productId);\n       } else{\n            getAdditionalInfo();\n       }\n}\nfunction getAdditionalInfo(boatNumber){\n       var additional = document.getElementsByName("paragraph_text");\n       var berthingInfo = document.getElementsByName("paragraph_textBerth");\n       var soda = document.getElementsByName("sodaDesc");\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           finishPurchase();\n       };\n       var additionalInfo =  additional[0].value;\n       if (soda[0].value != ""){\n          additionalInfo+= ' Soda Membership is for: ' +soda[0].value;\n       }\n       if (berthingInfo[0].value != ""){\n          additionalInfo+= ' Berthing Info: ' +berthingInfo[0].value;\n       }\n       xhr.send('AdditionalInfo='+additionalInfo+'&quantity=1&add-to-cart='+2150);\n}\nfunction 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\n\n\n\n\n\n\n1 Declaration & Documents\nLRYC ANNUAL REGATTA NOTICE OF RACE & PROGRAMME \n\n\nRules of the Regatta\n1.1 The regatta will be governed by the rules as defined by The Racing Rules of Sailing.\n1.2 All relevant class rules will apply.\n1.3 These Rules are contingent upon I.S. and L.R.Y.C. Rules and Guidelines in\nplace at the time of the regatta.\n\n\n\n\n\nI have read and am aware of the Rules of the regatta as above. Please accept my entry and if accepted I will fill in the declaration form(s) and where applicable class declaration form(s) and present it/them for approval at registration.\n\nLRYC Annual Regatta_Amendment to Youth\, ILCA & Optimist Schedule\nLRYC ANNUAL REGATTA DECLARATION FORM\nLRYC ANNUAL SODA DECLARATION FORM\nSOD 2025 Shore Plan\n\n\n \n\n\n2 Boat(s) to Enter\nAn early bird discount of €30 up to the 25th of July 2025 will apply. There is also a family sailing maximum entry fee of €260 (Excluding discounts\, Pico & Feva hire).\nPlease select class if applicableShannon One Design Week €180Shannon One Design Weekend only €130Keelboat & Sports ODs Week €160Keelboat & Sports ODs Weekend only €130Optimist Week €120Optimist Weekend only €95\nILCA (Lasers) Evening Races Week €60\nILCA (Lasers) Evening Races Weekend only €40\nMirror Week €120\nMirror Weekend only €95\n420 Week €120\n420 Weekend only €95\nHire Laser and Entry Week €200\nLaser Week €120\nLaser Weekend only €95\nHire Feva and Entry Week €200\nFeva Week €120\nFeva Weekend €95\nHire Pico and Entry Week €200\nPico Week €120\nPico Weekend €95\n\n\n\nPreferred Fleet (For Optimists only)GoldSilverBronze\n\n\n\n\n\n\n\n\n\n3Berthing & Camping\nPlease note berthing reservations are now closed\, if you would like to be added to a wait list please enter your details in the " Additional Requests" section below\nPlease select option if applicableMobile Home €115Caravan €100Trailer Tent €65Tent Week €65Tent Weekend €55\n \n\n\n\n\n\nIf you require electricity (€25) please tick the box\n \n\n\n \n\n\nIf you have entered a cruiser or barge could you please enter the dimensions here to help the harbour master with the berthing plan\, thank you\n \n\n\n\n4Meals\nSunday Supper and Wednesday Supper are now both sold out and the waiting lists for both are closed\n\n\n\nNumber of Sunday Meals Wait List\n1\n2\n3\n4\n5\n6\n\n\nWednesday Supper is now sold out\, if you would like to be added to the wait list\, please select here\nWednesday Supper €0 WAIT LIST\n\n\n\nNumber of meals\n1\n2\n3\n4\n\n\n\n\n5 Soda Membership\nPlease note\, soda memberships are slightly cheaper to be paid for directly through the SODA website\, we are adding the associated stripe transaction fee here.\n\nNumber of Full SODA Memberships €52123\n\n\nNumber of Associate SODA Memberships €26123\n\n\n\n\n6 Additional Requests\n\nIf you have any additional requests\, please enter here and we will endeavour\, at the regatta committee's absolute discretion\, to fulfill the request if practical/possible. \n \n\n\n\n7 Summary\nPlease check that all items needed have been selected correctly. For more information contact Alan Algeo at lryc.annual.regatta@gmail.com or 0879960057\n\nTotal\n€ 0\n\n\n \n\n
URL:https://www.lryc.ie/event/annual-regatta/
CATEGORIES:Cruisers,Shannons
ATTACH;FMTTYPE=image/jpeg:https://www.lryc.ie/wp-content/uploads/2017/08/prizegiving-2017_065fb.jpg
END:VEVENT
BEGIN:VEVENT
DTSTART;VALUE=DATE:20260822
DTEND;VALUE=DATE:20260824
DTSTAMP:20260505T121123
CREATED:20220212T162610Z
LAST-MODIFIED:20260227T121720Z
UID:8273-1787356800-1787529599@www.lryc.ie
SUMMARY:Keelboat Class Captain's Weekend
DESCRIPTION:
URL:https://www.lryc.ie/event/keelboat-class-captains-sail/
ATTACH;FMTTYPE=image/jpeg:https://www.lryc.ie/wp-content/uploads/2019/03/j24.jpg
END:VEVENT
BEGIN:VEVENT
DTSTART;VALUE=DATE:20260829
DTEND;VALUE=DATE:20260831
DTSTAMP:20260505T121123
CREATED:20170608T112503Z
LAST-MODIFIED:20260227T114900Z
UID:370-1787961600-1788134399@www.lryc.ie
SUMMARY:SODs Youth Regatta
DESCRIPTION:
URL:https://www.lryc.ie/event/barges-sods/
LOCATION:LRYC\, Lough Ree Yacht Club\, Ballyglass\, Athlone\, Ireland
CATEGORIES:Shannons
ATTACH;FMTTYPE=image/jpeg:https://www.lryc.ie/wp-content/uploads/2026/02/21f54dcc-6a35-42d8-9282-2a3718bd65fc-e1772192908833.jpg
ORGANIZER;CN="Alan%20Algeo":MAILTO:alan.algeo@gmail.com
END:VEVENT
BEGIN:VEVENT
DTSTART;VALUE=DATE:20260904
DTEND;VALUE=DATE:20260907
DTSTAMP:20260505T121123
CREATED:20210309T110311Z
LAST-MODIFIED:20260227T120946Z
UID:6839-1788480000-1788739199@www.lryc.ie
SUMMARY:SB20 Nationals
DESCRIPTION:\nSB20 Midland Championship Notice Of Race \n\n\n\nvar total = 0;\nvar summaryMsg = [];\nthis.statusA=[];\nvar errors = [];\n//Constants\nvar fillToCartURL='https://www.lryc.ie/cart/?fill_cart=';\nfunction calculateTotal() {\n   this.summaryMsg = [];\n   thereAreValidationErrors()\n   if (this.errors.length > 0) {\n      printErrors();\n      return;\n   }\n   disableButton();\n}\nfunction goToCart() {\n   window.location.href = 'www.lryc.ie/cart';\n}\nfunction getEntryProductSingleFleet(){\n   var today = new Date();\n   var dd = today.getDate();\n   var mm = today.getMonth()+1; //January is 0!\n   \n   if (mm === 7 && dd > 18) {\n      return '1657';\n   } else if (mm > 7) {\n      return '1657';\n   }\n   return '1656'\n}\nfunction thereAreValidationErrors(){\n   this.errors = [];\n   var helm = document.getElementsByName("helm");\n   var boatNo = document.getElementsByName("boatNo");\n   var boatName = document.getElementsByName("boatName");\n   var emergency = document.getElementsByName("emergency");\nvar emergencyPhone = document.getElementsByName("emergencyPhone");\nvar club = document.getElementsByName("club");\n   var phone = document.getElementsByName("phone");\n   var member = document.getElementsByName("member");\nvar silver = document.getElementsByName("silver");\n   if (boatName[0].value.length < 3 && helm[0].value.length < 3 && boatNo[0].value.length < 3){\n      var friday = document.getElementsByName("friday");\n      var camp = document.getElementsByName("camp");\n      if (friday[0].value === "" && camp[0].value === ""){\n         this.errors.push("Please enter something to proceed")\n      }\n   } else {\n      if (boatName[0].value.length < 3) {\n         this.errors.push("Please enter a boat name")\n      } \n      if (helm[0].value.length < 3) {\n         this.errors.push("Please enter a helm name")\n      }  \n      if (boatNo[0].value.length < 3) {\n         this.errors.push("Please enter a boat number")\n      }   \n      if (club[0].value.length < 3) {\n         this.errors.push("Please enter a club")\n      }   \n      if (phone[0].value.length < 3) {\n         this.errors.push("Please enter a phone number")\n      } \n      if (emergency[0].value.length < 3) {\n         this.errors.push("Please enter an emergency contact")\n      } \n      if (emergencyPhone[0].value.length < 3) {\n         this.errors.push("Please enter an emergency contact number")\n      } \n      if (silver[0].value === "") {\n         this.errors.push("Please select whether or not you wish to be considered for Silver fleet")\n      } \n      if (member[0].value === "") {\n         this.errors.push("Please state your 2025 membership status")\n      }  \n      var declaration = document.getElementById("declaration");\n      if(!declaration.checked){\n         this.errors.push("Please agree to the declaration")\n      }\n   }\n   var validation = document.getElementById("validation");\n   validation.innerHTML = "";\n}\nfunction printErrors(){\n    var validation = document.getElementById("validation");\n    for (i = 0; i < errors.length; i++) {\n        validation.innerHTML += (errors[i] + "");\n    }\n}\nfunction createCartButton(){ \n   this.cartHref += "\″ onclick=\"disableButton()\" id=\"goToCheckout\">Add to Cart"\n   var summary = document.getElementById("addToCart").innerHTML = this.cartHref;    \n}\nfunction 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 Boat");\n        getTotalBoatEntryFees();\n     };\n     xhr.send();\n}\nfunction getTotalBoatEntryFees(){\n  var helm = document.getElementsByName("helm");\n  var boatNo = document.getElementsByName("boatNo");\n  var boatName = document.getElementsByName("boatName");\n  var phone = document.getElementsByName("phone");\n  var emergency = document.getElementsByName("emergency");\n  var emergencyPhone = document.getElementsByName("emergencyPhone");\n  var club = document.getElementsByName("club");\n  var silver = document.getElementsByName("silver");\n  var lift = document.getElementsByName("lift");\n  var youth = document.getElementById("youth");\n   if (boatName[0].value.length < 3 && helm[0].value.length < 3 && boatNo[0].value.length < 3){\n      getTotalOtherFees();\n   } else {\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  var additional = document.getElementsByName("paragraph_text_dietary");\n  var additionalInfo = ' Club:'+club[0].value+' Phone Number:'+phone[0].value+' Emergency Contact:'+emergency[0].value+' Emergency Phone Number:'+emergencyPhone[0].value+' Silver Fleet:'+silver[0].value+' Lift Time:'+lift[0].value+' Other requests: '+ additional[0].value;\n  var productId = 0;\n  if(youth.checked){\n     productId = 7635\n  } else {\n     productId = 7634\n  }\nxhr.send('boatNumber='+boatNo[0].value+'&helm='+helm[0].value+'&boatName='+boatName[0].value+'&AdditionalInfo='+additionalInfo+'&quantity=1&add-to-cart='+productId);\n  }\n} \nfunction getTotalOtherFees(){\n    var member = document.getElementById("member");\n    var autumn = document.getElementById("autumn");\n    var member = document.getElementsByName("member");\n    var friday = document.getElementsByName("friday");\n    var camp = document.getElementsByName("camp");\n    if  (member[0].value === "No") {\n          if(fillToCartURL.slice(-1) !== '=') {\n             this.fillToCartURL+='\,1x7641';\n          } else {\n             this.fillToCartURL+='1x7641';\n          }\n    }\n    var friInt = parseInt(friday[0].value); \n    if (friInt > 0){\n       if(fillToCartURL.slice(-1) !== '=') {\n          this.fillToCartURL+='\,'+friInt+'x2477';\n       } else {\n          this.fillToCartURL+=friInt+'x2477';\n       }\n    }\n    if  (camp[0].value === "1") {\n          if(fillToCartURL.slice(-1) !== '=') {\n             this.fillToCartURL+='\,1x14662';\n          } else {\n             this.fillToCartURL+='1x14662';\n          }\n    }\n    fillCheckout();\n}\nfunction fillCheckout() {\n   printStatus("Going to Cart with anything else");\n   window.location.href = fillToCartURL;\n}\nfunction createSummary(){\n   this.total = 0; \n    this.summaryMsg = [];\n    var kidsMeal= document.getElementsByName("selectSundayMeal");\n    var kidsMealInt = parseInt(kidsMeal[0].value); \n    this.total += (kidsMealInt*kidsMealFee );\n    if (kidsMealInt > 0) {\n        this.summaryMsg.push(kidsMealInt + " x Saturday Junior Meal = €" + kidsMealFee*kidsMealInt  );\n    }\n    var adultsMeal= document.getElementsByName("selectAdultMeal");\n    var adultsMealInt = parseInt(adultsMeal[0].value); \n    this.total += (adultsMealInt*adultMealFee);\n    if (adultsMealInt > 0) {\n        this.summaryMsg.push(adultsMealInt + " x Saturday Adult Meal = €" + adultMealFee*adultsMealInt  );\n    }\n    var fleet = document.getElementsByName("fleet")[0].value;\n    var today = new Date();\n    var dd = today.getDate();\n    var mm = today.getMonth()+1; //January is 0!\n    var entry=50;\n    if (mm === 7 && dd > 18) {\n       entry=60;\n    }\n    if (fleet.length > 0) {\n      var productSum = getEntryProductSingleFleet();\n      if (productSum == '1657') {\n         this.total += 60;\n      } else {\n         this.total += 50;\n      }\n    }\n    var summary = document.getElementById("entrySummary");\n    summary.innerHTML = "";\n    for (i = 0; i < summaryMsg.length; i++) {\n        summary.innerHTML += (summaryMsg[i] + "");\n    }\n   document.getElementById("Total").innerHTML = "€ "+ this.total; \n   document.getElementById("regattaFormTotal").style.display= "block";\n}\nfunction 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\n\n\n\n\n1Boat to Enter\nBoat Name\n\nSail No\n\nClub\n\n\nHelm\n\n\nHelm Phone Number\n\n\nEmergency Contact\n\n\nEmergency Phone Number\n\n\nDo you wish to be considered for inclusion in the Silver Fleet\n\n\nPlease select an answer\nYesNo\n\n\nWhich time are you planning for lift in?\n\n\nPlease select an answer\nFriday 7pm-8pmSaturday 8.30am-11.15amDon't know yet\n\n\n\n\n\n2Additional Options\n\n\n\n\n\nUnder 30 Entry (All crew must be under 30)\n\n\n\n\n\n\nEntry in Autumn Mini Series\, 9 Races\, 3 Saturdays\, 2pm FG\, 25 Sept\, 2 Oct\, 9 Oct (€90\, incl 3 x Crane in-out\, One Month Storage between races up to SB20 Midlands 16 Oct)\n\nSB20 Class Membership paid 2025 (€100 if NO)\n\nPlease select an answerYesNo\n\n\n\n\n3Meals\nSaturday Meal (€25)\n\n\nNumber of meals\n1\n2\n3\n4\n5\n6\n\n\n\n\nIf you have any dietary requirements\, please enter here and we will endeavour\, to fulfill the request if practical/possible. \n \n\n\n\n\n4Camping €25\nDo you wish to add camping?\n\n\nNo\nYes add camping\n\n \n\n\n5 Declaration\n\n\nRules of the Regatta\n1.1 The regatta will be governed by the rules as defined by The Racing Rules of Sailing.\n1.2 The regatta will be governed by the rules as defined by The Notice Of Race & Sailing Instructions.\n1.3 All relevant class rules will apply.\n\n\n\n\n\nI have read and am aware of the Rules of the regatta as above. Please accept my entry and if accepted I will fill in the declaration form(s) and where applicable class declaration form(s) and present it/them for approval at registration.\n\n\n\n6 Summary\nPlease 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\n
URL:https://www.lryc.ie/event/sb20-nationals/
ATTACH;FMTTYPE=image/jpeg:https://www.lryc.ie/wp-content/uploads/2020/07/WhatsApp-Image-2020-07-02-at-4.52.33-PM.jpeg
END:VEVENT
BEGIN:VEVENT
DTSTART;VALUE=DATE:20260905
DTEND;VALUE=DATE:20260907
DTSTAMP:20260505T121123
CREATED:20190128T103547Z
LAST-MODIFIED:20260227T121754Z
UID:2671-1788566400-1788739199@www.lryc.ie
SUMMARY:Keelboat Long Distance Weekend
DESCRIPTION:
URL:https://www.lryc.ie/event/keelboat-long-distance-race/
ATTACH;FMTTYPE=image/jpeg:https://www.lryc.ie/wp-content/uploads/2018/04/cruisers-600x404.jpg
END:VEVENT
BEGIN:VEVENT
DTSTART;VALUE=DATE:20260919
DTEND;VALUE=DATE:20260921
DTSTAMP:20260505T121123
CREATED:20180108T131604Z
LAST-MODIFIED:20260227T114331Z
UID:1143-1789776000-1789948799@www.lryc.ie
SUMMARY:Béal na Locha Weekend
DESCRIPTION:\n//numericalTotals\nvar total = 0;\n//Summary Strings\nvar summaryMsg = [];\nvar fillToCartURL='https://www.lryc.ie/cart/?fill_cart=';\n//Arrays\nvar errors = [];\nfunction continuePurchase() {\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            getAdultMealFees();\n        };\n        xhr.send();\n}\nfunction clearCart() {\n   this.summaryMsg = [];\n   thereAreValidationErrors()\n   if (this.errors.length > 0) {\n      printErrors();\n      return;\n   }\n   disableButton();\n   continuePurchase(); \n}\nfunction thereAreValidationErrors(){\n   this.errors = [];\n   var validation = document.getElementById("validation");\n   var numberAdult = document.getElementsByName("friday");\n   validation.innerHTML = "";\n}\nfunction isNumeric(str) {\n  if (typeof str != "string") return false // we only process strings!  \n  return !isNaN(str) && // use type coercion to parse the _entirety_ of the string (`parseFloat` alone does not do this)...\n         !isNaN(parseFloat(str)) // ...and ensure strings of whitespace fail\n}\nfunction getAdultMealFees() {\n    var friday = document.getElementsByName("friday");\n    var friInt = parseInt(friday[0].value); \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       getAdditionalInfo();\n    };\n    if (friInt > 0){\n      var additional = document.getElementsByName("paragraph_text_dietary");\n      var additionalInfo = additional[0].value;\n      xhr.send('AdditionalInfo='+additionalInfo+'&quantity='+friInt+'&add-to-cart=15038');\n    } else {\n        getAdditionalInfo();\n    }\n}\nfunction sodaFees() {\n    var soda= document.getElementsByName("sodaFull");\n    if  (soda[0].value > 0) {\n          if(fillToCartURL.slice(-1) !== '=') {\n             this.fillToCartURL+='\,'+soda[0].value+'x1493';\n          } else {\n             this.fillToCartURL+=soda[0].value+'x1493';\n          }\n    }\n    var associate= document.getElementsByName("sodaTen");\n    if  (associate[0].value > 0) {\n          if(fillToCartURL.slice(-1) !== '=') {\n             this.fillToCartURL+='\,'+associate[0].value+'x1495';\n          } else {\n             this.fillToCartURL+=associate[0].value+'x1495';\n          }\n    }\n    fillCheckout();\n}\nfunction fillCheckout() {\n   window.location.href = fillToCartURL;\n}\nfunction getAdditionalInfo(){\n       var soda = document.getElementsByName("sodaDesc");\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           sodaFees();\n       };\n       var additionalInfo =  "";\n       if (soda[0].value != ""){\n          additionalInfo+= ' Soda Membership is for: ' +soda[0].value;\n          xhr.send('AdditionalInfo='+additionalInfo+'&quantity=1&add-to-cart='+2150);\n       } else {\n          sodaFees();\n       }\n} \nfunction breenFont() {\n var featuredimg=document.getElementsByClassName("tribe-events-event-image");\n featuredimg[0].style.display="none"\n}\n\n\n\n1Book a Saturday Meal(s) €25\nTicket bookings for 2026 are not yet open\nSaturday Meal\n\n\nNumber of meals\n1\n2\n3\n4\n5\n6\n7\n8\n\n\n\nIf you have any dietary requirements\, please enter here and we will endeavour\, to fulfill the request if practical/possible. \n \n\n\n\n\n2Option to pay Soda 2026 Membership\nPlease note its slightly cheaper to pay for these directly on SODA Website\n\nNumber of Full SODA Memberships €52 (Includes LRYC Stripe Fee)123\n\n\nNumber of Associate SODA Memberships €26 (Includes LRYC Stripe Fee)123\n\n\n\n \n \n
URL:https://www.lryc.ie/event/beal-na-locha-weekend/
CATEGORIES:Shannons
ATTACH;FMTTYPE=image/jpeg:https://www.lryc.ie/wp-content/uploads/2025/09/reids.jpg
END:VEVENT
BEGIN:VEVENT
DTSTART;VALUE=DATE:20260919
DTEND;VALUE=DATE:20260921
DTSTAMP:20260505T121123
CREATED:20191114T140356Z
LAST-MODIFIED:20260227T121823Z
UID:4295-1789776000-1789948799@www.lryc.ie
SUMMARY:Killinure Marina Trophy
DESCRIPTION:\n//numericalTotals\nvar total = 0;\n//Summary Strings\nvar summaryMsg = [];\n//Arrays\nvar errors = [];\nfunction continuePurchase() {\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            getAdultMealFees();\n        };\n        xhr.send();\n}\nfunction clearCart() {\n   this.summaryMsg = [];\n   thereAreValidationErrors()\n   if (this.errors.length > 0) {\n      printErrors();\n      return;\n   }\n   disableButton();\n   continuePurchase(); \n}\nfunction thereAreValidationErrors(){\n   this.errors = [];\n   var validation = document.getElementById("validation");\n   var numberAdult = document.getElementsByName("numberAdult");\n    if (numberAdult[0].value === "") {\n      this.errors.push("Please select a number of meals")\n    } \n   validation.innerHTML = "";\n}\nfunction isNumeric(str) {\n  if (typeof str != "string") return false // we only process strings!  \n  return !isNaN(str) && // use type coercion to parse the _entirety_ of the string (`parseFloat` alone does not do this)...\n         !isNaN(parseFloat(str)) // ...and ensure strings of whitespace fail\n}\nfunction getAdultMealFees() {\n   var names = document.getElementsByName("names");\n   var numberAdult = document.getElementsByName("numberAdult");\n   var sundayInt = parseInt(numberAdult[0].value); \n   var additional = document.getElementsByName("paragraph_text")[0].value;\n   if (sundayInt > 0){\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        goToCart();\n     };\n     xhr.send('AdditionalInfo='+additional+'&quantity='+sundayInt+'&add-to-cart=10309');\n  }\n}\n\n\n1Book a meal(s) €25 each\n\n\nNumber of Meals \n1\n2\n3\n4\n5\n6\n7\n8\n\n \nIf you require a Vegetarian option or other dietary requirements please indicate here\n \n \n \n
URL:https://www.lryc.ie/event/killinure-marina-trophy/
ATTACH;FMTTYPE=image/jpeg:https://www.lryc.ie/wp-content/uploads/2018/04/14470430_1184386238274678_3823896415357907759_n.jpg
END:VEVENT
BEGIN:VEVENT
DTSTART;VALUE=DATE:20261107
DTEND;VALUE=DATE:20261109
DTSTAMP:20260505T121123
CREATED:20190927T100616Z
LAST-MODIFIED:20260227T114452Z
UID:4141-1794009600-1794182399@www.lryc.ie
SUMMARY:Inner Inner Lakes
DESCRIPTION:\n//numericalTotals\nvar total = 0;\n//Summary Strings\nvar summaryMsg = [];\nvar fillToCartURL='https://www.lryc.ie/cart/?fill_cart=';\n//Arrays\nvar errors = [];\nfunction continuePurchase() {\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            getAdultMealFees();\n        };\n        xhr.send();\n}\nfunction clearCart() {\n   this.summaryMsg = [];\n   thereAreValidationErrors()\n   if (this.errors.length > 0) {\n      printErrors();\n      return;\n   }\n   disableButton();\n   continuePurchase(); \n}\nfunction thereAreValidationErrors(){\n   this.errors = [];\n   var validation = document.getElementById("validation");\n   var numberAdult = document.getElementsByName("friday");\n   validation.innerHTML = "";\n}\nfunction isNumeric(str) {\n  if (typeof str != "string") return false // we only process strings!  \n  return !isNaN(str) && // use type coercion to parse the _entirety_ of the string (`parseFloat` alone does not do this)...\n         !isNaN(parseFloat(str)) // ...and ensure strings of whitespace fail\n}\nfunction getAdultMealFees() {\n    var friday = document.getElementsByName("friday");\n    var friInt = parseInt(friday[0].value); \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       getAdditionalInfo();\n    };\n    if (friInt > 0){\n      var additional = document.getElementsByName("paragraph_text_dietary");\n      var additionalInfo = additional[0].value;\n      xhr.send('AdditionalInfo='+additionalInfo+'&quantity='+friInt+'&add-to-cart=14875');\n    } else {\n        getAdditionalInfo();\n    }\n}\nfunction sodaFees() {\n    var soda= document.getElementsByName("sodaFull");\n    if  (soda[0].value > 0) {\n          if(fillToCartURL.slice(-1) !== '=') {\n             this.fillToCartURL+='\,'+soda[0].value+'x1493';\n          } else {\n             this.fillToCartURL+=soda[0].value+'x1493';\n          }\n    }\n    var associate= document.getElementsByName("sodaTen");\n    if  (associate[0].value > 0) {\n          if(fillToCartURL.slice(-1) !== '=') {\n             this.fillToCartURL+='\,'+associate[0].value+'x1495';\n          } else {\n             this.fillToCartURL+=associate[0].value+'x1495';\n          }\n    }\n    fillCheckout();\n}\nfunction fillCheckout() {\n   window.location.href = fillToCartURL;\n}\nfunction getAdditionalInfo(){\n       var soda = document.getElementsByName("sodaDesc");\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           sodaFees();\n       };\n       var additionalInfo =  "";\n       if (soda[0].value != ""){\n          additionalInfo+= ' Soda Membership is for: ' +soda[0].value;\n          xhr.send('AdditionalInfo='+additionalInfo+'&quantity=1&add-to-cart='+2150);\n       } else {\n          sodaFees();\n       }\n}\n\n\n\n1Book a Sunday Meal(s)\nDinner ticket bookings are not yet open.\nSunday Meal\n\n\nNumber of meals\n1\n2\n3\n\n\n\nIf you have any dietary requirements\, please enter here and we will endeavour\, to fulfill the request if practical/possible. \n \n\n\n\n1 Soda 2026 Membership\nPlease note its slightly cheaper to pay for these directly on SODA Website\n\nNumber of Full SODA Memberships €52 (Includes LRYC Stripe Fee)123\n\n\nNumber of Associate SODA Memberships €26 (Includes LRYC Stripe Fee)123\n\n\n\n \n \n
URL:https://www.lryc.ie/event/inner-inner-lakes/
ATTACH;FMTTYPE=image/jpeg:https://www.lryc.ie/wp-content/uploads/2019/09/inner-inner.jpg
END:VEVENT
END:VCALENDAR