Titletag | Descriptiontag | language |
---|---|---|
XRC - Results Company |
Alexarank |
---|
226901 |
Ip adress | 154.0.171.86 | Nameserver | ns4.yourdomain.co.za ns3.yourdomain.co.za ns1.yourdomain.co.za ns2.yourdomain.co.za |
Status code | 200 |
<!DOCTYPE HTML> <html> <head> <title>XRC - Results Company</title> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <script> (adsbygoogle = window.adsbygoogle || []).push({ google_ad_client: "ca-pub-2461955107617933", enable_page_level_ads: true }); </script> <meta property="og:image" content="http://www.xrc.co.za/images/home.png" /> <meta http-equiv="content-type" content="text/html; charset=windows-1252" /> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <link rel="icon" href="/images/icon-01.png" type="image/png"> <!-- Font Awesome --> <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.11.2/css/all.css"> <!-- Bootstrap core CSS --> <link rel="stylesheet" href="css/bootstrap.min.css"> <!-- Material Design Bootstrap --> <link rel="stylesheet" href="css/mdb.min.css"> <!-- Your custom styles (optional) --> <link rel="stylesheet" href="css/main_css1.css"> <link href="css/addons/datatables.min.css" rel="stylesheet"> </head> <body> <div id="fb-root"></div> <script src="https://code.jquery.com/jquery-1.9.1.js"></script> <script src="/js/lodash.js"></script> <!--script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script--> <script type="text/javascript" src="js/popper.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script> <script type="text/javascript" src="js/jquery.min.js"></script> <script type="text/javascript" src="js/mdb.min.js"></script> <script> $(document).ready( function() { function parallax(){ var scrolled = $(window).scrollTop(); $('.bg').css('height', (jumboHeight-scrolled) + 'px'); } $(window).scroll(function(e){ //parallax(); }); // drawChart(); //document.getElementById("profilePicture").onchange = function() { // document.getElementById("profilePicture").submit(); //}; init(); //Add an init() function to all the pages that need logic added function drawChart() { var data = []; var labels = []; //doughnut var ctxD = document.getElementById("doughnutChart"); ctxD.height = 200; if(ctxD) { ctxD.getContext('2d'); var myLineChart = new Chart(ctxD, { type: 'doughnut', data: { labels: labels, datasets: [{ data: data, backgroundColor: ["#F7464A", "#46BFBD", "#FDB45C", "#949FB1", "#4D5360"], hoverBackgroundColor: ["#FF5A5E", "#5AD3D1", "#FFC870", "#A8B3C5", "#616774"] }] }, options: { responsive: false } }); } } }); </script> <nav class=" navbar navbar-expand-lg navbar-dark fixed-top scrolling-navbar"> <div class="container"> <!-- Navbar brand --> <a class="navbar-brand" href="/"><img src="/images/LogoFlatWhite.png" width="90" alt=""></a> <!-- Collapse button --> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#basicExampleNav" aria-controls="basicExampleNav" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <!-- Collapsible content --> <div class="collapse navbar-collapse" id="basicExampleNav"> <ul class="navbar-nav mr-auto"><li class ="nav-item"><a class="nav-link" href="?page=">Home</a></li><li class ="nav-item"><a class="nav-link" href="?page=races2">Results</a></li><li class ="nav-item"><a class="nav-link" href="?page=userguide">Information</a></li><li class ="nav-item"><a class="nav-link" href="?page=contactus">Contact Us</a></li><li class ="nav-item"><a class="nav-link" href="?page=renew_selection">Affiliations</a></li><li class ="nav-item"><a class="nav-link" href="?page=shop">Shop</a></li></ul> <!-- Social Icon --> <ul class="navbar-nav nav-flex-icons"> <li class="nav-item"> <a href="https://www.facebook.com/xrc.co.za" target="_blank" class="nav-link"><i class="fab fa-facebook"></i></a> </li> <!--Twitter--> <li class="nav-item"> <a href="https://twitter.com/xrc11" target="_blank" class="nav-link"><i class="fab fa-twitter"></i></a> </li> </ul> <div class=""> <a class="btn btn-outline-danger login my-2 my-sm-0" href="/register.php">REGISTER</a> <a class="btn btn-outline-danger login my-2 my-sm-0" href="/doLogin.php">SIGN IN</a></div></li> </div> <!-- Collapsible content --> </div> </nav> <header> <!--Mask--> <div id="intro" class="view"> <div class="mask rgba-black-strong"> <div class="container-fluid d-flex align-items-center justify-content-center h-100"> <div class="row d-flex justify-content-center text-center"> <div class="col-md-10"> <!-- Heading --> <h2 class="display-4 font-weight-bold white-text pt-5 mb-2" style="text-align: -webkit-center;"><img src="/images/LogoFlatWhite.png" width="300" alt=""></h2> <!--svg viewBox='0 0 100 100' height='500' width='500'> <polyline points='5,5 59,29 51,15 2,67 ' id='lines' /> </svg--> <!-- Divider --> <hr class="hr-light"> <!-- Description --> <h4 class="white-text my-4">Timekeeping, Event and Club Management</h4> <!--button type="button" class="btn btn-outline-white">Read more<i class="fa fa-book ml-2"></i></button--> </div> </div> </div> </div> </div> <!--/.Mask--> </header> <script> function Rides() { this._rides = new Array(); this.Load =function(offset, limit) { $.ajax({ url: 'Objects/ride_func.php', type: 'POST', data: 'offset='+ offset+'&limit='+ limit+'&function=getRides', dataType: 'JSON', async: false, success: function(data) { $('#accordion2').html(''); $.each(data, function() { var r = new Ride(); r.Init(this); $('#accordion2').append(r.GetAccordianTop()); }); } }); }; this.LoadCommingEvents =function(offset, limit) { $.ajax({ url: 'Objects/ride_func.php', type: 'POST', data: 'offset='+ offset+'&limit='+ limit+'&function=getFutureRides', dataType: 'JSON', async: false, success: function(data) { $('#events').html(''); if(data.length == 0){ $('#events').append('No Upcomming events'); } else{ $.each(data, function() { var r = new Ride(); r.Init(this); $('#events').append(r.GetAccordianTop()); }); } } }); }; this.LoadMore = function(offset, limit) { $.ajax({ url: 'Objects/ride_func.php', type: 'POST', data: 'offset='+ offset+'&limit='+ limit+'&function=getRides', dataType: 'JSON', async: false, success: function(data) { $.each(data, function() { var r = new Ride(); r.Init(this); $('#accordion2').append(r.GetAccordianTop()); }); } }); }; this.LoadMoreCommingEvents =function(offset, limit) { $.ajax({ url: 'Objects/ride_func.php', type: 'POST', data: 'offset='+ offset+'&limit='+ limit+'&function=getFutureRides', dataType: 'JSON', async: false, success: function(data) { $('#events').html(''); $.each(data, function() { var r = new Ride(); r.Init(this); $('#events').append(r.GetAccordianTop()); }); } }); }; this.NewRideHtml = function() { var event = '<form id="form"><div class="navbar">' + '<div class="navbar-inner">' +'<h3 id="myModalLabel">New Race</h3>' +'<div class="row"><div class="span2 ">International Race:</div>' +'<div class="span* "><input class="input-small" type="checkbox" id="addraces_isInternational"></div></div>' +'<div class="row"><div class="span3 ">Race Name:</div>' +'<div class="span* whity" ><input type="text" id="addraces_name" name="addrace_name" required data-validation-required-message="Please enter the ride name."/></div></div>' +'<div class="row"><div class="span3 ">Short Description:</div>' +'<div class="span* whity"><input type="text" id="addraces_description" name="addrace_description" required data-validation-required-message="Please add a description."/></div></div>' +'<div class="row"><div class="span3 ">Organiser Name:</div>' +'<div class="span* whity"><input type="text" id="addraces_organiser_name" name="addrace_organiser_name" required data-validation-required-message="Please enter the name of the organiser."/></div></div>' +'<div class="row"><div class="span3 ">Organiser Tel:</div>' +'<div class="span* whity"><input type="text" id="addraces_organiser_tel" name="addrace_organiser_tel" required data-validation-required-message="Please enter a contact number of the organiser."/></div></div>' +'<div class="row"><div class="span3 ">Date:</div>' +'<div class="span* whity"><input type="text" value="'+GetDate()+'" id="addraces_date" name="addrace_date" required/></div></div>' +'<div class="row"><div class="span3 ">Closing Date:</div>' +'<div class="span* whity"><input type="text" value="'+GetDate()+'" id="addraces_closingdate" name="addrace_closingdate" required/></div></div>' +'<div class="row"><div class="span3 ">GPS Co-ordinates:</div>' +'<div class="span* whity"><input type="text" id="addraces_location" name="addrace_location"/></div></div>' +'<div class="row"><div class="span3 ">Paddock Price:</div>' +'<div class="span* whity"><input type="number" id="addraces_paddock" name="addrace_paddock" value="0" min="0"/></div></div>' +'<div class="row"><div class="span3 ">Meals Price:</div>' +'<div class="span* whity"><input type="number" id="addraces_meals" name="addrace_meals" value="0" min="0"/></div></div>' +'<div class="row"><div class="span3 ">Club:</div>' +'<div class="span* whity"><div class="controls"><select class="form-control " name="club" id="addraces_club"><option value="11">BETHLEHEM CLUB</option><option value="12">Bloemfontein</option><option value="13">Bloemhof</option><option value="65">Bona Bona</option><option value="63">Boshof</option><option value="27">Bray</option><option value="43">Capricorn</option><option value="18">CLARAWI ENDURANCE CLUB</option><option value="6">COLESBERG ENDURANCE CLUB</option><option value="36">Danielskuil</option><option value="7">East London</option><option value="54">ERASA</option><option value="55">Foreign</option><option value="59">George Riding Club</option><option value="4">GREC</option><option value="60">GREC_C</option><option value="66">GREC_Shop</option><option value="8">Hofmeyer</option><option value="9">Karoo</option><option value="37">Kathu</option><option value="38">KIMBERLEY ENDURANCE CLUB</option><option value="14">Koffiefontein</option><option value="15">Ladybrand</option><option value="64">Leandra</option><option value="28">LENNIESDEEL CLUB</option><option value="44">LETABA CLUB</option><option value="40">Lohatlha</option><option value="21">Loskopvallei</option><option value="41">LOUWNA CLUB</option><option value="16">Magersfontein</option><option value="10">Midlands</option><option value="22">Midvaal</option><option value="45">Mogale</option><option value="5">None</option><option value="53">Northwest</option><option value="42">Olifantshoek</option><option value="29">Ottosdal</option><option value="67">Outeniqua</option><option value="17">Petrusburg</option><option value="46">Platorand</option><option value="30">Potchefstroom</option><option value="47">Premier</option><option value="23">Pretoria Defense Force</option><option value="24">Rand Club</option><option value="25">Randfontein</option><option value="57">Sandveld</option><option value="31">Sannieshof</option><option value="19">SHAYA MOYA CLUB</option><option value="2">SIMONSTOWN CLUB</option><option value="61">Southern Drakensberg Club</option><option value="33">Stella</option><option value="1">Swartland</option><option value="32">Sweizer Renecke</option><option value="48">Thaba Endurance Club</option><option value="20">THREE RIVERS CLUB</option><option value="58">ToA Equestrian Club</option><option value="49">Waterberg</option><option value="3">WESKAAP CLUB</option><option value="62">WESKUS CLUB</option><option value="26">WILLEM PRINSLOO CLUB</option><option value="34">Wolmaranstad</option><option value="56">WP Unie</option><option value="35">Zeerust</option></select></div><p class="help-block"></p></div></div>' +'<div class="row"><div class="span2 "><input class="input-small" type="checkbox" id="addraces_hasdiscount"> Discount for over</div>' +'<div class="span1 whity"><input class="input-mini" type="number" id="addraces_disentries" name="addraces_disentries" value="5" min="0"/></div>' +'<div class="span1 whity">entries of</div>' +'<div class="span1 whity"><input class="input-mini" type="number" id="addraces_disperc" name="addraces_disperc" value="10" min="0"/></div>' +'<div class="span* whity">%</div></div>' +'<br><div class="rideleg"><div class="row "><div class="span3 whity string"><h3>Ride Setup</h3></div><div class="span* whity"></div></div><div class="row"><div class="span* whity"><div class="btn-group" id="distance_choose" data-toggle="buttons-radio"><span type="button" class="btn btn-primary active" data-id="2"> 30 km</span><span type="button" class="btn btn-primary" data-id="3"> 40 km</span><span type="button" class="btn btn-primary" data-id="4"> 80 km</span><span type="button" class="btn btn-primary" data-id="5"> 120 km</span><span type="button" class="btn btn-primary" data-id="6"> 160 km</span><span type="button" class="btn btn-primary" data-id="7"> 40 km - Back2Back</span><span type="button" class="btn btn-primary" data-id="8"> 200 km - Multiday</span><span type="button" class="btn btn-primary" data-id="9"> 60 km</span><span type="button" class="btn btn-primary" data-id="10"> 300 myler</span><span type="button" class="btn btn-primary" data-id="11"> 40 km - Day Rider Only</span><span type="button" class="btn btn-primary" data-id="12"> 40 km - No Day Rider</span><span type="button" class="btn btn-primary" data-id="13"> 40 km + 40 km - Day Rider Only</span><span type="button" class="btn btn-primary" data-id="14"> 40 km + 40 km - No Day Rider</span><span type="button" class="btn btn-primary" data-id="15"> 80 km - Back2Back</span><span type="button" class="btn btn-primary" data-id="16"> 80 km (Veteraan 50j +) </span><span type="button" class="btn btn-primary" data-id="17"> 20 km</span><span type="button" class="btn btn-primary" data-id="18"> 15 km</span><span type="button" class="btn btn-primary" data-id="19"> 30 km + 30 km - Day Rider Only</span><span type="button" class="btn btn-primary" data-id="20"> 100 km</span><span type="button" class="btn btn-primary" data-id="21"> 40 km - 6h00</span><span type="button" class="btn btn-primary" data-id="22"> 40 km - 7h00</span><span type="button" class="btn btn-primary" data-id="23"> 40 km - 10h30</span><span type="button" class="btn btn-primary" data-id="24"> 40 km - Afternoon</span><span type="button" class="btn btn-primary" data-id="25"> 5 - 20km Fun Ride</span><span type="button" class="btn btn-primary" data-id="26"> 160 km - Back2Back</span><span type="button" class="btn btn-primary" data-id="27"> 119 km</span></div></div></div><br><div class="row"><div class="span3 whity"><input type="radio" name="RaceJur" value="0" checked="checked">ERASA <input type="radio" name="RaceJur" value="1" >FEI</div></div><br><div class="row"><div class="span3 whity">Can Day Rider Enter:</div><div class="span* whity"><input class="input-small" type="checkbox" id="input_dayrider"></div></div><div class="row"><div class="span3 whity">Entry Fee:</div><div class="span* whity"><input id="input_fee" type="number" min="0" value="0.00"></input></div></div><div class="row"><div class="span3 whity">Course Handicap:</div><div class="span* whity"><input type="number" id="input_handicap" value="0" min="0"/></div></div><div class="row"><div class="span3 whity">Winning Prize:</div><div class="span* whity"><input id="input_prize" type="text"></input></div></div><div class="row"><div class="span3 whity">Leg:</div><div class="span* whity"><input id="input_leg" type="number" min="0" value="0"></input>km</div></div><span onClick="addLeg()" id="addLeg" class="btn">Add Leg</span><span onClick="removeLeg()" id="removeLeg" class="btn">Remove Leg</span><ul id="legSelect"></ul><span class="btn" onClick="myButtonUp()" id="myButtonUp">Up</span><span class="btn" onClick="myButtonDown()" id="myButtonDown">Down</span><br><span id="btn_create_distance" class="btn">Add Distance</span><br></div>' +'<div class="row">' +'<div class="span3 string"><h3>Available Distances</h3></div>' +'<div class="span* whity"></div></div>' +'<div id="legchooser"></div>' +'<div class="row"><div class="span4 "><button id="btn_cancel_add_event" class="btn">Cancel</button>' +'<button class="btn btn-primary" id="btn_save_add_event">Create</button></div></div><p></p>' +'<div class="row"><div id="createformerrors"></div></div>' +'</div>' +'</div></form>'; return event; } function GetDate() { var today = new Date(); var dd = today.getDate(); var mm = today.getMonth()+1; //January is 0! var yyyy = today.getFullYear(); if(dd<10){dd='0'+dd} if(mm<10){mm='0'+mm} today = yyyy+'-'+mm+'-'+dd; return today; } } </script><script> function Optionals() { this.init = function(json) { this.id = json.optionalid; this.type = json.optionaltype; this.min_val = json.optionalmin_val; this.max_val = json.optionalmax_val; this.default_val = json.optionaldefault_val; this.short_desc = json.optionalshort_desc; this.long_desc = json.optionallong_desc; this.item_name = json.optionalitem_name; this.price = json.optionalprice; this.display = json.optionaldisplay; this.value = json.optionalvalue; } } </script><script> function RideLenght() { this.Set = function(block) { this.price = $(block).find('input.distance_fee').val(); this.prize = $(block).find('input.distance_prize').val(); this.id = $(block).find('input.distance_distanceid').val(); this.isfei = $(block).find('input.distance_isfei').val(); this.handicap = $(block).find('input.distance_handicap').val(); this.isDay = $(block).find('input.distance_dayrider').val(); this.leg1 = $(block).find('input.distance_leg_1').val(); this.leg2 = $(block).find('input.distance_leg_2').val(); this.leg3 = $(block).find('input.distance_leg_3').val(); this.leg4 = $(block).find('input.distance_leg_4').val(); this.leg5 = $(block).find('input.distance_leg_5').val(); this.leg6 = $(block).find('input.distance_leg_6').val(); if(!this.leg1) this.leg1 ="0"; if(!this.leg2) this.leg2 ="0"; if(!this.leg3) this.leg3 ="0"; if(!this.leg4) this.leg4 ="0"; if(!this.leg5) this.leg5 ="0"; if(!this.leg6) this.leg6 ="0"; } this.Update = function() { var json = JSON.stringify(this); $.ajax({ url: 'pages/usersearch.php', type: 'POST', data: 'insert='+ json +'&function=updateRaceLength', dataType: 'JSON', async: true, beforeSend:function() { }, complete:function() { }, error: function (error) { alert('Something went wrong, please call the system administrator.'); //alert('error; ' + eval(error)); }, success: function(response) { var raceid= response.id; var error= response.error; if(error === '') { } else { alert('Something went wrong, please call the system administrator.'); } } }); } } </script> <script> function Ride() { this.LoadRide = function(raceid, callback) { $.ajax({ url: 'Objects/ride_func.php', type: 'POST', data: 'raceid=' + raceid + '&function=getRide', dataType: 'JSON', async: true, beforeSend: function() {}, complete: function() {}, success: function(data) { return callback(data); } }); } this.RecalculateCost = function() { var raceid = this.id; var ul = ''; var btn = ''; $.ajax({ url: 'pages/usersearch.php', type: 'POST', data: 'raceid=' + this.id + '&function=getRaceTotal', dataType: 'JSON', async: true, beforeSend: function() { $("#current_race_payment").html('<img src="images/loader-2.gif">'); //$(".costcalc").html('<div class="calc span5"><div class="UndoneLoading hidden"><img src="images/loader-2.gif"></div></div>'); }, complete: function() { }, success: function(data) { ul = '<li class="race-detail-item race-detail-header-payment"><div class="race-detail-item-left">Payment Details<div></li>'; $.each(data, function(i, item) { if (item.total != '0') { var info = ''; if (item.price != '') { if (item.totalvaule != '') { if (item.times != '' && item.times != null) { info = 'R ' + item.price + ' x ' + item.totalvaule + ' x ' + item.times + ' = '; } else { info = 'R ' + item.price + ' x ' + item.totalvaule + ' = '; } } } ul += '<li class="race-detail-item"><div class="race-detail-item-left">' + item.item_name + '</div><div class="race-detail-item-right description">' + info + 'R ' + item.total + '</div></li>'; } if (item.paid == '1') { if (item.item_name == 'Amount Outstanding:' && item.total == '0') { btn = '<li class="race-detail-item"><div class="race-detail-item-right description"><input class="btn btn-success" value="Paid, Thank You"></div></li>'; } else { btn = '<li class="race-detail-item"><div class="race-detail-item-right description"><form action="?page=process" method="POST" >' + '<input type="hidden" name="raceid" value="' + raceid + '">' + '<input class="btn btn-warning" type="submit" value="Click for updated amounts.">' + '</form></div></li>'; } } else if (item.paid == '0') { btn = '<li class="race-detail-item"><div class="race-detail-item-right description"><form action="?page=process" method="POST" >' + '<input type="hidden" name="raceid" value="' + raceid + '">' + '<input class="btn btn-warning" type="submit" value="Payment Requested, Pay Outstanding/All">' + '</form></div></li>'; } else { btn = '<li class="race-detail-item"><div class="race-detail-item-right description"><form action="?page=process" method="POST" >' + '<input type="hidden" name="raceid" value="' + raceid + '">' + '<input class="btn btn-inverse" type="submit" value="Get Payment Details">' + '</form></div></li>'; } }); $("#current_race_payment").html(ul + btn); } }); } this.showRecalculatedCost = function() { var raceid = this.id; var ul = ''; var btn = ''; } this.LoadAllUsers = function(callback) { var t = this; var id = this.id; $.ajax({ url: 'pages/usersearch.php', type: 'POST', data: 'raceid=' + id + '&function=getAllRaceUsers', dataType: 'JSON', async: true, beforeSend: function() { }, complete: function() { }, success: function(data) { var table = $(".allriders"); table.html(''); var html = ""; var current = ''; $.each(data, function(i, item) { var fei = ''; if (item.isFEI == '0') fei = 'ERASA'; else if (item.isFEI == '1') fei = '<img src="/images/feibig.png" style="height: 27px;" />'; else if (item.isFEI == '2') fei = 'NERA'; else if (item.isFEI == '3') fei = 'Fun Ride'; //ToRemove if (item.isFEI == '3') return; var head = item.length + ''; if (this.isBikeRide == undefined || this.isBikeRide == 0) { head = '<div class="col">' + fei + '</div>' + '<div class="col-12 col-md-4">' + item.length + '</div>'; if (item.isFEI != '3') head += '<div class="col">' + item.typeid + '</div>'; if (item.isFEI == '3') head += '<div class="col"></div>'; } if (this.isBikeRide == 2) head = item.length + ' km - Park Ride - ' + item.typeid; if (current == '') { html += t.AllUsersHeader(head); current = head; } else if (current != head) { html += t.AllUsersHeader(head); current = head; } var i_pass = ''; var i_horse = ''; var i_rider = ''; if (item.isFEI == '1') { if (item.FEIRiderStatus == '0') //Not found i_rider = '<img src="/images/search.png" class="pl-1 pt-1" style="height: 20px; width:20px;">'; else if (item.FEIRiderStatus == '1') // Fine i_rider = '<img src="/images/tick.png" class="pl-1 pt-1" style="height: 20px; width:20px;">'; else if (item.FEIRiderStatus == '2') // Suspended i_rider = '<img src="/images/warning.png" class="pl-1 pt-1" style="height: 20px; width:20px;">'; else if (item.FEIRiderStatus == '3') // Not Registered i_rider = '<img src="/images/untag.png" class="pl-1 pt-1" style="height: 20px; width:20px;">'; if (item.FEIHorseStatus == '0') //Not found i_horse = '<img src="/images/search.png" class="pl-1 pt-1" style="height: 20px; width:20px;">'; else if (item.FEIHorseStatus == '1') // Fine i_horse = '<img src="/images/tick.png" class="pl-1 pt-1" style="height: 20px; width:20px;">'; else if (item.FEIHorseStatus == '2') // Suspended i_horse = '<img src="/images/warning.png" class="pl-1 pt-1" style="height: 20px; width:20px;">'; else if (item.FEIHorseStatus == '3') // Not Registered i_horse = '<img src="/images/untag.png" class="pl-1 pt-1" style="height: 20px; width:20px;">'; } html += '<div class="row bottom-border p-2">'; html += '<div class="col-1 d-none d-sm-block vertical-center" ' + i_pass + '>' + t.GetFlag(item.foreign_country); if (parseInt(item.isFEI) == 1) html += '<img src="/images/fei.png" style="height: 35px;" />'; html += '</div>'; html += '<div class="col">' + '<div class="row">' + item.code + (item.code != '' ? ' - ' : '') + item.callname + ' ' + item.name + '' + i_rider + ' <div id="div_' + item.FeiRiderCode + '"></div>'; if (item.userActive == '0' && item.pending == 'Pending') html += '<span class="badge badge-warning ml-1" style="height: 14px;">pending</span>'; else { if (item.userActive == '0') html += '<span class="badge badge-danger ml-1" style="height: 14px;">In-active</span>'; if (item.Competitive == '0') html += '<span class="badge badge-info ml-1" style="height: 14px;">Non Competitive</span>'; } html += '</div>' + '<div class="row faded m-text"><div>' + item.clubcode + '</div></div>' + '</div>'; if (t.isBikeRide == undefined || t.isBikeRide == 0) { html += '<div class="col" >' + '<div class="row"><div class="col">Horse' + i_horse + '</div></div><div class="row faded m-text"><div class="col">' + item.horse; html += ' <a href="/?page=horsestats&racercode=' + item.hcode + '"> ' + item.hcode + (item.tag === '' ? '' : '(Tag ' + item.tag + ')') + '</a>'; if (item.isActive == '0') html += '<span class="badge badge-danger ml-1 mr-1" style="height: 14px;">In-active</span>'; html += '</div></div></div>'; } html += '</div>'; }); return callback(html); } }); } this.GetFlag = function(country) { if (country.toUpperCase() == '' || country.toUpperCase() == 'SA') return '<img src="images/flags/south_africa_round_icon_64.png" alt="Smiley face" height="30px">'; else if (country.toUpperCase() == 'BOTSWANA' || country.toUpperCase() == 'BOT') return '<img src="images/flags/botswana_round_icon_64.png" alt="Smiley face" height="30px">' else if (country.toUpperCase() == 'NAMIBIA' || country.toUpperCase() == 'NAM') return '<img src="images/flags/namibia_round_icon_64.png" alt="Smiley face" height="30px">' else if (country.toUpperCase() == 'FINLAND') return '<img src="images/flags/finland_round_icon_64.png" alt="Smiley face" height="30px">' else if (country.toUpperCase() == 'FRANCE') return '<img src="images/flags/france_round_icon_64.png" alt="Smiley face" height="30px">' else if (country.toUpperCase() == 'AUSTRALIA' || country.toUpperCase() == 'AUS') return '<img src="images/flags/australia_round_icon_64.png" alt="Smiley face" height="30px">' else if (country.toUpperCase() == 'NEW' || country.toUpperCase() == 'NZL') return '<img src="images/flags/new_zealand_round_icon_64.png" alt="Smiley face" height="30px">' else if (country.toUpperCase() == 'UAE') return '<img src="images/flags/united_arab_emirates_64.png" alt="Smiley face" height="30px">' else return '<img src="images/flags/south_africa_round_icon_64.png" alt="Smiley face" height="30px">'; } this.AllUsersHeader = function(header) { var html = '<div class="row rectangle-10-copy-2 p-3">' + header + '</div>'; return html; } this.LoadResults = function(callback) { var t = this; var id = this.id; $.ajax({ url: 'Objects/results_func.php', type: 'POST', data: 'raceid=' + id + '&function=getTop5Results', dataType: 'JSON', async: true, beforeSend: function() {}, success: function(data) { var html = ''; html += '<div id="results_details"><h4>Showing Only Top 5 Results</h4><h5>Please changed selection below</h5>'; html += '<div class="show_add_event"><ul><li class="race-detail-item ">' + '<div class="race-detail-item-left">Search by' + '<br><select id="resultsSelectBy' + id + '">' + '<option value="CODE">Rider Code</option>' + '<option value="RIDER">Rider Name</option>' + '<option value="HCODE">Horse Code</option>' + '<option value="HORSE">Horse Name</option>' + '</select><br>Search for<br>' + '<input type="text" class="add-on" id="result_Search"/>' + '<br>'; html += "<button id='ResultsAll' data-raceid=" + id + " class='btn btn-info'>All</button><button id='ResultsTop5' data-raceid=" + id + " class='btn btn-primary'>Top 5</button><button id='ResultsFilter' data-raceid=" + id + " class='btn btn-info'>Filter</button></li></ul></div>"; var current = ''; var header = ''; var isFEI = ''; var count = 0; $.each(data, function() { count++; if (this.isFEI == '0') isFEI = 'ERASA'; else if (this.isFEI == '1') isFEI = 'FEI'; else if (this.isFEI == '2') isFEI = 'NERA'; header = this.DIST + 'km - ' + isFEI + ' - ' + this.CAT; if (current == '') { html += t.AllResultsHeader(header); current = header; } else if (current != header) { html += '</tbody>'; html += '</table>'; html += 'count:' + count; count = 0; html += t.AllResultsHeader(header); current = header; } var position = this.POS; if (this.POS == 999) { position = this.DISQ; } html += '<tr>'; html += '<td>' + position + '</td>'; html += '<td><a href="/?page=stats&racercode=' + this.CODE + '">' + this.CODE + '<a></td>'; html += '<td>' + this.RIDER + '</td>'; html += '<td>' + this.HORSE + '</td>'; html += '<td>' + this.TIME + '</td>'; html += '<td>' + this.SPEED + '</td>'; html += t.getRowsResults(this); if (t.isInternational == '1') html += '<td>' + this.TEAM + '</td>'; html += '<td><button data-raceid="' + id + '" data-dataid="' + this.ID + '" class="racedetails btn btn-info">Details</button></td>'; html += '</tr>'; }); html += '</tbody></table>count:' + count + '</div>'; return callback(html); } }); } this.getRowsResults = function(result) { var html = ""; /* if(result.TIME1 != "" ) { if(result.SPEED1 != "" ) */ html += '<td><h6>' + (Math.round(result.SPEED1 * 10) / 10) + '</h6></td>'; html += '<td><h6>' + result.TIME1 + '</h6></td>'; if (result.PUL1) html += '<td><h6>' + result.PUL1 + '</h6></td>'; html += '<td><h6>' + result.SLIP1 + '</h6></td>'; /* } if(result.TIME2 != "" ) { if(result.SPEED2 != "" ) */ html += '<td><h6>' + (Math.round(result.SPEED2 * 10) / 10) + '</h6></td>'; html += '<td><h6>' + result.TIME2 + '</h6></td>'; if (result.PUL2) html += '<td><h6>' + result.PUL2 + '</h6></td>'; html += '<td><h6>' + result.SLIP2 + '</h6></td>'; /* } if(result.TIME3 != "" ) { if(result.SPEED3 != "" ) */ html += '<td><h6>' + result.SPEED3 + '</h6></td>'; html += '<td><h6>' + result.TIME3 + '</h6></td>'; if (result.PUL3) html += '<td><h6>' + result.PUL3 + '</h6></td>'; html += '<td><h6>' + result.SLIP3 + '</h6></td>'; /* } if(result.TIME4 != "" ) { if(result.SPEED4 != "" )*/ html += '<td><h6>' + result.SPEED4 + '</h6></td>'; html += '<td><h6>' + result.TIME4 + '</h6></td>'; if (result.PUL4) html += '<td><h6>' + result.PUL4 + '</h6></td>'; html += '<td><h6>' + result.SLIP4 + '</h6></td>'; /* } if(result.TIME5 != "" ) { if(result.SPEED5 != "" ) */ html += '<td><h6>' + result.SPEED5 + '</h6></td>'; html += '<td><h6>' + result.TIME5 + '</h6></td>'; if (result.PUL5) html += '<td><h6>' + result.PUL5 + '</h6></td>'; html += '<td><h6>' + result.SLIP5 + '</h6></td>'; /* } if(result.TIME6 != "" ) { if(result.SPEED6 != "" ) */ html += '<td><h6>' + result.SPEED6 + '</h6></td>'; html += '<td><h6>' + result.TIME6 + '</h6></td>'; if (result.PUL6) html += '<td><h6>' + result.PUL6 + '</h6></td>'; html += '<td><h6>' + result.SLIP6 + '</h6></td>'; /* }*/ return html; } this.OneResultHeader = function(number, hidePuls) { var html = ""; html += "<th>Speed Gate" + number + "</th>"; html += "<th>Time Gate" + number + "</th>"; if (!hidePuls) html += "<th>Puls Gate" + number + "</th>"; html += "<th>Slip Gate" + number + "</th>"; return html; } this.AllResultsHeader = function(header, result) { var html = header + '<div class="row">'; html += "<div class='col'>Pos</div>"; html += "<div class='col'>Code</div>"; html += "<div class='col'>Rider</div>"; html += "<div class='col'>Horse</div>"; html += "<div class='col'>Tot Time</div>"; html += "<div class='col'>Avg Speed</div>"; /*html += this.OneResultHeader(1); html += this.OneResultHeader(2); html += this.OneResultHeader(3); html += this.OneResultHeader(4); html += this.OneResultHeader(5); html += this.OneResultHeader(6); if(this.isInternational == '1') html += "<th>Team</th>";*/ html += "</div>"; return html; } this.LiveResultsHeader = function(header, result) { var html = '<H3>' + header + '</h3><table class="table table-bordered table-striped table-hover"><thead><tr>'; if (result.disq != "") { html += "<th>Disq</th>"; html += "<th>Reason</th>"; } html += "<th>Daynumber</th>"; html += "<th>Rider</th>"; html += "<th>CallName</th>"; html += "<th>Horse</th>"; html += "<th>Tot Time</th>"; html += "<th>Avg Speed</th>"; html += this.OneResultHeader(1, true); html += this.OneResultHeader(2, true); html += this.OneResultHeader(3, true); html += this.OneResultHeader(4, true); html += this.OneResultHeader(5, true); html += this.OneResultHeader(6, true); if (this.isInternational == '1') html += "<th>Team</th>"; html += "</tr></thead><tbody>"; return html; } this.LoadAllResults = function(callback) { var t = this; var id = this.id; $.ajax({ url: 'Objects/results_func.php', type: 'POST', data: 'raceid=' + id + '&function=getAllResults', dataType: 'JSON', async: true, beforeSend: function() {}, success: function(data) { t.LoadButtons(); var html = ''; var current = ''; var header = ''; var isFEI = ''; var count = 0; $.each(data, function() { count++; if (this.isFEI == '0') isFEI = 'ERASA'; else if (this.isFEI == '1') isFEI = 'FEI'; else if (this.isFEI == '2') isFEI = 'NERA'; header = '<div class="row rectangle-10-copy-2 p-3">' + this.DIST + 'km - ' + isFEI + ' - ' + this.CAT + '</div>'; if (current == '') { html += header; current = header; } else if (current != header) { html += header; current = header; } var position = this.POS; if (this.POS == 999) { position = this.DISQ; } html += '<div class="row bottom-border p-2">' + '<div class="col-1 vertical-center">' + '' + position + '' + '</div>' + '<div class="col"><div class="row"><a href="/?page=stats&racercode=' + this.CODE + '">' + this.CODE + '<a> - ' + this.RIDER + '<div id="div_null">' + '</div>' + '</div>' + '<div class="row faded m-text"><div>' + this.CLUB + '</div>' + '</div>' + '</div>' + '<div class="col">' + '<div class="row">' + '<div class="col">Horse</div>' + '</div>' + '<div class="row faded m-text">' + '<div class="col">' + this.HORSE + '<a href="/?page=horsestats&racercode=' + this.HCODE + '"> ' + this.HCODE + '</a>' + '</div>' + '</div>' + '</div>' + '</div>'; }); return callback(html) } }); } this.LoadLiveResults = function() { var t = this; var id = this.id; t.LoadButtons(); var html = ''; $('#resultsarea' + id).html('<h3>Race Files</h3>' + html + '<form id="back" action="?page=live_results&raceid=' + id + '" method="POST" ><button class="btn btn-large btn-danger">VIEW LIVE RESULTS</button></form>'); } this.LoadFilterResults = function() { var t = this; var id = this.id; var c = $('#result_Search').val(); var w = $('#resultsSelectBy' + id).val(); $.ajax({ url: 'Objects/results_func.php', type: 'POST', data: 'raceid=' + id + '&c=' + c + '&w=' + w + '&function=getFilterResults', dataType: 'JSON', async: true, beforeSend: function() {}, success: function(data) { var html = ''; html += '<div id="results_details"><h4>Showing Filtered Results</h4><h5>Please changed selection below</h5>'; html += '<div class="show_add_event"><ul><li class="race-detail-item ">' + '<div class="race-detail-item-left">Search by' + '<br><select id="resultsSelectBy' + id + '">' + '<option value="CODE">Rider Code</option>' + '<option value="RIDER">Rider Name</option>' + '<option value="HCODE">Horse Code</option>' + '<option value="HORSE">Horse Name</option>' + '</select><br>Search for<br>' + '<input type="text" class="add-on" id="result_Search"/>' + '<br>'; html += "<button id='ResultsAll' data-raceid=" + id + " class='btn btn-info'>All</button><button id='ResultsTop5' data-raceid=" + id + " class='btn btn-info'>Top 5</button><button id='ResultsFilter' data-raceid=" + id + " class='btn btn-primary'>Filter</button></li></ul></div>"; var current = ''; var header = ''; var isFEI = ''; $.each(data, function() { if (this.isFEI == '0') isFEI = 'ERASA'; else if (this.isFEI == '1') isFEI = 'FEI'; else if (this.isFEI == '2') isFEI = 'NERA'; header = this.DIST + 'km - ' + isFEI + ' - ' + this.CAT; if (current == '') { html += t.AllResultsHeader(header); current = header; } else if (current != header) { html += '</tbody>'; html += '</table>'; html += t.AllResultsHeader(header); current = header; } var position = this.POS; if (this.POS == 999) position = this.DISQ; html += '<tr>'; html += '<td>' + position + '</td>'; html += '<td><a href="/?page=stats&racercode=' + this.CODE + '">' + this.CODE + '<a></td>'; html += '<td>' + this.RIDER + '</td>'; html += '<td>' + this.HORSE + '</td>'; html += '<td>' + this.TIME + '</td>'; html += '<td>' + this.SPEED + '</td>'; html += t.getRowsResults(this); if (t.isInternational == '1') html += '<td>' + this.TEAM + '</td>'; html += '<td><button data-raceid="' + id + '" data-dataid="' + this.ID + '" class="racedetails btn btn-info">Details</button></td>'; html += '</tr>'; }); html += '</tbody></table></div>'; $('#resultsarea' + id).html('<h3>Results</h3>' + html); } }); } this.LoadResultDetails = function(racerid) { var t = this; var id = this.id; $.ajax({ url: 'Objects/results_func.php', type: 'POST', data: 'raceid=' + racerid + '&function=getResultDetails', dataType: 'JSON', async: true, beforeSend: function() {}, success: function(data) { var html = ""; html += '<div class="race-sidebar-info" >' + '<div class="race-info-wrapper">' + '<h3>Rider Results</h3>' + '<button id="ResultsAll" data-raceid=' + id + ' class="btn btn-primary">Back</button>' + '<ul class="race-details">'; $.each(data, function() { html += '<li class="race-detail-item ">' + '<div class="race-detail-item-left">Rider Code</div>' + '<div class="race-detail-item-right">' + this.CODE + '</div>' + '<div class="race-detail-item-left">Rider Name</div>' + '<div class="race-detail-item-right">' + this.RIDER + '</div>' + '<div class="race-detail-item-left">Horse Code</div>' + '<div class="race-detail-item-right">' + this.HCODE + '</div>' + '<div class="race-detail-item-left">Horse Name</div>' + '<div class="race-detail-item-right">' + this.HORSE + '</div>' + '<div class="race-detail-item-left">Distance</div>' + '<div class="race-detail-item-right">' + this.DIST + ' km</div>'; if (this.CAT != 'T') { html += '<div class="race-detail-item-left">Position</div>' + '<div class="race-detail-item-right">' + this.POS + '</div>' + '<div class="race-detail-item-left">Weight</div>' + '<div class="race-detail-item-right">' + this.KG + ' kg</div>'; } html += '<div class="race-detail-item-left">Category</div>' + '<div class="race-detail-item-right">' + this.CAT + '</div>'; if (this.REASON != '') { html += '<div class="race-detail-item-left">Disq</div>' + '<div class="race-detail-item-right">' + this.DISQ + '</div>' + '<div class="race-detail-item-left">Reason</div>' + '<div class="race-detail-item-right">' + this.REASON + '</div>'; } html += '</li></ul>'; html += t.GetLegHtmlHeader('Legs'); html += t.GetLegHtml(this.TIME1, this.SPEED1, this.SLIP1, this.PUL1, 1); html += t.GetLegHtml(this.TIME2, this.SPEED2, this.SLIP2, this.PUL2, 2); html += t.GetLegHtml(this.TIME3, this.SPEED3, this.SLIP3, this.PUL3, 3); html += t.GetLegHtml(this.TIME4, this.SPEED4, this.SLIP4, this.PUL4, 4); html += t.GetLegHtml(this.TIME5, this.SPEED5, this.SLIP5, this.PUL5, 5); html += t.GetLegHtml(this.TIME6, this.SPEED6, this.SLIP6, this.PUL6, 6); html += "<thead><th></th>"; html += "<th>Total Time</th>"; html += "<th>Avg. Speed</th>"; html += "<th>Total Slip</th>"; html += "<th>Prevet Pulse</th>"; html += "</thead><tbody>"; html += '<tr>'; html += '<td></td>'; html += '<td>' + this.TIME + '</td>'; html += '<td>' + this.SPEED + '</td>'; html += '<td>' + this.TOTSLIP + '</td>'; html += '<td>' + this.PULS + '</td>'; html += '</tr>'; }); html += '</tbody></table>' + '<div class="blam"></div>' + '</div>' + '</div>'; $('#results_details').html(html); } }); } this.GetLegHtmlHeader = function(header) { var html = '<H3>' + header + '</h3><table class="table table-bordered">'; html += "<thead><th>Leg</th>"; html += "<th>Time</th>"; html += "<th>Speed</th>"; html += "<th>Slip</th>"; html += "<th>Pulse</th>"; html += "</thead><tbody>"; return html; } this.GetLegHtml = function(time, speed, slip, pulse, i) { if (time != '') { var html = '<tr>'; html += '<td>' + i + '</td>'; html += '<td>' + time + '</td>'; html += '<td>' + speed + '</td>'; html += '<td>' + slip + '</td>'; html += '<td>' + pulse + '</td>'; html += '</tr>'; return html; } else return ''; } this.LoadButtons = function(callback) { var t = this.id; $.ajax({ url: 'Objects/ride_func.php', type: 'POST', data: 'raceid=' + this.id + '&function=getRidesButtons', dataType: 'JSON', async: true, beforeSend: function() {}, success: function(data) { var html = ""; var rhtml = ""; $.each(data, function() { if (this.isResultDoc == '0') { html += '<div class="row"><div class="col"><a class="m-text" href="https://www.xrc.co.za/Objects/dlfile.php?raceid=' + t + '&docid=' + this.id + '" target="_blank">' + this.name + '</a></div></div>'; } else { rhtml += '<div class="row"><div class="col"><a class="m-text" href="https://www.xrc.co.za/Objects/dlfile.php?raceid=' + t + '&docid=' + this.id + '" target="_blank">' + this.name + '</a></div></div>'; } }); return callback(html); } }); } this.LoadButtonsEdit = function(callback) { var t = this.id; $.ajax({ url: 'Objects/ride_func.php', type: 'POST', data: 'raceid=' + this.id + '&function=getRidesButtons', dataType: 'JSON', async: true, beforeSend: function() {}, success: function(data) { var html = ""; var rhtml = ""; $.each(data, function() { if (this.isResultDoc == '0') { html += '<div class="row"><div class="col"><a onClick="deleteDocument(' + this.id + ')" role="button"><img src="images/untag.png" style="height: 20px;" class="pr-2" /></a><a class="m-text" href="https://www.xrc.co.za/Objects/dlfile.php?raceid=' + t + '&docid=' + this.id + '" target="_blank">' + this.name + '</a></div></div>'; } else { rhtml += '<div class="row"><div class="col"><a onClick="deleteDocument(' + this.id + ')" role="button"><img src="images/untag.png" style="height: 20px;" class="pr-2" /></a><a class="m-text" href="https://www.xrc.co.za/Objects/dlfile.php?raceid=' + t + '&docid=' + this.id + '" target="_blank">' + this.name + '</a></div></div>'; } }); return callback(html); } }); } this.LoadLengths = function(callback) { var t = this.id; var ride = this; if (this.hasResults == 1) { return callback(); } else { $.ajax({ url: 'Objects/ride_func.php', type: 'POST', data: 'raceid=' + this.id + '&function=getRidesLengths', dataType: 'JSON', async: true, beforeSend: function() {}, success: function(data) { var html = "<div class='row faded m-text mt-2 mb-2'>"; html += "<div class='col-3 col-md-3'>Day</div>"; html += "<div class='col-4 col-md-3'>Distance</div>"; html += "<div class='col-2 col-md-3'>Entries</div>"; html += "<div class='col-3 col-md-3'>Price</div>"; html += "</div>"; var isFEI = 'FEI'; $.each(data, function() { if (this.isFEI == '0') isFEI = 'ERASA'; else if (this.isFEI == '1') isFEI = 'FEI'; else if (this.isFEI == '2') isFEI = 'NERA'; else if (this.isFEI == '3') isFEI = 'Fun Ride'; //ToRemove if (this.isFEI == '3') return; html += '<div class="row m-text around-border p-1">'; html += '<div class="col-3 col-md-3 pt-2">' + this.day + '</div>'; html += '<div class="col-4 col-md-3"><div class="row"><div class="col">' + this.description + ' </div></div>'; if (ride.isBikeRide == undefined || ride.isBikeRide == 0) html += '<div class="row"><div class="col faded s-text">' + isFEI + '</div></div>'; html += '</div>'; if (this.isFEI != '3') html += '<div class="col-2 col-md-3 pt-2">' + this.entries + '</div>'; else html += '<div class="col-2 col-md-3 pt-2"></div>'; html += '<div class="col-3 col-md-3 pt-2" data-price="' + this.price + '" class="edit_price"><span class="faded s-text">R </span>' + this.price + '<span class="faded s-text">.00</span></div>'; html += '</div>'; }); return callback(html); } }); } } this.LoadLengthsEdit = function(callback) { var t = this.id; var ride = this; if (this.hasResults == 1) { return callback(); } else { $.ajax({ url: 'Objects/ride_func.php', type: 'POST', data: 'raceid=' + this.id + '&function=getRidesLengths', dataType: 'JSON', async: true, beforeSend: function() {}, success: function(data) { var html = "<div class='row faded m-text mt-2 mb-2'>"; html += "<div class='col-2 col-md-3'>Actions</div>"; html += "<div class='col-3 col-md-3'>Day</div>"; html += "<div class='col-4 col-md-3'>Distance</div>"; html += "<div class='col-3 col-md-3'>Price</div>"; html += "</div>"; var isFEI = 'FEI'; $.each(data, function() { if (this.isFEI == '0') isFEI = 'ERASA'; else if (this.isFEI == '1') isFEI = 'FEI'; else if (this.isFEI == '2') isFEI = 'NERA'; html += '<div class="row m-text around-border p-1">'; html += '<div class="col-3 col-md-3 pt-2" ><a onClick="deleteLength(' + this.id + ')" role="button"><img src="images/untag.png" style="height: 20px;" class="pr-2" /></a><a style="background-color:#cb0024;border-radius:4px;font-weight: 500;padding:3px;color:white;" href="/?page=editRaceLength&raceLengthId=' + this.id + '&raceid=' + t + '" role="button">Edit</a></div>'; html += '<div class="col-3 col-md-3 pt-2">' + this.day + '</div>'; html += '<div class="col-4 col-md-3"><div class="row"><div class="col">' + this.length + ' km</div></div>'; if (ride.isBikeRide == undefined || ride.isBikeRide == 0) html += '<div class="row"><div class="col faded s-text">' + isFEI + '</div></div>'; html += '</div>'; html += '<div class="col-3 col-md-3 pt-2" data-price="' + this.price + '" class="edit_price"><span class="faded s-text">R</span>' + this.price + '<span class="faded s-text">.00</span></div>'; html += '</div>'; }); return callback(html); } }); } } this.LoadOptionalsEdit = function(callback, showAll = false) { var t = this.id; if (this.hasResults == 1) { return callback(''); } else { $.ajax({ url: 'Objects/ride_func.php', type: 'POST', data: 'raceid=' + this.id + '&function=getRideOptionals', dataType: 'JSON', async: true, beforeSend: function() {}, success: function(data) { var html = "<div class='row faded m-text mt-2 mb-2'><div class='col'>Additional pricing</div></div>"; $.each(data, function() { if (showAll == true || this.optionaldisplay == '1') { html += '<div class="row m-text around-border p-1">'; html += '<div><a onClick="deleteCustom(' + this.optionalid + ')" role="button"><img src="images/untag.png" style="height: 20px;" class="pr-2" /></a></div>'; html += '<div class="col-9">' + this.optionalitem_name + ''; html += '<span class="faded s-text">' + this.optionalshort_desc + '</span></div>'; html += '<div class="col m-text"><span class="faded s-text">R </span>' + this.optionalprice + '<span class="faded s-text">.00</span></div></div>'; } }); return callback(html); } }); } } this.LoadOptionals = function(callback, showAll = false) { var t = this.id; if (this.hasResults == 1) { return callback(''); } else { $.ajax({ url: 'Objects/ride_func.php', type: 'POST', data: 'raceid=' + this.id + '&function=getRideOptionals', dataType: 'JSON', async: true, beforeSend: function() {}, success: function(data) { var html = "<div class='row faded m-text mt-2 mb-2'><div class='col'>Additional pricing</div></div>"; $.each(data, function() { if (showAll == true || this.optionaldisplay == '1') { html += '<div class="row m-text around-border p-1">'; html += '<div class="col-9">' + this.optionalitem_name + ''; html += '<span class="faded s-text">' + this.optionalshort_desc + '</span></div>'; html += '<div class="col m-text"><span class="faded s-text">R </span>' + this.optionalprice + '<span class="faded s-text">.00</span></div></div>'; } }); return callback(html); } }); } } this.Init = function(json) { this.id = json.id; this.title = json.title; this.description = json.description; this.weather = json.weather; this.start = json.start; this.end = json.end; this.location = json.location; this.Club = json.Club; this.organiserName = json.organiserName; this.organiserNumber = json.organiserNumber; this.paddockPrice = json.paddockPrice; this.mealPrice = json.mealPrice; this.length = json.length; this.bankdetails = json.bankdetails; this.hasResults = json.hasResults; this.isLive = json.isLive; this.isOpening = json.isOpening; this.hasDiscount = json.hasDiscount; this.disentries = json.disentries; this.disperc = json.disperc; this.isClosed = json.isClosed; this.isFEIClosed = json.isFEIClosed; this.isCancelled = json.isCancelled; this.isInternational = json.isInternational; this.isFS = json.isFS; this.isTerms = json.isTerms; this.terms = json.terms; this.closedate = json.closedate; this.hasGPS = json.hasGPS; this.isBikeRide = json.isBikeRide; this.entryAmounts = json.entryAmounts; this.daysleft = json.daysleft; this.image = json.image; }; this.Delete = function() { $.ajax({ url: 'Objects/ride_func.php', type: 'POST', data: 'raceid=' + this.id + '&function=deleteRide', dataType: 'JSON', async: true, beforeSend: function() { $('#btn_search_event_loader').html('<img src="images/loader-2.gif">'); }, success: function(data) { $('#btn_search_event_loader').html('<button id="btn_search_event" class="btn">Search</button>'); } }); } this.GetAccordianTop = function() { var clss = ''; var text = 'open'; var ride_type = '<img src="images/horse.svg"/>'; var link = "?page=events&p=view&raceid=" + this.id; var en = ' <div class="col">' + (this.entryAmounts ? this.entryAmounts : 0) + ' <span class="faded">Entries</span></div>'; var actionButton = 'ENTER'; if (this.isBikeRide == 1) ride_type = '<img src="images/bike_race.png"/>'; if (this.isBikeRide == 2) ride_type = '<img src="images/running.svg"/>'; if (this.isInternational == 1) { text = 'open'; } if (this.isClosed == 1) { text = 'closed'; actionButton = 'VIEW'; en = ''; } if (this.isOpening != 1 && this.isClosed == 1) { text = 'opening'; actionButton = 'OPENING SOON'; } if (this.isLive == 1) { text = 'live'; link = "?page=live_tracking&raceid=" + this.id; actionButton = 'LIVE'; } if (this.hasResults == 1) { text = 'results'; link = "?page=results&raceid=" + this.id; actionButton = 'RESULTS'; } if (this.isCancelled == 1) { text = 'cancelled'; actionButton = 'CANCELED'; } var st = 'style="color:white !important;background-color: rgba(90, 90, 90, 0.85);"'; if (this.isClosed != 1) { st = 'style="color:white !important;background-color: rgba(0, 0, 0, 0.35);"'; } var html = '<div class="col-md-6 col-lg-4 col-xs-12">' + ' <div class="row">' + ' <a class="col grow ride-card m-1" ' + 'style="background-image: url(\'' + this.image + '\'); background-size: cover;" href="' + link + '">' + ' <div class="row" ' + st + ' >' + ' <div class="col-3 mb-1 p-3 ' + clss + '">' + ' <div class="row"><div class="col text-center">' + text + '</div></div>' + ' <div class="row"><div class="col text-center">' + ride_type + '</div></div>' + ' </div>' + ' <div class="col-9">' + ' <div class="row p-1 bottom-border">' + ' <div class="col-10">' + ' <div class="row">' + ' <div class="col">' + this.title + '</div>' + ' </div>' + ' <div class="row">' + ' <div class="col">' + this.start + '</div>' + ' </div>' + ' </div>' + ' <div class="col-2">></div>' + ' </div>' + ' <div class="row p-1">' + en + ' </div>' + ' </div>' + ' </div>' + ' </a>' + ' </div>' + ' </div>'; html = `<div class="col-lg-4 col-md-12 mb-4"> <div class="view overlay z-depth-1-half"> <img src="` + this.image + `" class="img-fluid" alt=""> <div class="mask rgba-white-slight"></div> </div> <h4 class="my-4 font-weight-bold">` + this.start + `</h4> <p class="grey-text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Reprehenderit maiores nam, aperiam minima assumenda deleniti hic.</p> </div>`; html = `<div class="col-lg-4 col-md-12 mb-4"><div class="card card-cascade narrower"> <div class="view view-cascade overlay">`; if (this.image) { html += `<img class="card-img-top" src="` + this.image + `" alt="Card image cap">`; } else { html += `<img class="card-img-top" src="/images/jumbo_c.jpg" alt="Card image cap">`; } html += `<a> <div class="mask rgba-white-slight"></div> </a> </div> <div class="card-body card-body-cascade"> <h5 class="grey-text pb-2 pt-1"><i class="fas fa-horse"></i> Endurance</h5> <p class="mb-0"><i class="fas fa-calendar mr-2"></i>` + this.start + `</p> <p class="card-text">` + (this.description.length > 40 ? this.description.substring(0, 40) + '...' : this.description) + `</p><a href="` + link + `" class="btn btn-danger">` + actionButton + `</a> </div> <div class="card-footer text-muted text-center">`; if (this.daysleft > 0) html += this.daysleft + ` days ago` else if (this.daysleft < 0) { html += (this.daysleft * -1) + ` days to go`; } else if (this.daysleft == 0) { html += `LIVE NOW`; } html += `</div></div></div>`; return html; } this.GetCurrentRaceHtml = function() { var html = '<div class="row pt-2">' + ' <div class="col-12 faded s-text">GPS Location:</div>' + ' <div class="col dark-grey m-text"><a href="https://www.google.com/maps/place/' + this.location + '" target="_blank">' + this.location + '</a></div>' + '</div>' + '<div class="row pt-2">' + ' <div class="col-12 faded s-text">Club:</div>' + ' <div class="col dark-grey m-text">' + this.Club + '</div>' + '</div>' + '<div class="row pt-2">' + ' <div class="col-12 faded s-text">Organiser Name:</div>' + ' <div class="col dark-grey m-text">' + this.organiserName + '</div>' + '</div>' + '<div class="row pt-2">' + ' <div class="col-12 faded s-text">Organiser Tel:</div>' + ' <div class="col dark-grey m-text">' + this.organiserNumber + '</div>' + '</div>' + '<div class="row pt-2">' + ' <div class="col-12 faded s-text">Online Entries Closing Date:</div>' + ' <div class="col dark-grey m-text">' + this.closedate + '</div>' + '</div>' return html; } this.GetCurrentRaceEditHtml = function() { var html = ` <form id="ride" action="/?page=events&p=edit&raceid=${this.id}" method="post"> <input type="hidden" class="form-control" id="raceid" name="raceid" value="${this.id}"> <div class="form-group faded s-text"> <label for="name">Ride Name</label> <input type="text" class="form-control s-text" id="name" name="name" placeholder="Ride Name" value="${this.title}"> </div> <div class="form-group faded s-text"> <label for="weather">Weather Link</label> <input type="text" class="form-control s-text" id="weather" name="weather" placeholder="weather link" value="${this.weather}"><a target="_blank" href="https://weatherwidget.io/" >Search</a> </div> <div class="form-group faded s-text"> <label for="description">Description</label> <textarea type="textarea" rows="5" class="form-control s-text" id="description" name="description" placeholder="Description" value="${this.description}">${this.description}</textarea> </div> <div class="form-group faded s-text"> <label for="location">GPS Location</label> <input type="text" class="form-control s-text" id="location" name="location" placeholder="GPS Location" value="${this.location}"> </div> <div class="form-group faded s-text"> <label for="ridename">Club</label> <div><select class="form-control s-text" name="club" id="addraces_club"><option value="11">BETHLEHEM CLUB</option><option value="12">Bloemfontein</option><option value="13">Bloemhof</option><option value="65">Bona Bona</option><option value="63">Boshof</option><option value="27">Bray</option><option value="43">Capricorn</option><option value="18">CLARAWI ENDURANCE CLUB</option><option value="6">COLESBERG ENDURANCE CLUB</option><option value="36">Danielskuil</option><option value="7">East London</option><option value="54">ERASA</option><option value="55">Foreign</option><option value="59">George Riding Club</option><option value="4">GREC</option><option value="60">GREC_C</option><option value="66">GREC_Shop</option><option value="8">Hofmeyer</option><option value="9">Karoo</option><option value="37">Kathu</option><option value="38">KIMBERLEY ENDURANCE CLUB</option><option value="14">Koffiefontein</option><option value="15">Ladybrand</option><option value="64">Leandra</option><option value="28">LENNIESDEEL CLUB</option><option value="44">LETABA CLUB</option><option value="40">Lohatlha</option><option value="21">Loskopvallei</option><option value="41">LOUWNA CLUB</option><option value="16">Magersfontein</option><option value="10">Midlands</option><option value="22">Midvaal</option><option value="45">Mogale</option><option value="5">None</option><option value="53">Northwest</option><option value="42">Olifantshoek</option><option value="29">Ottosdal</option><option value="67">Outeniqua</option><option value="17">Petrusburg</option><option value="46">Platorand</option><option value="30">Potchefstroom</option><option value="47">Premier</option><option value="23">Pretoria Defense Force</option><option value="24">Rand Club</option><option value="25">Randfontein</option><option value="57">Sandveld</option><option value="31">Sannieshof</option><option value="19">SHAYA MOYA CLUB</option><option value="2">SIMONSTOWN CLUB</option><option value="61">Southern Drakensberg Club</option><option value="33">Stella</option><option value="1">Swartland</option><option value="32">Sweizer Renecke</option><option value="48">Thaba Endurance Club</option><option value="20">THREE RIVERS CLUB</option><option value="58">ToA Equestrian Club</option><option value="49">Waterberg</option><option value="3">WESKAAP CLUB</option><option value="62">WESKUS CLUB</option><option value="26">WILLEM PRINSLOO CLUB</option><option value="34">Wolmaranstad</option><option value="56">WP Unie</option><option value="35">Zeerust</option></select></div> </div> <div class="form-group faded s-text"> <label for="organiserName">Organiser Name:</label> <input type="text" class="form-control s-text" id="organiserName" name="organiserName" placeholder="Organiser Name" value="${this.organiserName}"> </div> <div class="form-group faded s-text"> <label for="organiserNumber">Organiser Tel:</label> <input type="text" class="form-control s-text" id="organiserNumber" name="organiserNumber" placeholder="Organiser Tel" value="${this.organiserNumber}"> </div> <div class="form-group faded s-text"> <label for="closedate">Online Entries Closing Date:</label> <input type="date" class="form-control s-text" id="closedate" name="closedate" value="${this.closedate.substring(0,10)}"> </div> <div class="form-group faded s-text"> <label for="date">Ride Date:</label> <input type="date" class="form-control s-text" id="date" name="date" value="${this.start.substring(0,10)}"> </div> <button onClick="document.getElementById('ride').submit()" class="btn btn-danger btn-sm" role="button"><img src="images/add.svg" class="pr-2" />Save Details</button> </form>` return html; } this.GetAccordianInner = function() { var html = ''; if (this.hasResults != 1) { html += '<div class="race-detail-item"><div class="actionButtonsSuper">'; html += '</div>'; } html += '</div><div class="actionButtonsLoading hidden"><img src="images/loader-2.gif"></div>' + '<div id="resultsarea' + this.id + '"></div>' + '<div class="loadingarea"></div>' + '<div class="allriders"></div>'; return html; } this.CreateRide = function() { $('#btn_save_add_event').addClass("disabled"); $('#btn_cancel_add_event').addClass("disabled"); var newride = new Object(); //newride.isFEI = $('input[name=RaceJur]:checked').val(); newride.name = $('#addraces_name').val(); newride.description = $('#addraces_description').val(); newride.location = $('#addraces_location').val(); newride.club = $('#addraces_club').val(); newride.date = $('#addraces_date').val(); newride.closingdate = $('#addraces_closingdate').val(); //newride.handicap =$('#addraces_handicap').val(); newride.organiserName = $('#addraces_organiser_name').val(); newride.organiserTel = $('#addraces_organiser_tel').val(); newride.paddockPrice = $('#addraces_paddock').val(); newride.mealPrice = $('#addraces_meals').val(); newride.isInternational = $('#addraces_isInternational').attr('checked') ? "1" : "0"; newride.hasDiscount = $('#addraces_hasdiscount').attr('checked') ? "1" : "0"; newride.disentries = $('#addraces_disentries').val(); newride.disperc = $('#addraces_disperc').val(); newride.raceslengths = $('#legchooser div.rideleg').map(function() { var r = new RideLenght(); r.Set(this); return r; }).get(); var json = encodeURIComponent(JSON.stringify(newride)); $.ajax({ url: 'pages/usersearch.php', type: 'POST', data: 'insert=' + json + '&function=AddEvent', dataType: 'JSON', async: true, beforeSend: function() { }, complete: function() { }, error: function(error) { alert('error; ' + eval(error)); }, success: function(response) { $('#add_event').removeClass('show_add_event'); var raceid = response.id; var error = response.error; if (error === '') { $('#btn_new_event').removeClass("hidden"); var rides = new Rides(); rides.Load($('#date_filter_from').val(), $('#date_filter_to').val()); $('#add_event').html(''); } else { alert(error); $('#btn_save_add_event').unbind(); } } }); } this.Update = function() { var json = JSON.stringify(this); $.ajax({ url: 'pages/usersearch.php', type: 'POST', data: 'insert=' + json + '&function=updateEvent', dataType: 'JSON', async: true, beforeSend: function() { }, complete: function() { }, error: function(error) { alert('error; ' + eval(error)); }, success: function(response) { var raceid = response.id; var error = response.error; if (error === '') { } else { alert(error); } } }); } this.GetLoadingAreaHeader = function() { var addrace = '<h3 id="myModalLabel">Riders:</h3>' + '<div class=\"newUsers\">' + '<div class=\"newUsersLoading hidden\"><img src=\"images/loader-2.gif\"></div>' + '<div class=\"newUsersSpace \">' + '<div class="race-sidebar-info">'; addrace += '<div class="race-info-wrapper" id ="race-riders-new"></div>' + '</div>' + '</div>' + '<div class=\"savedUsersSpace \">' + '<div class="race-sidebar">'; addrace += '<div class="race-info-wrapper" id ="race-riders-info"></div>' + '<ul class="race-details" id="current_race_payment" ></ul>' + '</div>' + '</div>' + '</div>'; return addrace; } this.LoadRideRiders = function(callback) { var id = this.id; var t = this; $.ajax({ url: 'pages/usersearch.php', type: 'POST', data: 'raceid=' + this.id + '&function=getRaceUsers', dataType: 'JSON', async: true, beforeSend: function() {}, complete: function() {}, error: function(xhr, ajaxOptions, thrownError) { return callback('error'); }, success: function(data) { var counter = 0; var html = ''; if (0 >= data.length) { return callback('<div class="s-text">No entries added yet</div>'); } else { var count = 0; $.each(data, function(i, item) { count++; var r = new Rider(); r.init(item); r.SavedHtml(this, toReturn); }); } function toReturn(h) { counter++; html += h; if (counter === data.length && t.isLive != '1') { html += '<div class="row"><div class="col"><form class="" action="?page=process" method="POST" >' + '<input type="hidden" name="raceid" value="' + id + '">' + '<input class="btn-sm btn-outline-danger" type="submit" value="Get Payment Details">' + '</form></div></div>'; return callback(html); } } } }); } } </script><script> function Horse() { this.init = function(json) { this.id = json.horseid; this.code = json.hcode; this.name = json.horse; this.color = json.colour; this.sex = json.sex; this.breed = json.breed; } } </script><script> function Rider() { this.init = function(json) { this.raceuserid = json.raceuserid; this.raceid = json.raceid; this.israceclosed = json.israceclosed; this.racerid = this.raceuserid; this.userid = json.userid; this.initials = json.initials; this.name = json.name; this.code = json.code; this.distanceid = json.distanceid; this.typeid = json.typeid; this.paddock = json.paddock; this.meals = json.meals; this.length = json.length; this.description = json.description; this.horse = new Horse(); this.horse.init(json); this.isdayrider = (parseInt(json.isdayrider) == 1)?0:1; this.isFEI = json.isFEI; this.FeiRiderCode = json.FeiRiderCode; this.FeiHorseCode = json.FeiHorseCode; this.callname = json.callname; this.isCompetitave = json.isCompetitave; this.paid = json.paid; this.bibnumber = json.bibnumber; this.isHNovice = json.isHNovice; this.isStallion = json.isStallion; this.seniorcode = json.seniorcode; this.seniorname = json.seniorname; this.isForeign = json.isForeign; this.foreign_horse_passport = json.foreign_horse_passport; this.foreign_country = json.foreign_country; this.foreign_code = json.foreign_code; this.groom_name = json.groom_name; this.groom_number = json.groom_number; this.groom_email = json.groom_email; this.FEIRiderStatus = json.FEIRiderStatus; this.FEIHorseStatus = json.FEIHorseStatus; this.FEIHorseStatus1 = json.FEIHorseStatus1; this.FEIHorseStatus2 = json.FEIHorseStatus2; } this.AddLoggedInToRace = function(raceid,accordianId,isTerms,terms) { $.ajax({ url: "pages/usersearch.php", type: "POST", data: 'query='+ raceid+'&function=getUserFromId', dataType: "JSON", async: true, beforeSend:function() { $(".actionButtons").addClass("hidden"); $("#main_display .actionButtonsLoading").removeClass("hidden"); }, complete:function() { $("#main_display .actionButtonsLoading").addClass("hidden"); }, success: function(data) { $.each(data, function() { var r = new Rider(); r.raceid = raceid; r.init(this); if($("#main_display .costcalc").html() === "") { var ride = $(document).data('r'+raceid); ride.RecalculateCost(); } r.raceid = raceid; r.AddToRace(isTerms,terms); //addUser(data.code,raceid); }); //var ride = new Ride(); } }); } this.AddToRace = function(isTerms,terms) { $('#race-riders-new').empty().append('<div class="undone"><ul class="race-details">'+this.GetPart('','','',isTerms,terms)+'</ul></div>'); } this.HorseSelectSuccess = function(selector) { var rider = this; var row = $("#horsetypeahead_"+rider.racerid).parents(selector); //horse id row.find(".save_horseid").val(rider.horse.id); row.find(".horse_code_title").removeClass('hidden'); row.find(".horse_code").removeClass('hidden').html(rider.horse.code); row.find(".horse_btn_"+rider.racerid).removeClass('hidden'); row.find(".horse_name_title").removeClass('hidden'); row.find(".horse_name").removeClass('hidden').html(rider.horse.name); row.find(".horse_color_title").removeClass('hidden'); row.find(".horse_color").removeClass('hidden').html(rider.horse.color); row.find(".horse_sex_title").removeClass('hidden'); row.find(".horse_sex").removeClass('hidden').html(rider.horse.sex); } this.AddToRaceFromCode = function(raceid,isInternational,isTerms,terms,isBikeRide) { if(isBikeRide > 0) { this.code = raceid; this.raceid = raceid; this.isFEI = 0; this.isBikeRide = isBikeRide; var buttons='<ul class="undone"><ul class="race-details"><li class="race-detail-item "><div class="race-detail-item-left"><span class="btn remove_item btn-danger remove_undone" >Cancel</span><span id="savebike" class="btn btn-success" >Save</span></div></li>' +'<div class="secret">' +'<input type="text" class="day_raceid hidden" value="'+this.raceid+'"></div>' +'<li class="race-detail-item "><div class="race-detail-item-left race-detail-header-payment">Enter your Rider information</div>' +'<li class="race-detail-item ">' +'<div class="race-detail-item-left race-detail">Category</div>' +'<div class="race-detail-item-right"><input type="radio" name="type_select_'+this.code+'" value="Child">Child </div></li>' +'<li class="race-detail-item "><div class="race-detail-item-right"><input type="radio" name="type_select_'+this.code+'" checked="checked" value="Senior">Senior </div></li>' +'<li class="race-detail-item"><div class="race-detail-item-left">Initials</div>' +'<div class="race-detail-item-right"><input class="day_initials" type="text" /></div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">First name</div>' +'<div class="race-detail-item-right user_name"><input class="day_name" type="text" /></div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Surname</div>' +'<div class="race-detail-item-right user_surname"><input class="day_surname" type="text" /></div></li>' +'<li class="race-detail-item"><div class="race-detail-item-left">Email Address</div>' +'<div class="race-detail-item-right"><input class="day_email" type="text" /></div></li>' +'<li class="race-detail-item"><div class="race-detail-item-left">Cellphone number</div>' +'<div class="race-detail-item-right"><input class="day_cell" type="text" /></div></li>' +'<li class="race-detail-item ">' +'<div class="race-detail-item-left race-detail">Distance</div>' +'<div class="race-detail-item-right"><select class="distance_select span2" id="distance_select_'+this.code+'"></select></div></li></ul>' +'<div class="user_optionals" id="user_optionals_'+this.code+'"></div>'; this.getRaceLengthSelect(); this.getRaceOptionals(); return buttons; } else { this.raceid = raceid; return '<ul class="undone"><ul class="race-details">'+this.GetPart('','add',isInternational,isTerms,terms)+'</ul>'; } } this.getRaceLengthSelect = function() { var rider = this; $.ajax({ url: 'Objects/ride_func.php', type: 'POST', data: 'raceid='+ rider.raceid+'&function=getRidesLengths', dataType: 'JSON', async: false, success: function(data) { $.each(data, function(i, value) { if(parseInt(value["isFEI"]) == 1) { if(rider.isFEI == 1) $('#distance_select_'+rider.code).append($('<option>').text(value["description"]+"").attr('value', value["id"])); //TODO Add message - There are no FEI rides for this race } else { if(rider.isFEI == 0) { if(parseInt(rider.isdayrider) == 1 || rider.horsename != 'undefined') { if(value["isDay"] == '1') $('#distance_select_'+rider.code).append($('<option>').text(value["description"]+"").attr('value', value["id"])); else if(rider.isforeignrider == 1 || value["isInternational"] == '1') $('#distance_select_'+rider.code).append($('<option>').text(value["description"]+"").attr('value', value["id"])); } else { if(value["isDayOnly"] == '0') $('#distance_select_'+rider.code).append($('<option>').text(value["description"]+"").attr('value', value["id"])); } } } }); $('#distance_select_'+rider.code + ' option').each(function() { this.selected = (this.value == rider.distanceid); }); }, error: function (xhr, ajaxOptions, thrownError) { alert(xhr.status); alert(thrownError); } }); } this.getRaceOptionals = function() { var rider = this; $.ajax({ url: 'Objects/ride_func.php', type: 'POST', data: 'raceid='+ rider.raceid+'&function=getRideOptionals', dataType: 'JSON', async: false, success: function(data) { var optionals = $('#user_optionals_'+rider.code); $.each(data, function(i, value) { var clas = ""; var max = ""; var countleft = 1; if(this.viewOnly == 1) clas = "hidden"; var h = '<li class="race-detail-item '+clas+'"><div class="race-detail-item-left race-detail">'+this.optionala_item_name+'</div><div class="race-detail-item-right">'; if(this.optionalmax > 0) { countleft = this.optionalmax - this.counter; h += countleft +' left -'; } if(countleft <= 0) { h += 'No more available'; } else { if(this.optionaltype =='checkbox') { if(this.optionalvalue == 1) { h += this.optionala_short_desc+' <input class="user_optional span2" data-optionalid="'+this.optionalid+'" type="checkbox" checked></input>'; } else{ h += this.optionala_short_desc+' <input class="user_optional span2" data-optionalid="'+this.optionalid+'" type="checkbox" value="'+this.optionalvalue+'"></input>'; } } else if(this.optionaltype =='number') { h += this.optionala_short_desc+' <input class="user_optional span2" data-optionalid="'+this.optionalid+'" type="number" min="'+this.optionalmin_val+'" max="'+this.optionalmax_val+'" value="'+this.optionalvalue+'">'; } else if(this.optionaltype =='text') { h += this.optionala_short_desc+' <input class="user_optional span2" data-optionalid="'+this.optionalid+'" type="text" value="'+this.optionalvalue+'"></input>'; } } h += '</div></li>'; optionals.append(h); }); }, error: function (xhr, ajaxOptions, thrownError) { alert(xhr.status); alert(thrownError); } }); }; this.getRaceTypeSelect = function(raceid) { $.ajax({ url: 'pages/usersearch.php', type: 'POST', data: 'raceid='+ raceid+'&function=getRaceTypeSelect', dataType: 'JSON', async: false, success: function(data) { $.each(data, function(i, value) { //$('#type_select_'+this.code).append($('<option>').text(value["entry_type"]).attr('value', value["id"])); }); }, error: function (xhr, ajaxOptions, thrownError) { alert(xhr.status); alert(thrownError); } }); } this.RemoveFromRace = function(riderblock) { var user_id = 0; ; var raceid = this.raceid; var str = 'raceuserid='+ this.raceuserid +'&function=deleteUserToRace'; $.ajax( { url: 'pages/usersearch.php', type: 'POST', data: str, dataType: 'JSON', async: true, error: function (xhr, ajaxOptions, thrownError) { alert(xhr.status); alert(thrownError); }, success: function(response) { var affected_rows= response.affected_rows; var error= response.error; if(error === '') { //alert(affected_rows); riderblock.remove(); var i =0; $(".newUsersSpace").children().each(function(index,value) { i++; }); $(".savedUsersSpace").children().each(function(index,value) { i++; }); if(i == 0) { $("#searchthis").unbind(); $("#Save_riders").unbind(); $("#Cancel_riders").unbind(); $("#selectthis").unbind(); $(".actionButtons").removeClass('hidden'); $(".loadingarea").html(''); $(".costcalc").html(''); } else { var ride = $(document).data('r'+raceid); ride.RecalculateCost(); ride.LoadAllUsers(); } } else { alert(error); } } }); } this.GetNonRegHorsePart = function(horse_name,horse_colour,horse_sex,horse_breed,horse_passport,isInternational) { var html = '<li class="race-detail-item "><div class="race-detail-item-left race-detail-header-payment">Enter your Horse information</div>' +'<div class="race-detail-item-right description"></div></li>' +'<li class="race-detail-item"><div class="race-detail-item-left">Name</div>' +'<div class="race-detail-item-right"><input class="horse_name" type="text" value="'+horse_name+'"/></div></li>' +'<li class="race-detail-item"><div class="race-detail-item-left">Color</div>' +'<div class="race-detail-item-right"><input class="horse_colour" type="text" value="'+horse_colour+'"/></div></li>' +'<li class="race-detail-item"><div class="race-detail-item-left">Sex</div>' +'<div class="race-detail-item-right"><select class="horse_sex" type="text" >'; html += this.SetOption('MARE','M',horse_sex); html += this.SetOption('GELDING','G',horse_sex); html += this.SetOption('STALLION','S',horse_sex); html += '</select></div></li>' +'<li class="race-detail-item"><div class="race-detail-item-left">Breed</div>' +'<div class="race-detail-item-right"><select class="horse_breed" type="text" >'; html += this.SetOption('ANGLOARAB','ANGLOARAB',horse_breed); html += this.SetOption('APPALOOSA','APPALOOSA',horse_breed); html += this.SetOption('ARABIAN','ARABIAN',horse_breed); html += this.SetOption('PARTARAB','PARTARAB',horse_breed); html += this.SetOption('THB','THB',horse_breed); html += this.SetOption('CROSSBRED','CROSSBRED',horse_breed); html += this.SetOption('BOERPERD','BOERPERD',horse_breed); html += this.SetOption('NOOITGEDACHT','NOOITGEDACHT',horse_breed); html += this.SetOption('SADDLER','SADDLER',horse_breed); html += this.SetOption('OTHER','OTHER',horse_breed); html += '</select></div></li>' var c = 'hidden'; if(isInternational == '1') c=''; html += '<li class="race-detail-item '+c+'"><div class="race-detail-item-left">Passport Number</div>' +'<div class="race-detail-item-right"><input class="horse_passport" type="text" value="'+horse_passport+'"/></div></li>' return html; } this.SetOption = function(s,value,compare) { var html = '<option value="'; if(value == compare) html += value+'" selected >'+s+'</option>'; else html += value+'" >'+s+'</option>'; return html; } this.GetRegHorsePart = function() { var html = '<li class="race-detail-item "><div class="race-detail-item-left race-detail-header-payment">Select the Horse</div>' +'<div class="race-detail-item-right"></div></li>' +'<li class="race-detail-item ">' +'<div class="race-detail-item-left race-detail-header-payment">Search by' +'<br><select id="horseSelectBy'+this.code+'">' +'<option value="code">UV Code</option>' +'<option value="name">Horse Name</option>' +'<option value="passport">Passport No</option>' +'</select><br>Search for<br>' +'<input type="text" class="add-on" id="input_HSearch_Code'+this.code+'"/>' +'<br><span data-wheresearch="horseSelectBy'+this.code+'" data-selectname="horseSelectSearch'+this.code+'" data-function="getHorses" data-searchphrase="input_HSearch_Code'+this.code+'" id="searchthis" data-raceid="'+this.raceid+'" class="btn">Search</span></div>' +'<div class="race-detail-item-right"></div></li>' +'<li class="race-detail-item ">' +'<div class="race-detail-item-left race-detail-header-payment">Select your item<br><select SIZE=8 class="span5" multiple="multiple" id="horseSelectSearch'+this.code+'"></select><br>(Loaded top 20 results)</div></li>'; return html; } this.SetSaved = function(part) { this.raceid = $(part).find('.save_raceid')[0].value; this.isInternational = $(part).find('.save_isinternatinal')[0].value; this.isdayrider = $(part).find('.save_isdayrider')[0].value; this.isforeignrider = $(part).find('.save_isforeignrider')[0].value; this.racerid = $(part).find('.save_racerid')[0].value; this.code = $(part).find('.save_code')[0].value; this.initials = $(part).find('.save_initials')[0].value; this.name = $(part).find('.save_name')[0].value; this.isFEI = (isNaN(parseInt($(part).find('.save_isfei')[0].value))) ?3: parseInt($(part).find('.save_isfei')[0].value); this.isCompetitave = parseInt($(part).find('.save_iscomp')[0].value); this.type = $(part).find('.save_type')[0].value; this.regHorse = $(part).find('.save_hreg')[0].value; this.regRider = $(part).find('.save_rreg')[0].value; this.horsename = $(part).find('.save_hname')[0].value; this.horsesex = $(part).find('.save_hsex')[0].value; this.horsecolour = $(part).find('.save_hcolour')[0].value; this.horsebreed = $(part).find('.save_hbreed')[0].value; this.horsepassport = $(part).find('.save_hpassport')[0].value; this.horsecode = $(part).find('.save_hcode')[0].value; this.seniorcode = $(part).find('.save_scode')[0].value; this.feiRcode = $(part).find('.save_feircode')[0].value =="undefined"?"":$(part).find('.save_feircode')[0].value; this.feiHcode = $(part).find('.save_feihcode')[0].value; this.feiHBcode = $(part).find('.save_feihbcode')[0].value; this.isHNovice = (isNaN(parseInt($(part).find('.save_isHNovice')[0].value))) ?3: parseInt($(part).find('.save_isHNovice')[0].value); this.isStallion = (isNaN(parseInt($(part).find('.save_isStallion')[0].value))) ?3: parseInt($(part).find('.save_isStallion')[0].value); this.bibnumber = $(part).find('.save_bibnumber')[0].value; this.groom_name = $(part).find('.save_groom_name')[0].value; this.groom_number = $(part).find('.save_groom_number')[0].value; this.groom_email = $(part).find('.save_groom_email')[0].value; this.dayrider_initials= $(part).find('.save_dr_initials')[0].value; this.dayrider_name= $(part).find('.save_dr_name')[0].value; this.dayrider_surname= $(part).find('.save_dr_surname')[0].value; this.foreignrider_country= $(part).find('.save_fr_country')[0].value; this.foreignrider_code= $(part).find('.save_fr_code')[0].value; } this.GetPart = function(part,next,isInternational,isTerms,terms) { var errormessage=''; html =''; var v = 1; var oldv = v; var UserSearchboxtext=""; try { if(part != '') { var testv = parseInt($(part).find('.save_part')[0].value); if(testv == 999) { this.SetSaved(part); next = 'add'; var at = $(part).find('#accept_terms')[0]; if (!at.checked) { //next = 'add'; this.raceid = $(part).find('.save_raceid')[0].value; var ride = $(document).data('r'+this.raceid); isTerms = ride.isTerms; terms = ride.terms; alert("Please tick the box to indicate that you are qualified to enter."); } } } if(next=='next') { v = parseInt($(part).find('.save_part')[0].value); oldv = v; this.SetSaved(part); if(v == 5) { this.type = $(part).find('input[name=type_select_'+this.code+']:checked')[0].value; if(this.isFEI ==3) { this.isCompetitave =0; this.isFEI = 0; } } if(v == 10) { this.isdayrider = 1; this.dayrider_initials = $(part).find('.day_initials')[0].value; this.dayrider_name = $(part).find('.day_name')[0].value; this.dayrider_surname = $(part).find('.day_surname')[0].value; v = 5; } if(v == 2 && this.code != "undefined" || v == 2 && this.regRider == 'ForeignRider') this.isFEI = $(part).find('input[name=erasa_select_'+this.code+']:checked')[0].value == 'FEI'? 1 : 0; if(v == 13) { this.isforeignrider = 1; this.dayrider_initials = $(part).find('.day_initials')[0].value; this.dayrider_name = $(part).find('.day_name')[0].value; this.dayrider_surname = $(part).find('.day_surname')[0].value; this.foreignrider_country = $(part).find('.foreign_country')[0].value; this.foreignrider_code = $(part).find('.foreign_code')[0].value; if(this.dayrider_initials == '' || this.dayrider_surname == '') throw "empty"; v = 2; } if(v == 6 && this.regRider == "Registered" && this.isFEI == 3) { this.code = $('#userSelectSearch'+this.code+'').val()[0]; this.isdayrider = 0; v = 2; } if(v == 9) { this.regRider = $(part).find('input[name=type_select_main]:checked')[0].value; if(this.regRider == 'Registered') v = 6; else if(this.regRider == 'ForeignRider') v = 13; else v = 10; } if(v == 4) this.isCompetitave = $(part).find('input[name=type_select_main_'+this.code+']:checked')[0].value == 'Competitive'? 1 : 0; if(v == 11) this.regHorse = $(part).find('input[name=type_select_hreg_'+this.code+']:checked')[0].value; if(v == 7) { this.horsename = $(part).find('.horse_name')[0].value.replace(/\W/g, ''); this.horsesex = $(part).find('.horse_sex')[0].value; this.horsecolour = $(part).find('.horse_colour')[0].value.replace(/\W/g, '').substring(0,10);; this.horsebreed = $(part).find('.horse_breed')[0].value; if(this.isInternational == '1') this.horsepassport = $(part).find('.horse_passport')[0].value; else this.horsepassport =''; } if(v == 12) { this.horsecode = $('#horseSelectSearch'+this.code+'').val()[0]; } if(v == 6 && this.type != "undefined") { this.seniorcode = $('#userSelectSearch'+this.code+'').val()[0]; } if(v == 3) { this.feiRcode = $(part).find('.fei_member_'+this.code)[0].value; this.feiHcode = $(part).find('.fei_horse_'+this.code)[0].value; this.feiHBcode = $(part).find('.fei_horsebackup_'+this.code)[0].value; } if(v == 1) v=2; //Save button if(v == 8) { this.distanceid = $('#distance_select_'+this.code).val(); this.paddock = '0';//$(part).find('.user_paddock')[0].value; this.meals = '0';//$(part).find('.user_meal')[0].value; var ch = $(part).find('.user_hnovice')[0]; this.isHNovice = ch.checked == true ? 1 : 0; var ch1 = $(part).find('.user_stallion')[0]; this.isStallion = ch1.checked == true ? 1 : 0; this.bibnumber = $(part).find('.user_bib')[0].value; this.groom_name = $(part).find('.user_groom_name')[0].value; this.groom_number = $(part).find('.user_groom_number')[0].value; this.groom_email = $(part).find('.user_groom_email')[0].value; var con1 = $(part).find('.user_confirm1')[0]; this.check1 = con1.checked == true ? 1 : 0; var con2 = $(part).find('.user_confirm2')[0]; this.check2 = con2.checked == true ? 1 : 0; var con3 = $(part).find('.user_confirm3')[0]; this.check3 = con3.checked == true ? 1 : 0; this.optionals = new Array(); var ri = this; var ps = $(part).find('.user_optional'); $.each(ps,function() { if(this.type == 'checkbox') { var te = this.checked == true?'1':'0'; ri.optionals.push({id: $(this).data('optionalid'), value: te}); } else { ri.optionals.push({id: $(this).data('optionalid'), value: this.value}); } }); } else { if(this.isFEI == 1) { v = 3; if(this.feiRcode != "undefined" && this.feiHcode != "undefined" && this.feiRcode != "" && this.feiHcode != "") { v=5; this.isCompetitave = 1; if(this.type =='Child') { v=6; UserSearchboxtext="SENIOR "; if(this.seniorcode!= "undefined") { v=12; if(this.horsecode!= "undefined") { v=8; } } } if(this.type =='Junior' || this.type =='Senior') { if(this.isInternational == '1') { v=11; if(this.regHorse == 'Registered') { v=12; if(this.horsecode!= "undefined") { v=8; } } else if(this.regHorse == 'NotRegistered') { v=7; if(this.horsename != "undefined") { v=8; } } } else { v=11; if(this.regHorse == 'Registered') { v=12; if(this.horsecode!= "undefined") { v=8; } } else if(this.regHorse == 'NotRegistered') { v=7; if(this.horsename != "undefined") { v=8; } } } } } } //ERASA else if (this.isFEI == 0) { //Competitave and Trapleer v = 4; //if(this.isInternational == '1') this.isCompetitave = 1; if(this.isCompetitave == 1 || this.isCompetitave == 0) { v = 5; if(this.type =='Child') { v=6; UserSearchboxtext="SENIOR "; if(this.seniorcode!= "undefined") { v=11; if(this.regHorse == 'Registered') { v=12; if(this.horsecode!= "undefined") { v=8; } } else if(this.regHorse == 'NotRegistered') { v=7; if(this.horsename != "undefined") { v=8; } } } } if(this.type =='Junior' || this.type =='Senior') { v=11; if(this.regHorse == 'Registered') { v=12; if(this.horsecode!= "undefined") { v=8; } } else if(this.regHorse == 'NotRegistered') { v=7; if(this.horsename != "undefined") { v=8; } } } } } } } else if(next=='add') { v = 9; if(isInternational == 1) this.isInternational = isInternational; if(isTerms == '1') { v = 999; } } else if(next=='back') { v = parseInt($(part).find('.save_part')[0].value); oldv = v; this.SetSaved(part); if(v == 6 && this.isFEI == 3) v=9; else if(v == 2 && this.isforeignrider != 1) {v=6;this.isFEI = 3;} else if(v == 2 && this.isforeignrider == 1) {v=13;this.isFEI = 3;} else if(v == 10) v=9; else if(v == 13) v=9; else if(v == 4) v=2; else if(v == 3) v=2; else if(v == 5 && this.isdayrider == 1 && this.isInternational == 0) v=10; else if(v == 5 && this.isdayrider != 1 && this.isInternational == 0) v=4; else if(v == 5 && this.isdayrider != 1 && this.isInternational == 1 && this.isFEI == 0) v=2; else if(v == 5 && this.isdayrider != 1 && this.isInternational == 1 && this.isFEI == 1) v=3; else if(v == 6 && this.type != "undefined"){ v=5;this.type == "undefined";} else if(v == 11 && this.seniorcode!= "undefined") v=6; else if(v == 11 && this.seniorcode== "undefined") v=5; else if(v == 12 ){ v=11;} else if(v == 7 ) v=11; else if(v == 8 && this.isFEI == 1) v=3; else if(v == 8 && this.regHorse == "NotRegistered"){ v=7; this.horsename = "undefined"; } else if(v == 8 && this.regHorse == 'Registered'){ v=12; this.horsecode = "undefined"; } } else { v = 1; //create rider from user var raceid = this.raceid; var racerid = this.racerid; var code = this.code; var initials = this.initials; var name = this.name; var isdayrider = this.isdayrider; if(parseInt(this.isdayrider) == 1) { v = 5; this.isFEI = 0; this.isCompetitave = 0; } } } catch(e) { if(oldv==6) errormessage = 'Please make a selection by clicking your choice in the search box. After highlighting your choice you will be able to proceed by clicking Next.'; if(oldv==12) errormessage = 'Please make a selection by clicking your choice in the search box. After highlighting your choice you will be able to proceed by clicking Next.'; if(oldv==13) errormessage = 'Please complete your initials and surname.'; alert(errormessage); } finally { html = '<li class="race-detail-item race-detail-header-payment"><div class="race-detail-item-left race-detail-header-payment">______________________________</div>' +'<div class="race-detail-item-right description"></div></li>' html += '<div class="secret">' +'<input type="text" class="save_raceid hidden" value="'+this.raceid+'">' +'<input type="text" class="save_isinternatinal hidden" value="'+this.isInternational+'">' +'<input type="text" class="save_racerid hidden" value="'+this.racerid+'">' +'<input type="text" class="save_code hidden" value="'+this.code+'">' +'<input type="text" class="save_initials hidden" value="'+this.initials+'">' +'<input type="text" class="save_name hidden" value="'+this.name+'">' +'<input type="text" class="save_part hidden" value='+v+'>' +'<input type="text" class="save_isfei hidden" value='+this.isFEI+'>' +'<input type="text" class="save_iscomp hidden" value='+this.isCompetitave+'>' +'<input type="text" class="save_type hidden" value='+this.type+'>' +'<input type="text" class="save_hreg hidden" value='+this.regHorse+'>' +'<input type="text" class="save_rreg hidden" value='+this.regRider+'>' +'<input type="text" class="save_isdayrider hidden" value='+this.isdayrider+'>' +'<input type="text" class="save_isforeignrider hidden" value='+this.isforeignrider+'>' +'<input type="text" class="save_hname hidden" value='+this.horsename+'>' +'<input type="text" class="save_hsex hidden" value='+this.horsesex+'>' +'<input type="text" class="save_hcolour hidden" value='+this.horsecolour+'>' +'<input type="text" class="save_hbreed hidden" value='+this.horsebreed+'>' +'<input type="text" class="save_hpassport hidden" value='+this.horsepassport+'>' +'<input type="text" class="save_dr_initials hidden" value='+this.dayrider_initials+'>' +'<input type="text" class="save_dr_name hidden" value='+this.dayrider_name+'>' +'<input type="text" class="save_dr_surname hidden" value='+this.dayrider_surname+'>' +'<input type="text" class="save_fr_country hidden" value='+this.foreignrider_country+'>' +'<input type="text" class="save_fr_code hidden" value='+this.foreignrider_code+'>' +'<input type="text" class="save_hcode hidden" value='+this.horsecode+'>' +'<input type="text" class="save_scode hidden" value='+this.seniorcode+'>' +'<input type="text" class="save_feircode hidden" value='+this.feiRcode+'>' +'<input type="text" class="save_feihcode hidden" value='+this.feiHcode+'>' +'<input type="text" class="save_feihbcode hidden" value='+this.feiHBcode+'>' +'<input type="text" class="save_isHNovice hidden" value='+this.isHNovice+'>' +'<input type="text" class="save_isStallion hidden" value='+this.isStallion+'>' +'<input type="text" class="save_bibnumber hidden" value='+this.bibnumber+'>' +'<input type="text" class="save_groom_name hidden" value='+this.groom_name+'>' +'<input type="text" class="save_groom_number hidden" value='+this.groom_number+'>' +'<input type="text" class="save_groom_email hidden" value='+this.groom_email+'>' +'</div>'; if(this.isFEI == 1) html += '<li class="race-detail-item race-detail-header-payment"><div class="row"><div class="strong">FEI Race</div></div></li>'; else if(this.isFEI == 0) html += '<li class="race-detail-item race-detail-header-payment"><div class="row"><div class="strong">ERASA Race</div></div></li>'; if(this.feiRcode) { if(this.feiRcode != "undefined" && this.feiHcode != "undefined" && this.feiRcode != "" && this.feiHcode != "") { html += '<li class="race-detail-item race-detail-header-payment"><div class="row"><div class="strong">FEI Rider Code: ' + this.feiRcode + '</div></div></li>'; html += '<li class="race-detail-item race-detail-header-payment"><div class="row"><div class="strong">FEI Horse Code: ' + this.feiHcode + '</div></div></li>'; html += '<li class="race-detail-item race-detail-header-payment"><div class="row"><div class="strong">FEI HorseBackup Code: ' + this.feiHBcode + '</div></div></li>'; } } if(this.regRider) if(this.regRider!= 'undefined') html += '<li class="race-detail-item race-detail-header-payment"><div class="row"><div class="strong">Rider - '+this.regRider+'</div></div></li>'; if(this.regHorse) if(this.regHorse!= 'undefined') html += '<li class="race-detail-item race-detail-header-payment"><div class="row"><div class="strong">Horse - '+this.regHorse+'</div></div></li>'; if(this.horsecode) if(this.horsecode != 'undefined') { html += '<li class="race-detail-item race-detail-header-payment"><div class="row"><div class="strong">Horse Code: '+this.horsecode+'</div></div></li>'; } if(this.code) if(this.code != 'undefined' && v > 1) { html += '<li class="race-detail-item race-detail-header-payment"><div class="row"><div class="strong">Rider Code: '+this.code+'</div></div></li>'; } if(this.isCompetitave == 1) html += '<li class="race-detail-item race-detail-header-payment"><div class="row"><div class="strong">Competitive</div></div></li>'; else if(this.isCompetitave == 0) html += '<li class="race-detail-item race-detail-header-payment"><div class="row"><div class="strong">Trapleer</div></div></li>'; if(this.type) if(this.type != 'undefined') html += '<li class="race-detail-item race-detail-header-payment"><div class="row"><div class="strong">'+this.type+'</div></div></li>'; html += '<li class="race-detail-item race-detail-header-payment"><div class="race-detail-item-left race-detail-header-payment">______________________________</div>' +'<div class="race-detail-item-right description"></div></li>' var buttons='<div id="AddRider_btns"><li class="race-detail-item "><div class="race-detail-item-left myalert">'+errormessage+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left"><span id="back" class="btn btn-danger " >Back</span><span class="btn remove_item btn-danger remove_undone" >Cancel</span><span id="next" class="btn btn-success" >Next</span></div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left"><div class="UndoneLoading hidden"><img src="images/loader-2.gif"></div></div></li></div>'; var content =''; //user information if(v == 1) { content = '<li class="race-detail-item "><div class="race-detail-item-left race-detail-header-payment">Rider</div>' +'<div class="race-detail-item-right description"></div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Code</div>' +'<div class="race-detail-item-right user_code">'+this.code+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Initials</div>' +'<div class="race-detail-item-right user_initials">'+this.initials+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Name</div>' +'<div class="race-detail-item-right user_name">'+this.name+'</div></li>'; } else if(v == 2) { content = '<li class="race-detail-item "><div class="race-detail-item-left race-detail-header-payment">How do you want to enter:</div>' +'<div class="race-detail-item-right description"></div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left"><input type="radio" name="erasa_select_'+this.code+'" value="ERASA" checked="checked">ERASA </div></li>'; var ride = $(document).data('r'+this.raceid); if(ride.isFEIClosed == '1') { content +='<li class="race-detail-item "><div class="race-detail-item-left">FEI has closed</div></li>'; } else { content +='<li class="race-detail-item "><div class="race-detail-item-left"><input type="radio" name="erasa_select_'+this.code+'" value="FEI">FEI </div></li>'; } } else if(v == 3) { content = '<li class="race-detail-item "><div class="race-detail-item-left race-detail-header-payment">Please fill in your FEI codes</div>' +'<div class="race-detail-item-right description"></div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">FEI Member Code</div>' +'<div class="race-detail-item-right" ><div class="fei_membercheck_'+this.code+'"></div><input type="text" class="fei_member_'+this.code+'" value="'+this.feiRcode+'"></div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">FEI Horse Code</div>' +'<div class="race-detail-item-right"><div class="fei_horsecheck_'+this.code+'"></div><input type="text" class="fei_horse_'+this.code+'" ></div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">FEI BackUp Horse Code</div>' +'<div class="race-detail-item-right"><div class="fei_horsebackupcheck_'+this.code+'"></div><input type="text" class="fei_horsebackup_'+this.code+'" ></div></li>'; var buttons='<div id="AddRider_btns"><li class="race-detail-item "><div class="race-detail-item-left myalert">'+errormessage+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left"><span id="back" class="btn btn-danger " >Back</span><span class="btn remove_item btn-danger remove_undone" >Cancel</span><button class="btn-primary btn" id="btn_check_fei">Validate FEI Codes</button></div></li></div>'; } else if(v == 4) { content = '<li class="race-detail-item "><div class="race-detail-item-left race-detail-header-payment">How are you entering</div>' +'<div class="race-detail-item-right description"></div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left"><input type="radio" name="type_select_main_'+this.code+'" value="Trapleer">Trapleer </div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left"><input type="radio" name="type_select_main_'+this.code+'" value="Competitive" checked="checked">Competitive </div></li>'; } else if(v == 5) { content = '<li class="race-detail-item "><div class="race-detail-item-left race-detail-header-payment">Select your category</div>' +'<div class="race-detail-item-right description"></div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left"><input type="radio" name="type_select_'+this.code+'" value="Child">Child </div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left"><input type="radio" name="type_select_'+this.code+'" value="Junior">Junior </div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left"><input type="radio" name="type_select_'+this.code+'" checked="checked" value="Senior">Senior </div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left myalert">'+errormessage+'</div></li>'; } else if(v == 6) { var ctype ="S"; var cstring =""; if(UserSearchboxtext == "SENIOR ") { ctype ="C"; cstring= "Please select a Senior Rider that has already been entered." } content = '<li class="race-detail-item "><div class="race-detail-item-left race-detail-header-payment">Select the '+UserSearchboxtext+'Rider</div>' +'<div class="race-detail-item-right"></div></li>' +'<li class="race-detail-item ">' +'<div class="race-detail-item-left race-detail-header-payment">Search by' +'<br><select id="userSelectBy'+this.code+'">' +'<option value="Membercode">Member Code</option>' +'<option value="Surname">Surname</option>' +'<option value="Callname">Name</option>' +'</select><br>Search for<br>' +'<input type="text" class="add-on" id="input_RSearch_Code'+this.code+'"/>' +'<br><span data-wheresearch="userSelectBy'+this.code+'" data-ctype ="'+ctype+'" data-selectname="userSelectSearch'+this.code+'" data-raceid="'+this.raceid+'" data-function="searchUsers" data-searchphrase="input_RSearch_Code'+this.code+'" id="searchthis" class="btn">Search</span></div>' +'<div class="race-detail-item-left race-detail-header-payment">Select your item' +'<select SIZE=8 class="span5" multiple="multiple" id="userSelectSearch'+this.code+'"></select><br>'+cstring+'<br>(Loaded top 20 results)</div><div class="race-detail-item-left race-detail-header-payment"></div></li>'; } else if(v == 7) { content = this.GetNonRegHorsePart('','','','','',this.isInternational); } else if(v == 8) { content = '<li class="race-detail-item ">' +'<div class="race-detail-item-left race-detail">Distance</div>' +'<div class="race-detail-item-right"><select class="distance_select span2" id="distance_select_'+this.code+'"></select></div></li>'; //Novice Horse var novicehtml ='hidden'; if(this.isInternational !='1') novicehtml =''; content += '<li class="race-detail-item '+novicehtml+'"><div class="race-detail-item-left race-detail">Is the horse a novice</div>' +'<div class="race-detail-item-right"><input class="user_hnovice span2" type="checkbox" value="0"></input></div></li>'; //Groom Name content +='<li class="race-detail-item ">' +'<div class="race-detail-item-left race-detail">Groom Full Name</div>' +'<div class="race-detail-item-right"><input class="user_groom_name span2" type="text" value=""></input></div></li>' //Groom Number content +='<li class="race-detail-item ">' +'<div class="race-detail-item-left race-detail">Groom Cell Number</div>' +'<div class="race-detail-item-right"><input class="user_groom_number span2" type="text" value=""></input></div></li>' //Groom Email content +='<li class="race-detail-item ">' +'<div class="race-detail-item-left race-detail">Rider Cell Number</div>' +'<div class="race-detail-item-right"><input class="user_groom_email span2" type="text" value=""></input></div></li>' //Bib Number content +='<li class="race-detail-item ">' +'<div class="race-detail-item-left race-detail">Bib Number (If different from member code)</div>' +'<div class="race-detail-item-right"><input class="user_bib span2" type="text" value=""></input></div></li>' //Stallion Horse +'<li class="race-detail-item ">' +'<div class="race-detail-item-left race-detail">Is the horse a stallion</div>' +'<div class="race-detail-item-right"><input class="user_stallion span2" type="checkbox" value="0"></input></div></li>' +'<div class="user_optionals" id="user_optionals_'+this.code+'"></div>'; //Tick content +='<li class="race-detail-item ">' +'<div class="race-detail-item-left race-detail">Please confirm that your horse\'s inoculations are up to date and administered by a vet, and that it has been microchipped.</div>' +'<div class="race-detail-item-right"><input class="user_confirm1 span2" type="checkbox" value="0"></input></div></li>' +'<li class="race-detail-item ">' +'<div class="race-detail-item-left race-detail">Please confirm that you will obtain a travel certificate for the horse when travelling into AHS free zones.</div>' +'<div class="race-detail-item-right"><input class="user_confirm2 span2" type="checkbox" value="0"></input></div></li>' +'<li class="race-detail-item ">' +'<div class="race-detail-item-left race-detail">I am sure that this horse is not still in hes/her mandotory restperiod.</div>' +'<div class="race-detail-item-right"><input class="user_confirm3 span2" type="checkbox" value="0"></input></div></li>'; buttons='<li class="race-detail-item "><div class="race-detail-item-left myalert">'+errormessage+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left"><span id="back" class="btn btn-danger " >Back</span><span class="btn remove_item btn-danger remove_undone" >Cancel</span><span id="next" class="btn btn-success" >Save</span></div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left"><div class="UndoneLoading hidden"><img src="images/loader-2.gif"></div></li>'; } else if(v == 9) { content = '<li class="race-detail-item "><div class="race-detail-item-left race-detail-header-payment">Is the rider registered?</div>' +'<div class="race-detail-item-right description"></div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">' +'<input type="radio" name="type_select_main" value="Registered" checked="checked"> ERASA Rider </div></li>'; //International rides do not have day riders /*if(this.isInternational != '1')*/ content += '<li class="race-detail-item "><div class="race-detail-item-left">' +'<input type="radio" name="type_select_main" value="DayRider"> Day Rider </div></li>'; content += '<li class="race-detail-item "><div class="race-detail-item-left">' +'<input type="radio" name="type_select_main" value="ForeignRider"> Foreign Rider </div></li>'; } else if(v == 10) { content = '<li class="race-detail-item "><div class="race-detail-item-left race-detail-header-payment">Enter your Day Rider information</div>' +'<li class="race-detail-item "><div class="race-detail-item-left">Please note that you have to sign the ERASA indemnity form at the ride before you will be able to participate in the ride.</div></li>' +'<div class="race-detail-item-right description"></div></li>' +'<li class="race-detail-item"><div class="race-detail-item-left">Initials</div>' +'<div class="race-detail-item-right"><input class="day_initials" type="text" /></div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Callname</div>' +'<div class="race-detail-item-right user_name"><input class="day_name" type="text" /></div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Surname</div>' +'<div class="race-detail-item-right user_name"><input class="day_surname" type="text" /></div></li>'; } else if(v == 11) { content = '<li class="race-detail-item "><div class="race-detail-item-left race-detail-header-payment">Is the horse registered?</div>' +'<div class="race-detail-item-right description"></div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left"><input type="radio" name="type_select_hreg_'+this.code+'" value="Registered" checked="checked">ERASA Registered </div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left"><input type="radio" name="type_select_hreg_'+this.code+'" value="NotRegistered">Not ERASA Registered </div></li>'; } else if(v == 12) { content = this.GetRegHorsePart(); } else if(v == 13) { content = '<li class="race-detail-item "><div class="race-detail-item-left race-detail-header-payment">Enter Foreign Rider information</div>' +'<div class="race-detail-item-right description"></div></li>' +'<li class="race-detail-item"><div class="race-detail-item-left">FEI Code (Optional)</div>' +'<div class="race-detail-item-right"><input class="day_feicode" type="text" /><span class="btn btn-primary" id="btn_search_fei" >Search</span></div></li>' +'<li class="race-detail-item"><div class="race-detail-item-left">Initials</div>' +'<div class="race-detail-item-right"><input class="day_initials" type="text" /></div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Callname</div>' +'<div class="race-detail-item-right user_name"><input class="day_name" type="text" /></div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Surname</div>' +'<div class="race-detail-item-right user_name"><input class="day_surname" type="text" /></div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Country</div>' +'<div class="race-detail-item-right user_name"><input class="foreign_country" type="text" /></div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Home Member Code</div>' +'<div class="race-detail-item-right user_name"><input class="foreign_code" type="text" /></div></li>'; } else if(v == 999) { content = '<li class="race-detail-item "><div class="race-detail-item-left race-detail-header-payment">'+terms+'</div>' +'<div class="race-detail-item-right description"></div></li>' +'<li class="race-detail-item ">' +'<div class="race-detail-item-left race-detail"><input id="accept_terms" type="checkbox" value="0"></input> I am duly qualified to enter and confirm that I read the information document about the ride. This document is available as an attachment and on the ERASA website.</div></li>'; } html = buttons + content + html; if(part =='') return html; else { if(v == 8) { //save if(this.distanceid)// && this.check1 && this.check2) { this.Save(true,part); $('#btn_show_searchbar').removeClass('hidden'); } else { /*if(this.distanceid) { if(this.check1 && this.check2){} else alert('Please tick inoculations and/or travel certificate fields.'); }*/ part.html(html); this.getRaceLengthSelect(); this.getRaceOptionals(); } } else { part.html(html); } } } } this.GetHorseSavedHtml=function() { var horsehtml =''; if(this.horse.hasOwnProperty('code')) { if(this.horse.code) { horsehtml = '<li class="race-detail-item "><div class="race-detail-item-left race-detail-header-payment">Horse</div>' +'<div class="race-detail-item-right description"></div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">UV Code</div>' +'<div class="race-detail-item-right description">'+this.horse.code+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Name</div>' +'<div class="race-detail-item-right description">'+this.horse.name+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Color</div>' +'<div class="race-detail-item-right description">'+this.horse.color+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Sex</div>' +'<div class="race-detail-item-right description">'+this.horse.sex+'</div></li>'; } else if(this.horse.hasOwnProperty('name')) { if(this.horse.name) { horsehtml = '<li class="race-detail-item "><div class="race-detail-item-left race-detail-header-payment">Day Horse</div>' +'<div class="race-detail-item-right description"></div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Name</div>' +'<div class="race-detail-item-right description">'+this.horse.name+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Color</div>' +'<div class="race-detail-item-right description">'+this.horse.color+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Sex</div>' +'<div class="race-detail-item-right description">'+this.horse.sex+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Breed</div>' +'<div class="race-detail-item-right description">'+this.horse.breed+'</div></li>'; if(parseInt(this.isForeign) == 1) { horsehtml += '<li class="race-detail-item "><div class="race-detail-item-left">Passport</div>' +'<div class="race-detail-item-right description">'+this.foreign_horse_passport+'</div></li>'; } } } } return horsehtml; } this.GetHorseEditHtml=function() { var horsehtml =''; if(this.horse.hasOwnProperty('code')) { if(this.horse.code) { horsehtml = this.GetRegHorsePart(); } else if(this.horse.hasOwnProperty('name')) { if(this.horse.name) { horsehtml = this.GetNonRegHorsePart(this.horse.name,this.horse.color,this.horse.sex,this.horse.breed,this.foreign_horse_passport,this.isForeign); } } } return horsehtml; } this.SavedHtml = function(ride, callback) { var t = this; this.loadOptions(false, gotOptions); function gotOptions(options) { var horsehtml = ""; if (ride.isBikeRide == 0) { horsehtml = t.GetHorseSavedHtml(); } var newHtml = '<div class="row bottom-border m-text p-2">'; newHtml += '<div class="col-2">'; if (ride.israceclosed == 0) { newHtml += '<button onClick="openPage(' + ride.raceid + ',' + t.raceuserid + ')" class="btn btn-sm btn-outline-danger">Edit</button>'; } if (parseInt(t.isFEI) == 1) newHtml += '<img src="/images/fei.png" style="height: 40px;" />'; newHtml += '</div>'; var i_rider = ''; var i_horse = ''; if (parseInt(t.isFEI) == 1) { if (t.FEIRiderStatus == '0') //Not found i_rider = '<img src="/images/search.png" class="pl-1 pt-1" style="height: 20px; width:20px;">'; else if (t.FEIRiderStatus == '1') // Fine i_rider = '<img src="/images/tick.png" class="pl-1 pt-1" style="height: 20px; width:20px;">'; else if (t.FEIRiderStatus == '2') // Suspended i_rider = '<img src="/images/warning.png" class="pl-1 pt-1" style="height: 20px; width:20px;">'; else if (t.FEIRiderStatus == '3') // Not Registered i_rider = '<img src="/images/untag.png" class="pl-1 pt-1" style="height: 20px; width:20px;">'; if (t.FEIHorseStatus == '0') //Not found i_horse = '<img src="/images/search.png" class="pl-1 pt-1" style="height: 20px; width:20px;">'; else if (t.FEIHorseStatus == '1') // Fine i_horse = '<img src="/images/tick.png" class="pl-1 pt-1" style="height: 20px; width:20px;">'; else if (t.FEIHorseStatus == '2') // Suspended i_horse = '<img src="/images/warning.png" class="pl-1 pt-1" style="height: 20px; width:20px;">'; else if (t.FEIHorseStatus == '3') // Not Registered i_horse = '<img src="/images/untag.png" class="pl-1 pt-1" style="height: 20px; width:20px;">'; } newHtml += '<div class="col-md-10">'; newHtml += '<div class="row">'; newHtml += '<div class="col-md-3">' + (t.code !== null ? t.code : '') + ' ' + t.callname + ' ' + t.name + i_rider + '</div>'; newHtml += '<div class="col-md-3">' + t.horse.code + ' ' + t.horse.name + i_horse + '</div>'; newHtml += '<div class="col-md-3">' + t.length + '</div>'; newHtml += '</div>'; newHtml += '<div class="row"><div class="col">'; $.each(options, function(i, item) { if(item.viewOnly === '0') { if(item.typeid === 'checkbox' && item.value === '1') { newHtml += '<img class="pr-3" src="/images/'+item.icon+'" style="height: 25px;" title="'+item.item_name+'" />'; } else if(item.typeid === 'number') { if(item.value > '0') { newHtml += '<img src="/images/' + item.icon + '" style="height: 25px;" title="' + item.item_name + '" /><span class="badge badge-secondary mr-3">' + item.value + '</span>'; } } } }); newHtml += '</div></div></div></div></div>'; return callback(newHtml); } /** var header = '<div class="row"><input type="text" class="save_raceid hidden" value='+this.raceid+'><input type="text" class="save_racerid hidden" value='+this.racerid+'></div>' +'<div class ="row small_display">' +'<li class="race-detail-item"><div class="race-detail-item-left">'+this.name+' , '+this.initials+'</div>' +'<div class="race-detail-item-right description"><span id="show_details" class="btn btn-info">Details | Edit | Remove</span></div></li>' +'</div>' +'<div class="row detailed_display hidden">'; var rider = ""; header += '<li class="race-detail-item "><div class="race-detail-item-right description">'; if(this.israceclosed != '1') header += '<span class="btn remove_item remove_done btn-danger">Remove</span>'; <!-- --><!-- --><!-- --> header += '<span id="show_details" class="btn btn-info">Hide</span></div></li>'; if(parseInt(this.isFEI) == 1) { if(parseInt(this.isForeign) == 1) { header+='<li class="race-detail-item ">' +'<div class="race-detail-item-left race-detail-header-payment">FEI Entry</div>' +'<div class="race-detail-item-right description"></div></li>' +'<li class="race-detail-item ">' +'<div class="race-detail-item-left">FEI Rider Code</div>' +'<div class="race-detail-item-right description">'+this.FeiRiderCode+'</div></li>' +'<li class="race-detail-item ">' +'<div class="race-detail-item-left">FEI Horse Code</div>' +'<div class="race-detail-item-right description">'+this.FeiHorseCode+'</div></li>'; rider = '<li class="race-detail-item ">' +'<div class="race-detail-item-left race-detail-header-payment">Rider</div>' +'<div class="race-detail-item-right description"></div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Initials</div>' +'<div class="race-detail-item-right description user_initials">'+this.initials+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Name</div>' +'<div class="race-detail-item-right description user_callname">'+this.callname+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Surname</div>' +'<div class="race-detail-item-right description user_name">'+this.name+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Distance</div>' +'<div class="race-detail-item-right description distance_select">'+this.description+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Type</div>' +'<div class="race-detail-item-right description type_select">'+this.typeid+'</div></li>'; +'<li class="race-detail-item "><div class="race-detail-item-left">Country</div>' +'<div class="race-detail-item-right description distance_select">'+this.foreign_country+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Member Code</div>' +'<div class="race-detail-item-right description type_select">'+this.foreign_code+'</div></li>'; } else { header+='<li class="race-detail-item ">' +'<div class="race-detail-item-left race-detail-header-payment">FEI Entry</div>' +'<div class="race-detail-item-right description"></div></li>' +'<li class="race-detail-item ">' +'<div class="race-detail-item-left">FEI Rider Code</div>' +'<div class="race-detail-item-right description">'+this.FeiRiderCode+'</div></li>' +'<li class="race-detail-item ">' +'<div class="race-detail-item-left">FEI Horse Code</div>' +'<div class="race-detail-item-right description">'+this.FeiHorseCode+'</div></li>'; rider = '<li class="race-detail-item ">' +'<div class="race-detail-item-left race-detail-header-payment">Rider</div>' +'<div class="race-detail-item-right description"></div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Code</div>' +'<div class="race-detail-item-right description user_code">'+this.code+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Initials</div>' +'<div class="race-detail-item-right description user_initials">'+this.initials+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Name</div>' +'<div class="race-detail-item-right description user_callname">'+this.callname+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Surname</div>' +'<div class="race-detail-item-right description user_name">'+this.name+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Distance</div>' +'<div class="race-detail-item-right description distance_select">'+this.description+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Type</div>' +'<div class="race-detail-item-right description type_select">'+this.typeid+'</div></li>'; } } else { if(this.code) { rider = '<li class="race-detail-item "><div class="race-detail-item-left">Code</div>' +'<div class="race-detail-item-right description user_code">'+this.code+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Initials</div>' +'<div class="race-detail-item-right description user_initials">'+this.initials+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Name</div>' +'<div class="race-detail-item-right description user_callname">'+this.callname+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Surname</div>' +'<div class="race-detail-item-right description user_name">'+this.name+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Distance</div>' +'<div class="race-detail-item-right description distance_select">'+this.description+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Type</div>' +'<div class="race-detail-item-right description type_select">'+this.typeid+'</div></li>'; } else { rider = '<li class="race-detail-item "><div class="race-detail-item-left">Initials</div>' +'<div class="race-detail-item-right description user_initials">'+this.initials+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Name</div>' +'<div class="race-detail-item-right description user_callname">'+this.callname+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Surname</div>' +'<div class="race-detail-item-right description user_name">'+this.name+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Distance</div>' +'<div class="race-detail-item-right description distance_select">'+this.description+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Type</div>' +'<div class="race-detail-item-right description type_select">'+this.typeid+'</div></li>'; } if(parseInt(this.isCompetitave) == 1) { if(parseInt(this.isForeign) == 1) { header+='<li class="race-detail-item ">' +'<div class="race-detail-item-left race-detail-header-payment">FOREIGN Rider</div>' +'<div class="race-detail-item-right description"></div></li>' } else { header+='<li class="race-detail-item ">' +'<div class="race-detail-item-left race-detail-header-payment">ERASA Rider</div>' +'<div class="race-detail-item-right description"></div></li>' } } else { header+='<li class="race-detail-item "><div class="race-detail-item-left race-detail-header-payment">Day Rider</div>' +'<div class="race-detail-item-right description"></div></li>' } } if(this.seniorcode) { rider = rider+'<li class="race-detail-item "><div class="race-detail-item-left">Senior Code</div>' +'<div class="race-detail-item-right description user_seniorcode">'+this.seniorcode+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Senior Name</div>' +'<div class="race-detail-item-right description user_seniorname">'+this.seniorname+'</div></li>'; } var html = ""; if(ride.isBikeRide == 0) { html = header + rider + horsehtml //Optional +'<li class="race-detail-item "><div class="race-detail-item-left race-detail-header-payment">Options</div>' +'<div class="race-detail-item-right description"></div></li>' + '<li class="race-detail-item "><div class="race-detail-item-left">Groom Name</div>' +'<div class="race-detail-item-right description user_groom_name">'+this.groom_name+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Groom Cell Number</div>' +'<div class="race-detail-item-right description user_groom_number">'+this.groom_number+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Rider Cell Number</div>' +'<div class="race-detail-item-right description user_groom_email">'+this.groom_email+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Novice Horse</div>' +'<div class="race-detail-item-right description user_paddock">'+this.isHNovice+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Stallion</div>' +'<div class="race-detail-item-right description user_paddock">'+this.isStallion+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Bib Number</div>' +'<div class="race-detail-item-right description user_paddock">'+this.bibnumber+'</div></li>' +'<div id="options_'+this.racerid+'"></div>'; } else { html = header + rider + horsehtml //Optional +'<li class="race-detail-item "><div class="race-detail-item-left">Cell Number</div>' +'<div class="race-detail-item-right description user_groom_number">'+this.groom_number+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Email</div>' +'<div class="race-detail-item-right description user_groom_email">'+this.groom_email+'</div></li>' +'<div id="options_'+this.racerid+'"></div>'; } if(this.paid == '1') { $('#btn_show_searchbar').data('paid',this.paid); } else if(this.paid == '0') { $('#btn_show_searchbar').data('paid',this.paid); } */ } this.EditHtml = function() { var ride = $(document).data('r'+this.raceid); var horsehtml =""; if(ride.isBikeRide == 0) { var horsehtml = '<div class="info_horse" >'+this.GetHorseSavedHtml() + '<li class="race-detail-item "><div class="race-detail-item-right"><span id="change_horse" class="btn btn-success" >Change Horse</span></div></li></div><div class="hidden search_horse">' +this.GetHorseEditHtml()+'</div>'; } var header = '<div class="secret"><input type="text" class="save_raceid hidden" value='+this.raceid+'><input type="text" class="save_racerid hidden" value='+this.racerid+'></div>'; //+'<li class="race-detail-item "><div class="race-detail-item-left race-detail-header-payment">You are only allowed to change the following, if you want to change more please press cancel and remove this rider and add the new one.</div>'; header +='<li class="race-detail-item "><div class="race-detail-item-right description">' +'<span id="save_done" class="btn save_item_'+this.raceid+' btn-success" >Save</span><span id="cancel_done" class="btn cancel_item btn-danger cancel_done" >Cancel</span></div></li>'; var rider = ""; if(parseInt(this.isFEI) == 1) { header+='<li class="race-detail-item ">' +'<div class="race-detail-item-left race-detail-header-payment">FEI Entry</div>' +'<div class="race-detail-item-right description"></div></li>' +'<li class="race-detail-item ">' +'<div class="race-detail-item-left">FEI Rider Code</div>' +'<div class="race-detail-item-right description"><input class="user_fei_rider_code" type="text" value="'+this.FeiRiderCode+'"></input></div></li>' +'<li class="race-detail-item ">' +'<div class="race-detail-item-left">FEI Horse Code</div>' +'<div class="race-detail-item-right description"><input class="user_fei_horse_code" type="text" value="'+this.FeiHorseCode+'"></input></div></li>'; rider = '<li class="race-detail-item ">' +'<div class="race-detail-item-left race-detail-header-payment">Rider</div>' +'<div class="race-detail-item-right description"></div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Code</div>' +'<div class="race-detail-item-right description user_code">'+this.code+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Initials</div>' +'<div class="race-detail-item-right description user_initials">'+this.initials+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Name</div>' +'<div class="race-detail-item-right description user_callname">'+this.callname+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Surname</div>' +'<div class="race-detail-item-right description user_name">'+this.name+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Distance</div>' +'<div class="race-detail-item-right description distance_select">'+this.description+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Type</div>' +'<div class="race-detail-item-right description type_select">'+this.typeid+'</div></li>'; } else { if(this.code) { rider = '<li class="race-detail-item "><div class="race-detail-item-left">Code</div>' +'<div class="race-detail-item-right description user_code">'+this.code+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Initials</div>' +'<div class="race-detail-item-right description user_initials">'+this.initials+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Name</div>' +'<div class="race-detail-item-right description user_callname">'+this.callname+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Surname</div>' +'<div class="race-detail-item-right description user_name">'+this.name+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Distance</div>' +'<div class="race-detail-item-right description distance_select">'+this.description+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Type</div>' +'<div class="race-detail-item-right description type_select">'+this.typeid+'</div></li>'; } else { rider = '<li class="race-detail-item "><div class="race-detail-item-left">Initials</div>' +'<div class="race-detail-item-right description user_initials">'+this.initials+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Name</div>' +'<div class="race-detail-item-right description user_callname">'+this.callname+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Surname</div>' +'<div class="race-detail-item-right description user_name">'+this.name+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Distance</div>' +'<div class="race-detail-item-right description distance_select">'+this.description+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Type</div>' +'<div class="race-detail-item-right description type_select">'+this.typeid+'</div></li>'; } if(parseInt(this.isCompetitave) == 1) { header+='<li class="race-detail-item ">' +'<div class="race-detail-item-left race-detail-header-payment">ERASA Rider</div>' +'<div class="race-detail-item-right description"></div></li>' } else { header+='<li class="race-detail-item "><div class="race-detail-item-left race-detail-header-payment">Day Rider</div>' +'<div class="race-detail-item-right description"></div></li>' } } if(this.seniorcode) { rider = rider+'<li class="race-detail-item "><div class="race-detail-item-left">Senior Code</div>' +'<div class="race-detail-item-right description user_seniorcode">'+this.seniorcode+'</div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Senior Name</div>' +'<div class="race-detail-item-right description user_seniorname">'+this.seniorname+'</div></li>'; } var isN = this.isHNovice==1?'checked':''; var isS = this.isStallion==1?'checked':''; var html = ""; if(ride.isBikeRide == 0) { html = header+rider + horsehtml //Optional +'<li class="race-detail-item "><div class="race-detail-item-left race-detail-header-payment">Options</div>' +'<div class="race-detail-item-right"></div></li>' + '<li class="race-detail-item "><div class="race-detail-item-left">Groom Name</div>' +'<div class="race-detail-item-right description "><input class="user_groom_name" type="text" value="'+this.groom_name+'"></input></div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Groom Cell Number</div>' +'<div class="race-detail-item-right description "><input class="user_groom_number" type="text" value="'+this.groom_number+'"></input></div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Rider Cell Number</div>' +'<div class="race-detail-item-right description "><input class="user_groom_email" type="text" value="'+this.groom_email+'"></input></div></li>' //Novice Horse +'<li class="race-detail-item ">' +'<div class="race-detail-item-left race-detail">Is the horse a novice</div>' +'<div class="race-detail-item-right"><input class="user_hnovice span2" type="checkbox" value="0" '+isN+'></input></div></li>' //Stallion Horse +'<li class="race-detail-item ">' +'<div class="race-detail-item-left race-detail">Is the horse a stallion</div>' +'<div class="race-detail-item-right"><input class="user_stallion span2" type="checkbox" value="0" '+isS+'></input></div></li>'; } else { html = header+rider + horsehtml //Optional +'<li class="race-detail-item "><div class="race-detail-item-left">Cell Number</div>' +'<div class="race-detail-item-right description "><input class="user_groom_number" type="text" value="'+this.groom_number+'"></input></div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left">Email</div>' +'<div class="race-detail-item-right description "><input class="user_groom_email" type="text" value="'+this.groom_email+'"></input></div></li>'; } if(ride.isBikeRide == 0) { if(this.paid == '1' || this.paid == '0') { //Bib Number html +='<li class="race-detail-item ">' +'<div class="race-detail-item-left race-detail">Bib Number (If different from member code)</div>' +'<div class="race-detail-item-right"><input class="user_bib span2" type="text" value="'+this.bibnumber+'"></input></div>' +'<div id="options_'+this.racerid+'"></div></li>'; } else { html +='<li class="race-detail-item ">' +'<div class="race-detail-item-left race-detail">Bib Number (If different from member code)</div>' +'<div class="race-detail-item-right"><input class="user_bib span2" type="text" value="'+this.bibnumber+'"></input></div>' +'<div id="options_'+this.racerid+'"></div></li>'; } } return html; } this.Save = function(removeBlock,block) { var rider = this; var ride = $(document).data('r'+this.raceid); if (typeof this.horsecode !== 'undefined' ) { this.horse = new Horse(); this.horse.id =this.horsecode; } else { this.horse = new Horse(); this.horse.id =0; } var str = 'rider='+ JSON.stringify(this) +'&function=addUserToRace'; $.ajax( { url: 'pages/usersearch.php', type: 'POST', data: str, dataType: 'JSON', async: true, error: function (xhr, ajaxOptions, thrownError) { //alert(xhr.status); //alert(thrownError); alert('There was an error adding the rider, please go to the contact us page and report it.'); }, beforeSend:function() { var t = $(block[0]).find('.UndoneLoading'); $(t[0]).removeClass("hidden"); t = $(block[0]).find('.remove_item'); $(t[0]).addClass("disabled"); t = $(block[0]).find('.btn-success'); $(t[0]).addClass("disabled"); }, complete:function() { }, success: function(response) { if(response.hasOwnProperty('error')) { //var error= response.error; alert('There was an error adding the rider, please go to the contact us page and report it.'); } else { $.each(response, function() { rider.init(this); //alert(raceid); if(removeBlock) block.remove(); var html ='<div class="done"><ul class="race-details">'+rider.SavedHtml()+'</ul><div>'; $('#race-riders-info').append(html); $(document).data('r'+rider.raceid+'r'+rider.racerid,rider); rider.loadOptions(true); }); if(ride.isFS == '1') { $('#btn_show_searchbar').addClass("hidden"); rider.GetExtraQuestions(); } } } }); } this.GetExtraQuestions = function() { var str = 'racesusersid='+this.raceuserid+'&raceid='+ this.raceid +'&function=getQuestions'; var rider = this; var html =""; $.ajax( { url: 'pages/usersearch.php', type: 'POST', data: str, dataType: 'JSON', async: true, error: function (xhr, ajaxOptions, thrownError) { alert('error'); }, beforeSend:function() { $('#race-riders-new').html('<img src="images/loader-2.gif">'); }, complete:function() { }, success: function(response) { $.each(response, function() { html += '<ul class="undone"><ul class="race-details">' +'<input type="text" class="save_racerid hidden" value="'+rider.raceuserid+'">' +'<input type="text" class="save_racercode hidden" value="'+rider.code+'">' +'<input type="text" class="save_horsecode hidden" value="'+rider.horse.code+'">' +'<li class="race-detail-item "><div class="race-detail-item-right description">' +'<span id="save_questions" class="btn btn-success" >Submit</span></div></li>' +'<li class="race-detail-item "><div class="race-detail-item-left race-detail-header-payment">'+this.header+'</div>' +'<div class="race-detail-item-right description"></div></li>'; html += rider.GetExtraQuestion(1,this.q1,this.custom_typeid1); html += rider.GetExtraQuestion(2,this.q2,this.custom_typeid2); html += rider.GetExtraQuestion(3,this.q3,this.custom_typeid3); html += rider.GetExtraQuestion(4,this.q4,this.custom_typeid4); html += rider.GetExtraQuestion(5,this.q5,this.custom_typeid5); html += rider.GetExtraQuestion(6,this.q6,this.custom_typeid6); html += rider.GetExtraQuestion(7,this.q7,this.custom_typeid7); html += rider.GetExtraQuestion(8,this.q8,this.custom_typeid8); html += rider.GetExtraQuestion(9,this.q9,this.custom_typeid9); html += rider.GetExtraQuestion(10,this.q10,this.custom_typeid10); html += '</ul></ul>'; }); $('#race-riders-new').html(html); alert("Please fill in the additional questions."); } }); } this.GetExtraQuestion = function(num,question,type) { var html ='<input type="text" class="save_'+num+' hidden" value="">'; if(type == '1') html = '<li class="race-detail-item "><div class="race-detail-item-left">'+question+'</div>' +'<div class="race-detail-item-right description"><input class="save_'+num+' " type="checkbox" value=""></input></div></li>'; else if(type == '2') html = '<li class="race-detail-item "><div class="race-detail-item-left">'+question+'</div>' +'<div class="race-detail-item-right description"><input class="save_'+num+' " type="number" min="0" max="100" value="0"></div></li>'; else if(type == '3') html = '<li class="race-detail-item "><div class="race-detail-item-left">'+question+'</div>' +'<div class="race-detail-item-right description"><input class="save_'+num+' " type="text" value=""></input></div></li>'; return html; } this.loadOptions = function(load, callback) { var rider = this; $.ajax({ url: 'Objects/ride_func.php', type: 'POST', data: 'raceid='+ rider.raceid+'&raceuserid='+rider.raceuserid+'&function=getRiderOptions', dataType: 'JSON', async: true, beforeSend: function() { $('#options_'+rider.racerid).html('<img src="images/loader-2.gif">'); }, success: function(data) { return callback(data); //var th =''; //$.each(data, function() //{ // if(this.typeid =='checkbox') // this.value = this.value=='1'?'Yes':'No'; // // th+='<li class="race-detail-item "><div class="race-detail-item-left">'+this.item_name+' ' +this.short_desc+'</div><div id="customtype_select_'+this.id+'" class="race-detail-item-right description type_select">'+this.value+''; // // // th+=' <span data-value="'+this.value+'" data-min="'+this.min+'" data-max="'+this.max+'" data-id="'+this.id+'" data-typeid="'+this.typeid+'" class="customtype_select_click btn btn-mini btn-info" alt="Edit" title="Edit"><i class=" icon-white icon-pencil"></i></span>'; // th+='</div></li>'; //}); //$('#options_'+rider.racerid).html(th); // //var ride = $(document).data('r'+rider.raceid); // //if(load) //{ // ride.RecalculateCost(); // // // ride.LoadAllUsers(); // //} } }); } this.Edit = function(block) { var rider = this; block.html('<ul class="race-details">'+rider.EditHtml()+'</ul>'); rider.loadOptions(false); } this.Update = function(blockToReplace,horsechange) { var rider = this; var str = 'rider='+ JSON.stringify(this) +'&function=updateRaceUser'; $.ajax( { url: 'pages/usersearch.php', type: 'POST', data: str, dataType: 'JSON', async: true, error: function (xhr, ajaxOptions, thrownError) { alert(xhr.status); alert(thrownError); }, success: function(response) { if(response.hasOwnProperty('error')) { var error= response.error; alert(error); } else { $.each(response, function() { rider.init(this); $(document).data('r'+rider.raceid+'r'+rider.racerid,rider); var ride = $(document).data('r'+rider.raceid); //alert(raceid); if(horsechange) { if(ride.isFS == '1') { $('#btn_show_searchbar').addClass("hidden"); var aTag = $('#race-riders-new'); $('html,body').animate({scrollTop: aTag.offset().top},'slow'); rider.GetExtraQuestions(); } } blockToReplace.html('<div class="done"><ul class="race-details">'+rider.SavedHtml()+'</ul><div>'); rider.loadOptions(true); }); } } }); } } </script> <script> function init() { new WOW().init(); rides.Load(0, 3); rides.LoadCommingEvents(0, 6); } var rides = new Rides(); </script> <main class="mt-5"> <div class="container"> <section id="examples" class="text-center"> <h2 class="mb-5 font-weight-bold">Upcoming Events</h2> <div class="row" id="events"> </div> </section> <hr class="my-5"> <section id="examples" class="text-center"> <h2 class="mb-5 font-weight-bold">Merchandise</h2> <div class="row" id="merchandise"> <div class="col-lg-4 col-md-12 mb-4"> <div class="card card-cascade narrower"> <div class="view view-cascade overlay"><img class="card-img-top" src="plugins/shop/images/short.jpeg" alt="Card image cap"><a> <div class="mask rgba-white-slight"></div> </a> </div> <div class="card-body card-body-cascade"> <h5 class="grey-text pb-2 pt-1">Garden Route Endurance Club T-Shirt</h5> <h4><b>R 360 - 370</b></h4><a href="/?page=shop&p=details&id=13" class="btn btn-primary">Info</a> </div> <div class="card-footer text-muted text-center"></div> </div> </div><div class="col-lg-4 col-md-12 mb-4"> <div class="card card-cascade narrower"> <div class="view view-cascade overlay"><img class="card-img-top" src="plugins/shop/images/long.jpeg" alt="Card image cap"><a> <div class="mask rgba-white-slight"></div> </a> </div> <div class="card-body card-body-cascade"> <h5 class="grey-text pb-2 pt-1">Long Sleeve - Garden Route Endurance Club</h5> <h4><b>R 380 - 400</b></h4><a href="/?page=shop&p=details&id=14" class="btn btn-primary">Info</a> </div> <div class="card-footer text-muted text-center"></div> </div> </div><div class="col-lg-4 col-md-12 mb-4"> <div class="card card-cascade narrower"> <div class="view view-cascade overlay"><img class="card-img-top" src="plugins/shop/images/bib.jpeg" alt="Card image cap"><a> <div class="mask rgba-white-slight"></div> </a> </div> <div class="card-body card-body-cascade"> <h5 class="grey-text pb-2 pt-1">Rider Bib with number</h5> <h4><b>R 200</b></h4><a href="/?page=shop&p=details&id=15" class="btn btn-primary">Info</a> </div> <div class="card-footer text-muted text-center"></div> </div> </div> </div> </section> <hr class="my-5"> <section id="examples" class="text-center"> <h2 class="mb-5 font-weight-bold">Recent Results</h2> <div class="row" id="accordion2"> </div> </section> <hr class="my-5"> <!--section id="examples" class="text-center"> <h2 class="mb-5 font-weight-bold">Current Top Rankings</h2> <div id="content" class="container"> <div id="content" class="pt-3 container-fluid"> <section> <div class="card p-4"> <ul class="nav nav-tabs md-tabs nav-justified primary-color" role="tablist"> <li class="nav-item"> <a class="nav-link active" data-toggle="tab" href="#ERASA_panel" role="tab"> <i class="fas fa-user pr-2"></i>ERASA</a> </li> </ul> <div class="tab-content"> <div class="tab-pane fade in show active " id="ERASA_panel" role="tabpanel"> <div class="btn-group" > </div><br /> <table id="dtBasicExample" class="table table-striped table-bordered table-sm" cellspacing="0" width="100%"> <thead> <tr> <th>Code</th> <th>Rider</th> <th>Membership</th> <th>Points</th> </tr> </thead> <tbody> <tr><td>8918</td><td>Lirie Mellet</td><td>JUNIOR</td><td>302.373</td></tr><tr><td>7391</td><td>Celina Foster</td><td>SENIOR</td><td>285.471</td></tr><tr><td>7608</td><td>Clive Biggs</td><td>SENIOR</td><td>273.536</td></tr> </table> </div> </div> </div> </section><br> </div> </div> </section> <hr class="my-5"--> <section id="best-features" class="text-center"> <h2 class="mb-5 font-weight-bold">Our Benefits</h2> <div class="row d-flex justify-content-center mb-4"> <div class="col-md-8"> <p class="grey-text">At XRC we aim to create an experience for you, whether you are a day rider, member of a club or an club administrator. We are the chosen company to help you administer you swiftly process entries to results.</p> </div> </div> <div class="row"> <div class="col-md-4 mb-5"> <i class="fa fa-camera-retro fa-4x text-primary wow pulse"></i> <h4 class="my-4 font-weight-bold">Experience</h4> <p class="grey-text">The seamless website together with the mobile application, makes for a smooth interaction with your results. Always knows what is going on and where you are in the rankings.</p> </div> <div class="col-md-4 mb-1"> <i class="fa fa-heart fa-4x text-danger animated zoomIn slower infinite"></i> <h4 class="my-4 font-weight-bold">Happiness</h4> <p class="grey-text">Using the latest techonolgies to help you spend less time using devices and more time doing what you enjoy.</p> </div> <div class="col-md-4 mb-1"> <i class="fa fa-bicycle fa-4x text-primary"></i> <h4 class="my-4 font-weight-bold">Adventure</h4> <p class="grey-text">Get out there. With XRC Mobile, you can track all your adventures. Let your friends track you while you are out and about.</p> </div> </div> </section> <hr class="my-5"> <!--Section: Gallery--> <section id="gallery"> <!-- Heading --> <h2 class="mb-5 font-weight-bold text-center">Latest News</h2> <!--Grid row--> <div class="row"> <!--Grid column--> <div class="col-md-6 mb-4"> <!--Carousel Wrapper--> <div id="carousel-example-1z" class="carousel slide carousel-fade carousel-fade" data-ride="carousel"> <!--Indicators--> <ol class="carousel-indicators"> <li data-target="#carousel-example-1z" data-slide-to="0" class="active"></li> <li data-target="#carousel-example-1z" data-slide-to="1"></li> <li data-target="#carousel-example-1z" data-slide-to="2"></li> </ol> <!--/.Indicators--> <!--Slides--> <div class="carousel-inner z-depth-1-half" role="listbox"> <!--First slide--> <div class="carousel-item active"> <img class="d-block w-100" src="/images/jumbo_mobile.png" alt="First slide"> </div> <!--/First slide--> <!--Second slide--> <div class="carousel-item"> <img class="d-block w-100" src="/images/christmas.jpg" alt="Second slide"> </div> <!--/Second slide--> <!--Third slide--> <div class="carousel-item"> <img class="d-block w-100" src="/images/jumbo_c.jpg" alt="Third slide"> </div> <!--/Third slide--> </div> <!--/.Slides--> <!--Controls--> <a class="carousel-control-prev" href="#carousel-example-1z" role="button" data-slide="prev"> <span class="carousel-control-prev-icon" aria-hidden="true"></span> <span class="sr-only">Previous</span> </a> <a class="carousel-control-next" href="#carousel-example-1z" role="button" data-slide="next"> <span class="carousel-control-next-icon" aria-hidden="true"></span> <span class="sr-only">Next</span> </a> <!--/.Controls--> </div> <!--/.Carousel Wrapper--> </div> <!--Grid column--> <!--Grid column--> <div class="col-md-6"> <a href="" class="teal-text"> <h6 class="pb-1"><i class="fa fa-heart"></i><strong> News </strong></h6> </a> <!--Excerpt--> </div> <!--Grid column--> </div> <!--Grid row--> </section> <!--Section: Gallery--> <hr class="my-5"> </div> <script src='https://www.google.com/recaptcha/api.js' async defer></script> <div class="linear-back"> <div id=""> <div class="container pt-5"> <section id="contact"> <!-- Heading --> <h2 class="mb-5 font-weight-bold text-center">Contact us</h2> <!--Grid row--> <div class="row"> <!--Grid column--> <div class="col-lg-5 col-md-12"> <!-- Form contact --> <form id="contact-form2" class="p-5 grey-text" method="post"> <div class="md-form form-sm"> <i class="fa fa-user prefix"></i> <input type="text" name="fullname" class="form-control form-control-sm"> <label for="form3">Your name</label> </div> <div class="md-form form-sm"> <i class="fa fa-envelope prefix"></i> <input type="text" name="emailaddress" class="form-control form-control-sm"> <label for="form2">Your email</label> </div> <div class="md-form form-sm"> <i class="fa fa-pencil prefix"></i> <textarea type="text" name="message" class="md-textarea form-control form-control-sm" rows="4"></textarea> <label for="form8">Your message</label> </div> <div class="text-center mt-4"> <button class="btn btn-primary" onClick="document.getElementById('contact-form2').submit()">Send <i class="fa fa-paper-plane-o ml-1"></i></button> <button class="btn btn-primary" onClick="document.getElementById('contact-form2').reset()">Clear <i class="fa fa-paper-plane-o ml-1"></i></button> </div> <div class="g-recaptcha" data-sitekey="6LfruHckAAAAAOc7BjwGG4kL6p3JiYflaGJaxqJ5"></div> </form> </div> <div class="col-lg-7 col-md-12"> <div class="row text-center"> <div class="col-lg-4 col-md-12 mb-3"> <p><i class="fa fa-map fa-1x mr-2 grey-text"></i>Cape Town 7441, WC</p> </div> <div class="col-lg-4 col-md-6 mb-3"> <p><i class="fa fa-building fa-1x mr-2 grey-text"></i>Mon - Fri, 8:00-22:00</p> </div> <div class="col-lg-4 col-md-6 mb-3"> <p><i class="fa fa-phone fa-1x mr-2 grey-text"></i>+27(0) 72 128 0327</p> </div> </div> <div id="map-container" class="z-depth-1-half map-container mb-5" style="height: 400px"> <iframe height="400" frameborder="0" style="border:0; width:-webkit-fill-available;" src="https://www.google.com/maps/embed/v1/view?zoom=15¢er=-33.7901%2C18.4588&key=AIzaSyA6Qwnkrpop_DzlDFWhI34bB7n8BXygxYg" allowfullscreen></iframe> </div> </div> </div> </section> <!--form id="contact-form" method="post"> <div class="row text-center pt-5"><div class="col-sm-1 col-md-3"></div> <div class="col"> <div style="color: white;font-size: 40px;">Get In Touch With Us</div> </div> <div class="col-sm-1 col-md-3"></div> </div> <div class="row text-center pb-5"><div class="col-sm-1 col-md-3"></div> <div class="col"> <div style="color: white;font-size: 15px;">We are here to help. Want to learn more about our services? Please get in touch, we'd love to hear from you!</div> </div> <div class="col-sm-1 col-md-3"></div> </div> <div class="row mt-3"> <div class="col-sm-1 col-md-3"></div> <div class="col"> <input type="text" name="fullname" class="form-control" placeholder="Name" /> </div> <div class="col-sm-1 col-md-3"></div> </div> <div class="row mt-3"> <div class="col-sm-1 col-md-3"></div> <div class="col"> <input type="text" name="emailaddress" class="form-control" placeholder="Email" /> </div> <div class="col-sm-1 col-md-3"></div> </div> <div class="row mt-3"> <div class="col-sm-1 col-md-3"></div> <div class="col"> <textarea name="message" class="form-control" placeholder="Message" ></textarea> </div> <div class="col-sm-1 col-md-3"></div> </div> <input type="hidden" name="submitform" /> <div class="row mt-3"> <div class="col-sm-1 col-md-3"></div> <div class="col-2"></div> <div class="col text-right"> <a class="btn btn-outline-danger login my-2 my-sm-0" onClick="document.getElementById('contact-form').submit()">Send</a> <a class="btn btn-outline-danger login my-2 my-sm-0" onClick="document.getElementById('contact-form').reset()">Clear</a> </div> <div class="col-sm-1 col-md-3"></div> </div> </form--> </div> </div> </div> </main> <script> //polar </script><footer class="page-footer font-small unique-color-dark"> <div class="btn-medium-blue"> <div class="container"> <div class="row py-4 d-flex align-items-center"> <div class="col-md-6 col-lg-5 text-center text-md-left mb-4 mb-md-0"> <h6 class="mb-0 white-text">Get connected with us on social networks!</h6> </div> <div class="col-md-6 col-lg-7 text-center text-md-right"> <a href="https://www.facebook.com/xrc.co.za" target="_blank" class="fb-ic ml-0"> <i class="fab fa-facebook white-text mr-4"> </i> </a> <a href="https://twitter.com/xrc11" target="_blank" class="tw-ic"> <i class="fab fa-twitter white-text mr-4"> </i> </a> </div> </div> </div> </div> <div class="container mt-5 mb-4 text-center text-md-left"> <div class="row mt-3"> <div class="col-md-4 col-12 mx-auto mb-4"> <h6 class="text-uppercase font-weight-bold"> <strong>Products</strong> </h6> <hr class="deep-purple accent-2 mb-4 mt-0 d-inline-block mx-auto" style="width: 60px;"> <p> <a href="#!">XRC Online</a> </p> <p> <a href="#!">XRC Mobile</a> </p> <p> <a href="#!">Membership Administration</a> </p> <p> <a href="#!">Live Results</a> </p> </div> <div class="col-md-4 col-12 mx-auto mb-4"> <h6 class="text-uppercase font-weight-bold"> <strong>Useful links</strong> </h6> <hr class="deep-purple accent-2 mb-4 mt-0 d-inline-block mx-auto" style="width: 60px;"> <p> <a href="#!">Your Account</a> </p> <p> <a href="#!">Club Affiliation</a> </p> <p> <a href="#!">Rankings</a> </p> <p> <a href="#!">Contact Us</a> </p> </div> <div class="col-md-4 col-12 mx-auto mb-4"> <h6 class="text-uppercase font-weight-bold"> <strong>Contact</strong> </h6> <hr class="deep-purple accent-2 mb-4 mt-0 d-inline-block mx-auto" style="width: 60px;"> <p> <i class="fas fa-home mr-3"></i> Big Bay, Cape Town 7441, WC</p> <p> <i class="fa fa-envelope mr-3"></i> admin@xrc.co.za</p> <p> <i class="fa fa-phone mr-3"></i> +27(0) 72 128 0327</p> </div> </div> </div> <div class="footer-copyright text-center py-3">© 2020 Copyright: <a href="http://xrc.co.za/"> xrc.co.za</a> | <a href="?page=terms">terms and conditions</a> </div> </footer> <script type="text/javascript" src="js/addons/datatables.min.js"></script> <script type="text/javascript"></script> </body> </html> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-39428677-1"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-39428677-1'); </script>
HTTP/1.1 301 Moved Permanently Server: nginx Date: Sun, 24 Aug 2025 01:02:21 GMT Content-Type: text/html; charset=iso-8859-1 Content-Length: 226 Connection: keep-alive Location: https://xrc.co.za/ X-XSS-Protection: 1; mode=block X-Content-Type-Options: nosniff X-Nginx-Upstream-Cache-Status: MISS X-Server-Powered-By: nginx-ah HTTP/1.1 200 OK Server: nginx Date: Sun, 24 Aug 2025 01:02:23 GMT Content-Type: text/html; charset=UTF-8 Transfer-Encoding: chunked Connection: keep-alive Vary: Accept-Encoding Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate Pragma: no-cache Set-Cookie: PHPSESSID=b31a79fbf27696f2b128da47919874fa; path=/ X-XSS-Protection: 1; mode=block X-Content-Type-Options: nosniff X-Nginx-Upstream-Cache-Status: MISS X-Server-Powered-By: nginx-ah Content-Encoding: gzip