var timer;
var env;
function setEnvironment(){
	this.dH;	//document height
	this.iH;	//inner height
	this.iW;	//inner height
	this.pageMin = 922;	//min. page size
}

function domInit() {
	env = new setEnvironment();
	//load background image
	$.backstretch( pageground );
	//replace headlines
	Cufon.replace( 'div.article h1', { fontSize:'38px' });
	Cufon.replace( 'div.pagination ul li', { fontSize:'38px' });
	//remove minimaps
	//add handler for closing
	$( '.mapLayer' )
		.hide()
		.mouseout( function(e){
			//select element
			var el = $( e.currentTarget );
			//get id
			var id = el.attr( 'rel' );
			//show corresponding switch
			var selector = '.mapLayerSwitch[rel=' + id + ']';
			$( selector ).slideDown();
			//hide itself
			el.fadeOut();
		})
	$( '.mapLayer > img' ).hide().fadeIn( 'slow' );
	//show switch
	//and add handler for showing
	$( '.mapLayerSwitch' )
		.removeClass( 'invisible' )
		.click( function(e){
			e.preventDefault();
			//select element
			var el = $( e.currentTarget );
			//get id
			var id = el.attr( 'rel' );
			//show corresponding layer
			var selector = '.mapLayer[rel=' + id + ']';
			$( selector ).fadeIn( 'slow' );
			//hide itself
			el.slideUp( 'fast' );
		});
	//add scroll
	var agent = navigator.userAgent.toLowerCase();  
	if(!(agent.indexOf("mobile")>-1)){ 
	//client is *not* iphone, ipod, ipad(?), android
		//update size and register listener
		setSizes();
		window.onresize = setSizes;
		//document height
		env.dH = $(document).height();
		//show scrollbar
		$( 'div.scrollWrap' ).removeClass( 'invisible' ).hide().fadeIn();
		//add listener
		$( 'div.scrollHandler' ).click( scrollContent );
		//check scroll
		checkScroll();
		$(window).scroll( checkScroll );
		timer = window.setInterval( checkScroll, 3333 );
	}
	//soft scroll up
	$( 'div.top' ).click( scrollTop );
	//hide top after fullsize
	$( '.fullsize' ).parent().parent().next( 'div.top' ).css({opacity:0});
}
function scrollTop( e ) {
	e.preventDefault();
	$.scrollTo( 0, 137, {onAfter:checkScroll} );
}
function scrollContent( e ) {
	var scrollVal = 0;
	//select current target
	var el = e.currentTarget;
	//check class name for direction
	var dir = null;
	($(el).hasClass( 'upHandler' )) ? dir = 'up' : dir = 'down';
	//check event type
	switch( e.type ) {
		case 'click':
			( dir == 'up' ) ? scrollVal = '-=' : scrollVal = '+=';
			scrollVal += env.iH;
			break;
	}
	//scroll
	if( dir != null ) $.scrollTo( {top:scrollVal+'px', left:'+=0'}, 137, {onAfter:checkScroll} );
}
function checkScroll() {
	//remove deactivating classes
	$( 'div.scrollHandler' ).removeClass( 'upHandlerNot' ).removeClass( 'downHandlerNot' );
	//get current scroll offset
	var curr = $(window).scrollTop();
	//upper border?
	if( curr == 0 ) $( 'div.upHandler' ).addClass( 'upHandlerNot' );
	//lower border?
	if( curr >= (env.dH-env.iH)) $( 'div.downHandler' ).addClass( 'downHandlerNot' );
}
function setSizes() {
	env.iH = $(window).height();
	( $(window).width() < env.pageMin ) ? $( 'div.scrollWrap' ).fadeOut() : $( 'div.scrollWrap' ).fadeIn();
}
