var fadeObjects = null;
var fadeIndex = 1;
var fadeObjectsLength = 0;

var fadeInterval = 7000; // Millisek. von Bildwechsel zu Bildwechsel
var fadeSpeed = 2000; // Dauer des Fader-Übergangs
var fadeObject = 'ul.crossfader'; // Fade-Objekt   
   
var showCaseOffset = 0;
var maxTeaserOffset = 0;
var showCaseCurrentOffset = 0;
var showCaseStepWidth = 910;

function fade(speedOverride) {			
       	
    if(fadeIndex >= fadeObjectsLength) {			
    	jQuery(fadeObjects[0]).fadeIn(speedOverride ? 1 : fadeSpeed, function() {				
    		if(!speedOverride) fadeIndex = 1;								
    		jQuery(fadeObjects).each(function(i, item) {
    			jQuery(item).show();
    		});						
    	});
    	jQuery('.controls span').removeClass("active");
    	jQuery('.controls span.ce0').addClass("active");				
    } else {
    	// Oberste Ebene ausblenden
    	jQuery(fadeObjects[fadeIndex - 1]).fadeOut(speedOverride ? 1 : fadeSpeed, function() {				
    		if(!speedOverride) fadeIndex += 1;				
    	});
    	jQuery('.controls span').removeClass("active");
    	jQuery('.controls span.ce' + fadeIndex).addClass("active");
    }				
}


function showCaseButtons(currentOffset, maxTeaserOffset) {
    if(currentOffset == maxTeaserOffset) {
            jQuery('.showcase_wrapper .b2').css({ opacity : 0.1 });
    } else {
            jQuery('.showcase_wrapper .b2').css({ opacity : 1 });

    }

    if(currentOffset == 0) {
            jQuery('.showcase_wrapper .b1').css({ opacity : 0.1 });
    } else {
            jQuery('.showcase_wrapper .b1').css({ opacity : 1 });

    }
}

function slideDownTopContent() {
	 jQuery('#top_content').animate({ top: 35 }, 800, 'easeOutExpo');
}

