$.ajaxSetup({ type: "post", cache: false }); $(document).ready(function() { $(".menu_item_rim").on("click",function(e) { checkLogin("/rim.html?type=rim","U moet aangemeld zijn om velgen te kunnen aanbieden."); }); // end on $(".menu_item_tire").on("click",function(e) { checkLogin("/rim.html?type=tire","U moet aangemeld zijn om banden te kunnen aanbieden."); }); // end on $(".menu_item_rim_index").on("click",function(e) { checkLogin("/rim/index.html","U moet aangemeld zijn om uw aanbiedingen te kunnen bekijken."); }); // end on $(".menu_item_search_index").on("click",function(e) { checkLogin("/search/index.html","U moet aangemeld zijn om uw zoekopdrachten te kunnen raadplegen."); }); // end on $(".menu_item_bid_index").on("click",function(e) { checkLogin("/bid/index.html","U moet aangemeld zijn om uw biedingen te kunnen raadplegen."); }); // end on $(".menu_item_favorite_index").on("click",function(e) { checkLogin("/favorite/index.html","U moet aangemeld zijn om uw favorieten te kunnen raadplegen."); }); // end on $(".menu_item_login").on("click",function(e) { var url = this.href.substring((this.href.lastIndexOf("#") + 1),this.href.length); if(url) { checkLogin(url); }else{ checkLogin(); } // end if }); // end on }); // end ready function checkLogin(url,message,onShow) { // Set default values for the function parameters if(typeof(url) === "undefined") url = false; if(typeof(message) === "undefined") message = false; if(typeof(onShow) === "undefined") onShow = false; if(logged_in) { if(url === true) { $("#search_form").submit(); $("#detail_form").submit(); }else if(url) { window.location.href = url; } // end if }else{ var dialogHTML; $.ajax({ "async": false, "url": "/login.html", "data": { "ajax": "getLoginDialog", "url": url, "message": message }, "success": function(data) { dialogHTML = data; }, "error": function(obj,txt) { /* alert(txt); for(i in obj) if(typeof(obj[i]) !== "function") alert(i + ": " + obj[i]); */ }}); if($("#login_dialog").length) $("#login_dialog").remove(); $("body").append(dialogHTML); $("#login_dialog").on("shown.bs.modal",function(e) { $("#login_email").focus(); if(typeof(onShow) === "function") onShow(); }); // end on $("#login_dialog").on("hidden.bs.modal",function(e) { $(this).remove(); }); // end on $("#login_dialog").modal("show"); $("#login_toggle").off(); $("#register_toggle").off(); $("#login_button").off(); $("#cancel_login_button").off(); $("#register_link").off(); $("#password_link").off(); $("#login_toggle").on("click",function(e) { $("#login_dialog .nav-tabs li").removeClass("active"); $(this).parent().addClass("active"); $("#register_tab").addClass("hidden"); $("#login_tab").removeClass("hidden"); }); // end on $("#register_toggle").on("click",function(e) { $("#login_dialog .nav-tabs li").removeClass("active"); $(this).parent().addClass("active"); $("#login_tab").addClass("hidden"); $("#register_tab").removeClass("hidden"); }); // end on $("#login_button").on("click",function(e) { var email = $("#login_email").val(); var password = $("#login_password").val(); var remember_login = $("#remember_login").val(); $("#login_dialog").modal("hide"); $.ajax({ "url": "/login.html", "data": { "ajax": "login", "email": email, "password": password, "remember_login": remember_login }, "success": function(data) { checkLoginComplete(data,url); }, "error": function(obj,txt) { /* alert(txt); for(i in obj) if(typeof(obj[i]) !== "function") alert(i + ": " + obj[i]); */ }}); }); // end on $("#login_password").on("keydown",function(e) { var keyCode = (e.which !== 0 ? e.which : e.keyCode); if(keyCode === 13 && !e.ctrlKey && !e.altKey && !e.shiftKey) { // When pressing enter e.preventDefault(); $("#login_button").trigger("click"); } // end if }); // end on $("#cancel_login_button").on("click",function(e) { $("#login_dialog").modal("hide"); $("#login_link").focus(); }); // end on $("#register_link").on("click",function(e) { if(window.location.pathname == "/detail.html") { var rim_id = (function(name) { if(location.search) { var parts = location.search.substring(1).split('&'); for(var i = 0; i < parts.length; i++) { var nv = parts[i].split('='); if(!nv[0]) continue; if(decodeURIComponent(nv[0]) === name) return (nv[1] ? decodeURIComponent(nv[1]) : (typeof(nv[1]) === "string" ? "" : true)); } // end for return null; }else{ return null; } // end if })("rim_id"); window.location.href = "/register.html?url=detail&rim_id=" + encodeURIComponent(rim_id) + ($("#login_email").val() != "" ? "&email=" + encodeURIComponent($("#login_email").val()) : ""); }else{ window.location.href = "/register.html" + ($("#login_email").val() != "" ? "?email=" + encodeURIComponent($("#login_email").val()) : ""); } // end if }); // end on $("#password_link").on("click",function(e) { window.location.href = "/password.html" + ($("#login_email").val() != "" ? "?email=" + encodeURIComponent($("#login_email").val()) : ""); }); // end on } // end if } // end function function checkLoginComplete(data,url) { if(!data) { checkLogin(url); }else{ logged_in = true; if(url === true) { $("#search_form").submit(); $("#detail_form").submit(); }else if(url) { window.location.href = url; }else{ if($("#detail_form").length) { // Force reload on detail page to show all actions location.reload(true); }else{ var profile_menu = $(data).find("#profile_menu"); var login_menu = $("#login_menu"); login_menu.replaceWith(profile_menu); $("#menu").collapse("hide"); $("#intro").hide(); if(window.location.pathname == "/index.html") $(document).find("head > title").html("Velgenweb - Zoek velgen"); if(typeof(setTabIndex) === "function") setTabIndex(); $("#profile_link:visible").focus(); } // end if } // end if } // end if } // end function function loggedIn() { return logged_in; } // end function var logged_in = false;