// Hier anpassen!

var fps=60.0, frames=20.0, diff=220;

//
//	Additional methods for Element added by SU, Couloir
//	- further additions by Lokesh Dhakar (huddletogether.com)
//
Object.extend(Element, {
    setWidth: function(element,w) {
        element = $(element);
	element.style.width = w +"px";
    },
    setHeight: function(element,h) {
	element = $(element);
	element.style.height = h +"px";
    }
});

var h, count, aktiv, mult, first=1, dims;

function setHeight() {

    if(++count > frames) {
	window.clearInterval(aktiv);
	return;
    }

    h  += mult * (diff/frames);

    if(Element.getHeight($('masthead')) != h)
	Element.setHeight($('masthead'), h);

    if($('masthead').getElementsByTagName('embed')[0]) {
	$('masthead').getElementsByTagName('embed')[0].removeAttribute('height');
	Element.setHeight($('masthead').getElementsByTagName('embed')[0], h);
    }
    else {
	$('masthead').getElementsByTagName('object')[0].removeAttribute('height');
	Element.setHeight($('masthead').getElementsByTagName('object')[0], h);
    }
}

function init_header() {
    if($('masthead').getElementsByTagName('embed')[0]) {
    	h = Element.getHeight($('masthead').getElementsByTagName('embed')[0]);
    }
    else {
    	h = Element.getHeight($('masthead').getElementsByTagName('object')[0]);
    }
    dims = Element.getHeight($('SOWrap'));
    first = 0;
}

function growheader() {
  if(first) { init_header(); }
    if(h==440) return;
    mult = 1;
    count = 0;
    new Effect.Scale($('SOWrap'), 0.0, {
	scaleX:false, scaleContent:false, scaleMode:'box', scaleFrom:100.0,
	beforeSetup: function(effect) {
          effect.element.makePositioned();
          effect.element.makeClipping();
        },
        afterFinishInternal: function(effect) {
          effect.element.hide();
          effect.element.undoClipping();
          effect.element.undoPositioned();
	  $('masthead').style.borderBottomWidth = '0';
        }
    });
    new Effect.Scale($('rightColumn'), 0.0, {
	scaleX:false, scaleContent:false, scaleMode:'box', scaleFrom:100.0,
	beforeSetup: function(effect) {
          effect.element.makePositioned();
          effect.element.makeClipping();
        },
        afterFinishInternal: function(effect) {
          effect.element.hide();
          effect.element.undoClipping();
          effect.element.undoPositioned();
	  aktiv = window.setInterval('setHeight()', 1000/fps);
        }
    });
}

function thrinkheader() {
    if(first) { init_header(); }
    if(h==220) return;
    mult = -1;
    count = 0;
    aktiv = window.setInterval('setHeight()', 1000/fps);
    new Effect.Scale($('SOWrap'), 100.0, {
	delay: frames/fps,
	scaleX:false, scaleContent:false, scaleMode:{ originalHeight: dims }, scaleFrom:0.0,
	beforeSetup: function(effect) {
          effect.element.show();
          effect.element.makePositioned();
          effect.element.makeClipping();
          $('masthead').style.borderBottomWidth = '15px';
        },
        afterFinishInternal: function(effect) {
          effect.element.undoClipping();
          effect.element.undoPositioned();
        }
    });
    new Effect.Scale($('rightColumn'), 100.0, {
	delay: frames/fps,
	scaleX:false, scaleContent:false, scaleMode:'box', scaleFrom:0.0,
	beforeSetup: function(effect) {
          effect.element.show();
          effect.element.makePositioned();
          effect.element.makeClipping();
        },
        afterFinishInternal: function(effect) {
          effect.element.undoClipping();
          effect.element.undoPositioned();
        }
    });
}
