$(document).ready(function(){
$(window).on('popstate', function(e){
location.reload();
});
function drawMenu(id)
{
$(".facet-menu").empty();
$(".facet-menu2").empty().hide();
$(".facet-menu").show();
$(".facet-button").each(function (i) {
var id3 = $(this).attr("id");
var id2 = $(this).children(":first").text();
if (id2 != "MORE FILTERS")
{
if (id2.indexOf("(") >= 0)
{
$("").appendTo(".facet-menu");
}
else
{
$("").appendTo(".facet-menu");
}
if($(".facet-button").length == i+1) {
$(".facet-title-bar2").removeClass("hidden");
}
}
});
}
function detach(id)
{
var facet1 = $(".facet-menu2").children(":first").attr("id");
var facet = "#" + facet1;
var rel = $(facet).attr("rel");
$(facet).addClass(rel);
$(facet).attr("rel","");
var control = facet1.split("-");
control2 = control[0] + "-" + control[2];
control3 = "facet-container-" + control[2];
$(facet).detach().appendTo("." + control3).fadeIn(500);
}
$(".facet-toggle").on("click",function(){
$("#livechat-compact-container").fadeOut("slow");
$(".facet-window").fadeIn('slow', function() {
$('html, body').css({
overflow: 'hidden',
height: '100%'
});
$(".facet-window").css(
'overflow-y', 'auto'
);
$(".facet-window").css(
'overflow-x', 'hidden'
);
drawMenu($(this));
});
});
$(document.body).on('click','.facet-menu-item' ,function(){
$(".facet-menu").empty().hide();
$(".facet-menu2").empty().show();
$(".facet-window-back").show().fadeIn("slow");
var crumb = $(this).attr("rel");
crumb = crumb.split("-");
var value = crumb[1];
type = "facet-control-" + value;
$("#" + type).detach().appendTo(".facet-menu2");
var classes = $("#" + type).attr("class");
$("#" + type).attr("rel",classes);
$("#" + type).removeClass(classes);
});
$(".facet-window-back").on("click",function(){
if ($(".facet-menu2").is(":visible"))
{
detach();
$(".facet-window-back, .facet-menu2").fadeOut('fast', function() {
drawMenu(".facet-toggle");
});
}
});
$(".facet-window-close-wrapper,.apply").on("click",function(){
if ($(".facet-menu2").is(":visible"))
{
detach();
$(".facet-window-back").hide();
}
$("#livechat-compact-container").fadeIn("slow");
$(".facet-window").fadeOut("slow");
$(".facet-title-bar2").addClass("hidden");
$(".facet-menu").empty();
$(".facet-menu2").empty();
$('html, body').css({
overflow: 'auto',
height: 'auto'
});
});
//ADDED
$("input[type=radio], input[type=checkbox]").not("input[type=checkbox][name=facet-more-input],input[type=radio][name=metal_type]").change(function(){
var data = "";
if($("input[type=radio][name=facet-category-input]").is(":checked"))
{
var cat = $("input[type=radio][name=facet-category-input]:checked").val();
data = "category=" + cat;
}
$("input[type=radio]:checked, input[type=checkbox]:checked").not("input[type=checkbox][name=facet-more-input],input[type=radio][name=metal_type],input[type=radio][name=facet-category-input]").each(function () {
var value = $(this).val();
var name = $(this).attr('name').replace("facet-", "").replace("-input", "");
//alert(name + "=" + value);
if (data == "")
{
data = name + "=" + value;
}
else
{
data = data + "&" + name + "=" + value;
}
});
data = encodeURIComponent(data);
var decode = decodeURIComponent(data);
if ($(window).width() < 801)
{
$("#facet-loading").fadeIn("fast");
}
$.ajax({
type: "GET",
url: "/ajax/facets.php",
dataType: 'html',
data: data,
success: function(data){
var $response=$(data);
var results = $response.filter('#products').html();
var pagination = $response.filter('#pagination').html();
var crumbs = $response.filter('#crumbs').html();
var remain = $response.filter('#remain').html();
var category_count = $response.filter('#category_count').html();
//var current_metal = $response.filter('#current_metal').text();
//$("#current_metal").val(current_metal);
var number_of_pages = $response.filter('#number_of_pages').html();
var current_category = $("#current_category").val();
var update_category = $response.filter('#category_update').text();
var pushstate = $response.filter('#pushstate').text();
var canon = $response.filter('#canon').text();
var next_canonical= $response.filter('#next_canonical').text();
var disablenextprev = $response.filter('#disablenextprev').text();
var category_title = $response.filter('#category_title').html();
var title = $response.filter('#title').html();
var description = $response.filter('#description').html();
if (currenttitle != title)
{
document.title = title;
}
var currenttitle = (document.title);
$('meta[name=description]').attr('content', description);
//OG meta
$("meta[property='og\\:description']").attr("content", description);
$("meta[property='og\\:title']").attr("content", title);
var ogurl = "https://www.knoxjewelers.biz/" + pushstate;
var canonurl = "https://www.knoxjewelers.biz/" + canon;
$("meta[property='og\\:url']").attr("content", ogurl);
//canonical
$('link[rel="canonical"]').attr("href",canonurl);
$('link[rel="prev"]').remove();
if ($('link[rel="next"]').length && number_of_pages > 1 && disablenextprev != 1)
{
$('link[rel="next"]').attr("href", "https://www.knoxjewelers.biz/" + next_canonical);
}
else if($('link[rel="next"]').length == 0 && number_of_pages > 1 && disablenextprev != 1)
{
var new_can = "https://www.knoxjewelers.biz/" + next_canonical;
var new_next = '';
$('link[rel="canonical"]').after(new_next);
}
else
{
$('link[rel="next"]').remove()
}
var pushstate = decodeURIComponent(pushstate);
history.pushState({}, title, pushstate);
var currenturl = '/' + pushstate;
dataLayer.push({'event':'VirtualPageview','virtualPageURL':currenturl,'virtualPageTitle':currenttitle});
$("input[type=radio], input[type=checkbox]").not("input[type=checkbox][name=facet-more-input],input[type=radio][name=metal_type]").each(function () {
$(this).prop('disabled', true);
$(this).parent().addClass("facet-disable");
});
var remaining = JSON.parse(remain);
for (var i = 0; i < remaining.remaining.length; i++) {
var counter = remaining.remaining[i];
var new1 = counter.split("_");
$("[name="+new1[0]+"]").each( function() {
if ( $(this).val() == new1[1] )
{
$(this).prop('disabled', false);
$(this).parent().removeClass("facet-disable");
}
});
//alert(new1[1]);
//$("input[name='+new1[0]+'][value='+new1[1]+']").prop('disabled', false);
}
var category_name = $(".category-name").text();
if (category_name != category_title)
{
$(".category-name").text(category_title)
}
$('.page_nav_div').fadeOut(200, function() {
$(this).empty().show();
//$('.page_nav_div').replaceWith(pagination).fadeIn(800);
$('.page_nav_div').html(pagination).fadeIn(800);
});
$('#products').fadeOut(200, function() {
$(this).empty().show();
$("#products").html(results).fadeIn(800);
});
$('#crumbs').fadeOut(200, function() {
$(this).empty().show();
$("#crumbs").html(crumbs).fadeIn(800);
});
if (category_count == 0)
{
$("#category-count").text("");
}
else
{
$("#category-count").text("(1)");
}
var facets = ["elements", "style", "patterns", "finishes", "shape", "accentshape", "accentsetting", "centersetting"];
facets.forEach(function(facets) {
var facet = $("#" + facets + "-count");
var count = $response.filter("#" + facets + "_count").html();
if (count == "0")
{
facet.text("");
}
else
{
facet.text("(" + count + ")");
}
});
//$("#products").empty();
//$("#products").html(results).fadeIn(500);
if ($(window).width() < 801)
{
$("#facet-loading").fadeOut("fast");
}
}
});
});
var data = "load_metal=1";
$.ajax({
type: "GET",
url: "/ajax/finger_metal.php",
dataType: 'html',
data: data,
success: function(data){
var $response=$(data);
//query the jq object for the values
var metal_type = $response.filter('#metal_type').text();
var metal_type2 = $response.filter('#metal_type2').text();
$('.'+ metal_type2)[0].checked = true;
}
});
$("input[type=radio][name=metal_type]").change(function(){
var metal = $('input[name=metal_type]:checked').val();
var data = "category_metal=" + metal;
$.ajax({
type: "GET",
url: "/ajax/finger_metal.php",
dataType: 'html',
data: data,
success: function(data){
var $response=$(data);
//query the jq object for the values
var current_metal = $response.filter('#current_metal').text();
$("#current_metal").val(current_metal);
location.reload();
}
});
});
$("input[type=checkbox][name=facet-more-input]").change(function(){
$(".more").hide();
$(".more").each(function () {
var id = $(this).attr("id");
var control = "facet-control-" + id;
$("#" + control).removeClass("l-offset-2 l-offset-4 l-offset-6 l-offset-8");
});
$("input[type=checkbox][name=facet-more-input]").each(function () {
var val = (this.checked ? $(this).val() : "");
var val2 = (!this.checked ? $(this).val() : "");
if (val != "")
{
$("#" + val).show();
}
});
var count = 0;
$(".more:visible").each(function () {
var id = $(this).attr("id");
if (count > 0)
{
var offset = count * 2;
var control = "facet-control-" + id;
$("#" + control).addClass("l-offset-" + offset);
}
count++;
});
});
$("#screen").on("click",function(){
var facet = $(".facet-open").attr('id');
var indicator = facet.replace("-","-indicator-");
$("#" + indicator).html("▼");
filter = facet.replace("-","-control-");
$("#" + filter).removeClass("one-edge-shadow");
$("#" + filter).slideToggle("fast","swing", function() {
$("#" + facet).addClass("one-edge-shadow");
$("#" + facet).removeClass("facet-open");
$("#screen").hide();
});
});
$(".facet-button").on("click",function(){
var filter = $(this).attr('id');
var id = filter;
var metal = filter.replace("-","-indicator-");
filter = filter.replace("-","-control-");
if ($(this).hasClass("facet-open"))
{
//$(this).removeClass("facet-open");
$("#" + metal).html("▼");
//$(this).addClass("one-edge-shadow");
$("#" + filter).removeClass("one-edge-shadow");
}
else
{
$(this).addClass("facet-open");
$("#" + metal).html("▲");
$(this).removeClass("one-edge-shadow");
$("#" + filter).addClass("one-edge-shadow");
$("#screen").show();
}
$("#" + filter).slideToggle("fast","swing", function() {
if($(this).is(":hidden"))
{
$("#" + id).addClass("one-edge-shadow");
$("#" + id).removeClass("facet-open");
$("#screen").hide();
}
});
});
$(document).on("click",".crumbs:not(.removeall)", function() {
var crumb = $(this).attr("rel");
crumb = crumb.split("_");
var type = crumb[0];
var value = crumb[1];
type = "facet-" + type + "-input";
if (type == "facet-category-input")
{
$("input[name='facet-category-input'][rel='top']").prop( "checked", true );
}
if (type == "facet-metal-input")
{
$("input[name='metal_type'][value='Default']").prop( "checked", true ).change();
}
else
{
$("input[name='" + type + "'][value='" + value +"']").prop( "checked", false ).change();
}
});
$(document).on("click",".removeall", function() {
var category = $('input[type=radio][name=facet-category-input]:checked').val();
var data = "removeall=1" + "&category=" + category;
$.ajax({
type: "GET",
url: "/ajax/facets.php",
dataType: 'html',
data: data,
success: function(data){
var $response=$(data);
//query the jq object for the values
var url = $response.filter('#url').text();
window.location.href = url;
}
});
});
// Bind the swipeleftHandler callback function to the swipe event on div.box
//$(".product_thumbnail").on("swipe",function(){
$(document.body).on('swipe', '.product_thumbnail' ,function(){
var source = $(this).attr('rel');
var existing = $("#thumb_" + source).attr('src');
var myString = existing.split(source + "_").pop().charAt(0);
myString = parseInt(myString, 10);
var image = $(".frame", this).attr('rel');
var type = $(".frame img", this).attr('rel');
var current_metal = $("#current_metal").val();
if(myString == 1)
{
if (type == "none" || current_metal == "none")
{
var source2= 'https://www.knoxjewelers.biz/storeimages/products/gallery/' + source + '_' + image + '_image.jpg';
}
else if (type !== current_metal)
{
var source2= 'https://www.knoxjewelers.biz/storeimages/products/gallery/' + source + '_' + image + '_image_' + current_metal + '.jpg';
}
else
{
var source2= 'https://www.knoxjewelers.biz/storeimages/products/gallery/' + source + '_' + image + '_image.jpg';
}
}
else
{
if (type == "none" || current_metal == "none")
{
var source2= 'https://www.knoxjewelers.biz/storeimages/products/gallery/' + source + '_1_image.jpg';
}
else if (type !== current_metal)
{
var source2= 'https://www.knoxjewelers.biz/storeimages/products/gallery/' + source + '_1_image_' + current_metal + '.jpg';
}
else
{
var source2= 'https://www.knoxjewelers.biz/storeimages/products/gallery/' + source + '_1_image.jpg';
}
}
$("#thumb_" + source).attr('src', source2);
if($(".swipe").is(':visible'))
{
$(".swipe").removeClass(".objblink").fadeTo('fast', 1.0).fadeOut(1000,0.0);
}
var disable = localStorage.getItem("disableswipe");
if($(".swipe").is(':visible'))
{
if (typeof disable !== 'undefined' && disable !== null)
{
disable = parseInt(localStorage.getItem('disableswipe')) + 1;
}
else
{
disable = 1;
}
localStorage.setItem("disableswipe", disable);
}
$(".swipe").hide();
})
$(document).on('mouseover', '.product_thumbnail',function() {
//$(".product_thumbnail").hover(function(){
var source = $(this).attr('rel');
var image = $(".frame", this).attr('rel');
var type = $(".frame img", this).attr('rel');
var current_metal = $("#current_metal").val();
if (type == "none" || current_metal == "none")
{
var source2= 'https://www.knoxjewelers.biz/storeimages/products/gallery/' + source + '_' + image + '_image.jpg';
}
else if (type !== current_metal)
{
var source2= 'https://www.knoxjewelers.biz/storeimages/products/gallery/' + source + '_' + image + '_image_' + current_metal + '.jpg';
}
else
{
var source2= 'https://www.knoxjewelers.biz/storeimages/products/gallery/' + source + '_' + image + '_image.jpg';
}
$("#thumb_" + source).attr('src', source2);
}).on('mouseleave', '.product_thumbnail',function(){
var source = $(this).attr('rel');
var type = $(".frame img", this).attr('rel');
var current_metal = $("#current_metal").val();
if (type == "none" || current_metal == "none")
{
var source3= 'https://www.knoxjewelers.biz/storeimages/products/gallery/' + source + '_1_image.jpg';
}
else if (type !== current_metal)
{
var source3= 'https://www.knoxjewelers.biz/storeimages/products/gallery/' + source + '_1_image_' + current_metal + '.jpg';
}
else
{
var source3= 'https://www.knoxjewelers.biz/storeimages/products/gallery/' + source + '_1_image.jpg';
}
$("#thumb_" + source).attr('src', source3);
});
function is_touch_device() {
return (('ontouchstart' in window)
|| (navigator.MaxTouchPoints > 0)
|| (navigator.msMaxTouchPoints > 0));
}
if (is_touch_device()) {
var disable = localStorage.getItem("disableswipe");
if (disable < 2){
$(".swipe").show();
}
}
});