$(document).ready(function() {
    
    /* ajax */
    $('<div id="ajax-spinner"></div>').appendTo("body").ajaxStart(function(){
        $(this).show();
    }).ajaxStop(function () {
        $(this).hide().css({
            position: "fixed",
            left: "50%",
            top: "50%"
        });
    }).hide();
    
    
    // objednavka - rozcestnik pouzij kredit ano x ne
    
    $('.useCredit').hide();
    $('.useCreditButton').click(function(){
        
        $('.useCredit').hide();
        var showBox = $(this).attr('href').substring(1);
        $('.'+showBox).show();
        
        return false;
                    
    });
     
    // help  
    $('.helpLink').click(function(){
          
          var link = $(this).attr('href');
          
          var helpWindow = window.open(link,'helpWindow','width=1000,height=600'); 
          helpWindow.focus();
          return false;
      });
      
      
      
    //ATTACH OBJEDNAT FUNCTION - NEW
    $(".orderButtonNew").live('click',function()
    {
        if (!$(this).hasClass('opened'))
        {
            $(this).find('.orderChoice').show();

            $(this).addClass('opened');
                        
            return false;
            
        }        
    });
    
    $(".orderButtonNew").live('mouseleave',function()
    {
        $(this).find('.orderChoice').hide();
        //$(this).find('a').show();        
        $(this).removeClass('opened');
    });
    
    //ATTACH OBJEDNAT FUNCTION
    $(".orderButton").live('click',function()
    {
        if (!$(this).hasClass('opened'))
        {
            $(this).css('position','relative');
            //$(this).find('a').hide();
            
            if (language == 'cs') {
                domain = 'cz';
            }
            else {
                domain = 'sk';
            }
            
            if ($(this).attr('data-buy-link') !== undefined ) {
                var buyLink = $(this).attr('data-buy-link');
            }
            else {
                var buyLink = 'http://eshop.cslink.'+domain+'/k4-dekodovaci-karty';
            }
            
            var overMenu = '<div class="orderChoice"><a href="/'+language+'/customer-zone/login-form">mám kartu</a><a href="'+buyLink+'" target="_blank">nemám kartu</a></div>';
            $(this).append(overMenu);        

            $(this).addClass('opened');
                        
            return false;
            
        }        
    });
    
    $(".orderButton").live('mouseleave',function()
    {
        $(this).find('.orderChoice').remove();
        //$(this).find('a').show();        
        $(this).removeClass('opened');
    });    
    
    
    
    $(".expand").click(function(){
           $(this).toggleClass("active").parents("h4").nextAll("div:first").toggleClass("h50"); 
           return false;                    
    });

    if ($('.customer1 ul.error').length > 0) {
        showUserMenu($('.customer1 ul.error'));
    }

    $('.customer1Enter').click(function(e){
          showUserMenu($(this));
          return false;
    });
    
    function showUserMenu(element) {
        
        var parent = element.parents('.loginBoxParent');
        
        parent.find('.customer2').hide();
        parent.find('.customer1').show();
        parent.find('.showLogin').addClass('active');
        parent.find('.loginBox').show();
        parent.find('input[name=login]').focus();
        return false;
    }
    
    $('a.showLogin').click(function(){
        
        var parent = $(this).parents('.loginBoxParent');
        
        $(this).addClass('active');
        parent.find('.loginBox').show();
        return false;
    });
    
    var useCufon = true;

    if ($.browser.msie)
    {                
        useCufon = false;                 
    }
    
    Cufon.replace('.menu1, h1, h2, #box-prihlasit h2, .cbox-m h3, legend, .statusBar, .orderStatusBar,  .cufon', { fontFamily: 'MetaCE3-Bold'});
    if (useCufon)
    {
        Cufon.replace('.menu2', { fontFamily: 'MetaCE3-Medium', hover: true });
        Cufon.replace('.menu3', { fontFamily: 'MetaCE3-Regular', hover: true });
    }
    
    $('input.datetimepicker').datepicker(
      {
        duration: '',
        changeMonth: true,
        changeYear: true,
        yearRange: '2007:2020',
        showTime: true,
        time24h: true,
        currentText: 'Dnes',
        closeText: 'OK',
        firstDay: 1,
        beforeShowDay: $.datepicker.noWeekends
      });
      
      
      
      $('.showCouponForm').click(function(){
            $('div.couponForm').show();
            return false;  
      });
      
      $('.colorbox').live('click', function() {
        $.fn.colorbox({href:$(this).attr('href'), open:true});
        return false;
      });
      
      $('.showTipsy').tipsy();
      
       $('.bubbleInfo').each(function () {
        // options
        var distance = 10;
        var time = 250;
        var hideDelay = 500;

        var hideDelayTimer = null;

        // tracker
        var beingShown = false;
        var shown = false;
        
        var trigger = $('.trigger', this);
        var popup = $('.popup', this).css('opacity', 0);

        // set the mouseover and mouseout on both element
        $([trigger.get(0), popup.get(0)]).mouseover(function () {
          // stops the hide event if we move from the trigger to the popup element
          if (hideDelayTimer) clearTimeout(hideDelayTimer);

          // don't trigger the animation again if we're being shown, or already visible
          if (beingShown || shown) {
            return;
          } else {
            beingShown = true;

            // reset position of popup box
            popup.css({
              top: -100,
              left: -33,
              display: 'block' // brings the popup back in to view
            })

            // (we're using chaining on the popup) now animate it's opacity and position
            .animate({
              top: '-=' + distance + 'px',
              opacity: 1
            }, time, 'swing', function() {
              // once the animation is complete, set the tracker variables
              beingShown = false;
              shown = true;
            });
          }
        }).mouseout(function () {
          // reset the timer if we get fired again - avoids double animations
          if (hideDelayTimer) clearTimeout(hideDelayTimer);
          
          // store the timer so that it can be cleared in the mouseover if required
          hideDelayTimer = setTimeout(function () {
            hideDelayTimer = null;
            popup.animate({
              top: '-=' + distance + 'px',
              opacity: 0
            }, time, 'swing', function () {
              // once the animate is complete, set the tracker variables
              shown = false;
              // hide the popup entirely after the effect (opacity alone doesn't do the job)
              popup.css('display', 'none');
            });
          }, hideDelay);
        });
      });      
      
});
