﻿ var currentPage = 1;
 $(document).ready(function () {
     if ($("div#mygalone").length > 0) {
         $("div#mygalone").slideView({ toolTip: false, ttOpacity: 0.5 }) // ttOpacity can be 0.1 to 1.0
         setInterval(function () { $("div#mygalone").click() }, 5000);
     }
     if ($(".scrollable").length > 0)
         $(".scrollable").scrollable({ vertical: true });

     if ($("#sizeGuideTrigger").length > 0) {
         $("#sizeGuideTrigger").click(function () {
             $.ajax({
                 url: '/MeasurementTable.aspx',
                 success: function (data) {
                     $('#sizeGuide').html(data);
                 }
             });
             $("#sizeGuide").css("display", "block");
             return false;
         });

         $("#sizeGuideTrigger").mouseout(function () {
             $("#sizeGuide").css("display", "none");
         });
     }
     $(".pgatourstop").click(function () {
         try {
             $("#pgaTourStop").dialog({
                 width: 480,
                 height: 370,
                 modal: true
             });
			 
			 addTracking('pgatourstopOpen');
         } catch (err) {
             alert(err.ToString());
         }
         return false;
     });
	 $("#ladiesProClick, #tourStopClick, #clicktocontinue").click(function(){
		addTracking($(this).attr("id"));
	 });
     $("#clicktocontinue").click(function () {
         $("#pgaTourStop").dialog("close");
     });

     $(".tbjoinEmailList").focus(function () {
         if ($(this).val() == $(this).attr("title"))
             $(this).val("");
     });
     $(".tbjoinEmailList").blur(function () {
         if ($(this).val() == "")
             $(this).val($(this).attr("title"));
     });

     //$(":submit").addClass("tail_button");

     var options2 =
            {
                zoomWidth: 250,
                zoomHeight: 350,
                zoomType: 'reverse'
            };
     if ($('.MYCLASS').attr("href") != "")
         $('.MYCLASS').jqzoom(options2);

     // textbox clear and set default value
     $("input[type='text']").live("focus", function () {
         if ($(this).val() == $(this).attr("title"))
             $(this).val("");
     });
     $("input[type='text']").live("focusout", function () {
         if ($(this).val() == "")
             $(this).val($(this).attr("title"));
     });

     // search
     $("#advanced_search").click(function () {
         submitHeaderSearch();
         return false;
     });
     $("#advancedsearchform").submit(function () {
         submitHeaderSearch();
         return false;
     });

     if ($("#search").length > 0) {
         // initial search page check for redirect from other site pages
         $search_keyword = $("#search_keyword");
         if ($search_keyword.val() != $search_keyword.attr("title")) {
             //getKeywordResults(1);
             getResults(currentPage);
         }

         // catch enter button form submit and initiate ajax search call
         $("#searchform").submit(function () {
             //getKeywordResults(currentPage);
             getResults(currentPage);
             return false;
         });
         /*$("#searchKeywordBtn").click(function () {
             getKeywordResults(currentPage);
             return false;
         });*/

         // handle criteria select button click
         $("#searchBtn").click(function () {
             getResults(currentPage);
             return false;
         });

         // clear button reset form to all checked and clear keyword search
         $("#clearBtn").click(function () {
             resetForm(true);
             return false;
         });

         // handle add to cart button click
         $(".addToCart").live('click', function () {
             var qty = $(this).prev().val();
             var id = $(this).prev().attr("id").replace("qty_", "");
             var size = $(this).prev().prev().val();
             var error = false;
             $("#qty_" + id).removeClass("errorTB");
             if (isNaN(qty) || qty.length == 0) {
                 $("#qty_" + id).addClass("errorTB");
                 error = true;
                 //errorMessage = "Please choose item quantity.";
             }
             if (size.length == 0) {
                 $("#size").addClass("errorTB");
                 error = true;
                 // errorMessage = "Please choose item size.";
             }

             if (!error) {
                 $.ajax({
                     url: "/ajax/addToCart.aspx",
                     data: "qty=" + qty + "&id=" + id + "&size=" + size,
                     success: function (html) {
                         if (html == "success") {
                             $("#added_" + id).css("display", "block");
                             $("#added_" + id).delay(2000).fadeOut("slow");
                         } else if (html == "outofstock") {
                             $("#outofstock_" + id).css("display", "block");
                             $("#outofstock_" + id).delay(2000).fadeOut("slow");
                         }
                     }
                 });
             }
             return false;
         });

         // check and uncheck all categories if top level category is clicked
         $(".topLevel").click(function () {
             if ($(this).attr("checked")) {
                 var $subCats = $(this).parent().next();
                 $subCats.css("display", "block");
                 $subCats.children("input").attr("checked", true);
             } else {
                 var $subCats = $(this).parent().next();
                 $subCats.css("display", "none");
                 $subCats.children("input").attr("checked", false);
             }
         });

         // check all checkboxes by default
         resetForm(false);
     } // end search
 });

 function resetForm(clearKeyword) {
     // check all criteria by default
     $("#search input").attr("checked", true);

     if (clearKeyword) {
        if($("#search_keyword").val() != $("#search_keyword").attr("title"))
            $("#search_keyword").val("");
     }
 }

 function submitHeaderSearch() {
     $advanced_search_keyword = $("#advanced_search_keyword");
     if ($advanced_search_keyword.val() != $advanced_search_keyword.attr("title"))
         window.location = "/search.aspx?keyword=" + $advanced_search_keyword.val();
 }

 /*function getKeywordResults(page) {
     $("#loading").css("display", "block");

     var keyword = $("#search_keyword").val();
     var perPage = $(".perPage").val();
     
     if (keyword != "" && keyword != "Enter keywords")
        updateResults("keywords=" + $("#search_keyword").val() + "&p=" + page + "&perpage=" + perPage);
 }*/
 
 function getResults(page) {
     $("#loading").css("display", "block");

     var keyword = "";
     if ($("#search_keyword").val() != $("#search_keyword").attr("title"))
         keyword = $("#search_keyword").val();

     var perPage = $(".perPage").val();

        var inputs = $("form input:checkbox:checked");
        var type = '';
        var category = '';
        var size = '';
        var id = '';
        for (i = 0; i < inputs.length; i++) {
            id = $(inputs[i]).attr("id");
            if (id.indexOf("category") >= 0) {
                if (!$(inputs[i]).hasClass("topLevel")) // subcategory so add
                    category += $(inputs[i]).val() + ',';
                else if(!isChildChecked(id)) // is topLevel so make sure no subcategories are selected
                    category += $(inputs[i]).val() + ',';
            }else if (id.indexOf("type") >= 0)
                type += $(inputs[i]).val() + ',';
            else if (id.indexOf("size") >= 0)
                size += $(inputs[i]).val() + ',';
        }

        // check for empty filters and fill them with all available choices
        var emptyInputs = $("form input:checkbox");
        var typeEmpty = false;
        var categoryEmpty = false;
        var sizeEmpty = false;
        if (type.length == 0)
            typeEmpty = true;
        if (category.length == 0)
            categoryEmpty = true;
        if (size.length == 0)
            sizeEmpty = true;

        if (categoryEmpty || sizeEmpty || typeEmpty) {
            for (i = 0; i < emptyInputs.length; i++) {
                id = $(emptyInputs[i]).attr("id");
                if (id.indexOf("category") >= 0 && categoryEmpty)
                    category += $(emptyInputs[i]).val() + ',';
                else if (id.indexOf("type") >= 0 && typeEmpty)
                    type += $(emptyInputs[i]).val() + ',';
                else if (id.indexOf("size") >= 0 && sizeEmpty)
                    size += $(emptyInputs[i]).val() + ',';
            }
        }

        updateResults("type=" + type + "&categories=" + category + "&size=" + size + "&p=" + page + "&perpage=" + perPage + "&keywords=" + keyword);
    //}
}

// check if subcategory of topLevel category is checked
function isChildChecked(id) {
    var inputs = $("#" + id).parent().next().children("input:checkbox:checked");
    if (inputs.length > 0)
        return true;
        
    return false;
}

// send data to ajax search page with ajax and replace results
function updateResults(data) {
    $.ajax({
        url: "/ajax/search.aspx",
        data: data,
        success: function (html) {
            // hide loading gif
            $("#loading").css("display", "none");

            $("#searchResults").html(html);

            // bind paging controls
            $('.lowerControls a').bind('click', function () {
                $search_keyword = $("#search_keyword");
                getResults($(this).attr("id"));

                return false;
            });

            $(".perPage").bind('change', function () {
                $search_keyword = $("#search_keyword");
                getResults(1);
            });

            $("#perPageSelect").css("display", "block");

            // clear textfield
           // $("#search_keyword").val("");
        }
    });
}

function addTracking(track){
	$.ajax({
        url: "/ajax/addTracking.aspx?track=" + track,
    });}
