//LAZY LOAD
/*$(document).ready(function() {
    $('img').lazyload({
        effect: "fadeIn",
        failurelimit: 20
    });
});*/

//PRELOAD IMAGES
$(document).ready(function(){
  $.preloadCssImages();
});

//DROP DOWN
$(document).ready(function() {
var timeout    = 500;
		var closetimer = 0;
		var ddmenuitem = 0;
		
		function ddmenu_open(){
			ddmenu_canceltimer();
		   	ddmenu_close();
		   	ddmenuitem = $(this).find('ul').css('visibility', 'visible');
		}
		
		function ddmenu_close(){ 
			if(ddmenuitem) ddmenuitem.css('visibility', 'hidden');
		}
		
		function ddmenu_timer(){
			closetimer = window.setTimeout(ddmenu_close, timeout);
		}
		
		function ddmenu_canceltimer(){  
			if(closetimer){  
				window.clearTimeout(closetimer);
		        closetimer = null;
		}}
		
		$(document).ready(function(){  
			$('#nav > li').bind('mouseover', ddmenu_open)
		    $('#nav > li').bind('mouseout',  ddmenu_timer)
		});
		
document.onclick = ddmenu_close;
});

//LOGO SLIDER
$(function() {
    $('.slidebttn').hover(
    function() {
        var $this = $(this);
        var $slidelem = $this.prev();
        $slidelem.stop().animate({
            'width': '280px'
        },
        300);
        $slidelem.find('span').stop(true, true).fadeIn();
        $this.addClass('button_c');
    },
    function() {
        var $this = $(this);
        var $slidelem = $this.prev();
        $slidelem.stop().animate({
            'width': '49px'
        },
        200);
        $slidelem.find('span').stop(true, true).fadeOut();
        $this.removeClass('button_c');
    }
    );
});


//JOURNAL TABS
$(function() {
    $(".nav_journal").tabs(".tabs_journal > div", {
        effect: 'fade'
    });
});

//NEWS TABS
$(function() {
    $(".nav_news").tabs(".tabs_news > div", {
        effect: 'fade'
    });
});

//FADEIN
$(document).ready(function() {
    $('#content').delay(700).fadeIn(700);
    return false;
});
$(document).ready(function() {
    $('#footer').delay(900).fadeIn(700);
    return false;
});
$(document).ready(function() {
    $('#anchor').delay(1000).fadeIn(700);
    return false;
});

//DELAY LINK
$(document).ready(function() {
	
	$('#header a').click(function() {
        var url = $(this).attr('href');

        $('#content, #footer, #anchor').fadeOut(700,
        function() {
            document.location.href = url;
        });
        return false;
    });
	$('ul.main a').click(function() {
        var url = $(this).attr('href');

        $('#content, #footer, #anchor').fadeOut(700,
        function() {
            document.location.href = url;
        });
        return false;
    });
	$('ul.products a').click(function() {
        var url = $(this).attr('href');

        $('#content, #footer, #anchor').fadeOut(700,
        function() {
            document.location.href = url;
        });
        return false;
    });
	$('ul.nav_objects a').click(function() {
        var url = $(this).attr('href');

        $('#content, #footer, #anchor').fadeOut(700,
        function() {
            document.location.href = url;
        });
        return false;
    });
});

// TOGGLE DIVS
$(document).ready(function() {
    $('.info').hide();
    return false;
});

$(document).ready(function() {
    $('h4.toggle').click(function() {
        $(this).prev().animate({
            height: '100%'
        }).delay(800);
        return false;
    });
});


// STIKY ANCHOR
/*$(window).bind("load", function() { 

       var footerHeight = 440,
           footerTop = 0,
           $footer = $("#anchor");

       positionFooter();

       function positionFooter() {

                footerHeight = $footer.height();
                footerTop = ($(window).scrollTop()+$(window).height()-footerHeight)+"px";

               if ( ($(document.body).height()+footerHeight) < $(window).height()) {
                   $footer.css({
                        position: "absolute",
						float:"right"
                   }).animate({
                        top: footerTop
                   })
               } else {
                   $footer.css({
                        position: "static",
						float:"right"
                   })
               }

       }

       $(window)
               .scroll(positionFooter)
               .resize(positionFooter)

});*/


$(document).ready(function() {
    $('.info').click(function() {
        $(this).prev().animate({
            height: 'toggle'
        },
        200).delay(800);
        return false;
    });
});

//FADE BASE CODE
// wrap as a jQuery plugin and pass jQuery in to our anoymous function
 (function($) {
    $.fn.cross = function(options) {
        return this.each(function(i) {
            // cache the copy of jQuery(this) - the start image
            var $$ = $(this);

            // get the target from the backgroundImage + regexp
            var target = $$.css('backgroundImage').replace(/^url|[\(\)'"]/g, '');

            // nice long chain: wrap img element in span
            $$.wrap('<span style="position: relative;"></span>')
            // change selector to parent - i.e. newly created span
            .parent()
            // prepend a new image inside the span
            .prepend('<img>')
            // change the selector to the newly created image
            .find(':first-child')
            // set the image to the target
            .attr('src', target);

            // the CSS styling of the start image needs to be handled
            // differently for different browsers
            if ($.browser.mozilla) {
                $$.css({
                    'position': 'absolute',
                    'left': 0,
                    'background': '',
                    'top': this.offsetTop

                });

            } else if ($.browser.msie && ($.browser.version < 7.9999)) {
                $$.css({
                    'position': 'absolute',
                    'left': 0,
                    'background': '',
                    'top': 0

                });
            } else if ($.browser.opera && $.browser.version < 9.5) {
                // Browser sniffing is bad - however opera < 9.5 has a render bug
                // so this is required to get around it we can't apply the 'top' : 0
                // separately because Mozilla strips the style set originally somehow...
                $$.css({
                    'position': 'absolute',
                    'left': 0,
                    'background': '',
                    'top': "0"
                });
            } else {
                // Safari
                $$.css({
                    'position': 'absolute',
                    'left': 0,
                    'background': ''
                });
            }

            // similar effect as single image technique, except using .animate
            // which will handle the fading up from the right opacity for us
            $$.hover(function() {
                $$.stop().animate({
                    opacity: 0
                },
                200);
            },
            function() {
                $$.stop().animate({
                    opacity: 1
                },
                400);
            });
        });
    };

})(jQuery);

// note that this uses the .bind('load') on the window object, rather than $(document).ready()
// because .ready() fires before the images have loaded, but we need to fire *after* because
// our code relies on the dimensions of the images already in place.
$(window).bind('load',
function() {
    $('img.fade').cross();
});


