Golf Việt Nam đánh dấu bước phát triển mới
Ngày 10/3 tại Hà Nội, đã diễn ra lễ ký kết hợp tác giữa Hiệp hội golf chuyên nghiệp Mỹ (PGA of America) với JG Golf Việt Nam (đối tác phân phối sản phẩm chính thức của PGA tại Việt Nam).
Thông qua sự kiện, đại diện Hiệp hội golf chuyên nghiệp Mỹ khẳng định đây sẽ là bước đệm quan trọng trong hành trình phát triển tiếp theo của golf Việt Nam.
“Quan hệ hợp tác của chúng tôi sẽ góp phần mang đến các sản phẩm golf chất lượng cao cho mọi đối tượng, không chỉ người chơi chuyên nghiệp. Việt Nam đã và đang trở thành đất nước có nền công nghiệp golf hàng đầu thế giới, tôi tự hào khi đóng góp vào sự phát triển của bộ môn golf tại đây”, ông Sean D. Thornberry, giám đốc phát triển toàn cầu của Hiệp hội golf chuyên nghiệp Mỹ, chia sẻ tại sự kiện.
Trong những năm gần đây, phong trào golf tại Việt Nam đang phát triển mạnh mạnh mẽ, ghi dấu ấn không chỉ trong nước mà còn trên đấu trường quốc tế.
Sau tấm huy chương vàng lịch sử của Lê Khánh Hưng tại SEA Games 32, người hâm mộ golf Việt Nam tiếp tục được sống trọn trong niềm vui chiến thắng ở đấu trường đỉnh cao của châu lục tại Nomura Cup 2024. Ở đó, Nguyễn Anh Minh, Lê Khánh Hưng cùng Hồ Anh Huy chính là những chàng trai vàng viết lên trang sử mới cho nền golf nước nhà.
Chia sẻ về cơ hội để golfer Việt Nam có thể tham gia các giải đấu quốc tế, tiến gần hơn tới các sự kiện hàng đầu như PGA Tour, đại diện Hiệp hội golf chuyên nghiệp Mỹ cho biết điều này khả thi.
“PGA vận hành chính ở Mỹ. Đây là chương trình mở cho mọi đối tượng trên toàn thế giới có thể tham gia. Tôi tin golfer Việt Nam có thể đạt được, tuy nhiên đây là điều không đơn giản, bởi bên cạnh yếu tố trình độ còn là ngoại ngữ. Sự hợp tác này chính là một tiền đề để chúng ta có cơ sở phá bỏ những rào cản ấy”, ông Sean cho hay.
Từ những bước tiến của golf đỉnh cao đến golf phong trào, Việt Nam đã khẳng định vị thế vững chắc và đầy triển vọng trên bản đồ golf khu vực và thế giới.
Thông qua hợp tác với JG Golf Vietnam, PGA of America mong muốn đưa các sản phẩm golf cao cấp đến gần hơn với những người chơi golf, người hâm mộ tại Việt Nam.
Trong năm 2025, mục tiêu quan trọng nhất của golf Việt Nam chính là giành thành tích tại SEA Games 33 diễn ra vào tháng 12 tại Thái Lan. Trước đó tại SEA Games 32, tay golf Lê Khánh Hưng đã mang về tấm HCV duy nhất và quý giá cho thể thao Việt Nam.
Một số hình ảnh trong buổi lễ công bố sự hợp tác chiến lược giữa PGA of America và JG GOLF Vietnam:
if (!isNotAllow3rd) { loadJsDefer('https://apis.google.com/js/platform.js?onload=onLoadGapi'); loadJsDefer('https://connect.facebook.net/vi_VN/sdk.js#xfbml=1&version=v5.0'); }
function onLoadGapi() { gapi.load('auth2', function() { gapi.load('auth2', function() { gapi.auth2.init({ client_id: '678720187862-08lendtdt5h3nr4j2he534p15b13aieg.apps.googleusercontent.com', scope: 'email profile', fetch_basic_profile: true }); }); }); }
function deleteCookie(name) { document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;"; } function lgGetCookie(name) { var value = document.cookie; var start = value.indexOf(" " + name + "="); if (start == -1) { start = value.indexOf(name + "="); } if (start == -1) { value = null; } else { start = value.indexOf("=", start) + 1; var end = value.indexOf(";", start); if (end == -1) { end = value.length; } value = unescape(value.substring(start, end)); } return value; }
function lgSetCookie(name, value, date) { var cookieValue = escape(value) + ((date == null) ? "" : "; expires=" + date.toUTCString()); document.cookie = name + "=" + cookieValue; }
function authLogin(name,isLogin=false){ if (isLogin){ $('#top-link-account .first').hide(); $('#top-link-account .second').html(`${name} | Đăng xuất`); $('#top-link-account .second').attr('data-out',1);
$("#cmt-account-header .tabs .close, #cmt-account .tabs .close") .click(); $('.comment-account').html(`
`);
}else {
if (window.confirm("Bạn muốn đăng xuất?")) {
var el = $("#top-link-account");
// //el.find("a.first").html("")
// // .removeAttr("style");
el.find(".first").show();
el.find("a.second").html("");
el.find("a.second").removeAttr("data-out");
$('.comment-account').html(`
`);
deleteCookie('my_dv'); $("#_btn_logout").click(); } } }
function logout(){
if (window.confirm("Bạn muốn đăng xuất?")) {
var el = $("#top-link-account");
// //el.find("a.first").html("")
// // .removeAttr("style");
el.find(".first").show();
el.find("a.second").html("");
el.find("a.second").attr("data-out", "0");
$('.comment-account').html(`
`); deleteCookie('my_dv'); $("#_btn_logout").click(); } } function login(){ $("#_btn_logout").click(); $("#cmt_alert").html("Vui lòng đăng nhập hoặc đăng ký để gửi bình luận"); } function register(){ $("#_btn_logout").click(); $('[data-target="signup"]').click(); fnCaptcha(); }
var aspCookie = null;
(runinit = window.runinit || []).push(function() {
if(lgGetCookie('my_dv')){ var user = JSON.parse(lgGetCookie('my_dv')); if(user.name){ authLogin(user.name, true); } }
$('.btn-refresh').click(function() { fnCaptcha(); }); $('.iconew-eye').click(function() { $(this).toggleClass('closed'); var x = $(this).siblings('input')[0]; if (x.type === "password") { x.type = "text"; } else { x.type = "password"; } });
function stripHtml(html) { var temporalDivElement = document.createElement("div"); temporalDivElement.innerHTML = html; return temporalDivElement.textContent || temporalDivElement.innerText || ""; }
// --------------------- User account // 1. Hide login/logout button -> in case API doesn't available, login/logout will not show + Init OAuth_v2 //$("#top-link-account").hide(); if (typeof gapi != "undefined") { //window._cnnd.oauth.init(); console.log("login not available"); } // 2. Remove excessive login/register form -> only 1 form available // no need // 3. Callback functions var fnPopupAction = function(id, alert, loginData) { id = id.toLowerCase(); if (id == "close") { $("#cmt-account-header .close").click(); return; } if (id == "info" && !window._isShowingInfo) { $("#cmt-account-header .close").click(); return; } window._isShowingInfo = false; if (loginData) { $("#cmt-account-header [data-target]").hide(); $("#cmt-account-header [data-target].logged-in").show().first().click(); $("#cmt-account-header [data-info-name]").html(loginData.name || "Quý vị"); $("#cmt-account-header [data-info-email]").html(loginData.email || "<không xác định>"); } else { $("#cmt-account-header [data-target]").hide(); $("#cmt-account-header [data-target].not-login").show().first().click(); $("#cmt-account-social").show(); } setTimeout(function() { $("#cmt-account-header > .wrapper").css("animation", "none"); }, 200); $("#cmt-account-header").show(); $("#cmt-account-header input[type="password"]").val(""); $("#cmt-account-header [data-target="" + id + ""]").click(); $("body").css("overflow", "hidden"); $("#nav").removeClass("active"); $("#cmt_alert").html(alert || "Vui lòng đăng nhập hoặc đăng ký để gửi bình luận"); }; var accountMessageProcess = function(data) { if (data.isLogged) { fnPopupAction("info", "Vui lòng đăng nhập hoặc đăng ký để gửi bình luận", { name: data.name, email: data.email }); } else { fnPopupAction(data.act, data.alert || "Vui lòng đăng nhập hoặc đăng ký"); if (data.act == "close" && data.raw.Data && data.raw.Data.Approved) { //window.alert("Đăng nhập thành công"); fnPopupAction("info", "Đăng nhập thành công", { name: data.raw.Data.Name, email: $("#_login_email").val() || $("#_sign_email").val() }); } } };
// 5. Action functions -> bind event to form elements
var fnPopupBindAction = function() { // Tab $("#cmt-account-header [data-target]").on('click', function() { $("#cmt-account-header [data-target], #cmt-account-header [data-tab]").removeClass( "active"); $(this).addClass("active"); var tab = $("#cmt-account-header [data-tab='" + $(this).attr("data-target") + "']"); tab.addClass("active") .find("input[type="text"], input[type="email"]").first().focus(); tab.find("input").keyup(function(event) { if (event.keyCode === 13) { tab.find(".btn.clickable").click(); } }); fnCaptcha(); $("#cmt_alert").html("Vui lòng đăng nhập hoặc đăng ký để gửi bình luận"); }); $("#cmt-account-header .close").on('click', function() { $("#cmt-account-header").hide(); $("#cmt-account-header > .wrap").removeAttr("style"); $("body").css("overflow", "unset"); fnCaptcha(); $("#cmt_alert").html("Vui lòng đăng nhập hoặc đăng ký để gửi bình luận"); }); // Reload Captcha // $("#_reload_captcha").on('click', function () { // fnCaptcha(); // }); // Btn Login
$("#comment-frame").on('click','#btn_login', function () { $("#top-link-account .first").click(); }); $("#comment-frame").on('click','#btn_signup', function () { $("#top-link-account .first").click(); $('[data-target="signup"]').click(); });
$("#_btn_login").on('click', function() {
$("#cmt_alert").html("Vui lòng đăng nhập hoặc đăng ký để gửi bình luận");
var email, password;
email = $("#_login_email").val();
password = $("#_login_password").val();
if (!/^[a-z0-9-_.]+[@][0-9a-z-]+(.[0-9a-z-]+)+$/ig.test(email) || password
.length < 8) {
$("#cmt_alert").html("Email hoặc mật khẩu không đúng!");
return;
}
$.ajax({
url: pageSettings.DomainApiComment + "/api/get-usercomment.htm",
data: {
email: encodeURI(email),
password: password,
sitename: pageSettings.commentSiteName,
},
type: "get",
success: function (res){
if (res && res.data == true){
var user = {
email: email,
name: email.substring(0, email.indexOf('@')),
}
let now = new Date();
lgSetCookie('my_dv',JSON.stringify(user), new Date(now.getTime() + (30 * 12 * 60000)));
authLogin(user.name, true);
}else {
$("#cmt_alert").html("Có lỗi phát sinh, vui lòng thử lại sau");
}
}
});
});
// Btn Signup
$("#_btn_sign").on('click', function() {
$("#cmt_alert").html("Vui lòng đăng nhập hoặc đăng ký để gửi bình luận");
var email, name, password, repassword, captcha;
email = $("#_sign_email").val();
name = $("#_sign_name").val();
if (name == ''){
name = email.split('@')[0];
}
password = $("#_sign_password").val();
//repassword = $("#_sign_repassword").val();
captcha = $("#_sign_captcha").val();
var format = /[!@#$%^&*()_+-=[]{};':"\|,.<>/?]/g;
if (!/^[a-z0-9-_.]+[@][0-9a-z-]+(.[0-9a-z-]+)+$/ig.test(email)) {
$("#cmt_alert").html("Email không hợp lệ");
return;
}
//if (name.length <= 0) {
// $("#cmt_alert").html("Vui lòng nhập họ tên của bạn!");
// return;
//}
//if (name.length > 20) {
// $("#cmt_alert").html("Họ tên không được quá 20 ký tự (Có thể để nickname thay thế)!");
// return;
//}
//if (format.test(name)) {
// $("#cmt_alert").html("Tên không được chứa ký tự đặc biệt!");
// return;
//}
if (password.length < 8) {
$("#cmt_alert").html(
"Mật khẩu phải có ít nhất 8 ký tự, chứa ít nhất 1 chữ số và 1 chữ cái");
return;
}
//if (password != repassword) {
// $("#cmt_alert").html("Mật khẩu xác nhận lại không khớp!");
// return;
//}
if (!(/[a-z]/ig.test(password) && /[0-9]/ig.test(password))) {
$("#cmt_alert").html("Mật khẩu phải chứa ít nhất 1 chữ số và 1 chữ cái");
return;
}
if (captcha.length <= 0) {
$("#cmt_alert").html("Vui lòng điền mã xác nhận trong ảnh!");
return;
}
$.ajax({
type: 'POST',
url: pageSettings.DomainApiComment + "/api/insert-usercomment.htm",
data: {
name: name,
email: email,
password: password,
captcha: captcha,
sitename: pageSettings.commentSiteName
},
success: function (res){
if (res && res.message == "Success"){
var user = {
email: email,
name: email.split('@')[0],
}
let now = new Date();
lgSetCookie('my_dv',JSON.stringify(user), new Date(now.getTime() + (30 * 12 * 60000)));
authLogin(user.name, true);
$("#cmt-account-header .close").click();
}else {
$("#cmt_alert").html("Có lỗi phát sinh, vui lòng thử lại sau");
}
}
});
});
// Btn logout
$("#_btn_logout").on('click', function() {
$("#cmt_alert").html("Vui lòng đăng nhập hoặc đăng ký để gửi bình luận");
$("#cmt-account-header .close").click();
fnPopupAction("login", "Bạn đã đăng xuất thành công");
var el = $("#top-link-account");
//el.find("a.first").html("")
// .removeAttr("style");
el.find("a.first").show();
el.find("a.second").html("");
$("#cmt-account-social").show();
});
// Header login/account_info
// Header login/account_info $("#top-link-account .first").on('click', function() { if ($("#top-link-account .second").attr("data-out")) { $("#top-link-account .second").toggleClass("show"); } else { fnPopupAction("login"); } }); // Btn register/log_out $("#top-link-account .second").on('click', function() { if ($("#top-link-account .second").attr("data-out")) { //$("#_btn_logout").click();
authLogin('my_dv',false);
} else { fnPopupAction('signup'); }
//var el = $("#top-link-account");
//el.find("a.first").html("")
// .removeAttr("style");
//el.find("a.second").html("");
});
};
fnPopupBindAction();
//login Facebook var otherLogin = { init: function() { var me = this; //gapi.load('auth2', function () { // gapi.auth2.init({ // client_id: '678720187862-08lendtdt5h3nr4j2he534p15b13aieg.apps.googleusercontent.com', // scope: 'email profile', // fetch_basic_profile: true // }); //}); $("#cmt-account-social button[data-type]").on('click', function() { me[$(this).attr("data-type")](function(response) { $("#cmt-account-header .tabs .close, #cmt-account .tabs .close") .click(); }); }); try { fbClient.appId = '1304555827613749'; //'211029740744825'; fbClient.version = "v14.0"; fbClient.init(); setTimeout(FB.AppEvents.logPageView, 5000); } catch (e) { // ignore } }, loginFacebook: function(cb) { var me = this;
function reloginFacebook(callback) { FB.api('/me', { fields: 'id, name, email' }, function(profile) { //console.debug(profile); if (typeof callback === "function") callback(profile); }); }; FB.login(function(response) { if (response.authResponse) { reloginFacebook(function(info) { console.log(info); info.social = "facebook"; info.accessToken = response.authResponse.accessToken;
var user = { email: info.email, name: info.name, } let now = new Date(); lgSetCookie('my_dv',JSON.stringify(user), new Date(now.getTime() + (30 * 12 * 60000))); authLogin(user.name, true); }); } else { $("#cmt_alert").html( "Bạn đã từ chối cấp quyền truy cập tài khoản Facebook"); } }, { scope: 'public_profile,email' }); }, loginGoogle: function(callback) { var me = this;
function callSocialApi(data, cb) { data.social = "google"; var user = { email: data.email, name: data.name, } let now = new Date(); lgSetCookie('my_dv',JSON.stringify(user), new Date(now.getTime() + (30 * 12 * 60000))); authLogin(user.name, true); }
// API call for Google login if (gapi.auth2.getAuthInstance().isSignedIn.get()) { //console.debug('[VCC] GAPI Process'); var profile = gapi.auth2.getAuthInstance().currentUser.get().getBasicProfile();
//var id_token = gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse().id_token; var access_token = gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse() .access_token;
var params = { id: profile.getId(), name: profile.getName(), email: profile.getEmail(), accessToken: access_token } //console.log('params: ', params); callSocialApi(params, callback); } else { //console.debug('[VCC] GAPI Login'); gapi.auth2.getAuthInstance().signIn().then( function(success) { var profile = gapi.auth2.getAuthInstance().currentUser.get() .getBasicProfile(); //var id_token = gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse().id_token; var access_token = gapi.auth2.getAuthInstance().currentUser.get() .getAuthResponse().access_token;
var params = { id: profile.getId(), name: profile.getName(), email: profile.getEmail(), accessToken: access_token } //console.log('params: ', params); callSocialApi(params, callback); }, function(error) { $("#cmt_alert").html( "Bạn đã từ chối cấp quyền cho Báo Dân Việt truy cập tài khoản Google" ); } ); } } } otherLogin.init(); });
Xin chào ${name}! Đăng xuất