$(document).ready(function () {
    Cufon.replace('h1');
    Cufon.replace('h2');
    Cufon.replace('h3');
    Cufon.replace('h4');
    Cufon.replace('h5');
    Cufon.replace('#main-nav > ul li a', { hover: true });
    //Cufon.replace('.user-functions li');
    Cufon.replace('.product-filters a');
    Cufon.replace('.size-filter a');
    Cufon.replace('a.lrg-btn');
    Cufon.replace('a.sml-btn');
    Cufon.replace('a.read', { hover: true });
    Cufon.replace('.page-nav li');
    Cufon.replace('.page-nav a');

    $('#filter-cables').click(function () {
        $('#options-cables').slideToggle();
    });
    $('#filter-accessories').click(function () {
        $('#options-accessories').slideToggle();
    });
    $('#filter-name').click(function () {
        $('#options-name').slideToggle();
    });
    $('#filter-material').click(function () {
        $('#options-material').slideToggle();
    });
    $('#filter-diameter').click(function () {
        $('#options-diameter').slideToggle();
    });

    $('#main-nav ul > li').hover(function () {
        $(this).children('.sub-nav').show();
    }, function () {
        $(this).children('.sub-nav').hide();
    });

    /* Product search box */
    // Set default value if blank
    if ($("#free-search-criteria").val() == '') {
        $("#free-search-criteria").val('Product Search').css('color', '#555');
    }
    // On focus, select text
    $("#free-search-criteria").focus(function () {
        if ($("#free-search-criteria").val() == 'Product Search') {
            $(this).val('').css('color', '#000'); ;
        }
    });
    // On blur, set text
    $("#free-search-criteria").blur(function () {
        if ($("#free-search-criteria").val() == '') {
            $(this).val('Product Search').css('color', '#555'); ;
        }
    });

    /* Cable Diameter Search box */
    // Set default value if blank
    if ($("#selected-options-sizes").val() == '') {
        $("#selected-options-sizes").val('Enter Size in mm').css('color', '#555'); ;
    }
    // On focus, select text
    $("#selected-options-sizes").focus(function () {
        if ($("#selected-options-sizes").val() == 'Enter Size in mm') {
            $(this).val('').css('color', '#000'); ;
        }
    });
    // On blur, set text
    $("#selected-options-sizes").blur(function () {
        if ($("#selected-options-sizes").val() == '') {
            $(this).val('Enter Size in mm').css('color', '#555'); ;
        }
    });

    var tabContainers = $('div#show-faqs > div');
    $('div.faq-list .q a').click(function () {
        tabContainers.hide().filter(this.hash).show();

        window.scrollTo(0, 0);

        return false;
    }).filter(':first').click();

    $('.faq-answer .q .right img').show();

    var contContainers = $('div#contact-info > div.contact-info');
    $('#global-map li a').click(function () {
        contContainers.hide().filter(this.hash).show();

        return false;
    }).filter(':first').click();

    var productContainers = $('div#product-spec > div.tab');
    $('#product-nav li a').click(function () {
        productContainers.hide().filter(this.hash).show();

        return false;
    }).filter(':first').click();

    // Product Images
    $('.product-gallery .thumb a').click(function () {
        var imgsrc = $(this).attr('href');

        var img = new Image();
        $(img).load(function () {
            $('#showswatchimage').html('<img src="' + imgsrc + '" />');
            $('#showswatchimage img').css("margin-top", ($('#showswatchimage').height() - $('#showswatchimage img').height()) / 2 + "px");
        }).attr('src', imgsrc);

        return false;
    });
    $('.product-gallery .thumb a:first').click();

    $('#prod-thumbs').jcarousel({
        buttonNextHTML: '<a class="next"></a> ',
        buttonPrevHTML: '<a class="prev"></a>',
        itemFallbackDimension: 70,
        vertical: true
    });

    $('.zoom').click(function () {
        var imgsrc = $('#showswatchimage img').attr('src').replace('product_', '');
        var img = new Image();
        $(img).load(function () {
            $embed = '<img src="' + imgsrc + '" height="' + ($(window).height() - ($(window).height() / 4)) + 'px" />';
            $('#youtube-overlay #video').html($embed).show();
            $('#youtube-overlay').css("left", ($(window).width() - $('#youtube-overlay').width()) / 2 + "px").css("top", ($(window).height() - $('#youtube-overlay').height()) / 2 + "px").show();
            $('#blackout').fadeTo(250, 0.5);
        }).attr('src', imgsrc);


        return false;
    });

    $('#img-strip').jcarousel({
        buttonNextHTML: '<a class="next right"></a> ',
        buttonPrevHTML: '<a class="prev left"></a>',
        itemFallbackDimension: 135
    });

    $('#callback-link').click(function () {
        $left = $('#callback-link').position().left;
        $leftpos = $left - 140;
        $('#callback').css('left', $leftpos + 'px');
        $('#callback').slideToggle(250);
        return false;
    });
    $('#close-callback').click(function () {
        $('#callback').slideUp(250);
        return false;
    });

    $('.youtube').click(function () {

        $url = $(this).attr('href');
        $embed = '<iframe width="425" height="349" src="' + $url.replace('watch?v=', 'embed/') + '" frameborder="0" allowfullscreen></iframe>';
        $('#youtube-overlay #video').html($embed).show();
        $('#youtube-overlay').css("left", ($(window).width() - $('#youtube-overlay').width()) / 2 + "px").css("top", ($(window).height() - $('#youtube-overlay').height()) / 2 + "px").show();
        $('#blackout').fadeTo(250, 0.5);
        return false;
    });
    $('#youtube-close').click(function () {
        $('#youtube-overlay').hide();
        $('#blackout').hide();
        return false;
    });

    $('#phoenix-lrg').show();
    $('#centaur-lrg').show();
    $('#emperor-lrg').show();
    $('#vulcan-lrg').show();

    if ($('#slideshow').length > 0) {
        $('#slideshow').cycle({
            fx: 'fade',
            pause: 0,
            speed: 3000,
            timeout: 3000,
            random: 1,
            prev: '#slideshow-prev',
            next: '#slideshow-next'
        });
    }
});
