$(function() {
    $("#change-user-details-form").hide();

    $("#change-user-details-form-link").click(function(){
       $("#change-user-details-form").toggle();
    });

    $(".context-menu li").each(function(){
        $(this).click(function(){
            $(".context-menu li").each(function(){
                $(this).removeClass("active");
            });

            $(this).addClass("active");
            var a = $(this).find('a');
            var rel = a.attr('rel');

            $(".context-menu-content-item").each(function(){
                $(this).addClass("hide");
            });


            $("#" + rel).removeClass("hide");
        });
    });

    $("a.fancybox").fancybox({
		'transitionIn'	:	'elastic',
		'transitionOut'	:	'elastic',
		'speedIn'		:	600,
		'speedOut'		:	200,
		'overlayShow'	:	false
	});

    $(".fancybox-iframe").fancybox({
        'width'				: 400,
        'height'			: 400,
        'autoScale'			: false,
        'transitionIn'		: 'none',
        'transitionOut'		: 'none',
        'type'				: 'iframe'
    });

    $(".link-inactive a").each(function(){
        $(this).click(function (e){
           e.preventDefault();
        });
    })

    $('input[required="required"]').each(function(){
        $(this).after('<span class="input-required">povinné</span>');
    });

//    var leftBlockHeight = $('#left_block').height();
//    var rightBlockHeight = $('#right_block').height();
//    var contentHeight = $('#content_block').height();
//    var blockHeights = new Array(leftBlockHeight, rightBlockHeight, contentHeight);
//    var maxHeight = Math.max.apply(Math, blockHeights);
//    $('#content_block').height(maxHeight);

    $("a.ajax").live("click", function (event) {
        event.preventDefault();
        $.get(this.href);
    });

    if(!$('#top_menu li').hasClass('active')) {
        $('#top_menu li.home').addClass('active');
    }

    $('#top_menu_slider').css('left', ($('#top_menu li.active a').position().left));
    $('#top_menu_slider').css('width', ($('#top_menu li.active a').width() + 35));
    $('#top_menu_slider').css('display', 'block');
    $('#top_menu li.active a').css('color', '#DDDEE1');
    if(!$('#top_menu li.home').hasClass('active')) {
        $('#top_menu li.home').css('background-position', 'bottom');
    }

    $('#top_menu li').each(function() {
        $(this).children('a').hover(
            function() {
                $('#top_menu li a').css('color', '#2C2D2E');
                
                $('#top_menu_slider').css('left', $(this).position().left);
                $('#top_menu_slider').css('width', ($(this).width() + 35));
                $(this).css('color', '#DDDEE1');
                
                if($(this).parent('li').val() == 1) {
                    $('#top_menu li.home a span').css('background-position', 'bottom');
                }
                else {
                    $('#top_menu li.home a span').css('background-position', 'top');
                }
            },
            function() {
                var el = $(this);
                el.css('color', '#2C2D2E');

                $('#top_menu_slider').css('left', ($('#top_menu li.active a').position().left));
                $('#top_menu_slider').css('width', ($('#top_menu li.active a').width() + 35));
                $('#top_menu li.active a').css('color', '#DDDEE1');

                if($(this).parent('li').val() != 0) {
                    $('#top_menu li.home a span').css('background-position', 'top');
                }
                if($('#top_menu li.home').hasClass('active')) {
                    $('#top_menu li.home a span').css('background-position', 'bottom');
                }
            }
        );
    });

//    $('ul.menu.first > li > a').click(
//        function(e) {
//            e.preventDefault();
//            $(this).parent('li').children('ul.menu.second').slideToggle();
//        }
//    );

//    $('.menu.second > li > a').click(
//        function(e) {
//            e.preventDefault();
//            $(this).parent('li').children('ul').slideToggle();
//        }
//    );

//    $('ul.menu a.actual').parent('li.second').parent('ul.second').css('display', 'block');
        
    $("p.infieldlabel label").inFieldLabels();

    $('.filter_icon_price').click(function(e) {
        e.preventDefault();
    });

    $('.filter_icon_price').mouseover(function(e) {
        $('.filter_icon_sort, .filter_icon_color, .filter_icon_price').removeClass('active');
        $('.filter_box').slideUp();
        
        if($('#price_filter_box').css('display') == 'none') {
            $(this).addClass('active');
            $('#price_filter_box').slideDown();
        }
        
    });

    $('#price_filter_box').mouseleave(function(e) {
        if(typeof($('#price_filter_box .price_slider').attr('rel')) != "undefined") {
            document.location = $('#price_filter_box .price_slider').attr('rel');
        }
        else
        {
            $('#price_filter_box').slideUp();
        }
    });

    $('.filter_icon_color').click(function(e) {
        e.preventDefault();
    });

    $('.filter_icon_color').mouseover(function(e) {
        $('.filter_icon_sort, .filter_icon_color, .filter_icon_price').removeClass('active');
        $('.filter_box').slideUp();
        
        if($('#color_filter_box').css('display') == 'none') {
            $(this).addClass('active');
            $('#color_filter_box').slideDown();
        }
    });

    $('#color_filter_box').mouseleave(function(e) {
        $('#color_filter_box').slideUp();
    });

    $('.filter_icon_sort').click(function(e) {
        e.preventDefault();
    });

    $('.filter_icon_sort').mouseover(function(e) {
        $('.filter_icon_sort, .filter_icon_color, .filter_icon_price').removeClass('active');
        $('.filter_box').slideUp();
        
        if($('#sort_filter_box').css('display') == 'none') {
            $(this).addClass('active');
            $('#sort_filter_box').slideDown();
        }
        
    });

    $('#sort_filter_box').mouseleave(function(e) {
        $('#sort_filter_box').slideUp();
    });
    
    $('.login_btn').click(function(e) {
        e.preventDefault();
        $('#login').slideToggle();
        $('html, body').animate({scrollTop: 0}, 'slow');
    });        
        
    $( "#price_range_slider" ).slider({
        range: true,
        min: 0,
        max: 20,
        step: 0.5,
        values: filter_price_values,
        slide: function( event, ui ) {
            var and_more = '';
            if(ui.values[ 1 ] == 20){
                and_more = ' a viac';
            }
            $('#price_from').html('Cena od: <b>' + ui.values[ 0 ].toFixed(1) + '&euro;</b>');
            $('#price_to').html('Cena do: <b>' + ui.values[ 1 ].toFixed(1) + '&euro;'+and_more+'</b>');

            if(ui.values[ 0 ].toFixed(1) > 0 || $( "#price_range_slider" ).slider( "values", 1 ).toFixed(1) < 20)
            {
                $('.searching-price').html(ui.values[ 0 ].toFixed(1)+'&euro;-'+ui.values[ 1 ].toFixed(1)+'&euro;; ');
            }

        },
        change: function( event, ui ) {
            $('.filter_box .color').each(function() {
                $(this).attr('href', $(this).attr('rel')+'&price_from='+ui.values[ 0 ]+'&price_to='+ui.values[ 1 ]);
            });

            var url_mark = '?';
            if(document.location.toString().indexOf("?") > 0)
            {
                url_mark = '&';
            }

            $('.price_slider').attr('rel', document.location+url_mark+'price_from='+ui.values[ 0 ]+'&price_to='+ui.values[ 1 ]);
//            addToUrl('price_from', ui.values[ 0 ]);
//            $.get(addToUrl('price_to', ui.values[ 1 ]));
        }
    });
    
    $('#price_from').html('Cena od: <b>' + $( "#price_range_slider" ).slider( "values", 0 ).toFixed(1) + '&euro;</b>');
    $('#price_to').html('Cena do: <b>' + $( "#price_range_slider" ).slider( "values", 1 ).toFixed(1) + '&euro; a viac</b>');
   
    // :Front:Product:detail
    // :Front:Cart:detail    
    $('body').click(function(){        
        $('.add_to_cart').each(function(){
           var id = $(this).attr('id');
           var print = $('input[rel="' + id + '"][name="print"]:checked').val();
           var amount = $('input[rel="' + id + '"][name="amount"]').val();
           
           if (print == 'on') print = 1; else print = 0;
                      
           $('#'+id).attr('href', '/cart/add-to-cart?id_product='+id+'&print='+print+'&amount='+amount);
        });
        
        $('.remove_from_cart').each(function(){
           var id = $(this).attr('id');
           var print = $('input[rel="' + id + '"][name="print"]:checked').val();

           if (print == 'on') print = 1; else print = 0;

           $('#'+id).attr('href', '/cart/remove-from-cart?id_product='+id+'&print='+print);
        });
    });                
    
    // Autocomplete
    $("#frmfilterForm-search").autocomplete({        
        source: function(request, response) {
            $.ajax({
              url: "http://repre.sk/ajax/search?search",
                   dataType: "json",
              data: {
                search: $('#frmfilterForm-search').val()
              },
              success: function(data) {
                response(data);
              }
            });
        },
        minLength: 3
    });
    
//    $('#order_select').change(function() {
//        $.get(addToUrl('sort', $(this).val()));
//    });

//    $('#frm-filterForm').submit(function() {
//        $.get(addToUrl('search', $('#frm-filterForm #frmfilterForm-search').val()));
//        return false;
//    });

//    $('.pagination li a').live('click', function(e)
//    {
//        e.preventDefault();
//        $.get(addToUrl('page', $(this).attr('rel')));
//    });
});

var url = document.URL;

function getURLParameter(name) {
    return decodeURI(
        (RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1]
    );
}

function addToUrl(param, value) {
    var uri = url.split('?');
    var return_url = uri[0]+'?';

    if(uri[1]) {
        var params = uri[1].split('&');
    }
    else {
        var params = new Array();
    }
    
    var add = 1;
    for(i in params) {
        var expl_param = params[i].split('=');
        if(param == expl_param[0]) {
            return_url += expl_param[0]+'='+value+'&';
            add = 0;
        }
        else {
            return_url += expl_param[0]+'='+expl_param[1]+'&';
        }
    };
    
    if(add == 1) {
        return_url += param+'='+value+'&';
    }

    return_url = url = return_url.substring(0,return_url.length-1);

    return return_url;
}
