/*!
 * jQuery custom scripts file
 * 
 * Dariusz Pobożniak
 * http://pobozniak.pl
 */

var YAKUDO = {};

$(function () {
    YAKUDO.init();
    $('.lightbox').fancybox();
    $('a[href^="http://"]').attr('target', '_blank');
})

YAKUDO = {
	init: function () {
        this.topNav();
        this.toggleLogin();
        this.sideNavigation();
        this.prodTabs();
        this.basket();
	},
	topNav: function () {
	   var $li = $('#topnav li');
	   $li.find('a').each(function () {
	       var $this = $(this);
	       if ($this.next('ul').length) {
	           $this.replaceWith('<span>' + $this.text() + '</span>');
	       }
	   });
	   $li.hover(function () {
	       var $link = $(this), $list = $link.find('ul');
	       if ($list.length) {
	           $link.addClass('sfhover');
	           $list.show();
	           //$list.stop(false, true).slideDown('500');
	       }
	   }, function () {
	       $(this).removeClass('sfhover').find('ul').delay('600').hide();//.stop(false, true).slideUp('500');
	   });
	},
	toggleLogin: function () {
		//$('.logintab ul, #loginform form').css('display', 'none');
		$('#ltoggler').click(function () {
			$(this).parent().next().stop(false, true).slideToggle();
			$(this).toggleClass('opened');
		});
		$('#logintoggler').click(function () {
			$(this).next().stop(false, true).slideToggle();
		});
	},
	prodTabs: function () {
		var $prodDiv = $('#s-product'), $prodTabs = $prodDiv.find('.prodtab');
		$prodTabs.not(':first').hide();
		$prodDiv.find('.tabs li:first').addClass('active');
		$prodDiv.find('.tabs a').click(function (e) {
			e.preventDefault();
			$prodTabs.hide();
			$(this.hash).show();
			$(this).parent().addClass('active').siblings().removeClass('active');
		});
	},
	sideNavigation: function () {
	    var $clear = $('<span class="clear" title="Wyczyść filtr">zamknij</span>');
        $('.sidemenu ul', '#sidenav').addClass('subnav').find('ul').addClass('hidden');
    	$('.sidemenu .active', '#sidenav').parents('ul').removeClass('hidden subnav').addClass('visible')
    	   .end().parent().parent().addClass('subnav visible')
    	   .end().parents('ul').not('.sidemenu').not('.sidemenu > li > ul').before($clear)
    	   .end().parents('li').siblings().not('.top').removeClass('visible').addClass('hidden');
    
    	$('.sidemenu a', '#sidenav').click(function() {
    		var $par_li = $(this).parent();
    		var $clear = $('<span class="clear" title="Wyczyść filtr">zamknij</span>');
    		
    		if ($par_li.find('ul').length > 0) {
    			$par_li.siblings().not('.top').removeClass('visible').addClass('hidden');
    			$(this).next('.clear').remove().end().after($clear);
    			if ($par_li.parent().hasClass('subnav')) {
    				$par_li.parent().removeClass('subnav');
    			}
    		
    			$par_li.find('ul:eq(0) > li').removeClass('hidden').addClass('visible').parent().addClass('subnav visible').removeClass('hidden')
    				.find('ul').removeClass('.subnav').removeClass('visible').addClass('hidden');
                $('.subnav .clear').remove();
                $('.sidemenu > li > .clear', '#sidenav').remove();
    			return false;
    		}
    	});
    	$('#sidenav').delegate('.clear', 'click', function() {
    	   var $this = $(this);
    	   $this.next('ul').removeClass('subnav').removeClass('visible').addClass('hidden');
    	   $this.parent().siblings().removeClass('hidden').addClass('visible');
    	   $this.parent().parent().addClass('subnav');
    	   $('.subnav .clear').remove();
    	});

	},
	basket: function () {
		if ($('#basket').length > 0) {
			completeAddress();
			formLegend('.handiform');
			basketProdCount();
		}
		function completeAddress() {
		    $('#deaddress').change(function() {
		        var arr = $(this).val().split(':');
		        var arrlength = arr.length;
		        $(this).parent().nextAll().find('input').each(function(index) {
		            $(this).val(arr[index]);
		        })
		    })
		    $('#fvaddress').change(function() {
		        var arr = $(this).val().split(':');
		        var arrlength = arr.length;
		        $(this).parent().nextAll().find('input').each(function(index) {
		            $(this).val(arr[index]);
		        })
		    })
		    showHideFv($('#fv'));
		    $('#fv').click(function() {
		        showHideFv($(this));
		    })
		
		}
		function formLegend(el) {
		    $(el + ' fieldset legend').each(function() {
		        var legendtxt = $(this).html();
		        $(this).after('<h4>' + legendtxt + '</h4>');
		        $(this).hide();
		    })
		}
		function showHideFv(el) {
		    if ($(el).is(':checked')) {
		        $(el).parent().siblings('p').show();
		    } else {
		        $(el).parent().siblings('p').hide();
		    }
		}
		function basketProdCount() {
		    $('.quantity').keypress(function(e) {
		        if (e.which != 8 && e.which != 0 && (e.which<48 || e.which>57)) {
		            return false;
		        }
		    });
		    $('.minus').click(function() {
		        var $thisinput = $(this).next();
		        var $newval = parseInt($thisinput.val()!='' ? $thisinput.val() : 0)-1;
		        if ($newval < 0) {
		            $thisinput.val(0);
		        } else {
		            $thisinput.val($newval);
		        }
		    });
		    $('.plus').click(function() {
		        var $thisinput = $(this).prev();
		        $thisinput.val(parseInt($thisinput.val()!='' ? $thisinput.val() : 0)+1);
		    });
		}
	}
}
