$(function() {
    var init_jQfocusBlurText = function(){
        /*** Input Text For Search ***/
        $('input.jQfocusBlurText, textarea.jQfocusBlurText').each(function(){
           $(this)
            .data('text', $(this).val())
            .focus(function(){
                if($(this).val() == $(this).data('text')){$(this).val('');}
            })
            //.blur(function(){
            //    if($(this).val() == ''){$(this).val($(this).data('text'));}
            //})
            ;
        });
    };
    init_jQfocusBlurText();
    
    var init_jQmodalSubmit = function($target){
        $('#gamemodalwin a.jQsubmit').click(function(){
            var $form = $(this).parents('form');
            $.get(
                $(this).attr('href'),
                { name: $form.find('input[name=name]').val(), email: $form.find('input[name=email]').val(), action: $form.find('input[name=action]').val(), points: $('#gamescore #number').html() },
                function(data){
                    $target.hide().empty().html(data).fadeIn('slow', function(){
                        $('a.jQmodalClose').click(function(){jQcloseModal();return false;});
                        init_jQmodalSubmit($target);
                    });            
                }
            );
            return false;
        });

    };
    
    $('a.jQsubmit').click(function(){
       $(this).parents('form').submit(); 
    });

    //$("a[rel^='prettyPhoto']").prettyPhoto({theme:'dark_rounded'});

    $("#jsSlider")
    .hover(function(){
        $('#jsSlider div.navi, #jsSlider div.browse').fadeIn(500);
    }, function(){
        $('#jsSlider div.navi, #jsSlider div.browse').fadeOut(500);
    })
    .scrollable({ circular: true }).navigator().autoscroll(5000);
    
  /*
   * jQmodal
   */  
  $('.jQmodal').click(function(){
      
      if($(window).height() > $(document).height()){
          newHeight = $(window).height();
      }else{
          newHeight = $(document).height()
      }
      
      if($('#jQmodalLayout').length == 0){
          
          var css = 'jQmodalCssNormal';
          if($(this).hasClass('jQmodalBig')){css = 'jQmodalCssBig';}
          
          var from = 'phtml';
          if($(this).hasClass('jQmodalAjax')){from = 'ajax';}
          
          $('body').append(
            '<div id="jQmodalLayout" class="' + css + '"></div>\n\
            <div id="jQmodalContent" class="' + css + '">\n\
                <div id="jQmodalTop"><div>' + $(this).attr('title') + '</div></div>\n\
                <div id="jQmodalMid"><div class="wrapper"></div></div>\n\
                <div id="jQmodalBottom">\n\
                    <div class="left"></div>\n\
                    <div class="mid"></div>\n\
                    <div class="right"></div>\n\
                </div>\n\
            </div>');
      }

      $('#jQmodalLayout')
        .css({'height': newHeight, opacity: 0})
        .show()
        .animate({opacity: 0.6});
        
      $('#jQmodalContent')
        .css({top: 100 + $(window).scrollTop(), left: (($(window).width() - $('#jQmodalContent').width()) / 2), opacity: 0})
        .show()
        .animate({opacity: 1}); 
        
      $(document).keyup(function(e) {if (e.keyCode == 27) {jQcloseModal();}});      
      
      if(from == 'ajax'){
        var $target = $('#jQmodalMid .wrapper');
        $.get(
            $(this).attr('href'),
            function(data){
                $target.hide().empty().html(data).fadeIn('slow', function(){
                    
                    $('a.jQmodalClose').click(function(){jQcloseModal();return false;});
                    init_jQfocusBlurText();
                    init_jQmodalSubmit($target);
                });            
            }
        );
      }else if(from == 'phtml'){
        var $target = $('#jQmodalMid .wrapper');
        var $form = $('#cform');
        $.post(
            $(this).attr('href'),
            { nameopt: $form.find('input[name=nameopt]').val(), email: $form.find('input[name=email]').val(), phone: $form.find('input[name=phone]').val(), text: $form.find('textarea[name=text]').val(), action: $form.find('input[name=action]').val() },
            function(data){
                $target.hide().empty().html(data).fadeIn('slow', function(){
                    
                    $('a.jQmodalClose').click(function(){jQcloseModal();return false;});
                    init_jQfocusBlurText();
                });            
            }
        );
      }
            
      return false;
  });
  //$('.jQmodal').click();
    
    var objects = {
        'el':[
            {
                'css': 'plechovka',
                'points': 1,
                'waitup': 1000,
                'wait': 2000,
                'x': 100,
                'y1': -50,
                'y2': 100,
                'duration': 1000,        // something like speed in [ms]
                'cak': 1
            },{
                'css': 'p',
                'points': 1,
                'waitup': 1500,
                'wait': 2500,
                'x': 240,
                'y1': -50,
                'y2': 50,
                'duration': 500,
                'cak': 3
            },{
                'css': 'p',
                'points': 1,
                'waitup': 3500,
                'wait': 2500,
                'x': 620,
                'y1': -50,
                'y2': 150,
                'duration': 900,
                'cak': 1
            },{
                'css': 'knir',
                'points': 1,
                'waitup': 1500,
                'wait': 2000,
                'x': 400,
                'y1': -50,
                'y2': 150,
                'duration': 1000,
                'cak': 2
            },{
                'css': 'knir',
                'points': 1,
                'waitup': 3500,
                'wait': 2500,
                'x': 700,
                'y1': -50,
                'y2': 50,
                'duration': 1000,
                'cak': 1
            },{
                'css': 'sluchatko',
                'points': 3,
                'waitup': 3000,
                'wait': 2000,
                'x': 520,
                'y1': -200,
                'y2': -5,
                'duration': 1000,
                'cak': 3
            },{
                'css': 'balonek',
                'points': 2,
                'waitup': 2000,
                'wait': 3000,
                'x': 320,
                'y1': 350,
                'y2': 100,
                'y3': -220,
                'duration': 1000,
                'cak': 1
            },{
                'css': 'balonek',
                'points': 2,
                'waitup': 4000,
                'wait': 2000,
                'x': 820,
                'y1': 350,
                'y2': 20,
                'y3': -220,
                'duration': 1000,
                'cak': 2
            }
    ]};

    $('#game')
    .ready(function(){
        var $game = $(this);
        var $stage = $('#gamestage');
        var cnt = 0;
        canvas = Raphael("gameclock");
        var circle = canvas.circle('54', '54', '3').attr("fill","#000000").attr('fill-opacity', '70%');
        hand = canvas.path("M54 32L54 51").attr("stroke-width",3).attr('stroke-opacity', '70%');
        hand2 = canvas.path("M54 30L51 38L54 44L57 38L54 30").attr("stroke-width",1).attr('stroke-opacity', '70%');
        $(objects.el).each(function(i,n){
            var $newGameEl = $('<div id="gameelement' + n.css + '" class="gameelement ' + n.css + ' up"><div class="relative"><div class="target"><div class="cak cak' + n.cak + '"></div></div></div></div>')
                .data('params', n)
                .find('.target').click(function(){
                    var $el = $(this).parents('.gameelement');     
                    $el.addClass('shoted');
                    if($el.hasClass('mid')){
                       $el.removeClass('mid');
                       gameMoveEl($el);
                       if(cnt == 0) {
                          cnt++;
                          timerMove();
                          setTimeout (function() {
                                clearTimeout(timerId);
                                $('#gamewintrigger').click();
                                $('#game .gameelement').addClass('gamewin').fadeOut(500);
                          }, 61000);
                       }
//                       var points = parseInt($('#gamescore div').html(parseInt($('#gamescore div').html()) + $el.data('params').points).html());
                       $('#gamescore #number').html(parseInt($('#gamescore #number').html()) + $el.data('params').points);
                    }
                    return false;
                })
                .parents('.gameelement')
                .each(function(i2,n2){
                    setTimeout(function(){gameMoveEl($(n2));}, $(n2).data('params').waitup);
                });
            $stage.append($newGameEl);
        });
    });
//    .mouseout(function(){
//       //$('#gamecursor').hide();
//       return false;
//    })
//    .mouseover(function(){
//       $('#gamecursor').show().click(function(e){e.stopPropagation();});
//       return false;
//    })
//    .mousemove(function(e){
//       //console.log('pagex ' + e.pageX + ' offsetLeft ' + parentOffset.left);
//       $('#gamecursor').css({'left': (e.pageX - 32.5), 'top': (e.pageY - 32.5)});//.mouseenter(function(e){e.stopPropagation();});
//    })
//    .click(function(){
//        //console.log(e);
//    });


    var canvas;
    var hand;
    var hand2;
    var angle = 6;
    var timerId;

    function timerMove() {
        timerId = setTimeout(function(){
            hand.rotate(angle, 54, 54);
            hand2.rotate(angle, 54, 54);
            timerMove();
        }, 1000);
    }

});

