/*  ==========================================================================================================  */
/*  E-Card Switcher
/*  ==========================================================================================================  */

function setup_ecards() {
    var thumbs = $('ecards-box').select('ul a');
    thumbs.each(function(thumb) {thumb.onclick = function() {return false;}});
    thumbs.invoke('observe', 'click', ecardSwitch);
}

function ecardSwitch(event) {
    var imgContainer    = $('detailview');
    var imgUrl          = this.href;
    var newEl           = new Element('img', {src: imgUrl, id: 'image_url' }).hide();
    var ImgToHide       = imgContainer.firstDescendant('img');
    var clearActive     = $$('#ecards-box ul a');
    var ecardID			= this.id.split('-')[1];
    var hiddenField		= $('eCardId');
    
    clearActive.invoke('removeClassName', 'active');
    this.addClassName('active');
    imgContainer.insert(newEl);
    new Effect.Fade(ImgToHide);
    new Effect.Appear(newEl);
    hiddenField.value = ecardID;
    ImgToHide.remove();
	
}

/*  ==========================================================================================================  */
/*  Textarea Character Counter
/*  ==========================================================================================================  */

var TextCounter = Class.create({

    _counter: '',
    _maximum: 400,

    initialize: function(obj) {
        this.getMaximum(obj);
        _counter = obj.up().select('.counter')[0];
        obj.observe('keyup', this.counter.bindAsEventListener(obj));
    },
    
    getMaximum: function(obj) {
        var classNames = obj.classNames().inspect();
        if (classNames.indexOf('limited-') != -1) {
            _maximum = parseInt(classNames.split('-')[1]);
        }
        return _maximum;
    },

    counter: function() {
        var current_size    = this.value.length;
        var chars_left      = _maximum - current_size;

        if (chars_left >= 0) {
            _counter.update('(noch '+chars_left+' Zeichen)');
        } else {
            this.value = this.value.slice(0, _maximum);
        }
    }
});


/*  ==========================================================================================================  */
/*  Configure Shadowbox
/*  ==========================================================================================================  */
//  For the Contactforms:
//by ONSE

function runJavaScripts() {
   var shadowbox = $('sb-container');
   if (shadowbox.c1ready)
       return;

   var scripts = new Array();
   scripts = shadowbox.getElementsByTagName('script');

   for (i = 0; i < scripts.length; i++) {
       if (scripts[i].getAttribute('type') == 'text/javascript') {
           eval(scripts[i].innerHTML);
       }
   }
   shadowbox.c1ready = true;
}


function setShadowbox() {
    if ($('image_url')) {
        Shadowbox.setup($$('a.sbox'), {
            height: 400,
            width: 615,
            onFinish: runJavaScripts
        });
    } else {
        Shadowbox.setup($$('a.sbox'), {
            height: 450,
            width: 716,
            onFinish: runJavaScripts
        });
    }
}


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

function externalLinks() {
  if (!document.getElementsByTagName) return;
      var anchors = document.getElementsByTagName("a");
      for (var i=0; i<anchors.length; i++) {
          var anchor = anchors[i];
          if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external")
              anchor.target = "_blank";
      }
}

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

function expand_collapse_menus(event) {
    var trigger = this;
    var target  = trigger.next('.expand-wrapper');

    if (target.style.display == 'none') {
        new Effect.BlindDown(target, {
            duration: 0.6,
            queue: { position: 'end', scope: 'anims', limit:1 }
        });
    } else {
        new Effect.BlindUp(target, {
            duration: 0.6,
            queue: { position: 'end', scope: 'anims', limit:1 }
        });
    }
    trigger.toggleClassName('open');
}

/*  ==========================================================================================================  */
/*  Login Form
/*  ==========================================================================================================  */

    function changeLoginForm(event) {
        Event.stop(event);
        var loginForm = $('login-form');
        this.blur();
        if (loginForm.style.display == 'none') {
            loginForm.show();
        } else {
            loginForm.hide();
        }
    }

    // function showLoginForm() {
    //     var loginForm = $('login-form');
    // }
    // 
    // function hideLoginForm() {
    //     var loginForm = $('login-form');
    // }
    // 

//function requestLoginForm(event) {
//	var button = this;
//	var location = this.href;
//	var targetBox = $('login-form');
//	//console.log(button);
//	new Ajax.Updater(targetBox, location);
//	targetBox.show();
//
//}
//
//function submitLoginForm(event) {
//	var button = this;
//	var location = this.href;
//	var targetBox = $('login-form');
//	//console.log(button);
//	new Ajax.Updater(targetBox, location);
//	targetBox.show();
//
//}



function init() {
    // Expanding/Collapsing Boxes
    if ($$('.expandable').length >= 1) {
        $$('.expand-wrapper').invoke('hide');
        $$('.expandable').invoke('observe', 'click', expand_collapse_menus);
    }
    
    // Shadowbox
    if ($$('.sbox').size() >= 1) {
        setShadowbox();
    }
    // SWF Object and FLV Player
    // E-Card Selector
    if ($('ecards-box')) {
        setup_ecards();
    }
    // Chracter-Counter
    if ($$('textarea[class|=limited]').size() >= 1) {
        $$('textarea[class|=limited]').each(function(txtfield) {
            new TextCounter(txtfield);
        })
    }
    // External Links
    externalLinks();

    // Login Form
    if ($('login-form')) {
        $('login-form').hide();
        $('login-btn').observe('click', changeLoginForm);
    }

        

}

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

