$.fn.infiniteCarousel = function () {
    function repeat(str, num) {
        return new Array( num + 1 ).join( str );
    }
    return this.each(function () {
        var $wrapper = $('> div', this).css('overflow', 'hidden'),
            $slider = $wrapper.find('> ul'),
            $items = $slider.find('> li'),
            $single = $items.filter(':first'),
            singleWidth = $single.outerWidth(), 
            visible = Math.ceil($wrapper.innerWidth() / singleWidth), // note: doesn't include padding or border
            currentPage = 1,
            pages = Math.ceil($items.length / visible);            
        // 1. Pad so that 'visible' number will always be seen, otherwise create empty items
        if (($items.length % visible) != 0) {
            $slider.append(repeat('<li class="empty" />', visible - ($items.length % visible)));
            $items = $slider.find('> li');
        }
        // 2. Top and tail the list with 'visible' number of items, top has the last section, and tail has the first
        $items.filter(':first').before($items.slice(- visible).clone().addClass('cloned'));
        $items.filter(':last').after($items.slice(0, visible).clone().addClass('cloned'));
        $items = $slider.find('> li'); // reselect
        // 3. Set the left position to the first 'real' item
        $wrapper.scrollLeft(singleWidth * visible);
        // 4. paging function
        function gotoPage(page) {
            var dir = page < currentPage ? -1 : 1,
                n = Math.abs(currentPage - page),
                left = singleWidth * dir * visible * n;
            $wrapper.filter(':not(:animated)').animate({
                scrollLeft : '+=' + left
            }, 500, function () {
                if (page == 0) {
                    $wrapper.scrollLeft(singleWidth * visible * pages);
                    page = pages;
                } else if (page > pages) {
                    $wrapper.scrollLeft(singleWidth * visible);
                    // reset back to start position
                    page = 1;
                } 
                currentPage = page;
            });                
            return false;
        }
        $wrapper.after('<a class="arrow back"></a><a class="arrow forward"></a>');
        // 5. Bind to the forward and back buttons
        $('a.back', this).click(function () {
            return gotoPage(currentPage - 1);                
        });
        $('a.forward', this).click(function () {
            return gotoPage(currentPage + 1);
        });
        // create a public interface to move to a specific page
        $(this).bind('goto', function (event, page) {
            gotoPage(page);
        });
    });  
};
$(function() {    
    $('#menu-about').mouseover(function(){
    	$('#menu-about').attr("src", "/wp-content/themes/jewellery/images/main-menu/menu_about_black.png");
    	$('#menu-designer').attr("src", "/wp-content/themes/jewellery/images/main-menu/menu_designers.png");
    	$('#menu-collection').attr("src", "/wp-content/themes/jewellery/images/main-menu/menu_collections.png");
    	$('#menu-stockist').attr("src", "/wp-content/themes/jewellery/images/main-menu/menu_stockists.png");
    	$('#menu-news').attr("src", "/wp-content/themes/jewellery/images/main-menu/menu_news.png");
    	$('#sub-menu-about').css("display", "inline");
    	$('#sub-menu-collection').css("display", "none"); 
    	$('#sub-menu-news').css("display", "none");     	
    });
    $('#menu-designer').mouseover(function(){
    	$('#menu-about').attr("src", "/wp-content/themes/jewellery/images/main-menu/menu_about.png");
    	$('#menu-designer').attr("src", "/wp-content/themes/jewellery/images/main-menu/menu_designers_black.png");
    	$('#menu-collection').attr("src", "/wp-content/themes/jewellery/images/main-menu/menu_collections.png");
    	$('#menu-stockist').attr("src", "/wp-content/themes/jewellery/images/main-menu/menu_stockists.png");
    	$('#menu-news').attr("src", "/wp-content/themes/jewellery/images/main-menu/menu_news.png");
    	$('#sub-menu-about').css("display", "none");
    	$('#sub-menu-collection').css("display", "none"); 
    	$('#sub-menu-news').css("display", "none");    	
    });
    $('#menu-collection').mouseover(function(){
    	$('#menu-about').attr("src", "/wp-content/themes/jewellery/images/main-menu/menu_about.png");
    	$('#menu-designer').attr("src", "/wp-content/themes/jewellery/images/main-menu/menu_designers.png");
    	$('#menu-collection').attr("src", "/wp-content/themes/jewellery/images/main-menu/menu_collections_black.png");
    	$('#menu-stockist').attr("src", "/wp-content/themes/jewellery/images/main-menu/menu_stockists.png");
    	$('#menu-news').attr("src", "/wp-content/themes/jewellery/images/main-menu/menu_news.png");
    	$('#sub-menu-about').css("display", "none");
    	$('#sub-menu-collection').css("display", "inline"); 
    	$('#sub-menu-news').css("display", "none");	
    });
    $('#menu-stockist').mouseover(function(){
    	$('#menu-about').attr("src", "/wp-content/themes/jewellery/images/main-menu/menu_about.png");
    	$('#menu-designer').attr("src", "/wp-content/themes/jewellery/images/main-menu/menu_designers.png");
    	$('#menu-collection').attr("src", "/wp-content/themes/jewellery/images/main-menu/menu_collections.png");
    	$('#menu-stockist').attr("src", "/wp-content/themes/jewellery/images/main-menu/menu_stockists_black.png");
    	$('#menu-news').attr("src", "/wp-content/themes/jewellery/images/main-menu/menu_news.png");
    	$('#sub-menu-about').css("display", "none");
    	$('#sub-menu-collection').css("display", "none"); 
    	$('#sub-menu-news').css("display", "none");   	
    });
    $('#menu-news').mouseover(function(){
    	$('#menu-about').attr("src", "/wp-content/themes/jewellery/images/main-menu/menu_about.png");
    	$('#menu-designer').attr("src", "/wp-content/themes/jewellery/images/main-menu/menu_designers.png");
    	$('#menu-collection').attr("src", "/wp-content/themes/jewellery/images/main-menu/menu_collections.png");
    	$('#menu-stockist').attr("src", "/wp-content/themes/jewellery/images/main-menu/menu_stockists.png");
    	$('#menu-news').attr("src", "/wp-content/themes/jewellery/images/main-menu/menu_news_black.png");
    	$('#sub-menu-about').css("display", "none");
    	$('#sub-menu-collection').css("display", "none"); 
    	$('#sub-menu-news').css("display", "inline");   	
    });
    $('#main-menu-wrapper').mouseleave(function(){
    	$('#menu-about').attr("src", "/wp-content/themes/jewellery/images/main-menu/menu_about.png");    	
    	$('#menu-designer').attr("src", "/wp-content/themes/jewellery/images/main-menu/menu_designers.png");
    	$('#menu-collection').attr("src", "/wp-content/themes/jewellery/images/main-menu/menu_collections.png");
    	$('#menu-stockist').attr("src", "/wp-content/themes/jewellery/images/main-menu/menu_stockists.png");
    	$('#menu-news').attr("src", "/wp-content/themes/jewellery/images/main-menu/menu_news.png");
    	$('#sub-menu-about').css("display", "none");
    	$('#sub-menu-collection').css("display", "none");
    	$('#sub-menu-news').css("display", "none");
    });
    $('#sub-menu-about-1').mouseover(function(){
    	 $('#sub-menu-about-1').attr("src", "/wp-content/themes/jewellery/images/main-menu/sub_menu_about_1_black.png")
    });
    $('#sub-menu-about-1').mouseleave(function(){
    	 $('#sub-menu-about-1').attr("src", "/wp-content/themes/jewellery/images/main-menu/sub_menu_about_1.png")
    });
    $('#sub-menu-about-2').mouseover(function(){
    	 $('#sub-menu-about-2').attr("src", "/wp-content/themes/jewellery/images/main-menu/sub_menu_about_2_black.png")
    });
    $('#sub-menu-about-2').mouseleave(function(){
    	 $('#sub-menu-about-2').attr("src", "/wp-content/themes/jewellery/images/main-menu/sub_menu_about_2.png")
    });
    $('#sub-menu-about-3').mouseover(function(){
    	 $('#sub-menu-about-3').attr("src", "/wp-content/themes/jewellery/images/main-menu/sub_menu_about_3_black.png")
    });
    $('#sub-menu-about-3').mouseleave(function(){
    	 $('#sub-menu-about-3').attr("src", "/wp-content/themes/jewellery/images/main-menu/sub_menu_about_3.png")
    });
    $('#sub-menu-collection-1').mouseover(function(){
    	 $('#sub-menu-collection-1').attr("src", "/wp-content/themes/jewellery/images/main-menu/sub_menu_collection_1_black.png")
    });
    $('#sub-menu-collection-1').mouseleave(function(){
    	 $('#sub-menu-collection-1').attr("src", "/wp-content/themes/jewellery/images/main-menu/sub_menu_collection_1.png")
    });
    $('#sub-menu-collection-2').mouseover(function(){
    	 $('#sub-menu-collection-2').attr("src", "/wp-content/themes/jewellery/images/main-menu/sub_menu_collection_2_black.png")
    });
    $('#sub-menu-collection-2').mouseleave(function(){
    	 $('#sub-menu-collection-2').attr("src", "/wp-content/themes/jewellery/images/main-menu/sub_menu_collection_2.png")
    });
    $('#sub-menu-news-1').mouseover(function(){
    	 $('#sub-menu-news-1').attr("src", "/wp-content/themes/jewellery/images/main-menu/sub_menu_news_1_black.png")
    });
    $('#sub-menu-news-1').mouseleave(function(){
    	 $('#sub-menu-news-1').attr("src", "/wp-content/themes/jewellery/images/main-menu/sub_menu_news_1.png")
    });
    $('#sub-menu-news-2').mouseover(function(){
    	 $('#sub-menu-news-2').attr("src", "/wp-content/themes/jewellery/images/main-menu/sub_menu_news_2_black.png")
    });
    $('#sub-menu-news-2').mouseleave(function(){
    	 $('#sub-menu-news-2').attr("src", "/wp-content/themes/jewellery/images/main-menu/sub_menu_news_2.png")
    });
    $('#jewellery-menu').click(function(){
    	$('#jewellery-submenu').slideToggle("slow");
    });
    $('#season-menu').click(function(){
    	$('#season-submenu').slideToggle("slow");
    });
    $('#designers-menu').click(function(){
    	$('#designers-submenu').slideToggle("slow");
    });
    $('#tab_menu div:gt(0)').hide();
        $('ul#tab_main li').click(function(){
            $('ul#tab_main li').removeClass('li_active');
            $(this).addClass('li_active');
            $('#tab_menu div').hide();
            var $idTab=$(this).attr("title");
			if ($idTab=='DETAILS')
				$('#details').show();
            if ($idTab=='SIZE & FIT')
				$('#size-fit').show();
			if ($idTab=='DELIVERY')
				$('#delivery').show();
			if ($idTab=='CARE')
				$('#care').show();
        });
     $('#add-bookmark-link').mouseover(function(){
     	$('#add-bookmark-container').fadeIn();
     });
     $('#add-bookmark-container').mouseleave(function(){
     	$('#add-bookmark-container').fadeOut();
     });
     $('#runway-season-menu').click(function(){     	
    	$('#runway-season-submenu').slideToggle("slow");
    });
    $('#runway-name-menu').click(function(){
    	$('#runway-name-submenu').slideToggle("slow");
    });
    $('#email-address-submit').click(function(){
    	var email = $('#email-address').val();
    	$.getJSON(
			'/shop/index.php',
			{
				'route'	: 'account/subscribe/submit',
				'email' : email
			},
			function(data) {
				alert(data.msg);
				if(!data.error) {
					$('#email-address').val('');
				}
			}
		);
		return false;	
    });
    $('#email-address').focus(function(){
    	if($(this).val() == 'Sign up for updates') {
    		$(this).val('');
    	}
    });
    $('#email-address').blur(function(){
    	if($(this).val() == '') {
    		$(this).val('Sign up for updates');
    	}
    });
    $('#search-for').focus(function(){
    	if($(this).val() == 'Search For...') {
    		$(this).val('');
    	}
    });
    $('#search-for').blur(function(){
    	if($(this).val() == '') {
    		$(this).val('Search For...');
    	}
    });
    $('#search-for-submit').click(function(){
    	var search_term = $('#search-for').val();
    	if(search_term.length && search_term != 'Search For...') {
    		window.location = '/shop/index.php?route=product/search&filter_name=' + encodeURIComponent(search_term);
    	}
    });
    $('#search-for').keypress(function(event){
    	if(event.keyCode == 13) {
    		$('#search-for-submit').click();
    	}
    });    
  });
function contact_validate() {
    if (!$('#contact-name').val() || !$('#contact-email').val() || !$('#contact-telephone').val() || !$('#contact-message').val()) {
        alert('Please fill in all the fields.');
        return false;
    }
    return true;
}
