function popup(obj,width,height) {
	var url = $(obj).getProperty('href');
	if (!url || url==""){
		return true;
	}
	if(width && height){
		var args = 'width='+width+',height='+height+',resizable=yes,scrollbars=yes';
	}
	else{
		var args = 'resizable=yes,hotkeys=yes,location=yes,menubar=yes,scrollbars=yes,status=yes,toolbar=yes';
	}
	var pop = window.open(url,'popwin_'+new Date().getTime(),args);
	return (pop) ? false : true;
}





/*require: mootools*/
/*/////////////////////////////////////////////////////////////////////////////////
    obj = das Img-Element oder die id des Img-Elements
    options = 
        slidetime     Überblende-Zeit in Sekunden
        swaptime      Abstand zwischen den Überblendungen in Sekunden
        transition    SlideEffect (http://docs.mootools.net/Effects/Fx-Transitions.js)
        path          der pfad in dem die Bilder liegen (falls kein Pfad weglassen)
        imgs          ein Array mit allen Bildern (wird später an den pfad angehängt)
        random        soll die Slideshow zufällig die Bilderauswahl treffen, oder der Reihe nach?
    
    Beispiele:
        1. var mySlideShow = new slideShow($('mainimg'));
        2. var mySlideShow = new slideShow($E('#topimg img'),{
            slidetime: 1,
            swaptime: 4,
            transition: Fx.Transitions.Quart.easeInOut,
            path: '/images/slide/',
            imgs: ['1.jpg','2.jpg','3.jpg'],
            random: true
        });
/////////////////////////////////////////////////////////////////////////////////*/
var Slideshow = new Class({
    Implements: [Options, Events],
    options: {
        slidetime: 1.2,                    // Überblende-Zeit in Sekunden
        swaptime: 5,                       // Abstand zwischen den Überblendungen in Sekunden
        transition: Fx.Transitions.linear, // SlideEffect (http://docs.mootools.net/Effects/Fx-Transitions.js)
        path: '',                          // der pfad in dem die Bilder liegen (falls kein Pfad "" angeben)
        imgs: [],                          // ein Array mit allen Bildern (wird später an den pfad angehängt)
        random: false,                      // Zufällig? ((c)Wetz) => true/false
        copyrights: [],
        copyright_element: false
    },
    initialize: function(obj, options){
        this.obj = document.id(obj);
        this.setOptions(options);
        this.wrapper = new Element('div',{id:this.obj.get('id'),'class':this.obj.get('class')}).inject(this.obj, 'before');
        this.obj.set('id','');
        if(this.wrapper.getStyle('position')!="absolute"){
            this.wrapper.setStyle('position','relative');
        }
        this.obj.set('class','');
        this.obj.inject(this.wrapper);
        //this.wrapper.setStyles(this.obj.getStyles('width','height'));
        this.obj2 = new Element('img').inject(this.wrapper);
        this.obj.setStyles({
            position:'absolute',
            top:0,
            left:0
        });
        this.obj2.setStyles({
            position:'absolute',
            top:0,
            left:0
        });
        this.act_number = 0;
        this.slider = new Fx.Tween(this.obj2, {property:'opacity',duration:this.options.slidetime*1000,transition:this.options.transition});
        this.slider.set(0);
        this.inter = false;
        this.first_run = true;
        this.was_random = new Array();
        for(i=0; i<this.options.imgs.length; i++){
            if(this.obj.get('src') == this.options.imgs[i]){
                this.was_random.push(i);
            }
        }
        this.obj2.addEvent('load',this.imgOnLoad.bind(this));
        this.obj2.set('src',this.obj.get('src'));
    },
    run: function(){
        this.inter = false;
        this.first_run = false;
        if(this.options.random){
            if(this.options.imgs.length>=2){
                for(i=0;i<200;i++){
                    var r=Math.floor(Math.random()*(this.options.imgs.length));
                    if(r!=this.act_number){
                        var flag = false;
                        for(j=0;j<this.was_random.length;j++){
                            if(r==this.was_random[j]){
                                flag = true;
                            }
                        }
                        if(!flag){
                            break;
                        }
                    } 
                }
                this.was_random.push(r);
                if(this.was_random.length>=this.options.imgs.length){
                    this.was_random = new Array();
                }
                this.act_number = r;
            }
            else{
                this.act_number = 0;
            }
        }
        else{
            this.act_number++;
            if(this.act_number>this.options.imgs.length-1){
                this.act_number = 0;
            }
        }
        this.obj2.set('src',this.options.path+this.options.imgs[this.act_number]);
    },
    setCopyright: function(){
        if(this.options.copyright_element){
            if(this.options.copyrights[this.act_number] && this.options.copyrights[this.act_number]!=""){
                this.options.copyright_element.set('html', this.options.copyrights[this.act_number]);
                this.options.copyright_element.setStyle('visibility','visible');
            }
            else{
                this.options.copyright_element.setStyle('visibility','hidden');
                this.options.copyright_element.set('html','');
            }
        }
    },
    afterRun: function(){
        this.obj.set('src',this.obj2.get('src'));
        this.slider.set.delay(100,this.slider,0);
        (function(){
            this.isPlaying = false;
        }).delay(100,this);
    },
    imgOnLoad: function(){
        if(this.inter==false){
            if(this.first_run){
                this.isPlaying = true;
                this.slider.set(1);
                this.setCopyright();
                this.afterRun();
                this.inter = this.run.delay((this.options.swaptime-this.options.slidetime)*1000,this);
            }
            else{
                this.fireEvent('beforeSlide', this.act_number);
                this.fireEvent.delay(this.options.slidetime*500, this, ['slide', this.act_number]);
                this.fireEvent.delay(this.options.slidetime*1000, this, ['afterSlide', this.act_number]);
                this.isPlaying = true;
                this.inter = this.run.delay(this.options.swaptime*1000,this);
                this.slider.start(1);
                this.afterRun.delay((this.options.slidetime*1000)+100,this);
                this.setCopyright.delay(this.options.slidetime*1000/2,this);
            }
        }
    },
    goTo: function(offset, absolute){
        if(this.isPlaying){
            return;
        }
        if(this.inter){
            $clear(this.inter);
            this.inter = false;
        }
        if(absolute){
            this.act_number = offset;
        }
        else{
            this.act_number += offset;
        }
        if(this.act_number >= this.options.imgs.length){
            this.act_number -= this.options.imgs.length;
        }
        else if(this.act_number < 0){
            this.act_number += this.options.imgs.length;
        }
        this.obj2.set('src',this.options.path+this.options.imgs[this.act_number]);
    }
});
