function gotoDropDownURL( dropDownList )
{
	if( dropDownList.options[dropDownList.selectedIndex].value != "" )
	{
        var url = dropDownList.options[dropDownList.selectedIndex].value;
		var test = window.open(url);
	}
}

function projectLogoswitch( imagePath )
{
    if (Browser.Engine.trident4){
        document.projekt_logo.style.filter = '';
    }
	if( imagePath == "default" )
	{
		var imagePath = "/lib/bouwfonds/img/projekt_logo_nix.gif";
        document.projekt_logo.src=imagePath;
        return;
	}
	/*var img = document.getElementbyId.projekt_logo;
	if (img) alert('*');*/
    if (Browser.Engine.trident4){
        var img = document.projekt_logo;
        var src = imagePath;
        var width = img.width || img.style.width.toInt();
        var height = img.height || img.style.height.toInt();
        if (src.match(/\.png$/i) && width && height) {
            img.style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop src=\''+src+'\')';
            img.src = '/lib/bouwfonds/img/blank.gif';
            return;
        }
    }

	document.projekt_logo.src=imagePath;
}
//Standortkarte
var BouwMap = {
    init: function(){
        this.locations = $('standorte');
        if (this.locations) {
            this.initImagemap();
        }
    },
    initImagemap: function(map){
        this.locationsPos = this.locations.getPosition();
        this.locationDiv = new Element('div',{
            'class':'area-over',
            'styles':{
             },
             'events':{
                'click': this.mapAreaClick.bind(this)
             }
        }).inject(document.body);
        this.areaTitle = new Element('div',{
            'class':'area-title',
            'styles':{
                'display':'none'
            }
        }).inject(document.body);
        this.fxTitle = new Fx.Tween(this.areaTitle,{'duration':1000});
        this.currentArea = null;
        this.locations.addEvent('mouseover',this.imgMouseOver.bind(this));
        $('standorte.map').getElements('area').each(function(el){
            el.addEvent('mousemove',this.mapAreaMouseMove);
            el._title = el.title.replace(/\\n/g,'<br />');
            el.title = '';
            el.alt = '';
        }.bind(this));
    },
    imgMouseOver: function(event){
        this.hideAreas();
    },
    mapAreaMouseMove: function(ev){
        if (BouwMap.currentArea != null) return;
        BouwMap.showArea.bind(BouwMap)(this);
    },
    mapAreaClick: function(){
        if (this.currentArea.href)
            window.location.href=this.currentArea.href;
    },
    showArea: function(area){
        this.currentArea = area;
        this.locationDiv.setStyle('display','block');
        var coords = area.coords.split(',');

        var x = parseInt(coords[0]);
        var y = parseInt(coords[1]);  
        var offX = Math.round((coords[0]-x-BouwMap.locationDiv.offsetWidth)/2);
        var offY = Math.round((coords[1]-y-BouwMap.locationDiv.offsetHeight)/2);
        //console.log(x,y,offX,offY);
        this.locationDiv.setStyles({
            'left':(BouwMap.locationsPos.x+x+offX)+'px',
            'top':(BouwMap.locationsPos.y+y+offY)+'px',
            'display':'block'
        }); //.highlight('#C0C0FF');
        this.areaTitle.set('html',area._title).setStyles({
            'left':(BouwMap.locationsPos.x+x+offX-30)+'px',
            'top':(BouwMap.locationsPos.y+y+offY+20)+'px',
            'display':'block',
            'visibility':'hidden'
        });
        this.fxTitle.start('opacity',0,1);
    },
    hideAreas: function(){
        this.locationDiv.setStyle('display','none');
        this.currentArea = null;
        this.areaTitle.setStyle('display','none');
        //this.fxTitle.start(1,0);
    }
}
var ScrollingBox = new Class({
    Implements:[Options],
    options: {
        'auto':true,
        'delay': 4000,
        'fx': {
            'duration':2000 
        }
    },
    initialize: function(scrollbox,options) {
        this.setOptions(options);
        this.scrollbox = $(scrollbox);
        this.handleLeft = scrollbox.getElement('.scrollbox-handle-left');
        this.handleRight = scrollbox.getElement('.scrollbox-handle-right');
        this.content = scrollbox.getElement('.scrollbox-content');
        this.inner = scrollbox.getElement('.scrollbox-inner');
        this.content.scrollLeft = 0;
        this.items = scrollbox.getElements('.scroll-item');
        this.pos = 0;
        this.fx = new Fx.Scroll(this.content,this.options.fx);
        if (this.options.auto && this.isScrollable()) {
            this.startScrollLeft.delay(this.options.delay,this);
        }
        else {
            this.handleLeft.addEvent('click',this.scrollLeft.bind(this));
            this.handleRight.addEvent('click',this.scrollRight.bind(this));
        }
    },
    isScrollable: function() {
        //alert(this.content.scrollWidth +' - ' + this.content.offsetWidth);
        return this.content.scrollWidth > this.content.offsetWidth ? true : false;
    },
    startScrollLeft: function() {
        this.fx.addEvent('onComplete',this.scrollLeftAutoComplete.bind(this));
        this.scrollLeftAuto();
    },
    scrollLeftAutoComplete: function() {
        this.content.scrollLeft = 0;
        this.inner.adopt(this.inner.getChildren()[0]);
        this.scrollLeftAuto.delay(this.options.delay,this);
    },
    scrollLeftAuto: function() {
        var width = this.inner.getChildren()[1].offsetLeft-this.inner.offsetLeft;
        this.fx.start(width,0);
    },
    scrollLeft: function() {
        var x = this.content.scrollLeft + 100;
        this.fx.start(x,0);
    },
    scrollRight: function() {
        var x = this.content.scrollLeft - 100;
        this.fx.start(x,0);
    }
    
})
window.addEvent('load',BouwMap.init.bind(BouwMap));

