function blink(time, interval) {
    var timer = window.setInterval(function () {
        $('div.articlelist li img').animate({ opacity: 0.6 }, 400);

        window.setTimeout(function () {
            $('div.articlelist li img').animate({ opacity: 1 }, 400);
        }, 0);
    }, interval);

    window.setTimeout(function () { clearInterval(timer); }, time);
}
blink(1000000000, 13000);

// vim: set et :
function isiPad(){
    return (navigator.platform.indexOf("iPad") != -1);
}
function isAndroid() {
    return (navigator.userAgent.indexOf("Android") != -1);
}
var hvgScroll,
    RightSlider = {
        maxRight: null,
        startRight: null,
        startPos: null,
        currentPos: null,
        currentRight: null,
        wrapper: null,
        slider: null,
        sliding: false
    },
    Fresh = {
        button: null,
        container: null
    };
/*
if (isiPad()) {
    function initScroll() {
        //document.getElementById('pagewrapper').style.height = (window.innerHeight - 75) + 'px';
        hvgScroll = new iScroll('pagewrapper');
    }
    document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false)
    document.addEventListener('DOMContentLoaded', initScroll, false);
}*/

jQuery(document).ready(function() {
//window.onload = function() {
    jQuery.each(jQuery.browser, function(i, val) {
        jQuery ('body').addClass(i);
    });
    if (!jQuery.browser.webkit) jQuery('body').addClass('non-webkit');
    if (isiPad()) jQuery('body').addClass('ipad');

	/* Lazy load JAIL */
    //$('.zoompicitem img').asynchImageLoader({ effect: "fadeIn", speed: 1600 });
    if ($('img[data-href]') && $('img[data-href]').length > 0) {
        $('img[data-href]').asynchImageLoader({ effect: "fadeIn", speed: 1600 });
        //alert('.zoompicitem img: ' + $('.zoompicitem img').length);
    }
//    if ($('.picture img') && $('.picture img').length > 0) {
//        $('.picture img').asynchImageLoader({ effect: "fadeIn", speed: 1600 });
//        //alert('.picture img: ' + $('.picture img').length);
    //    }

    /* Fixed header with hash (anchor) navigation fix.  */
    if (location.hash.length > 1 && location.hash == "#c") {
        /* Scrooling immediately after page load may results incorrect position, because Adverts 
        rendered a bit later by dynamic linked, external javascript.
        Possible soultions:
        1. Listen to a complete event of a advert-lazy-load plugin
        2. Wait for some miliseconds until when the Advert prospectively already rendered (KT 2011.12.04.)*/
        var _timer = window.setTimeout(function () {
            $.scrollTo($("#comments"), { offset: { top: -100} });
        }, 1000);
    }
    $("._jqScroll").bind('click', function () {
        $.scrollTo($(this).attr('href'), { duration: 300, offset: { top: -100} });
    });

    function inMenu(el, id) {
        var p = el.parent();
        while((p.attr('nodeName') != 'BODY' || p.attr('id') != id)) {
            p = p.parent();
        }
        return p.attr('id') == id;
    }

    function closeClick(el, fade, cb) {
        jQuery(document).one('click.close', function(ev) { 
            if (!(ev.target instanceof HTMLInputElement)) {
                checkOpened("")
                if (cb) cb();
            } else {
                closeClick(el, fade, cb);
            }
        });
    }

    var opened = '';
    function checkOpened(current) {
        if (opened && opened != current) jQuery(opened).click();
    }
    function clearOpened() {
        opened = '';
    }
    // menu
    jQuery('#menu_control').click(function(ev) {
        checkOpened('#menu_close');
        ev.preventDefault();
        var menu = jQuery('#menu');
        menu.slideToggle('fast', function(e) {
            if (menu.attr('style').indexOf('block') != -1) {
                opened = '#menu_close';
                closeClick(menu);
            }
        });
    });
    jQuery('#menu_close').click(function(ev) {
        clearOpened();
        ev.preventDefault();
        jQuery('#menu').slideUp();
        jQuery(window).unbind('click.close');
    });

    // user control
    jQuery('#user_control').click(function(ev) {
        checkOpened('#cancel');
        ev.preventDefault();
        var menu = jQuery('#user_dropdown');
        menu.slideToggle('fast', function() {
            if (menu.attr('style').indexOf('block') != -1) {
                opened = '#cancel';
                closeClick(menu);
            }
        });
    });
    jQuery('#cancel').click(function(ev) {
        clearOpened();
        ev.preventDefault();
        jQuery('#user_dropdown').slideUp();
        jQuery(window).unbind('click.close');
    });

    // fresh box
    jQuery('#icon_fresh').click(function(ev) {
        checkOpened('#fresh_close');
        ev.preventDefault();
        var link = jQuery(this);
        link.addClass('selected');
        var menu = jQuery('#fresh_container');
        menu.fadeToggle(300, function(){
            if (menu.attr('style').indexOf('block') != -1) {
                opened = '#fresh_close';
                closeClick(menu, true, function() { link.removeClass('selected'); });
            }
        });
    });
    jQuery('#fresh_close').click(function(ev) {
        clearOpened();
        ev.preventDefault();
        jQuery('#icon_fresh').removeClass('selected');
        jQuery('#fresh_container').fadeOut(300);
        jQuery(window).unbind('click.close');
    });

    if (isAndroid() && window.innerHeight < 600 ) jQuery( 'body' ).addClass( 'small' );

    if (isiPad()) {

        jQuery('#page_2top').click(function(e) { e.preventDefault(); hvgScroll.scrollTo(0, 0); });
        function setRightbar() {
            document.getElementById('rightwrapper').style.right = window.innerHeight < window.innerWidth ?
                (document.body.className.indexOf('norightbar') != -1 ? '-360px' : '0px') :
                (document.body.className.indexOf('norightbar') != -1 ? '-360px' : '-360px');
            //rotationFunctions();
        } 
        function setHeight() {
                var headerH = document.getElementById('header_wrapper').offsetHeight,
                    footerH = 0, // document.getElementById('footer').offsetHeight,
                    wrapperH = window.innerHeight; // - headerH - footerH;
                    if (window.orientation == 0) {
                        document.getElementById('rightwrapper').style.height = document.getElementById('pagescroller').offsetHeight + 'px';
                    }
                    document.getElementById('pagewrapper').style.height = wrapperH + 'px';
                    setRightbar();
        }
        document.addEventListener('touchmove', function(e){ e.preventDefault(); }, false);
        setTimeout(function() {
            setHeight();
            hvgScroll = new iScroll('pagescroller', {desktopCompatibility: true});
            window.addEventListener('onorientationchange' in window ? 'orientationchange' : 'resize', function() { 
                setHeight();
                hvgScroll.refresh();
            }, false);
        }, 100);
        //setTimeout(function() {
        //hvgScroll = new iScroll('pagewrapper', { hScrollbar: false });
        //document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false)
        //document.onunload = function() { hvgScroll.destroy(); hvgScroll = null; }
        //window.addEventListener('onorientationchange' in window ? 'orientationchange' : 'resize', function() { 
        //    document.getElementById('pagewrapper').style.height = window.innerHeight + 'px';
        //    hvgScroll.refresh();
        //}, false);
        //}, 100);
    } else {
        var contentHeight = 0;
        jQuery('#contentwrapper > *').each(function(i,e) {
            contentHeight += e.offsetHeight;
        });
        if (jQuery('#rightbar').prop('offsetHeight') < contentHeight) {
            // fixed script
            var fixbar = jQuery('#fixbar');
            var headerWrapper= jQuery('#header_wrapper');
            if (fixbar.length && headerWrapper.length) {
                var windowInnerHeight = jQuery(window).height();
                var pos = fixbar.offset().top;
                var headerHeight = headerWrapper.prop('offsetHeight');
                var rightbarAdBox = jQuery('#fixbar').children('#rightbar_ad');
                var rightBoxes = rightbarAdBox.siblings('.box');
                if (rightBoxes.length > 0) {
                    var firstBoxPos = headerWrapper.prop('offsetHeight') + rightbarAdBox.prop('offsetHeight');
                    var firstBoxHeight =  jQuery(rightBoxes[0]).outerHeight(true);
                    var headerBoxesHeight = firstBoxHeight + firstBoxHeight;

                    for( var hidden = 1; hidden < rightBoxes.length; ++hidden) {
                        headerBoxesHeight += jQuery(rightBoxes[hidden]).outerHeight(true);
                        if (headerBoxesHeight > windowInnerHeight) { break; }
                        
                    }
                    for (var i = hidden; i < rightBoxes.length; ++i) {
                        jQuery(rightBoxes[i]).hide();
                    }
                    if (firstBoxPos + firstBoxHeight > windowInnerHeight) {
                        var firstBoxList = jQuery(rightBoxes[0]).children();    
                        if (firstBoxList.length > 0) {
                            var firstBoxItems = firstBoxList.children();
                            for(var i = 0; i < firstBoxItems.length; ++i) {
                                firstBoxPos += jQuery(firstBoxItems[i]).outerHeight(true);                                
                                if (firstBoxPos > windowInnerHeight) { break; }
                            }
                            for (; i < firstBoxItems.length; ++i) {
                                jQuery(firstBoxItems[i]).hide();
                            }
                        }
                    }
                }
                jQuery(window).scroll(function(ev) {
                    var scrollPos = jQuery(window).scrollTop() + headerHeight;
                    if (!fixbar.hasClass('fixedbar') && (scrollPos > pos)) {
                        fixbar.addClass('fixedbar');
                        fixbar.css('top', headerHeight);
                    } else {
                        if (fixbar.hasClass('fixedbar') && (scrollPos < pos)) {
                            fixbar.removeClass('fixedbar');
                            fixbar.css('top', pos);
                        }
                    }
                });
            }
            // fixed script END
        }
    }
    RightSlider.wrapper = jQuery('#rightwrapper');
    RightSlider.slider = jQuery('#rightbar_slider');
    RightSlider.maxRight = RightSlider.currentRight = -360; //parseInt( RightSlider.wrapper.css( 'right' ) );
    RightSlider.slider.click(function(e) { e.preventDefault(); })
    //    .mousedown( slide_start )
    .bind('touchstart', slide_start);
});