function gameMoveEl($el){
    var params = $el.data('params');
    
    if($el.hasClass('up') && !$el.hasClass('gamewin')){
        
        $el
        .show()
        .css({left: params.x, top: params.y1, opacity: 1})
        .animate({top: params.y2}, params.duration, function(){
            setTimeout(function(){gameMoveEl($el)}, params.wait); 
            $el
            .removeClass('up')
            .addClass('mid');
        });  
        
    }else if($el.hasClass('mid') && !$el.hasClass('gamewin')){
        var dest = 350;
        if(params.y3 != undefined){dest = params.y3;}
        $el
        .removeClass('mid').removeClass('shoted')
        .animate({top: dest}, (params.duration * 0.6), function(){
            setTimeout(function(){gameMoveEl($el)}, params.waitup); 
            $el.addClass('up');            
        });
        
    }else if($el.hasClass('shoted') && !$el.hasClass('gamewin')){
        $el
        .removeClass('shoted').hide().addClass('up')
//        .animate({opacity: 0}, 200, function(){
//            setTimeout(function(){gameMoveEl($el)}, params.waitup); 
//            $el.hide().addClass('up');            
//        }); 
    }
}

function jQcloseModal(){
    $('#jQmodalLayout, #jQmodalContent').animate({opacity: 0}).hide().remove();
}