function loadhref(url) {
	jQuery('#top_content').animate({ top: -500 }, 800, 'easeInExpo', function() {
		jQuery('#bg_loader').fadeIn(300, function() {
			location.href=url;
		});		
	});
}
function fadeOutBGLoader() {
	jQuery('#bg_loader').fadeOut(500, function() {
		slideDownTopContent();
	});
}
jQuery(function() {

	var pic = null;
	var pic2 = null;
	
	jQuery('.scrollpane').jScrollPane();
	
	
		
	jQuery('<div />').attr({'id' : 'bg_loader'}).appendTo('body');
	pic2 = new Image();
	jQuery(pic2).load(function() { fadeOutBGLoader();  });
	pic2.src = thisbg;
	
	if(!jQuery('body').hasClass("omitSlide")) {
		jQuery('#top_content').css({ top : -500 });	
	} else {
		jQuery('#bg_loader').hide();
	}
	
	jQuery('.klappe_wrapper:first').removeClass("further_wrapper").addClass("first_wrapper");
	
	jQuery('.rex-navi1 a').click(function(e) {
		e.preventDefault();
		e.stopPropagation();
		
			var url = jQuery(this).attr('href');
			var id = jQuery(this).parent().attr('class').replace("rex-article-", "").replace(" rex-normal", "").replace(" rex-current", "");
		
			if(location.pathname == url) {
				jQuery('#top_content').animate({ top: 35 }, 800, 'easeOutExpo');
				jQuery('.klappe_wrapper .open').slideUp(250).removeClass("open");
			} else {
				pic = new Image();
				jQuery(pic).load(function() { loadhref(url);  });
				pic.src = '/rex-hintergrundbilder/' + bgs[id];				
				
			}
		return false;
	});

	jQuery('.klappe_wrapper').click(function(e) {
		var event = e || window.event;
		if( ! event.target ) {
			event.target = event.srcElement
		}
		if(event.target.tagName.toUpperCase() != "IMG" && event.target.tagName.toUpperCase() != "SPAN") {
			
				if(jQuery(this).hasClass('active')) {
					jQuery('.klappe_wrapper .open').slideUp(800).removeClass("open");
					
					jQuery('.klappe_wrapper').removeClass("active");
				} else {
				
					showCaseOffset = 0;
					showCaseCurrentOffset = 0;
					
					maxTeaserOffset = 0 - Math.ceil(jQuery(this).find('.item_wrapper').length - 1) * showCaseStepWidth;
					jQuery(this).find('.showcase_wrapper .stage').css({ marginLeft: showCaseOffset });
					showCaseButtons(showCaseCurrentOffset, maxTeaserOffset);
					
					jQuery('.klappe_wrapper').removeClass("active");
					jQuery(this).addClass("active").find('.klapp_content').slideDown(800, function() {});
					
					jQuery('.klappe_wrapper .open').slideUp(800).removeClass("open");
					jQuery(this).find('.klapp_content').addClass("open");
					jQuery('#top_content').animate({ top: -500 }, 800);
				}
		}
		
	});
	
	jQuery('a.mb').colorbox({
            maxWidth:"80%",maxHeight:"80%",slideshowAuto:false,                            
            opacity:"0.45",
            transition:"elastic",
            speed:350,
            slideshowSpeed:2500,
            close:"Schließen",
            next:"Vor",
            previous:"Zurück",
            slideshowStart:"Slideshow starten",
            slideshowStop:"Slideshow beenden",
            current:"{current}/{total}"
        });
    
     
    fadeObjects = jQuery(fadeObject).children();
    fadeObjectsLength = fadeObjects.length;			
    jQuery(fadeObjects).each(function(i, item) {
    	jQuery(item).addClass("e" + i).css({ "z-index" : 500-i });
    	jQuery("<span />").appendTo(".slideshow .controls").addClass("ce"+i).attr({ "title" : 'Wechsel zu ' + jQuery(item).find('a').attr('title') });
    });
    jQuery('.controls span.ce0').addClass("active");
    fader = window.setInterval("fade(false);", fadeInterval);
    
    jQuery('.controls span').click(function() {
        id = parseInt(jQuery(this).attr('class').replace("ce", "")); 
        fadeIndex = id+1;                  
        clearInterval(fader);                   
        jQuery('ul.crossfader li:lt('+id+')').hide();                        
        jQuery('ul.crossfader li.e'+id).show(); 
        jQuery('.controls span').removeClass("active");
    	jQuery(this).addClass("active");
    	x = window.setTimeout(function() { fader = window.setInterval("fade();", fadeInterval); }, 5000);
    });     
	 
    
    jQuery('.referenz_preview').click(function() {			
		var refID = parseInt(jQuery(this).attr('id').replace('ref_', ''));
        jQuery(".referenz_preview").each(function(i, item) {
			var thisID = parseInt(jQuery(this).attr('id').replace('ref_', ''));
            if(thisID > refID) {
                jQuery(this).animate({left: thisID*25 + 450 - 20, width: 20}, 200, "easeInOutExpo", function() {
                	jQuery(this).removeClass('referenz_open');
                });
            }
            if(thisID < refID) {
                jQuery(this).animate({left: thisID*25, width: 20}, 200, "easeInOutExpo", function() {
                	jQuery(this).removeClass('referenz_open');
                });
            }
        });
		jQuery(this).addClass('referenz_open').animate({ width: 450, left: refID*25 }, { easing: "easeInOutExpo", queue:false, duration: 200});
	}).each(function(i, item) {
		jQuery(item).css({ 'z-index' : i, 'left' : i*25 + 450 -20 }).attr({ 'id' : 'ref_' + i });
	});	
	jQuery('#ref_0').addClass('referenz_open').css({ width: 450, left: 0 });
	jQuery('img.gray').css({ opacity : 0.5 });
	
	var anzahlReferenzen = jQuery('.referenz_preview').length;
	if(anzahlReferenzen > 16) {
		jQuery("#slider").slider({
			min: 0,
			max: 835,
			slide: function( event, ui ) {
					
					breite = (anzahlReferenzen * 25) + 430 - 835;		
					offSet = 0 - (ui.value * breite / 835);
					jQuery( "#ref_scroller" ).css({ "margin-left" : offSet });
				}
		});	
	} else {
		jQuery("#slider").hide();
	}
		


    var maxTeaserOffset = 0 - Math.ceil(jQuery('.showcase_wrapper .item_wrapper').length - 1) * showCaseStepWidth;
    showCaseButtons(showCaseCurrentOffset, maxTeaserOffset);
    jQuery('.showcase_wrapper .stage').css({
        marginLeft: 0
    });
    jQuery('.showcase_wrapper .scroller').unbind().click(function() {
    	showCaseOffset = showCaseOffset + (parseInt(jQuery(this).find('input').val()) * showCaseStepWidth);
        showCaseOffset = showCaseOffset > 0 ? 0 : showCaseOffset;
        showCaseOffset = showCaseOffset < maxTeaserOffset ? maxTeaserOffset : showCaseOffset;
        if(showCaseCurrentOffset != showCaseOffset) {
                showCaseCurrentOffset = showCaseOffset;
                jQuery('.showcase_wrapper .stage').animate({
                        marginLeft: showCaseOffset
                }, 500, 'easeOutExpo', function() {
                        showCaseButtons(showCaseCurrentOffset, maxTeaserOffset);
                });
        }
    });
    
});







        

