/**
 * IE-safe innerHTML setter
 */ 

 
function setElementHTMLById( id, html ){ 
   try { 
      var El = document.getElementById(id);
      if( El.attachEvent ){ 
         var elTmp = document.createElement('div'); 
         elTmp.innerHTML = html; 
         El.innerHTML = ''; 
         El.appendChild(elTmp);
      } 
      else { 
         El.innerHTML = html; 
      } 
   } 
   catch( Er ){ 
      return false; 
   } 
   return El.innerHTML; 
}
/*GALLERY*/

function set_gallery_image(url,title){
    title = title || "";
    html = '<img src="'+url+'" alt="'+title+'" onclick="gallery_next();" />';   
    setElementHTMLById('gallery_window',html)
    return false;  
}
function set_gallery_movie(item){
    
    html = item.children('.hidden_video_player').html();   
    setElementHTMLById('gallery_window',html)
    return false;  
}
function set_gallery_object(item){
    if (item.hasClass('image')){
       set_gallery_image(item.attr('href'), item.attr('title')); 
    }   
    if (item.hasClass('movie')){
        set_gallery_movie(item);
    }   
    refresh_nav_buttons(item.parent('li'));   
}
function gallery_load(){
    var first_item = $('#gallery_list li:first'); 
    var first_a = first_item.children('a');
    first_item.addClass('first');
    first_item.addClass('active');
    set_gallery_object(first_a);
}
function refresh_nav_buttons(cur_item){
    if (cur_item.next().length==0){
        $('#right_nav').removeClass('active');
        setElementHTMLById('right_nav','Вперед');
    } 
    else{
        $('#right_nav').addClass('active');
        setElementHTMLById('right_nav','<a href="#" onclick="gallery_next(); return false;">Вперед</a>');
    } 
    
    if (cur_item.prev().length==0){
        $('#left_nav').removeClass('active');
        setElementHTMLById('left_nav','Назад'); 
    } 
    else{
        $('#left_nav').addClass('active');
        setElementHTMLById('left_nav','<a href="#" onclick="gallery_prev(); return false;">Назад</a>'); 
    }   
}

function gallery_next(){
    var cur_item = $('#gallery_list li.active');
    var next_item = cur_item.next();
    if (next_item.length!=0){
        var next_a = next_item.children('a'); 
        cur_item.removeClass('active');
        next_item.addClass('active'); 
        set_gallery_object(next_a);
    }
}
function gallery_prev(){
    var cur_item = $('#gallery_list li.active');
    var prev_item = cur_item.prev();
    if (prev_item.length!=0){
        var prev_a = prev_item.children('a'); 
        cur_item.removeClass('active');
        prev_item.addClass('active'); 
        set_gallery_object(prev_a);
    }
}  

/*END OF GALLERY*/
    
