// --------------------------------------------------------------------
  // Frequently used animation functions

  function slideDown(element, duration) {
      if (Prototype.Browser.IE) {
          Element.show(element);
          return;
      }
    new Effect.BlindDown(element, {
          duration: duration,
          transition: Effect.Transitions.sinoidal,
          queue: {position: 'end', scope: 'anims', limit: 2}
      });
  }
  function slideUp(element, duration) {
    if (Prototype.Browser.IE) {
          Element.hide(element);
          return;
      }
    new Effect.BlindUp(element, {
          duration: duration,
          transition: Effect.Transitions.sinoidal,
          queue: {position: 'end', scope: 'anims', limit: 2}
      });
  }
  function appear(element, time) {
      var t = 1.5;
      if (time) {
          t = time;
      }
      new Effect.Appear(element, {duration:t});
  }
  function fade(element, time) {
      var t = 1;
      if (time) {
          t = time;
      }
      new Effect.Fade(element, {duration:t});
  }
  
function fire_GA() {
    var body = $$('body')[0];
    var script = new Element('script', {type: 'text/javascript', src: 'http://pondus.de/wp-content/themes/pondus/js/ga.js'});
    // IEs don't like this without delay...
    if (Prototype.Browser.IE) {
        Element.insert.delay(3, body, script);
    } else body.insert(script);
}



function fire_GA() {
    var body = $$('body')[0];
    var script = new Element('script', {type: 'text/javascript', src: 'http://pondus.de/wp-content/themes/pondus/js/ga.js'});
    // IEs don't like this without delay...
    if (Prototype.Browser.IE) {
        Element.insert.delay(3, body, script);
    } else body.insert(script);
}

/*  ==========================================================================================================  */
/*  Configure Shadowbox
/*  ==========================================================================================================  */

function setShadowbox() {
    Shadowbox.setup($$('a.sbox'), {
        // height: 400,
        // width: 720
    });
}
/*  ==========================================================================================================  */
/*  SWFObject // Videotrailer
/*  ==========================================================================================================  */

function setup_swfobject() {
    var flashContainer = $('flashcontent');
    // disable noscript warning
//    flashContainer.select('p.noscript')[0].hide();

    var flashvars = {
        'xml' : '/wp-content/themes/pondus/swf/slideshow.xml',
        'skin' : '/wp-content/themes/pondus/swf/skin.swf',
        'w': 990,
        'h': 315
    }
    var params = {
        'scale' : 'noscale'
    }
    if (!(swfobject.hasFlashPlayerVersion("9.0.0"))) {
        // Show noflash warning
        //flashContainer.select('p.noflash')[0].show();
    }

    swfobject.embedSWF("/wp-content/themes/pondus/swf/slideshow.swf", "flashcontent", "990", "315", "8.0.0", false, flashvars, params);
}

/*  ==========================================================================================================  */
/*  Smooth Scrolling
/*  ==========================================================================================================  */

function setup_smoothScrolling() {
    var scrollLinks = $$('a[href^=#]');
    scrollLinks.each(function(link) {
        if (link.hash.substr(1) != '') {
            link.onclick = function(){return false;}
        }
    });
    scrollLinks.invoke('observe', 'click', smoothScrolling);
}

function smoothScrolling(event) {
    var target_id = this.hash.substr(1);
    if (target_id != '') { // could happen with the aweful href="#"...
        Effect.ScrollTo(target_id);
    }
}

/*  ==========================================================================================================  */
/*  Insert target="_blank"
/*  ==========================================================================================================  */

function external_links() {
    var externLinks = $$('a[rel=external], #twitter_update_list a, #twitter-link, .storycontent p a, #addon-teaser a[href^=http], .blogroll a');

    if (externLinks.length >= 1) {
        externLinks.each(function(ext) {
           ext.target = '_blank';
        });
    }
}

/*  ==========================================================================================================  */
/*  target="_blank" per Javascript anfuegen
/*  ==========================================================================================================  */

function generateCaptions() {
    var container = $$('.pic');

    container.each(function(ct) {
        var text = ct.down().getAttribute('title');
        var el = new Element('p').update(text);
        ct.appendChild(el);
    });

}

/*  ==========================================================================================================  */

// Kontakt-Klappbox
	function expand_collapse_menus(event) {
	    var trigger = event.element();
	    var target = trigger.next();

	    if (target.style.display == 'none') {
	        slideDown(target, 0.1);
			trigger.addClassName('open');
	    } else {
	        slideUp(target, 0.1);
			trigger.removeClassName('open');
	    }
	}

function init() {
    // Google Analytics
        fire_GA();
    // Shadowbox
    if ($$('.sbox').size() >= 1) {
        setShadowbox();
    }
    // Smooth Scrolling
    setup_smoothScrolling();
    // SWF Object and FLV Player
    if ($('flashcontent')) {
        setup_swfobject();
    }
    // Target="_blank"
    external_links();
    // Image captions // equal to alt-texts, for this reason injected by javascript
    if ($$('.pic').length >= 1) {
        generateCaptions();
    }
     // Klappmenu
	    if ($$('.expandable').size() >= 1) {
	        $$('.expandable').invoke('observe', 'click', expand_collapse_menus);
	    }
	    if ($('anzahl')) {
	        $('anzahl').observe('click', setSeminarForms);
	        var toHide = $$('#participant-box .participant');
	            toHide = toHide.slice(1);
                toHide.invoke('hide');
            // What about Keyboard Navigation?
	    }
}

// Initialisierung nach Event DOMContentLoaded
document.observe("dom:loaded", init);


