$extend(Selectors.Pseudo, {
    visible: function() {
        if (this.getStyle('visibility') != 'hidden' && this.isVisible() && this.isDisplayed()) {
            return this;
        }
    }});


window.addEvent("domready",function(){

// Your code goes here.
init = {
	sliderPeriod: 1000, // time between sliding animations in ms
	sliderSpeed: 1000  // time for a single sliding animation in ms
}

if($chk($('stage-slider'))){

  /* settings */
  var showDuration	= 3000;
  var container		= $('stage-slider');
  var fadeElement	= container.getElements('.ce_text');
  var currentIndex	= 0;
  var interval;
  var newsBoxes		= Array('burow-newsbox','kachur-newsbox','gentes-newsbox');
  
  //$("burow-newsbox").setStyle("visibility","visible");
  $("burow-newsbox").fade('in');
  
  fadeElement.setStyle('zIndex',10);
	    	
  getActiveNewsbox = function(el){  
  	 var activeNewsID = el.hasClass('burow')?'burow-newsbox'
				  	 							:el.hasClass('gentes')
  	 												?'gentes-newsbox'
  	 												:el.hasClass('kachur')
				  	 									?'kachur-newsbox'
				  	 									:'burow-newsbox';			  	 									
	
	// copy array
	remainingBoxes = newsBoxes.slice();
	
	// remove active array
	remainingBoxes.splice(remainingBoxes.indexOf(activeNewsID),1);
	
	for(i=0;i<remainingBoxes.length;i++) {
		//console.log(remainingBoxes[i]);	
		if($(remainingBoxes[i]).getStyle('visibility') == 'visible') {
			$(remainingBoxes[i]).fade('out');			
		};
	}	
	var fadeNews = new Fx.Morph($(activeNewsID), {
	    property: 'opacity',
	    transition: Fx.Transitions.Linear
	});
	if($(activeNewsID).getStyle('visibility') == 'hidden') {			
		window.setTimeout(function() {
			fadeNews.start({
				'opacity':[0,1]
			});
		},0);		
	};
	//console.log(activeNewsID);				
	return activeNewsID;  
  }
  
  /* opacity and fade */
  fadeElement.each(function(img,i){
    if(i > 0) {
      img.set('opacity',0);    
    }
  });
  /* worker */ 
  var show = function() {    
	getActiveNewsbox(fadeElement[currentIndex < fadeElement.length - 1 ? currentIndex + 1 : 0]);    
  	nextIndex	= currentIndex < fadeElement.length - 1 ? 1 + currentIndex : 0;

    var fadeFxCurrent = new Fx.Morph(fadeElement[currentIndex], {
	    duration: 1000,
	    link: 'cancel',
	    transition: Fx.Transitions.Linear
	});
	fadeFxCurrent.addEvent('start', function(){  });
    var fadeFxNext = new Fx.Morph(fadeElement[nextIndex], {
	    duration: 1000,
	    link: 'cancel',
	    property: 'opacity',
	    transition: Fx.Transitions.Linear
	});	
	fadeFxNext.addEvent('start',function(){		
		fadeElement[currentIndex].setStyle('zIndex','10');;		
	})	
	fadeFxNext.addEvent('complete',function(){	
		fadeFxCurrent.start({
			'opacity':[1,0]
		});	
	    currentIndex = currentIndex < fadeElement.length - 1 ? currentIndex + 1 : 0;  
	});
	fadeFxNext.start({
		'opacity':[0,1],
		'zIndex':[12]
	});
  }; 
    /* start once the page is finished loading */  
	window.addEvent('load',function(){
		interval = show.periodical(showDuration);
	});	  
  }
  
 /* 
 * Open external Links in a new Window like "target='_blank'" !
 *
 * @see: http://snipplr.com/view/30551/automatically-send-external-links-to-new-window-with-mootools/
*/
//window.addEvent('domready', function() {
    // modified from http://joesong.com/2009/11/external-links-in-new-window-passive-and-with-mootools/ 
    // to avoid using the 'target' attribute, which is not part of xhtml 1.0 strict
    var currentDomain = window.location.host;
    $(document.body).addEvent('click', function(evt) {
		var target = $(evt.target);
		if (target.get('tag') !== 'a') {
		    target = target.getParent();
		}

		if (target && target.get('tag') === 'a' && target.get('href').test('http') && !target.get('href').test(currentDomain)) 		{
		    window.open(target.get('href'), '_blank');
		    return false;
		}
	});
});
 