if (window.addEvent) { 
    window.addEvent('load',function(){
        //if (Browser.Engine.trident4) $try(function(){
        //    document.execCommand("BackgroundImageCache", false, false);
        //});
        if (Browser.Engine.trident4){
            $A(document.images).each(function(img){
                var src = img.src;
                var width = img.width || img.style.width.toInt();
                var height = img.height || img.style.height.toInt();
                if (src.match(/\.png$/i) && width && height) {
                    img.style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop src=\''+src+'\')';
                    img.src = '/lib/bouwfonds/img/blank.gif';
                }
            })
        }
        if(isMainSite){
            if (!$('header-media')) return;
            new ImageRotator($('header-media'),{
                'baseUrl': '/public/media/bilder/startseite/',
                'images':['bild_0.jpg','bild_1.jpg','bild_2.jpg','bild_3.jpg','bild_4.jpg','bild_5.jpg','bild_6.jpg','bild_7.jpg','bild_8.jpg','bild_9.jpg']
            });
            return
            var so = new SWFObject("/swf/header.swf", "mymovie", "913", "290", "7", "#ffffff");
            so.write("header-media");
        }
        if(isProjektSite){
            var bc = document.getElementById('body-content');
            var bch = bc.offsetHeight;
            
            var pcr = document.getElementById('projekt_content-right');
            var pcl = document.getElementById('projekt_content-left');
            
            var pir = document.getElementById('projekt_index-right');
            var pil = document.getElementById('projekt_index-left');
            
            if(pcr){
                pcr.style.height = 'auto';
                pcr.style.height = (bch-80) + 'px';            
                
                pcl.style.height = 'auto';
                pcl.style.height = (bch-80) + 'px';
                }
            if(pir){
                pir.style.height = 'auto';
                pir.style.height = (bch) + 'px';            
                
                pil.style.height = 'auto';
                pil.style.height = (bch) + 'px';
            }
            }

        })
    }

var Grundrisse = {
    init: function() {
        this.container = $('grundrisse-popup').inject(document.body);
        this.handle = $('popup-handle');
        this.iframe = $('popup-iframe');
        this.container.makeDraggable({handle:this.handle,'prefentDefault':true});
    },
    show: function(url) {
        this.iframe.src=url
        var left = ((window.getWidth()-650) / 2).toInt();
        this.container.setStyles({
            'opacity':0,
            'display':'block',
            'top':window.getScroll().y,
            'left':left
            });
        this.container.fade('in');
    },
    close: function() {
        this.container.fade('out');    
    }
}
function showGrundrissPopup(url){
    window.open(url, 'grundriss', 'width=300,height=400,top=200,left=300');
}

