$(function() {
        var galleries = $('.ad-gallery').adGallery();
        $('#switch-effect').change(
          function() {
            galleries[0].settings.effect = $(this).val();
            return false;
          }
        );
        $('#toggle-slideshow').click(
          function() {
            galleries[0].slideshow.toggle();
            return false;
          }
        );
        $('#toggle-description').click(
          function() {
            if(!galleries[0].settings.description_wrapper) {
              galleries[0].settings.description_wrapper = $('#descriptions');
            } else {
              galleries[0].settings.description_wrapper = false;
            }
            return false;
          }
        );
      });



/*

    AnythingZoomer
    a jQuery Plugin

    by: Chris Coyier
    http://css-tricks

    Version: 1.0

    Note: You can do whatever the heck you want with this.

*/

(function($) {

    $.anythingZoomer = {

        defaults: {
            smallArea: "#small",
            largeArea: "#large",
            zoomPort: "#overlay",
            mover: "#mover",
            expansionSize: 30,
            speedMultiplier: 1.5

        }

    }

    $.fn.extend({
        anythingZoomer:function(config) {

            var config = $.extend({}, $.anythingZoomer.defaults, config);

            var wrap = $(this);

            var smallArea = $(config.smallArea);
            var largeArea = $(config.largeArea);
            var zoomPort = $(config.zoomPort);
            var mover = $(config.mover);

            var expansionSize = config.expansionSize;
            var speedMultiplier = config.speedMultiplier;

            function setup(smallArea, largeArea, wrap, zoomPort, mover, expansionSize, speedMultiplier) {

                smallArea
                    .show();

                zoomPort
                    .fadeIn();

                mover
                    .css({
                        width: mover.data("origWidth"),
                        height: mover.data("origHeight"),
                        overflow: "hidden",
                        position: "absolute"
                    })

                wrap
                    .css({
                        width: "auto"
                    })
            		.hover(function(){
            		     mover.fadeIn(100);
            		},function(){
            		     mover.fadeOut(100);
            		})
            		.mousemove(function(e){

            			var x = e.pageX - smallArea.offset().left;
            			var y = e.pageY - smallArea.offset().top;



            			mover.css({
            				top: y - 100,
            				left: x - 100
            			});

            			largeArea.css({

            			    left: (-(e.pageX - smallArea.offset().left)*speedMultiplier)+expansionSize,
            			    top: (-(e.pageY - smallArea.offset().top)*speedMultiplier)+expansionSize

            			});

            		})
            		.dblclick(function() {

                        expand(smallArea, largeArea, wrap, zoomPort, mover, expansionSize, speedMultiplier);

            		});

            };

            function expand(smallArea, largeArea, wrap, zoomPort, mover, expansionSize, speedMultiplier) {

                  smallArea
        		      .hide();

        		  zoomPort
        		      .hide();

        		  mover
        		      .fadeIn()
        		      .data("origWidth", mover.width())
        		      .data("origHeight", mover.height())
        		      .css({
        		          position: "static",
        		          height: "auto",
        		          width: "auto",
        			      overflow: "visible"
        		      });

        		  wrap
        		      .css({
        		          width: "100%"
        		      })
        		      .unbind()
        		      .dblclick(function(){
        		          setup(smallArea, largeArea, wrap, zoomPort, mover, expansionSize, speedMultiplier);
        		      });


        		  largeArea
        		      .css({
        		          left: 0,
        		          top: 0,
        		          width: largeArea.data("origWidth")
        		      });

            };

            mover
		      .data("origWidth", mover.width())
		      .data("origHeight", mover.height());

		    // Because the largeArea is often hidden, the width() function returns zero, take width from CSS instead
		    largeArea
		      .data("origWidth", largeArea.css("width"));

            setup(smallArea, largeArea, wrap, zoomPort, mover, expansionSize, speedMultiplier);

            return this;

        }

    });

})(jQuery);


/*
 * Url preview script
 * powered by jQuery (http://www.jquery.com)
 *
 * written by Alen Grakalic (http://cssglobe.com)
 *
 * for more info visit http://cssglobe.com/post/1695/easiest-tooltip-and-image-preview-using-jquery
 *
 */

this.screenshotPreview = function(){
	/* CONFIG */

		xOffset = 100;
		yOffset = -300;

		// these 2 variable determine popup's distance from the cursor
		// you might want to adjust to get the right result

	/* END CONFIG */
	$("div.bildzeile a.bild").hover(function(e){
		this.t = this.title;
		this.title = "";
		var c = (this.t != "") ? "<br/>" + this.t : "";
		$("body").append("<div id='screenshot'><img src='"+ this.rel +"' alt='url preview' id='test_popup' />"+ c +"</div>");
		$("#screenshot")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px")
			.fadeIn("fast");
    },
	function(){
		this.title = this.t;
		$("#screenshot").remove();
    });
	$("div.bildzeile a.bild").mousemove(function(e){
		$("#screenshot")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px");
	});
};


// starting the script on page load
$(document).ready(function(){
	screenshotPreview();

	$("#wrap").anythingZoomer({
    	   expansionSize: 30,
    	   speedMultiplier: 3
   	});

});
