/*

 Title:		jShowOff: a jQuery Content Rotator Plugin
 Author:		Erik Kallevig
 Version:	0.1.2
 Website:	http://ekallevig.com/jshowoff
 License: 	Dual licensed under the MIT and GPL licenses.

 */

(function($) {
    $.fn.jshow_mod = function(settings) {
        var config = {animatePause:true,autoPlay:true,changeSpeed:600,controls:true,controlText:{play:'Play',pause:'Pause',next:'Next',previous:'Previous'},effect:'fade',hoverPause:true,links:true,speed:3000};
        if (settings)$.extend(true, config, settings);
        if (config.speed < (config.changeSpeed + 20)) {
            alert('jShowOff: Make speed at least 20ms longer than changeSpeed; the fades aren\'t always right on time.');
            return this;
        }
        ;
        this.each(function(i) {
            var $cont = $(this);
            var gallery = $(this).children().remove();
            var timer = '';
            var counter = 0;
            var preloadedImg = [];
            var howManyInstances = $('.jshowoff').length + 1;
            var uniqueClass = 'jshowoff-' + howManyInstances;
            var cssClass = config.cssClass != undefined ? config.cssClass : '';
            $cont.css('position', 'relative').wrap('<div class="jshowoff ' + uniqueClass + '" />');
            var $wrap = $('.' + uniqueClass);
            $wrap.css('position', 'relative').addClass(cssClass);
            $(gallery[0]).clone().appendTo($cont);
            preloadImg();
            if (config.controls) {
                addControls();
                if (config.autoPlay == false) {
                    $('.' + uniqueClass + '-play').addClass(uniqueClass + '-paused jshowoff-paused').text(config.controlText.play);
                }
                ;
            }
            ;
            addMyControls();
            if (config.links) {
                addSlideLinks();
                $('.' + uniqueClass + '-slidelinks a').eq(0).addClass(uniqueClass + '-active jshowoff-active');
            }
            ;
            if (config.hoverPause) {
                $cont.hover(function() {
                    if (isPlaying())pause('hover');
                }, function() {
                    if (isPlaying())play('hover');
                });
            }
            ;
            if (config.autoPlay && gallery.length > 1) {
                timer = setInterval(function() {
                    play();
                }, config.speed);
            }
            ;
            if (gallery.length < 1) {
                $('.' + uniqueClass).append('<p>For jShowOff to work, the container element must have child elements.</p>');
            }
            ;
            function transitionTo(gallery, index) {
                var oldCounter = counter;
                if ((counter >= gallery.length) || (index >= gallery.length)) {
                    return;
                    counter = 0;
                    var e2b = true;
                }
                else if ((counter < 0) || (index < 0)) {
                    return;
                    counter = gallery.length - 1;
                    var b2e = true;
                }
                else {
                    counter = index;
                    var date = $(gallery[index]).find('.first-row').attr('rel');
                    if ($('#today-date em.fade').length) {
                        $('#today-date em.fade').removeClass('fade')

                        $('#today-date em').fadeOut(function(){
                            console.log('huy');
                            $(this).text(date);
                        }).fadeIn();
                    } else {
                        $('#today-date em').addClass('fade');
                        console.log('pizda');
                    }
                }
                if (config.effect == 'slideLeft') {
                    var newSlideDir,oldSlideDir;

                    function slideDir(dir) {
                        newSlideDir = dir == 'right' ? 'left' : 'right';
                        oldSlideDir = dir == 'left' ? 'left' : 'right';
                    }

                    ;
                    counter >= oldCounter ? slideDir('left') : slideDir('right');
                    $(gallery[counter]).clone().appendTo($cont).slideIt({direction:newSlideDir,changeSpeed:config.changeSpeed});
                    if ($cont.children().length > 1) {
                        $cont.children().eq(0).css('position', 'absolute').slideIt({direction:oldSlideDir,showHide:'hide',changeSpeed:config.changeSpeed}, function() {
                            $(this).remove();
                        });
                    }
                    ;
                } else if (config.effect == 'fade') {
                    $(gallery[counter]).clone().appendTo($cont).hide().fadeIn(config.changeSpeed, function() {
                        if ($.browser.msie)this.style.removeAttribute('filter');
                    });
                    if ($cont.children().length > 1) {
                        $cont.children().eq(0).css('position', 'absolute').fadeOut(config.changeSpeed, function() {
                            $(this).remove();
                        });
                    }
                    ;
                } else if (config.effect == 'none') {
                    $(gallery[counter]).clone().appendTo($cont);
                    if ($cont.children().length > 1) {
                        $cont.children().eq(0).css('position', 'absolute').remove();
                    }
                    ;
                }
                ;
                if (config.links) {
                    $('.' + uniqueClass + '-active').removeClass(uniqueClass + '-active jshowoff-active');
                    $('.' + uniqueClass + '-slidelinks a').eq(counter).addClass(uniqueClass + '-active jshowoff-active');
                }
                ;
                                            $cont.find('.today-nav a').click(function(e){
        e.preventDefault();
        $(this).parent().parent().find('.today-img').attr('src', $(this).attr('rel'));
        $(this).parent().find('a').removeClass('active')
        $(this).addClass('active')
    });

            }

            ;
            function isPlaying() {
                return $('.' + uniqueClass + '-play').hasClass('jshowoff-paused') ? false : true;
            }

            ;
            function play(src) {
                if (!isBusy()) {
                    counter++;
                    transitionTo(gallery, counter);
                    if (src == 'hover' || !isPlaying()) {
                        timer = setInterval(function() {
                            play();
                        }, config.speed);
                    }
                    if (!isPlaying()) {
                        $('.' + uniqueClass + '-play').text(config.controlText.pause).removeClass('jshowoff-paused ' + uniqueClass + '-paused');
                    }
                }
                ;
            }

            ;
            function pause(src) {
                clearInterval(timer);
                if (!src || src == 'playBtn')$('.' + uniqueClass + '-play').text(config.controlText.play).addClass('jshowoff-paused ' + uniqueClass + '-paused');
                if (config.animatePause && src == 'playBtn') {
                    $('<p class="' + uniqueClass + '-pausetext jshowoff-pausetext">' + config.controlText.pause + '</p>').css({fontSize:'62%',textAlign:'center',position:'absolute',top:'40%',lineHeight:'100%',width:'100%'}).appendTo($wrap).addClass(uniqueClass + 'pauseText').animate({fontSize:'600%',top:'30%',opacity:0}, {duration:500,complete:function() {
                        $(this).remove();
                    }});
                }
            }

            ;
            function next() {
                goToAndPause(counter + 1);
            }

            ;
            function previous() {
                goToAndPause(counter - 1);
            }

            ;
            function isBusy() {
                return $cont.children().length > 1 ? true : false;
            }

            ;
            function goToAndPause(index) {
                $cont.children().stop(true, true);
                if ((counter != index) || ((counter == index) && isBusy())) {
                    if (isBusy())$cont.children().eq(0).remove();
                    transitionTo(gallery, index);

                        return false;
                    pause();
                }
                ;
            }

            ;
            function preloadImg() {
                $(gallery).each(function(i) {
                    $(this).find('img').each(function(i) {
                        preloadedImg[i] = $('<img>').attr('src', $(this).attr('src'));
                    });
                });
            }

            ;
            function addControls() {
                $wrap.append('<p class="jshowoff-controls ' + uniqueClass + '-controls"><a class="jshowoff-play ' + uniqueClass + '-play" href="#null">' + config.controlText.pause + '</a> <a class="jshowoff-prev ' + uniqueClass + '-prev" href="#null">' + config.controlText.previous + '</a> <a class="jshowoff-next ' + uniqueClass + '-next" href="#null">' + config.controlText.next + '</a></p>');
                $('.' + uniqueClass + '-controls a').each(function() {
                    if ($(this).hasClass('jshowoff-play'))$(this).click(function() {
                        isPlaying() ? pause('playBtn') : play();
                        return false;
                    });
                    if ($(this).hasClass('jshowoff-prev'))$(this).click(function(e) {
                        previous();
                        return false;
                    });
                    if ($(this).hasClass('jshowoff-next'))$(this).click(function(e) {
                        next();
                        return false;
                    });
                });
            }

            function addMyControls() {
                $cont.find('.today-nav a').click(function(e){
                    e.preventDefault();
                    $(this).parent().parent().find('.today-img').attr('src', $(this).attr('rel'));
                    $(this).parent().find('a').removeClass('active')
                    $(this).addClass('active')
                });


                $cont.parent().parent().find('.prev-date').click(function(e) {
                    e.preventDefault();
                        previous();

                    });
                $cont.parent().parent().find('.next-date').click(function(e) {
                    e.preventDefault();
                        next();

                    });

                $('#more-today').click(function(e){
                    e.preventDefault();
                    today_open = true
                    gallery.find('.second-row').show();
                    $cont.find('.second-row').show();
                    $('.news-block\.hidden').show();
                    $('#today').animate({height:'590px'}, function() {
                        $('#more-today').slideUp();});
//                    var delta = 200;
                            if (video_open){
            height_news = '1124px';
            height_news_inner = '1064px';

        } else {
             height_news = '910px';
             height_news_inner = '850px';
            height_center = "920px";
        }
//                    $('#news-wrapper').animate({height:height_news});
//                    $('#news-inner').animate({height:height_news_inner});

                    add_height($('#news-wrapper'), 270);
                    add_height($('#news-inner'), 270);
                    add_height($('#center-wrapper'), 290);


                });

                $('#close-today').click(function(e) {
                    e.preventDefault();
                    today_open=false;


                    $('#today').animate({height:'315px'}, function(){
                            gallery.find('.second-row').hide();
                            $cont.find('.second-row').hide();
                            $('#more-today').slideDown();
                    });

                    if (video_open){
            height_news = '854px';
            height_news_inner = '805px';

        } else {
             height_news = '635px';
             height_news_inner = '850px';
            height_center = "920px";
        }

//                    $('#news-wrapper').animate({height:'635px'}, function(){
//                        $('.news-block\.hidden').hide();
//                    });
//                    $('#news-inner').animate({height:height_news_inner});

                    add_height($('#news-wrapper'), -270);
                    add_height($('#news-inner'), -270);
                    add_height($('#center-wrapper'), -290);

                });

            };
            function addSlideLinks() {
                $wrap.append('<p class="jshowoff-slidelinks ' + uniqueClass + '-slidelinks"></p>');
                $.each(gallery, function(i, val) {
                    var linktext = $(this).attr('title') != '' ? $(this).attr('title') : i + 1;
                    $('<a class="jshowoff-slidelink-' + i + ' ' + uniqueClass + '-slidelink-' + i + '" href="#null">' + linktext + '</a>').bind('click', {index:i},
                        function(e) {
                            goToAndPause(e.data.index);
                            return false;
                        }).appendTo('.' + uniqueClass + '-slidelinks');
                });
            }

            ;
        });
        return this;
    };
})(jQuery);
(function($) {
    $.fn.slideIt = function(settings, callback) {
        var config = {direction:'left',showHide:'show',changeSpeed:600};
        if (settings)$.extend(config, settings);
        this.each(function(i) {
            $(this).css({left:'auto',right:'auto',top:'auto',bottom:'auto'});
            var measurement = (config.direction == 'left') || (config.direction == 'right') ? $(this).outerWidth() : $(this).outerHeight();
            var startStyle = {};
            startStyle['position'] = $(this).css('position') == 'static' ? 'relative' : $(this).css('position');
            startStyle[config.direction] = (config.showHide == 'show') ? '-' + measurement + 'px' : 0;
            var endStyle = {};
            endStyle[config.direction] = config.showHide == 'show' ? 0 : '-' + measurement + 'px';
            $(this).css(startStyle).animate(endStyle, config.changeSpeed, callback);
        });
        return this;
    };
})(jQuery);
