/**
 * Script		: nmProjectSlider
 * Version	: 0.2dev
 * Authors	: Pierre Geyer
 * Desc			: ProjectSlider 
 *
 * 0.2
 * - Übersichtsseite
 * - Quellenkommentare
 *
 * 0.1 
 * - Queue
 * - durchschalten Projekt
 */

(function($) {	
    var nmProjectSliderOpts = {};
    var debug = false;
    var preloadList = [];
    var	preLoadActive = false;
    var preLoadCnt = 0;
    var overviewLoad = false;
    var overviewVisible = false;
  
    /**
	 CONSTRUCTOR
	 **/
    $.fn.nmProjectSlider = function (settings) {

        // Options zusammenstellen
        nmProjectSliderOpts = $.extend({}, $.fn.nmProjectSlider.defaults, settings);
        nmProjectSliderOpts.count = $('.'+nmProjectSliderOpts.projectClass).length-1; // Übersicht abziehen

        // Verknüpfe alle Slider-Links mit dem Mouse-Events
        $(nmProjectSliderOpts.directButtonClass).bind('click',$.fn.nmProjectSlider.slideToByClick);
        $('#'+nmProjectSliderOpts.nextButtonId).bind('click',$.fn.nmProjectSlider.nextClick);
        $('#'+nmProjectSliderOpts.nextButtonId).bind('dblclick',$.fn.nmProjectSlider.nextDoubleClick);
        $('#'+nmProjectSliderOpts.prevButtonId).bind('click',$.fn.nmProjectSlider.prevClick);
        $('#'+nmProjectSliderOpts.prevButtonId).bind('dblclick',$.fn.nmProjectSlider.prevDoubleClick);
        $('#'+nmProjectSliderOpts.overviewButtonId).bind('click',$.fn.nmProjectSlider.overviewClick);
        $('#nm-project-overview-list a').bind('click',$.fn.nmProjectSlider.slideToByClick);

        // Gleich zum ersten Projekt springen
        $.fn.nmProjectSlider.Preload(0,
            function() {
                $.fn.nmProjectSlider.getProjectByIndex(0).fadeIn();
            },
            $.fn.nmProjectSlider.showLoadingProgressBar(),
            $.fn.nmProjectSlider.preLoadSlides
            );
    }; // function


    $.fn.nmProjectSlider.preLoadSlides = function () {
        $.fn.nmProjectSlider.hideLoadingProgressBar();
        // Autoslider starten
        if (nmProjectSliderOpts.autoSlide) {
            setTimeout("$.fn.nmProjectSlider.autoSlide();", nmProjectSliderOpts.autoSlideSpeed);
        }
        // Jetzt anweisen alle anderen Slides zu laden
        $.fn.nmProjectSlider.preLoadAllSlides($.browser.msie ? 2 : 1);
    }
    /**
     * preLoadAllSlides - Lädt alle Slides und Cached deren Inhalt dabei
     */
    $.fn.nmProjectSlider.preLoadAllSlides = function (preLoadIndex) {
        if (debug) console.log('preLoadAllSlides('+preLoadIndex+')');
        var nextPreLoadIndex = preLoadIndex+1;
        $.fn.nmProjectSlider.Preload(preLoadIndex, function(){
            if (preLoadIndex < nmProjectSliderOpts.count) {
                $.fn.nmProjectSlider.preLoadAllSlides(nextPreLoadIndex);
            }
        });
    }

    /**
	 * Liefert zurück, ob alle Images preloaded sind
	 */
    $.fn.nmProjectSlider.isPreloaded = function (index) {
        var result = $('.nm-preload',$.fn.nmProjectSlider.getProjectByIndex(index)).length == 0;
        if (debug) console.log('isPreloaded('+index+') '+ result);
        return result;
    };

    /**
	 * Lädt alle Images mit der Klasse ".nm-preload" nach, und führt danach den "callback" aus.
	 */
    $.fn.nmProjectSlider.Preload = function (index, callback, loadingCallback, finishCallback) {
        if (debug) console.log('preloaded('+index+') ');
		
        // Projekt holen
        var project = $.fn.nmProjectSlider.getProjectByIndex(index);
			
        // Alle ungecached Elements ermitteln
        var cacheElements = $('.nm-preload', project).not('.nm-preload-done');
		
        if (cacheElements.length == 0) {

            // Wenn nichts zum Cachen ist, dann Callback gleich ausführen
            callback();

        } else {

            cacheElements = cacheElements.not('.nm-preload-queued');
            // Alle Elemente und den Callback in die Queue legen
            //console.log(loadingCallback);
            if (loadingCallback) loadingCallback();
            if (loadingCallback) preloadList.push(loadingCallback);
            cacheElements.each(function() {
                $(this).addClass('nm-preload-queued');
                //removeClass('nm-preload');
                preloadList.push(this);
            });
            if (finishCallback) preloadList.push(finishCallback);
            preloadList.push(callback);
        }
		
        // den eigentlichen Ladevorgang starten
        $.fn.nmProjectSlider.ProcessPreloadQueue(false);
    };

    /**
	 * Arbeitet die Warteschlange ab.
	 */
    $.fn.nmProjectSlider.ProcessPreloadQueue = function(ignoreActive) {
		
        // Wenn gerade etwas geladen wird, dann nicht noch einen Preload ausführen
        if (preLoadActive && !ignoreActive) return false;
        preLoadActive = true;

        // Wenn nichts zum Preloaden da ist, abrechen
        if (preloadList.length == 0) {
            preLoadActive = false;
            return false;
        }
		
        // Nächstes Element ermitteln, was gepreloaded werden soll
        preloadElement = preloadList.shift();
	
			
        if (typeof preloadElement == 'function') {

            // Run callbacks
            if (debug) console.log('run: ('+preloadElement+')');
            preloadElement();
            $.fn.nmProjectSlider.ProcessPreloadQueue(true);

        } else {
			
            // Lädt das Element
            $.fn.nmProjectSlider.PreloadElement(preloadElement);

        }
    };
	
    /**
	* Ermittelt aus dem übergebenen Element das benötigte Bild
	* und lädt es. Erst nach Laden des Bildes stößt er die Queue wieder an.
	*/
    $.fn.nmProjectSlider.PreloadElement = function (preloadElement) {

        // Versuchen ob es sich um ein Bild handelt
        imageSrc = $(preloadElement).attr('src');
        if (!imageSrc) {
            // Versuchen ob es sich um ein Hintergrundbild handelt
            imageSrc = $(preloadElement).css('background-image');
            if (imageSrc) {
                imageSrc = imageSrc.match(/[^\(\"]+\.(gif|jpg|jpeg|png)/g);
                if(imageSrc != null && imageSrc.length>0 && imageSrc != ''){
                    var arr = jQuery.makeArray(imageSrc);
                    jQuery(arr).each(function(){
                        imageSrc.src = (this[0] == '/' || this.match('http://')) ? this : '/' + this;
                    });
                }
            }
        }
			
        // Wenn keine Bildangaben gefunden wurden sind, dann nächstes Queue-Element nehmen
        if (imageSrc) {
            if (debug) console.log('loadElement: ('+imageSrc+')');

            // Bild endlich erzeugen und laden
            var img = new Image();
            $(img)
            // Wenn es erfolgreich geladen wurde, dann das nächste laden
            .load(function () {
                $(preloadElement).addClass('nm-preload-done');
                if (debug) console.log('loaded: ('+imageSrc+')');
                $.fn.nmProjectSlider.ProcessPreloadQueue(true);
            })
            // Auch wenn es nicht erfolgreich geladen wurde, dann das nächste laden
            .error(function () {
                $(preloadElement).addClass('nm-preload-done');
                if (debug) console.log('loaded fail: ('+imageSrc+')');
                $.fn.nmProjectSlider.ProcessPreloadQueue(true);
            })
            .attr('src', imageSrc);
        } else {
            $.fn.nmProjectSlider.ProcessPreloadQueue(true);
            return false;
        }

    };




	
    $.fn.nmProjectSlider.getProjectByIndex = function (index) {
        return $('.'+nmProjectSliderOpts.projectClass+':eq('+(index+1)+')');
    };

    $.fn.nmProjectSlider.overviewClick = function () {
        if (overviewLoad) {
            return false;
        }
        overviewLoad = true;
		
        if (overviewVisible) {
            $.fn.nmProjectSlider.fadeOutOverview($.fn.nmProjectSlider.getProjectByIndex(-1));
            return false;
        }
	  
        nmProjectSliderOpts.autoSlide = false;
        $.fn.nmProjectSlider.Preload(-1,
            function() {
                $.fn.nmProjectSlider.fadeInOverview($.fn.nmProjectSlider.getProjectByIndex(-1));
            },
            $.fn.nmProjectSlider.showLoadingProgressBar,
            $.fn.nmProjectSlider.hideLoadingProgressBar
            );
        return false;
    };

    $.fn.nmProjectSlider.nextClick = function () {
        nmProjectSliderOpts.autoSlide = false;
        $.fn.nmProjectSlider.slideTo($.fn.nmProjectSlider.getCurrentSlide() + 1);
        return false;
    };

    $.fn.nmProjectSlider.nextDoubleClick = function () {
        nmProjectSliderOpts.autoSlide = false;
        $.fn.nmProjectSlider.slideTo($.fn.nmProjectSlider.getCurrentSlide() );
        return false;
    };

    $.fn.nmProjectSlider.prevClick = function () {
        nmProjectSliderOpts.autoSlide = false;
        $.fn.nmProjectSlider.slideTo($.fn.nmProjectSlider.getCurrentSlide() - 1);
        return false;
    };

    $.fn.nmProjectSlider.prevDoubleClick = function () {
        nmProjectSliderOpts.autoSlide = false;
        $.fn.nmProjectSlider.slideTo($.fn.nmProjectSlider.getCurrentSlide());
        return false;
    };


    $.fn.nmProjectSlider.slideToByClick = function () {
        nmProjectSliderOpts.autoSlide = false;
	  
        var currentButton = $(this);
        var index = currentButton.attr('rel');
        $.fn.nmProjectSlider.slideTo(index-1);
        return false;
    };

    $.fn.nmProjectSlider.getCurrentSlide = function() {
        return (nmProjectSliderOpts.nextSlide != null) ? nmProjectSliderOpts.nextSlide : nmProjectSliderOpts.currentSlide;
    };
	
    /**
	 * Setzt den Navigationsdot
	 */
    $.fn.nmProjectSlider.setNavDot = function (index) {
        var xleft = (12* (index % 4));
        var ytop  = index < 4 ? 0 : 10;
		
        $('#nm-project-nav-dots span').css({
            left: xleft,
            top: ytop
        }).show();
    }
	 
    /**
	 * Startet den Slide zu einem bestimmten Element
	 */
    $.fn.nmProjectSlider.slideTo = function (index) {
		
        if (debug) console.log('slideTo('+index+')');
        if (overviewVisible) $.fn.nmProjectSlider.fadeOutOverview($.fn.nmProjectSlider.getProjectByIndex(-1));
		
        var direction = 'down';
		
        // Slided zu dem jeweiligen Projekt
        if (index > nmProjectSliderOpts.currentSlide) {
            direction = 'up';
        }

        // Running
        if (nmProjectSliderOpts.running) {

            nmProjectSliderOpts.nextSlide = index;

            var i2 = index;
			
            if (index > nmProjectSliderOpts.count-1) index = index % nmProjectSliderOpts.count;
            if (index < 0) index = nmProjectSliderOpts.count - 1 - Math.abs((index + 1) % nmProjectSliderOpts.count);

            $.fn.nmProjectSlider.setNavDot(index);
		
            return false;
        }

        if (index > nmProjectSliderOpts.count-1) index = index % nmProjectSliderOpts.count;
        if (index < 0) index = nmProjectSliderOpts.count - 1 - Math.abs((index + 1) % nmProjectSliderOpts.count);
		
        $.fn.nmProjectSlider.setNavDot(index);

        // stop, wenn schon aktiv
        if (nmProjectSliderOpts.currentSlide == index) return false;
		
        nmProjectSliderOpts.running = true;
		
        // speichern wenn geslided werden soll
        lastSlide = nmProjectSliderOpts.currentSlide;
        nmProjectSliderOpts.currentSlide = index;
		
	  
        if (direction == 'down') {
            $.fn.nmProjectSlider.Preload(index,
                function() {
                    $.fn.nmProjectSlider.fadeInDown($.fn.nmProjectSlider.getProjectByIndex(index));
                },
                $.fn.nmProjectSlider.showLoadingProgressBar,
                $.fn.nmProjectSlider.hideLoadingProgressBar
                );
            $.fn.nmProjectSlider.fadeOutDown($.fn.nmProjectSlider.getProjectByIndex(lastSlide));
        } else if (direction == 'up') {
            $.fn.nmProjectSlider.Preload(index,
                function() {
                    $.fn.nmProjectSlider.fadeInUp($.fn.nmProjectSlider.getProjectByIndex(index));
                },
                $.fn.nmProjectSlider.showLoadingProgressBar,
                $.fn.nmProjectSlider.hideLoadingProgressBar
                );
            $.fn.nmProjectSlider.fadeOutUp($.fn.nmProjectSlider.getProjectByIndex(lastSlide));
        } else if (direction == 'center') {
            $.fn.nmProjectSlider.Preload(index,
                function() {
                    $.fn.nmProjectSlider.fadeInOverview($.fn.nmProjectSlider.getProjectByIndex(index));
                },
                $.fn.nmProjectSlider.showLoadingProgressBar,
                $.fn.nmProjectSlider.hideLoadingProgressBar
                );
            $.fn.nmProjectSlider.fadeOut($.fn.nmProjectSlider.getProjectByIndex(lastSlide));
        }
        return false;
    };

    $.fn.nmProjectSlider.showLoadingProgressBar = function () {
        if (debug) console.log('showLoadingProgressBar');
        $('#nm-project-loading').fadeIn();
    }

    $.fn.nmProjectSlider.hideLoadingProgressBar = function () {
        $('#nm-project-loading').fadeOut();
    }


    /**
	 * Von unten einfaden 
	 */
    $.fn.nmProjectSlider.fadeInUp = function (project) {
        $.fn.nmProjectSlider.fadeIn(project, 330, 328);
    };

    /**
	 * Von oben einfaden 
	 */
    $.fn.nmProjectSlider.fadeInDown = function (project) {
        $.fn.nmProjectSlider.fadeIn(project, -230, -228);
    };

    /**
	* Faded das Project ein
	*/
    $.fn.nmProjectSlider.fadeIn = function (project, descTop, imageTop) {

        project.hide(); // Bevor es eingeblendet wird, muss es erstmal unsichtbar sein
        $('.nm-project-image-container', project).css('opacity', 0);
        $('.nm-project-image-container', project).animate({
            opacity: 0.99
        }, nmProjectSliderOpts.backgroundFadeSpeed, function () {});
	
        $('.nm-project-desc', project).css({
            top: descTop
        });
        $('.nm-project-desc', project).animate({
            top: 0
        }, nmProjectSliderOpts.speed, function () {});
	
        $('.nm-project-image', project).css('top', imageTop);
        $('.nm-project-image', project).animate({
            top: 68
        },  nmProjectSliderOpts.speed, function () {});
		
        $('.nm-project-comment', project).css('opacity', 0);
        $('.nm-project-comment', project).delay(nmProjectSliderOpts.speed - nmProjectSliderOpts.commentSpeed).animate({
            opacity: 1
        }, nmProjectSliderOpts.commentSpeed, function () {});
        project.show();
    };

	
    /**
	* Faded das Project ein
	*/
    $.fn.nmProjectSlider.fadeInOverview = function (project) {

        project.hide(); // Bevor es eingeblendet wird, muss es erstmal unsichtbar sein
        $('.nm-project-image-container', project).css({
            opacity: 0
        });
        $('#nm-project-overview-list li a',project).css({
            opacity: 1
        });
        $('.nm-project-image-container', project).animate({
            opacity: 0.4
        }, nmProjectSliderOpts.overviewFallDownSpeed, function() {
            overviewLoad = false;
            overviewVisible = true;
            $.fn.nmProjectSlider.markFinished();
        });
		
        var i = 8;
        $('#nm-project-overview-list li',project).each(function() {
            // Außerhalb des Sichtbereiches
            var thumb = $(this);
            i = i - 1;
			
            thumb.css({
                top: -120
            });
            thumb.delay( (nmProjectSliderOpts.overviewFallDownSpeed / 8) * i).animate({
                top: (i > 3 ? 0 : 140)
            }, nmProjectSliderOpts.overviewFallDownSpeed);
        });
	
		
        project.show();
    };

    /**
	* Faded das Project ein
	*/
    $.fn.nmProjectSlider.fadeOutOverview = function (project) {

        $('.nm-project-image-container', project).animate({
            opacity: 0
        }, nmProjectSliderOpts.overviewFallDownSpeed, function() {
            project.hide();
            overviewLoad = false;
            overviewVisible = false;
            $.fn.nmProjectSlider.markFinished();
        });
        $('#nm-project-overview-list li a',project).animate({
            opacity: 0
        }, nmProjectSliderOpts.overviewFallDownSpeed, function() { });
    };

	
    /**
	 * Markiert die Animation als beendet und startet gegebenfalls die nächste
	 */
    $.fn.nmProjectSlider.markFinished = function () {
        nmProjectSliderOpts.running = false;
        if (nmProjectSliderOpts.nextSlide != null) {
            $.fn.nmProjectSlider.slideTo(nmProjectSliderOpts.nextSlide);
            nmProjectSliderOpts.nextSlide = null;
        }
    }
	
    /**
	 *	Nach unten ausfaden
	 */	
    $.fn.nmProjectSlider.fadeOutDown = function (project) {
        $.fn.nmProjectSlider.fadeOutSlide(project, 330, 330);
    };
	
    /**
	 *	Nach oben ausfaden
	 */	
    $.fn.nmProjectSlider.fadeOutUp = function (project) {
        $.fn.nmProjectSlider.fadeOutSlide(project, -230, -228);
    };

    /**
	* Faded das Project aus
	*/
    $.fn.nmProjectSlider.fadeOutSlide = function (project, descTop, imageTop) {

        $('.nm-project-image-container', project).animate({
            opacity: 0
        }, 		 nmProjectSliderOpts.backgroundFadeSpeed, function () {
            project.hide();
            $.fn.nmProjectSlider.markFinished();
        });
        $('.nm-project-desc', 	 				 project).animate({
            top: descTop
        }, nmProjectSliderOpts.speed, 			 function () {});
        $('.nm-project-image', 	         project).animate({
            top: imageTop
        }, nmProjectSliderOpts.speed, 			 function () {});
        $('.nm-project-comment',         project).animate({
            opacity: 0
        }, nmProjectSliderOpts.commentSpeed, function () {});
    };


    /**
	* Faded das Project aus
	*/
    $.fn.nmProjectSlider.fadeOut = function (project) {
    //project.animate({	opacity: 0.5			}).(nmProjectSliderOpts.backgroundFadeSpeed, $.fn.nmProjectSlider.markFinished );
    };

    /**
	 * Weißt das Projekt an immer eine Referenz weiter zu schalten
	 */
    $.fn.nmProjectSlider.autoSlide = function (){
        if (!nmProjectSliderOpts.autoSlide) return;
        $.fn.nmProjectSlider.slideTo($.fn.nmProjectSlider.getCurrentSlide() + 1);
        setTimeout("$.fn.nmProjectSlider.autoSlide();", nmProjectSliderOpts.autoSlideSpeed);
    };

    /**
	 * Standard-Settings
	 */
    $.fn.nmProjectSlider.defaults = {
        projectClass:		"nm-project",
        directButtonClass:		"#nm-project-nav-dots a",
        nextButtonId:					"nm-project-nav-next",
        prevButtonId:	  			"nm-project-nav-prev",
        overviewButtonId:			"nm-project-nav-overview",
        speed:								900,		// 1000
        commentSpeed:					600,		// 600
        backgroundFadeSpeed: 1000,
        overviewFallDownSpeed: 500,
		
        autoSlide:			true,
        autoSlideSpeed:	8000,
		
        // Runtime environment
        currentSlide: 	0,
        nextSlide:			null,
        running: 				false,
        count:					0
    };

})(jQuery);


/****************************************************************/

/**
 * Script	: nmPreloader
 * Version	: 1.0
 * Authors	: Pierre Geyer
 *
 */

(function($) {	
    var nmPreloaderOpts = {};
    var debug = false;
    var preloadList = [];
    var	preLoadActive = false;
    var preLoadCnt = 0;
  
    /**
	 CONSTRUCTOR
	 **/
    $.fn.nmPreloader = function (settings) {

        // Options zusammenstellen
        nmPreloaderOpts = $.extend({}, $.fn.nmPreloader.defaults, settings);
			
    }; // function

    /**
     * Liefert zurück, ob alle Images preloaded sind
     */
    $.fn.nmPreloader.isPreloaded = function () {
        return $('.nm-preload', this).length == 0;
    };

    /**
	 * Lädt alle Images mit der Klasse ".nm-preload" nach, und führt danach den "callback" aus.
	 */
    $.fn.nmPreloader.Preload = function (callback, loadingCallback, finishCallback) {
			
        // Alle ungecached Elements ermitteln
        var cacheElements = $('.nm-preload', this).not('.nm-preload-done');
		
        if (cacheElements.length == 0) {

            // Wenn nichts zum Cachen ist, dann Callback gleich ausführen
            callback();

        } else {

            cacheElements = cacheElements.not('.nm-preload-queued');
            // Alle Elemente und den Callback in die Queue legen
            //console.log(loadingCallback);
            if (loadingCallback) loadingCallback();
            if (loadingCallback) preloadList.push(loadingCallback);
            cacheElements.each(function() {
                $(this).addClass('nm-preload-queued');
                //removeClass('nm-preload');
                preloadList.push(this);
            });
            if (finishCallback) preloadList.push(finishCallback);
            preloadList.push(callback);
        }
		
        // den eigentlichen Ladevorgang starten
        $.fn.nmPreloader.ProcessPreloadQueue(false);
    };

    /**
	 * Arbeitet die Warteschlange ab.
	 */
    $.fn.nmPreloader.ProcessPreloadQueue = function(ignoreActive) {
		
        // Wenn gerade etwas geladen wird, dann nicht noch einen Preload ausführen
        if (preLoadActive && !ignoreActive) return false;
        preLoadActive = true;

        // Wenn nichts zum Preloaden da ist, abrechen
        if (preloadList.length == 0) {
            preLoadActive = false;
            return false;
        }
		
        // Nächstes Element ermitteln, was gepreloaded werden soll
        preloadElement = preloadList.shift();
			
        if (typeof preloadElement == 'function') {

            // Run callbacks
            if (debug) console.log('run: ('+preloadElement+')');
            preloadElement();
            $.fn.nmPreloader.ProcessPreloadQueue(true);

        } else {
			
            // Lädt das Element
            $.fn.nmPreloader.PreloadElement(preloadElement);

        }
    };
	
    /**
	* Ermittelt aus dem übergebenen Element das benötigte Bild
	* und lädt es. Erst nach Laden des Bildes stößt er die Queue wieder an.
	*/
    $.fn.nmPreloader.PreloadElement = function (preloadElement) {

        // Versuchen ob es sich um ein Bild handelt
        imageSrc = $(preloadElement).attr('src');
        if (!imageSrc) {
            // Versuchen ob es sich um ein Hintergrundbild handelt
            imageSrc = $(preloadElement).css('background-image');
            if (imageSrc) {
                imageSrc = imageSrc.match(/[^\(\"]+\.(gif|jpg|jpeg|png)/g);
                if(imageSrc != null && imageSrc.length>0 && imageSrc != ''){
                    var arr = jQuery.makeArray(imageSrc);
                    jQuery(arr).each(function(){
                        imageSrc.src = (this[0] == '/' || this.match('http://')) ? this : '/' + this;
                    });
                }
            }
        }
			
        // Wenn keine Bildangaben gefunden wurden sind, dann nächstes Queue-Element nehmen
        if (imageSrc) {
            if (debug) console.log('loadElement: ('+imageSrc+')');

            // Bild endlich erzeugen und laden
            var img = new Image();
            $(img)
            // Wenn es erfolgreich geladen wurde, dann das nächste laden
            .load(function () {
                $(preloadElement).addClass('nm-preload-done');
                if (debug) console.log('loaded: ('+imageSrc+')');
                $.fn.nmPreloader.ProcessPreloadQueue(true);
            })
            // Auch wenn es nicht erfolgreich geladen wurde, dann das nächste laden
            .error(function () {
                $(preloadElement).addClass('nm-preload-done');
                if (debug) console.log('loaded fail: ('+imageSrc+')');
                $.fn.nmPreloader.ProcessPreloadQueue(true);
            })
            .attr('src', imageSrc);
        } else {
            $.fn.nmPreloader.ProcessPreloadQueue(true);
            return false;
        }

    };
    /*
     * Standard-Settings
     */
    $.fn.nmPreloader.defaults = {    };

})(jQuery);

/****************************************************************/

/*
 * next.motion OHG 
 *  *
 * http://www.next-motion.de
 * Version: 1.0.0 (13/06/2010)
 * Copyright (c) 2010 next.motion / Pierre Geyer
 * Requires: jQuery v1.4+
*/


$(window).load(function() {
	// Slider auf Startseite initialisieren
	$("#nm-project-outer").nmProjectSlider({});

});



