var scrollfx = '';
var activenav = 'init';
var activenumber = 1;
var pageitems = 0;
var leftarrow = 0;
var rightarrow = 0;
var destroythis = false;

//var divclick = function() { console.log(this.getStyle('opacity')); /*if($defined(this.get('rel') && this.getStyle('opacity') == 1)) document.location.href = this.get('rel'); */};


function imgMouseOverEvents(outString, overString, selector) {
	$$(selector).each(function(image) {
		image = $(image);
		if (image.hasClass('active'))
			{
			// set active
			if ($type(image.src)) image.src = image.src.replace(outString, overString);
			}
			
		if ($type(image.src)) {
			if (image.src.indexOf(outString) > 0) {
				image.addEvent('mouseenter',function(){
					image.src = image.src.replace(outString, overString);
				}).addEvent('mouseleave', function(){
					image.src = image.src.replace(overString, outString);
				});
			}
		}
	});
};

function allInactive(el) {
	leftarrow.fade('hide');
	rightarrow.fade('hide');

	$$('div.page').each(function(e) {
		/*var e = $(e);*/
		// SET click INACTIVE
	//	e.removeEvent('click', destroythis);
	
		
		if(e != el) {
			//e.fade('0.5');
			e.getElements('div').each(function(d) {
			// fade price out, all other to 0.5 - IE does not fade 24bit PNG
    	if(d.hasClass('p')) {
    		if(!Browser.Engine.trident) { d.fade('0'); } else { d.setStyle('opacity','0'); } // fix IE
    	} else { 
    		if(!Browser.Engine.trident) { d.fade('0.5'); } else { d.setStyle('opacity','0.5'); } // fix IE
    	}    	
			});						
			e.setStyle('cursor','pointer');
			e.set('title','Weiter');
		} else {
		// THIS IS THE ACTIVE ELEMENT
			//destroythis = divclick.bind(e);
			//e.addEvent('click', destroythis);
		}
	});
}

function navToPage(el) {
	var el = $(el);
	activenumber = el.ref;	
	goToPage(el);
	allInactive(el);
}

function goToPage(el) {
	activenav = el;
	scrollfx.toElement(el);
	//el.fade(1);
	el.getElements('div').each(function(d) {
    	if(!Browser.Engine.trident) { d.fade('1'); } else { d.setStyle('opacity','1'); }
    	//divclick = function() { /* if($defined(el.rel) && el.rel != '') { */document.location.href = el.rel; /*}*/ };
    	//d.addEvent('click', function() { if($defined(this.getParent().rel)) { document.location.href = this.getParent().rel; } }.bind(d) );
    	
			});
	el.setStyle('cursor','');
	el.set('title','');
}

function setScroller() {
	var windowsize = window.getSize();
	var scrolltarget_x = ((windowsize.x / 2) - 400) * -1;
	scrollfx = new Fx.Scroll(window, { wait: false, duration: 500, transition: Fx.Transitions.Quad.easeInOut, offset: { 'x': scrolltarget_x, 'y': 0 } });
}

function scrollToRandom() {
	rnd = Math.floor(Math.random()*8);
	rnd++;
	activenumber = rnd;
	gotoelement = $('page'+rnd);
	navToPage(gotoelement);
}

function scrollToNext() {
	activenumber++;
	if(activenumber > pageitems) { activenumber = 1; }
	gotoelement = $('page'+activenumber);
	navToPage(gotoelement);
}

window.addEvent('domready', function() {

	// open external links in new window
	$$('a.external').each(function(el) { el.target = '_blank'; });

	// nav highlights
	imgMouseOverEvents('_off', '_on', 'div#navigation ul.nav img');

	/* scolling */
	new SmoothScroll({ duration:500 }, window); 
	setScroller();

	
	/* navigation left right */
	leftarrow = $('goleftindicator');
	rightarrow = $('gorightindicator');
	leftarrow.fade('hide');
	rightarrow.fade('hide');

	document.addEvent('mousemove', function(event) {		
		if(event.client.x < 150) { 
			if(!Browser.Engine.trident) { yoffset = -148; } else { yoffset = -64; }
			leftarrow.setStyles({
				'top':(event.page.y + yoffset),
				'left':(event.page.x - 50)
				});
			if(leftarrow.getStyle('opacity') == 0) { leftarrow.fade(0.5); }
			} else { 
				leftarrow.fade('hide'); 
			} // left side
		if(event.client.x > (window.getSize().x - 150)) {
			if(!Browser.Engine.trident) { yoffset = -148; } else { yoffset = -64; }
			rightarrow.setStyles({
				'top':(event.page.y + yoffset),
				'left':(event.page.x - 50)
				});
			if(rightarrow.getStyle('opacity') == 0) { rightarrow.fade(0.5); }
			} else { 
				rightarrow.fade('hide'); 
			}	
			
		});

	// init page elements
	$$('div.page').each(function(el) {
		pageitems++;
		var el = $(el);
		if(el.hasClass('active')) { activenav = el; allInactive(el); }
		el.ref = pageitems;		
		el.addEvent('click', function() { 
			// navigate away?
			//console.log(el.ref +"---"+ activenumber);
			//if(el.get('rel') == activenumber) { document.location.href = el.get('rel');  }
			if(el == activenav) { document.location.href = el.get('rel');  }
			
			allInactive(el); goToPage(el); 		
			});
	});

	pagebox = $('wrapper');
	pagebox.setStyle('width', (pageitems+2)*800);
	$('loopright').setStyle('left', ((pageitems+1)*800)-400);
	
	
	/* wrap around navigation */
	$('loopleft').addEvent('click', function() {
			gotoelement = $('page'+pageitems);
			navToPage(gotoelement);
		});
	$('loopleft').setStyle('cursor','pointer');
	$('loopright').addEvent('click', function() {
			gotoelement = $('page1');
			navToPage(gotoelement);
		});
	$('loopright').setStyle('cursor','pointer');

	
// scroll to next item in intervals, click anywhere cancels
/*
var timedscroller = scrollToNext.periodical(6000);
pagebox.addEvent('click', function() { timedscroller = $clear(timedscroller); });
*/

/*
// make navigation draggable
	var navDrag = new Drag('navigation', {
    snap: 0,
    onSnap: function(el){
        el.addClass('dragging');
    },
    onComplete: function(el){
        el.removeClass('dragging');
    }
	});
*/

}); // end DOMREADY

window.addEvent('load', function() {
	//navToPage(activenav);
	scrollToRandom();

// IE6 fix
	if(Browser.Engine.trident4) { $('footer').setStyle('display','block'); }

}); // end onload

window.addEvent('resize', function() {
	setScroller();
	//allInactive(activenav);
	goToPage(activenav);
}); // end onload