

Cufon.replace('.Swis721MDBT, .searchT, a.btnGreyDef, a.btnGreyDefLit, h1, h2, table.cart .descriptionContent .title, .productVariant h3, .gviWishListOverview .titleContent .title, .checkout-steps li', { fontFamily: 'Swis721 Md BT', hover: true });  
Cufon.replace('.HelveticaNeue, .mainMenuHolder ul a', { fontFamily: 'Helvetica Neue', hover: true }); 
Cufon.replace('.mainCategory, .CooperBlack', { fontFamily: 'CooperBlack', hover: true });
    // JavaScript Document

    var isIE;
    $(document).ready(function() {
        isIE = $.browser.msie;
        fixLayout();
        toggleInputFields();
        customSelect('div.contentWrapper, div.form-container');
        focusInputStart();
        showPopUp();
        ratingStars();
        Quantity();
        switchBottom();
        focusInOut();
        checkout();
        prepareProductsScroll();
        wrapProducts();
        addClassToHomePageMainContainer();
        expandCollapseQuickMenu();
        addClassToStoreFinderPage();
        addClassNewsLetterSubscribedUnsubscribedPage();
        hidePipeNextPreviousContainer();
        hideGridViewUpdatePanelWhenEmpty();
    })

    function hideGridViewUpdatePanelWhenEmpty(){
        if (isIE) {
            var updatePanel = jQuery('.shopping-container [id*=GridViewUpdatePanel]');
            if (updatePanel != null && updatePanel.text('')){
                updatePanel.hide();
            }
        } 
        else {
            return false;
        }
    }

    function hidePipeNextPreviousContainer(){
        if (jQuery('.previousNextContainer a').length == 1){
            jQuery('.previousNextContainer a').css('border', '0');
        }
        else{
           //do nothing
        }
    }

    function addClassToHomePageMainContainer(){
        if (document.getElementById('Home') != null){
            $('#mainContainer').addClass("homePage");
        }
        else{
           //do nothing
        }
    }

    function addClassToStoreFinderPage(){
        if (document.getElementById('StoreFinder') != null){
            $('#ContentPage').addClass("storeFinder");
        }
        else{
           //do nothing
        }
    }

    function addClassNewsLetterSubscribedUnsubscribedPage(){
        if (document.getElementById('NewsletterSubscribeUnsubscribe') != null){
            $('#ContentPage').addClass("newsletterSubscribeUnsubscribe");
        }
        else{
           //do nothing
        }
    }

    function expandCollapseQuickMenu(){
        var $elem = $('#linksFooterContiner');
        
        jQuery(".homePage .linksFooterContiner").hide();
        jQuery(".quickMenu").click(function(){
            if (jQuery('.homePage .linksFooterContiner').css('display')=='none'){            
                jQuery(".homePage .linksFooterContiner").show();
                jQuery('#quickMenu').addClass("quickMenuSelected");
                jQuery('html, body').animate({scrollTop: $elem.height()}, 800);
            }
            else{
                jQuery(".homePage .linksFooterContiner").hide();
                jQuery('#quickMenu').removeClass("quickMenuSelected");
            }
        });
    }

    function wrapProducts() {
        groupItems('div#productHolder', 'div.oneProductContainer');

    function groupItems(holder, oneitem) {
        var $group = $(holder + '> ' + oneitem + ':lt(4)').wrapAll('<div class="wrapper"></div>');
        $('div.wrapper').append('<div class="clear"></div>');
        if ($group.length == 0) { return; }
        groupItems(holder, oneitem);
    } 
    }

    function focusInputStart() {
        if (isIE) {
            setTimeout(function() { $('input.focusfirst').focus(); }, 1000);
        } else {
            $('input.focusfirst').focus();
        }
        $('input.focusfirst').parent('.inputHolder, .textarea-back').addClass('focusI');
    }

    function fixLayout() {
        $('.hoverhome').parent().hover(
		    function() {
		        $('.hoverhome', this).animate({ opacity: 1 }, 300);
		    },
		    function() {
		        $('.hoverhome', this).animate({ opacity: 0.8 }, 300);
		    }
	    );

        if ($('div.columnMenu ul li a.active').parent().next('ul').length || $('div.columnMenu ul li a.active').next('ul').length) {
            $('div.columnMenu ul li a.active').before('<span class="activeMenuItem"></span>');
        } else { }
        $('div.order-history-container ul li:nth-child(2n+2)').addClass('odd');
        $('div.content-faq ul.sub-faq-links li:even').addClass('odd');
    }

    function checkout() {
        $('.cupon').attr("readonly", true);
        $('div.checkout-steps ul li.active').prev('li').addClass('passed');
    }

    function orderAcc(as) {
        if ($(as).next().hasClass('displayOrder')) {
            $(as).next().removeClass('displayOrder');
        }
        else {
            $(as).next().addClass('displayOrder');
        }
        return false;
    }

    function faqOpen(faq) {
        if ($(faq).parent().hasClass('active')) {
            $(faq).parent().removeClass('active');
            $(faq).next().hide();
        }
        else {
            $(faq).parent().addClass('active');
            $(faq).next().show();
        }
        return false;
    }

    function focusInOut() {
        $('input, textarea').focusin(function() {
            $(this).parent('.inputHolder, .textarea-back').addClass('focusI');
            $(this).parent('.inputHolder').next('.button').addClass('focusI');
        });
        $('input, textarea').focusout(function() {
            $(this).parent('.inputHolder, .textarea-back').removeClass('focusI');
            $(this).parent('.inputHolder').next('.button').removeClass('focusI');
        });
    }
    function switchBottom() {
        $('div.bootom-detail div.oneProductContainer:nth-child(3n+3)').css('border-right', 'none');
        
        var $switchLink = $('span.bottom-swith-link');
        var $switchLinkRev = $('span.bottom-swith-link-rev');
        var $compareContainer = $('div.comparable-wear-container');
        var $reviewContainer = $('div.block-reviews');
        if (($compareContainer).length) { } else {
            $reviewContainer.show();
            $(".bootom-detail .bottom-swith-link-rev").addClass('active');
            Cufon.refresh('.cufonTextL', { fontFamily: 'DIN 30640L', hover: true });
        }
        $($switchLink).click(function() {
            $(this).addClass('active');
            $($switchLinkRev).removeClass('active');
            $($reviewContainer).hide();
            Cufon.refresh('.cufonTextL', { fontFamily: 'DIN 30640L', hover: true });
            $($compareContainer).show();
        });
        $($switchLinkRev).click(function() {
            $(this).addClass('active');
            $($switchLink).removeClass('active');
            $($compareContainer).hide();
            Cufon.refresh('.cufonTextL', { fontFamily: 'DIN 30640L', hover: true });
            $($reviewContainer).show();
        });
    }

    function customSelect(obj) {
        var deviceAgent = navigator.userAgent.toLowerCase();
        var agentID = deviceAgent.match(/(iphone|ipod|ipad)/);
        if (agentID) {
            $('select').each(function() {
                $(this).addClass('idevice');
            });
            return;
        }
        $('select', obj).each(function() {
            var isOpen = false;
            var orig_name = $(this).attr('name');
            var orig_text = $('option:selected', this).text();
            var orig_value = $(this).val();
            var html = '<span class="CSTinputHolder"><input type="text" value="' + orig_value + '" name="' + orig_name + '" /></span>' +
				    '<span class="CSTcurrentVal">' + orig_text + '<ins>' + orig_text + '</ins></span>' +
				    '<span class="CSTarrow"><!--  --></span>' +
				    '<span class="CSTlistHolder"><span class="list">' +
				    customSelectList(this) +
				    '</span><span class="tl"><!--  --></span><span class="t"><!--  --></span><span class="l"><!--  --></span></span>';
            $(this).wrap('<span class="CSTselectHolder"></span>');
            $(this).after(html);
            var $orig_select = $(this);
            var $cst_holder = $orig_select.parent();
            var $cst_input = $('span.CSTinputHolder input', $cst_holder);
            var $cst_currentval = $('span.CSTcurrentVal', $cst_holder);
            var $cst_arrow = $('span.CSTarrow', $cst_holder);
            var $cst_list = $('span.CSTlistHolder', $cst_holder);

            var listHeight;

            $('span.list span', $cst_list)
		    .mousedown(function() {
		        var this_text = $('em.text', this).text();
		        var this_val = $('em.val', this).attr('data-value');
		        $cst_currentval.html(this_text + '<ins>' + this_text + '</ins>');
		        $('span.list span', $cst_list).removeClass('selected');
		        $(this).addClass('selected');
		        $cst_holder.addClass('CSTchanged');
		        $orig_select.val(this_val);
		        $orig_select.change();
		        $cst_input.blur();
		    });

            $cst_input
		    .focus(function() {
		        $cst_holder.addClass('CSTposRelative');
		        listHeight = $cst_list.height();
		        $('span.l', $cst_list).css('height', listHeight);
		        $cst_list.css('top', 17 - (listHeight - 14) / 2);
		        if (isIE) {
		            $cst_list.show();
		        } else {
		            $cst_list.fadeIn(300);
		        }
		    })
		    .blur(function() {
		        if (isIE) {
		            if (isOpen) {
		                isOpen = true;
		                $(this).focus();
		                return;
		            }
		        }
		        if ($.browser.webkit) {
		            if (isOpen) {
		                isOpen = true;
		                $(this).focus();
		                return;
		            }
		        }
		        $cst_list.hide();
		        $cst_holder.removeClass('CSTposRelative');
		    });
            $cst_arrow.click(function() {
                $cst_input.focus();
            });

            $cst_currentval.click(function() {
                $cst_input.focus();
            });

 

            $('span.list span', $cst_list).last().addClass('lastItem');

            selectItemsCount = $("span.list span", $cst_holder).length;
            if (selectItemsCount > 8) {
                var selectItemHeight = 21;
                var slideMoveHeight = 166;
                var itemsHolderHeight = 168;
                var sliderHeight = new Number();
                var sliderMaxX = new Number();
                var itemsHolderMaxX = new Number();
                var sliderStep = new Number();

                $cst_list.append('<div class="scrollSelectHolder"><div class="scrollSelectBar"><div class="scrollSelectSlider"><span class="first"></span><span class="second"></span></div></div>');
                $cst_list.addClass('fixOver');
                $('span.list', $cst_list).wrapInner('<div class="container-select"></div>');

                $("span.list div.container-select", $cst_list).height(selectItemsCount * selectItemHeight);
                sliderHeight = Math.floor(slideMoveHeight * itemsHolderHeight / (selectItemsCount * selectItemHeight));
                sliderMaxX = slideMoveHeight - sliderHeight;
                itemsHolderMaxX = selectItemsCount * selectItemHeight - itemsHolderHeight;
                sliderStep = Math.round(sliderMaxX / selectItemsCount);

                var changefloat = parseFloat((slideMoveHeight) / (selectItemsCount * selectItemHeight));

                $sss = $("div.scrollSelectSlider", $cst_list);
                $sss.height(sliderHeight);
                $sss.draggable({ axis: "y", containment: "parent" });
                $sss.bind("drag", function(event, ui) {
                    var itemsHolderX = -parseInt($(this).css("top")) * itemsHolderMaxX / sliderMaxX;
                    $(this).parent().parent().parent().children('span.list').children().css("top", itemsHolderX);
                }).mousedown(function() { isOpen = true; }).mouseout(function() { isOpen = false; });

                $('.container-select', $cst_list).mousewheel(function(event, delta) {
                    var elTop = parseInt($(this).position().top);
                    var scrollTop = parseInt($('.scrollSelectSlider', $cst_list).position().top);
                    var maxElTop = parseInt($(this).height() - 170);

                    if (delta > 0) {
                        elTop += 30;
                        scrollTop = scrollTop - parseFloat(30 * changefloat);
                    }
                    else {
                        elTop -= 30;
                        scrollTop = scrollTop + parseFloat(30 * changefloat);
                    }

                    if (elTop > 0) {
                        elTop = 0;
                        scrollTop = 0;
                    }
                    if (scrollTop < 0) scrollTop = 0
                    if (scrollTop > slideMoveHeight - sliderHeight) scrollTop = slideMoveHeight - sliderHeight
                    if (elTop < -maxElTop) {
                        elTop = -maxElTop;
                        scrollTop = slideMoveHeight - sliderHeight;
                    }

                    $('.scrollSelectSlider', $cst_list).css('top', scrollTop);
                    $(this).css('top', elTop);
                    return false;
                });
            }
        });

    }

    function customSelectList(selectObj) {
        var html = '';
        $('option:not(:first-child)', selectObj).each(function() {
            var opt_text = $(this).text();
            var opt_val = $(this).val();
            html += '<span' + (($(this).attr('selected')) ? ' class="selected"' : '') + '><em class="text">' + opt_text + '</em><em class="val" data-value="' + opt_val + '">' + opt_val + '</em></span>'
        });
        return html;
    }

    function Quantity() {
        $('div.quantityContainer').each(function() {
            $('span.btnAdd', this).live('click', function() {
                var $textInput = $(this).parent().prev().children('.quantityQ');
                var newQty = parseInt($textInput.val()) + 1;
                newQty > 0 ? $textInput.val(newQty) : $textInput.val(1);
                //$textInput.val(parseInt($textInput.val()) + 1);
            });
            $('span.btnRemove', this).live('click', function() {
                var $textInput = $(this).parent().prev().children('.quantityQ');
                var newQty = $textInput.val() - 1;
                newQty > 0 ? $textInput.val(newQty) : $textInput.val(0);
            });
        });
    }

    function ratingStars() {
        $('div.customRatingStars').each(function() {
            var $holder = $(this);
            var startVote = -1;
            $('div.ratings_stars', $holder).each(function(i) {
                if ($(this).hasClass('ratings_over')) { startVote = i; }
                $(this).hover(
				    function() {
				        $('div.ratings_stars', $holder).removeClass('ratings_over');
				        $('div.ratings_stars:lt(' + (i + 1) + ')', $holder).addClass('ratings_over');
				    },
				    function() {
				        $('div.ratings_stars', $holder).removeClass('ratings_over');
				        $('div.ratings_stars:lt(' + (startVote + 1) + ')', $holder).addClass('ratings_over');
				    }
			    );
            });
        });
    }


    function popPupQuick() {
        var $overlayLayer = $('div.overlay');
        var $closeBtn = $('span.closeBtn');
        $('div.topMainBlock').css("z-index", "0").css("position", "static");
        $('div.headerContainer').css("z-index", "0").css("position", "static");
        $($overlayLayer).css('visibility', 'visible').animate({ opacity: 0.6 }, 100).height($(document).height());
        $('div.popQuick div.popUpHolder').css('display', 'block');
        Cufon.replace('.cufonTextB', { fontFamily: 'DIN 30640 Std', hover: true });
        Cufon.replace('.cufonTextL', { fontFamily: 'DIN 30640 Std', hover: true });
        if ($('div.sizeContainer span.CSTselectHolder').length) { } else {
            customSelect('div.sizeContainer');
        }
        $($closeBtn).click(function() {
            $($overlayLayer).css('visibility', 'hidden').animate({ opacity: 0 }, 100);
            $('div.popQuick div.popUpHolder').css('display', 'none');
        });
        $($overlayLayer).click(function() {
            $($overlayLayer).css('visibility', 'hidden').animate({ opacity: 0 }, 100);
            $('div.popQuick div.popUpHolder').css('display', 'none');
        });
    }

    function systemPopup() {
        var $overlayLayer = $('div.overlay');
        var $closeBtn = $('span.closeBtn');
        $($overlayLayer).css('visibility', 'visible').animate({ opacity: 0.6 }, 100).height($(document).height());
        $('div.popSystem div.popUpHolder').css('display', 'block');
        Cufon.replace('.cufonTextB', { fontFamily: 'DIN 30640 Std', hover: true });
        Cufon.replace('.cufonTextL', { fontFamily: 'DIN 30640 Std', hover: true });
        $($closeBtn).click(function() {
            $($overlayLayer).css('visibility', 'hidden').animate({ opacity: 0 }, 100);
            $('div.popSystem div.popUpHolder').css('display', 'none');
        });
        $($overlayLayer).click(function() {
            $($overlayLayer).css('visibility', 'hidden').animate({ opacity: 0 }, 100);
            $('div.popSystem div.popUpHolder').css('display', 'none');
        });
    }

    function popPupSize() {
        var $overlayLayer = $('div.overlayS');
        var $closeBtn = $('span.closeBtnS');
        $($overlayLayer).css('visibility', 'visible').animate({ opacity: 0.6 }, 100).height($(document).height());
        $('div.popPupSize div.popUpHolderSize').css('display', 'block');
        var marginLeft = -$('div.popUpHolderSize').width() / 2 + 'px';
        var marginTop = -$('div.popUpHolderSize').height() / 2 + 'px';
        $('div.popPupSize div.popUpHolderSize').css({ 'margin-left': marginLeft, 'margin-top': marginTop });
        $($closeBtn).click(function() {
            $($overlayLayer).css('visibility', 'hidden').animate({ opacity: 0 }, 100);
            $('div.popPupSize div.popUpHolderSize').css('display', 'none');
        });
        $($overlayLayer).click(function() {
            $($overlayLayer).css('visibility', 'hidden').animate({ opacity: 0 }, 100);
            $('div.popPupSize div.popUpHolderSize').css('display', 'none');
        });
    }

    $.fn.delay = function(time, callback) {
        jQuery.fx.step.delay = function() { };
        return this.animate({ delay: 1 }, time, callback);
    }

    function addToCart() {
        $('div.overlay').css('visibility', 'hidden');
        $('div.overlay').animate({ opacity: 0 }, 100);
        $('div.popQuick div.popUpHolder').hide();
        $('div.topMainBlock').css("z-index", "0").css("position", "static");
        $('div.headerContainer').css("z-index", "0").css("position", "static");
        var leftpos = $('#cartDiv').offset().left;
        var toppos = $('#cartDiv').offset().top;
        $('.cartHeader2').css('left', leftpos);
        $('.cartHeader2').css('top', toppos);
        $('html, body').animate({ scrollTop: 0 }, 0);
        if (isIE) {
            $('div.cartHeader2 div.popUpHolder div.popUpContent').show().delay(5000, function() { $(this).hide(); });
        } else {
            $('div.cartHeader2 div.popUpHolder div.popUpContent').fadeIn(200).delay(5000, function() { $(this).fadeOut(300); });
        }
    }

    function toggleInputFields() {
        $("input.decorInput").each(function() {
            if ($(this).parent('span.inputHolder').length) { }
            else {
                $(this).wrap('<span class="inputHolder"></span>');
                //$(this).after('<ins></ins>');
            }
        });
    }

    function toggleInputFieldsPayment() {
        $("table.bottom-cart .decorInput").wrap('<span class="inputHolder"></span>').after('<ins></ins>');
    }

    function showPopUp() {
        $('.showPopUp').hover(
	    function() {
	        $(this).find('.popUpContent').stop(true, true);
	        $(this).addClass('hoverl');
	        if ($.browser.msie == true) {
	            $(this).find('.popUpContent:first').show();
	        } else {
	            $(this).find('.popUpContent:first').show();
	            $(this).addClass('hoverl');
	        }
	    },
		    function() {
		        if ($.browser.msie == true) {
		            $(this).find('.popUpContent:first').hide();
		            $('.showPopUp').removeClass('hoverl');
		        } else {
		            $(this).find('.popUpContent:first').hide();
		            $(this).removeClass('hoverl');
		        }
		    }
	    );
    }

    function showgal(linkim) {
        if (linkim.length) {
            var $overlayLayer = $('div.overlay');
            var $closeBtn = $('span.closeBtn');
            var $galpopup = $('div.gallery-popup');
            $galpopup.show().css('opacity', 0);
            $('div.gallery-popup img').load(function() {
                var marginLeft = -$(this).width() / 2 - 30 + 'px';
                var marginTop = -$(this).height() / 2 + 'px';
                $galpopup.css({ 'margin-left': marginLeft, 'margin-top': marginTop });

            });
            $overlayLayer.css('visibility', 'visible').animate({ opacity: 0.6 }, 100).height($(document).height());
            $galpopup.css('opacity', 1);
            $('div.gallery-popup div.popupHolder img').attr("src", linkim);

            $closeBtn.click(function() {
                $overlayLayer.css('visibility', 'hidden').animate({ opacity: 0 }, 100);
                $galpopup.css('display', 'none');
            });
            $overlayLayer.click(function() {
                $overlayLayer.css('visibility', 'hidden').animate({ opacity: 0 }, 100);
                $galpopup.css('display', 'none');
            });
        }
        else { }
    }

    $(document).ready(function() {
        $('.wordcount').each(function() {
            //maximum limit of characters allowed.
            var maxlimit = 200;
            // get current number of characters
            var length = $(this).val().length;
            if (length >= maxlimit) {
                $(this).val($(this).val().substring(0, maxlimit));
                length = maxlimit;
            }
            // update count on page load
            $(this).parent().find('.counter').html((maxlimit - length) + ' characters left');
            // bind on key up event
            $(this).keyup(function() {
                // get new length of characters
                var new_length = $(this).val().length;
                if (new_length >= maxlimit) {
                    $(this).val($(this).val().substring(0, maxlimit));
                    //update the new length
                    new_length = maxlimit;
                }
                // update count
                $(this).parent().find('.counter').html((maxlimit - new_length) + ' characters left');
            });
        });
    });

    function updateProductsScroll(leftmarg) {
        var prodItemWidth = 187;
        prodItemsCount = $("div.choice-tv div.tv-one-container").length;
        $("div.choice-tv").width(prodItemsCount * prodItemWidth);
        $("div.choice-tv").css("left", leftmarg);
    }

    function prepareProductsScroll() {
        var prodItemWidth = 187;
        var slideMoveWidth = 842;
        var itemsHolderWidth = 935;
        var prodItemsCount = new Number();
        var sliderWidth = new Number();
        var sliderMaxX = new Number();
        var itemsHolderMaxX = new Number();
        var sliderStep = new Number();

        prodItemsCount = $("div.choice-tv div.tv-one-container").length;
        if (prodItemsCount < 5) {
            $(".scrollHolder").hide();
            return;
        }

        $("div.choice-tv").width(prodItemsCount * prodItemWidth);

        sliderWidth = Math.floor(slideMoveWidth * itemsHolderWidth / (prodItemsCount * prodItemWidth));
        sliderMaxX = slideMoveWidth - sliderWidth;
        itemsHolderMaxX = prodItemsCount * prodItemWidth - itemsHolderWidth;
        sliderStep = Math.round(sliderMaxX / prodItemsCount);

        $("div.scrollSlider").width(sliderWidth);
        $("div.scrollSlider").draggable({ axis: "x", containment: "parent" });

        $("div.scrollSlider").bind("drag", function(event, ui) {
            var itemsHolderX = -parseInt($(this).css("left")) * itemsHolderMaxX / sliderMaxX;
            $("div.choice-tv").css("left", itemsHolderX);
        });

        $("div.scrollSlider").bind("dragstop", function(event, ui) {
            var tmpIX = Math.round(parseInt($("div.choice-tv").css("left")) / prodItemWidth) * prodItemWidth;
            $("div.choice-tv").animate({ left: tmpIX }, 300);
            var tmpSX = -tmpIX * sliderMaxX / itemsHolderMaxX;
            $("div.scrollSlider").animate({ left: tmpSX }, 300);
        });

        $("div.scrollHolder a.rightArrow").bind("click", function() {
            var tmpIX = Math.round(parseInt($("div.choice-tv").css("left")) / prodItemWidth - 1) * prodItemWidth;
            if (-tmpIX > itemsHolderMaxX) return;
            $("div.choice-tv").animate({ left: tmpIX }, 300);
            var tmpSX = -tmpIX * sliderMaxX / itemsHolderMaxX;
            $("div.scrollSlider").animate({ left: tmpSX }, 300);
        });

        $("div.scrollHolder a.leftArrow").bind("click", function() {
            var tmpIX = Math.round(parseInt($("div.choice-tv").css("left")) / prodItemWidth + 1) * prodItemWidth;
            if (tmpIX > 0) return;
            $("div.choice-tv").animate({ left: tmpIX }, 300);
            var tmpSX = -tmpIX * sliderMaxX / itemsHolderMaxX;
            $("div.scrollSlider").animate({ left: tmpSX }, 300);
        });
    }