function slide_click(e) {
    if (!jQuery(e.target).parents('#rightwrapper').length && jQuery('#rightbar_slider').height()) {
        RightSlider.wrapper.animate({ right: RightSlider.maxRight + 'px' });
        RightSlider.currentRight = RightSlider.maxRight;
        jQuery(document).unbind('click', slide_click);
    }
}
function slide_stop(e) {
    if (RightSlider.currentPos == RightSlider.startPos) {
        RightSlider.currentRight = RightSlider.currentRight > RightSlider.maxRight ? RightSlider.maxRight : 0;
        RightSlider.wrapper.animate({ right: RightSlider.currentRight + 'px' }, { complete: function() { RightSlider.sliding = false; } });
    }
    else RightSlider.sliding = false;
    jQuery(document)[(RightSlider.currentRight > RightSlider.maxRight ? '' : 'un') + 'bind']('click', slide_click);
    jQuery(document)
    //    .unbind( 'mousemove', slide_move ).unbind( 'mouseup', slide_stop )
    .unbind('touchmove', slide_move).unbind('touchend', slide_stop).unbind('touchcancel', slide_stop);
}
function slide_start(e) {
    RightSlider.sliding = true;
    RightSlider.startPos = RightSlider.currentPos = e.pageX;
    RightSlider.startRight = parseInt(RightSlider.wrapper.css('right'));
    jQuery(document)
    //    .mousemove( slide_move ).mouseup( slide_stop )
    .bind('touchmove', slide_move).bind('touchend', slide_stop).bind('touchcancel', slide_stop);
}
function slide_move(e) {
    if (e.pageX != RightSlider.currentPos) {
        RightSlider.currentRight = Math.min(Math.max(RightSlider.startRight + RightSlider.startPos - e.pageX, RightSlider.maxRight), 0);
        RightSlider.wrapper.css('right', RightSlider.currentRight + 'px');
        RightSlider.currentPos = e.pageX;
    }
}