var ImageLoader = new Class({
    Implements: [Events, Options],
    options: {
        'baseUrl': '',
        'images' : []
    },
    initialize: function(options) {
        this.setOptions(options);
        this.images = new Array(this.options.images.length);
    },
    start: function(baseUrl, images) {
        baseUrl = baseUrl || this.options.baseUrl;
        images = images || this.options.images;
        images.each(function(url, index){
            this.images[index] = new Asset.image(baseUrl+url, {
                'onload': this.handleOnLoad.bind(this,[index, baseUrl, url]),
                'onerror': this.handleOnError.bind(this,[index, baseUrl, url])
            })           
        }.bind(this));
    },
    handleOnLoad: function(index, baseUrl, url) {
        this.fireEvent('load',[$(this.images[index]), baseUrl, url, index]);
    },
    handleOnError: function(index, baseUrl, url) {
        this.fireEvent('error',[baseUrl, url, index])
    }
});
var ImageRotator = new Class({
    Implements: [Options, Events],
    options: {
        'baseUrl': '',
        'images' : [],
        'seconds': 10,
        'effect': 'blend',
        'tweenOptions': {
            'duration':3000
        }
        
    },
    initialize: function(container, options){
        this.container = $(container);
        this.container.setStyles('opacity',0);
        this.setOptions(options);
        if (this.options.effect=='blend'){
            this.container.setStyle('position','relative');
        }
        this.images = [];
        this.currentImage;
        this.loader = new ImageLoader({
            'baseUrl': this.options.baseUrl,
            'images': this.options.images
        });
        this.loader.addEvent('load',this.imageLoaded.bind(this));
        this.loader.addEvent('error',this.imageError.bind(this));
        this.loader.start();
    },
    imageLoaded: function(img, baseUrl, url, index){
        this.images.push(img);
        if (this.options.effect == 'blend'){
            img.setStyles({'position':'absolute','top':'0','left':'0','opacity':0}).inject(this.container);
            img.set('tween',this.options.tweenOptions)
        }
        this.fireEvent('load',[img, baseUrl+url, index, this.images.length-1]);
        if (this.images.length == 1){
            img.setStyle('opacity',1);
            this.container.adopt(img).fade('in');
            this.currentIndex = 0;
            this.currentImage = img;
        }
        else if(this.images.length > 1) {
            this.start();
        }
    },
    imageError: function(baseUrl, url, index){
        this.fireEvent('error',[baseUrl+url,index]);
    },
    start: function() {
        if (this.running) return;
        this.running = true;
        if (this.options.effect == 'blend'){
            this.timer = this.blend.periodical(this.options.seconds*1000, this);
        }
        else {
            this.tween = new Fx.Tween(this.container, $merge(this.options.weenOptions, {'property':'opacity','onComplete':this.tweenComplete.bind(this)})); 
            this.timer = this.fadeOut.periodical(this.options.seconds*1000,this);
        }
    },
    stop: function() {
        this.timer = $clear(this.timer);
    },
    fadeOut: function(){
        this.tween.start(0);
    },
    blend: function() {
        var index;
        //return;
        while((index=$random(0,this.images.length-1))== this.currentIndex){}
        this.fireEvent('change',[this.currentIndex, index, this.currentImage, this.images[index]]);
        this.currentIndex = index;
        this.currentImage.get('tween').start('opacity',0);
        this.images[index].get('tween').start('opacity',1);
        this.currentIndex = index;
        this.currentImage = this.images[index];
    },
    change: function() {
        var index;
        this.currentImage.dispose();
        while((index=$random(0,this.images.length-1))== this.currentIndex){}
        this.fireEvent('change',[this.currentIndex, index, this.currentImage, this.images[index]]);
        this.currentIndex = index;
        this.currentImage = this.images[index];
        this.currentImage.inject(this.container);
    },
    tweenComplete: function() {
        if (this.container.getStyle('opacity')==0){
            this.change();
            this.tween.start(1);
        }
    }
});