$(document).ready(function(){
    /* TOP MENU */
    var more_menu = $(".more");
    $("#get_more_menu").click(function(){
        more_menu.slideToggle(0);
        return false;
    });

    $(document).click(function(e){
        if ($(e.target).parents().filter('.more:visible').length != 1) {
            more_menu.hide();
        }
    });
    /*END OF MENU*/

    /*SEARCH*/
    var timeout;
    var pos = -1;
    var $js_search_form = $('#js_search_form');
    var $js_search_field = $('#js_search_field');
    var $js_search_popup = $('#js_search_popup');

    function post_ajax_search(){
        if ($js_search_field.val().length>=2){
            $js_search_form.ajaxSubmit({
                dataType : "html",
                cache : false,
                success: function (data, textStatus) {
                    reWhiteSpace = new RegExp(/^\s*$/);
                    if (reWhiteSpace.test(data)){
                        $js_search_popup.hide();
                        setElementHTMLById('js_search_popup', '');
                    } else {
                        setElementHTMLById('js_search_popup', data);
                        var href = $('.more_results a').attr('href');
                        $('.more_results a').attr('href',href+$js_search_field.val()); 
                        $js_search_popup.show();
                        
                        // Отлавливаем перемещения мыши, hover selector does not work with ie
                        var $js_search_popup_a = $js_search_popup.find('a');
                        $js_search_popup_a.mousemove(function(){
                            $js_search_popup_a.removeClass('active');
                            $(this).addClass('active');
                            pos = $.inArray(this, $js_search_popup_a.toArray());
                        });


                    }
            }});
        } else {
            $js_search_popup.hide();
            setElementHTMLById('js_search_popup', '');
        }
    }
    
    $js_search_field.blur(function(){
        setTimeout(function(){
            $js_search_popup.hide();
        }, 200); // меньше задержка дает сбой на некоторых машинах
    });
    $js_search_field.focus(post_ajax_search);
    $js_search_field.keyup(function(event){
        var keycode = event.keyCode;
        var links = $js_search_popup.find('a');
        
        if (keycode=='40' && $js_search_popup.css('display')!='none'){       //key = down arror
            if (pos<links.length - 1){
                if (pos>=0){
                    $(links[pos]).removeClass('active');
                }
                pos = pos + 1;
                $(links[pos]).addClass('active');
                $js_search_field.val($js_search_field.val()); // Простой способ передвинуть указатель в конец строки ввода
            }
            return false;
        }
        else if (keycode=='38' && $js_search_popup.css('display')!='none'){  //key = up arror
            if (pos>0){
                $(links[pos]).removeClass('active');
                pos = pos - 1;
                $(links[pos]).addClass('active');
                $js_search_field.val($js_search_field.val()); // Простой способ передвинуть указатель в конец строки ввода
            }
            return false;
        }
        else if(keycode=='13' && pos>=0){ //key = enter
            window.location=$(links[pos]).attr('href');          
        }
        else{  // any other key
            $(links[pos]).removeClass('active')
            pos=-1;
            clearTimeout(timeout);
            timeout = setTimeout(post_ajax_search, 500); 
        }
    });
    
    // Отлавливаем перемещения мыши
    $js_search_popup.mouseout(function(){
        pos=-1;
        $js_search_popup.find('a.active').removeClass('active');
    });
    /*END OF SEARCH*/ 
    
    

    /*FANCYBOX GALLERY*/
    //см ниже еще одну функцию startGallery, для показа галлереи у фильмов
    $(".fancybox").fancybox({
        'width'                 : '745px',
        'height'                : '37px',
        'padding'               : 0, 
        'autoScale'             : false,
        'transitionIn'          : 'none',
        'transitionOut'         : 'none'
        
    });
    
  
    /*END OF FANCYBOX*/
    
    /*PROMO*/
    function onBefore() { 
        var promo_title = $(this).children(".title").attr('value');
        var promo_url = $(this).children(".url").attr('value');
        var category_url = $(this).children(".category_url").attr('value');
        var category_name = $(this).children(".category_name").attr('value');
        var place_right = $(this).children(".place_right").attr('value');

        var html = '<a href="'+promo_url+'">'+promo_title+'</a>'; 
        setElementHTMLById('promo_title', html);
        
        var html = '<a href="'+category_url+'">'+category_name+'</a>'; 
        setElementHTMLById('promo_section', html); 
        
        var html = '<span style="color:#bfc1c1; font-style: verdana; float : right;">'+place_right+'</span>'; 
        setElementHTMLById('promo_date', html);          
    } 
    
    var $js_promo_carusel = $('#js_promo_carusel');
    if ($js_promo_carusel.length){    
        $js_promo_carusel.before('<div id="js_promo_control">')
        .cycle({
            fx:     'scrollHorz', 
            timeout: 3000, 
            next:   '#js_promo_scroll-next', 
            prev:   '#js_promo_scroll-prev',
            pager:  '#js_promo_control', 
            before:  onBefore, 
            pause:   1,
            // callback fn that creates a thumbnail to use as pager anchor 
            pagerAnchorBuilder: function(idx, slide) { 
                return '<a href="#"></a>'; 
            } 
        });
    
        $('.promo_bottom_line').mouseenter(function(){
            $('#js_promo_carusel').cycle('pause');
        }).mouseleave(function(){
            $('#js_promo_carusel').cycle('resume');
        });
    }
    /*END OF PROMO*/
    
    /*TABS*/
    $tabs_title = $('.tabs_title');
    $tabs_content = $('.tabs_content');
    $('.tabs_title>li').click(function(){
        var that = $(this);
        var id = that.attr('id');
        var tab_id = id.substr(5);
        $tabs_content.each(function(){
            if (this.id == tab_id){
                $(this).show();
            } else {
                $(this).hide();
            }
        })
        $tabs_title.find('li').removeClass('active');
        that.addClass('active');  
        $('#'+tab_id).show();
      
    });
    /*END OF TABS*/
    
    /*INLINE GALLERIES*/
    $js_inline_gallery_window = $('img#js_inline_gallery_window');
    $('a.js_inline_gallery_switcher').click(function(){
        var big_image_url = this.getAttribute('href');
        $js_inline_gallery_window.attr('src', big_image_url);
        return false;
    })
     
    /*INPUT FILEDS WITH PROMPT */
    $('.js_input_with_prompt').each(function(){
        var that=$(this);
        var prompt = that.find('.js_input_prompt');
        var input = that.find('input');
        prompt.click(function(){
            input.focus();
        });
        input.focus(function(){
            prompt.hide();
        });
        input.blur(function(){
            reWhiteSpace = new RegExp(/^\s*$/);
            if (reWhiteSpace.test(this.value)){
                this.value='';
                prompt.show();
            }
        });
    });
});


//хак, для плказа галлереи у фильмов через onclick
function startGallery(evt, href){

        $.fancybox({
            'width'                 : '745px',
            'height'                : '37px',
            'padding'               : 0, 
            'autoScale'             : false,
            'transitionIn'          : 'none',
            'transitionOut'         : 'none',
            'href'                  : href
        });

        return (evt.preventDefault) ? evt.preventDefault() : evt.returnValue = false;
    }

function show_simple_popup(popup, element, left_offset, top_offset){
    // Показываем модальное окно, рассчитывая смещение от el
    $popup = $(popup);
    $element = $(element);
    if ($popup.length == 0){
        return false;
    }
    
    a_top = parseFloat($element.offset().top);     
    a_left = parseFloat($element.offset().left);
    $popup.show();
    $popup.offset({left:a_left+left_offset,top:a_top+top_offset});
    $popup.find('input').focus();

    // кнопка скрытия
    $popup.find('.js_close_popup').one('click', function(){
        $popup.hide();
        return false;
    });
    
    // автоматическое скрытие
    setTimeout(function(){
        $popup.fadeOut('fast');
    }, 5000);
}

