var currentpage = 'startpage';
var navactive = '';
var pageloadings = new Array();
var page_geografie; var page_wein;

var pagecontrol = new Class({
	Implements: [Options, Events, Chain],
  options: {
  	fadein: false
  },
	initialize:function(options){
		this.setOptions(options);
	},
	initproperties: function(){
		this.options.initproperties();
	},
	fadein: function(){
		this.options.fadein();
	},
	fadeout:function(){
		this.options.fadeout();
	}
});

function checkunload(pageid){
	if(currentpage === pageid) {
		return;
	}
	if(currentpage != pageid) {
		if(currentpage != '') { unloadpage(); }
		currentpage = pageid;
		loadpage(pageid);
	}
}

function firenav(el){
	if(navactive != '') {
		/*
		pageloadings.each(function(item, index) {
			console.log(index + " = " + item);
			$(item).fireEvent('navin');
			// pageloadings.erase(item);
		});
		*/
		$(navactive).fireEvent('navin');
	}
	navactive = el.getProperty('id');
	// pageloadings.include(el.getProperty('id'));
	// console.log(pageloadings);
	el.fireEvent('navout');
}

function unloadstartpage() {
	var myEffect = new Fx.Morph($('single'), {
    duration: 200,
    transition: Fx.Transitions.Sine.easeOut
	});
	myEffect.start({
    'width': 300
	});
	setTimeout("$('single').setStyle('display','none');",200);
}

function unloadpage() {
	switch(currentpage){
		case 'startpage': unloadstartpage(); break;
		case 'hauspost': page_hauspost.fadeout(); break;
		case 'geografie': page_geografie.fadeout(); break;
		case 'wein': page_wein.fadeout(); break;
		case 'ehaus': page_ehaus1.fadeout(); page_ehaus2.fadeout(); break;
		case 'rotwein': page_rotwein.fadeout(); break;
		case 'weisswein': page_weisswein.fadeout(); break;
		case 'bio': page_bio.fadeout(); break;
		case 'zahlen': page_zahlen.fadeout(); break;
		case 'mitteilungen': page_mitteilungen.fadeout(); break;
		case 'handel': page_handel.fadeout(); break;
		case 'presse': page_presse.fadeout(); break;
	}
}

function loadpage(pageid) {
	
	if(typeof(page_hauspost) !== 'undefined' && pageid == 'hauspost') { page_hauspost.fadein(); return;	}
	if(typeof(page_ehaus1) !== 'undefined' && pageid == 'ehaus') { page_ehaus1.fadein(); return;	}
	if(typeof(page_wein) !== 'undefined' && pageid == 'wein') { page_wein.fadein(); return;	}
	if(typeof(page_geografie) !== 'undefined' && pageid == 'geografie') { page_geografie.fadein(); return;	}
	if(typeof(page_rotwein) !== 'undefined' && pageid == 'rotwein') { page_rotwein.fadein(); return;	}
	if(typeof(page_weisswein) !== 'undefined' && pageid == 'weisswein') { page_weisswein.fadein(); return;	}
	if(typeof(page_bio) !== 'undefined' && pageid == 'bio') { page_bio.fadein(); return;	}
	if(typeof(page_zahlen) !== 'undefined' && pageid == 'zahlen') { page_zahlen.fadein(); return;	}
	if(typeof(page_mitteilungen) !== 'undefined' && pageid == 'mitteilungen') { page_mitteilungen.fadein(); return;	}
	if(typeof(page_handel) !== 'undefined' && pageid == 'handel') { page_handel.fadein(); return;	}
	if(typeof(page_presse) !== 'undefined' && pageid == 'presse') { page_presse.fadein(); return;	}
	
	var pagelink = 'dyn_'+pageid;
	var pagejs = 'js/'+pageid+'.js';
	var pagescript = pageid+'Script';
	var onloadjs = 'init_'+pageid;
		
	var pagedyn = new Request.HTML({
		url: this[pagelink],
		onSuccess: function(html) {
			$('doublebg').adopt(html);
			var xtrnlScript = Asset.javascript(pagejs, {
				id: pagescript,
		  	onLoad:function(){
		  	}
			});
		},
		onFailure: function() {
			$('doublebg').set('text', 'The request failed.');
		}
	}).get();
	
}

window.addEvent('domready', function(){
	$$('.pagel').each(function(el){ 
		el.set('opacity','0.9');
		el.slider = new Fx.Slide(el, { mode: 'horizontal' });
		el.addEvents({
			'navout': function(){
				// el.slider.slideOut();
				// console.log('OUT: '+el.getProperty('rel'));
			},
			'navin': function(){
				// el.slider.slideIn();
				// console.log('IN: '+el.getProperty('rel'));
			},
	    'click': function(){	    	
	    	
        checkunload(el.getProperty('rel'));
        firenav(el);
	    },
	    mouseover: function(){
	    	el.set('opacity','1')
	    },
	    'mouseout': function(){
	    	el.set('opacity','0.9')
	    }
		});
		
	 });
	
	if($('spip')) {		
		$('spim').set('opacity',0); $('spim').setStyle('display','block');
		$('spip').addEvents({
	    mouseover: function(){
        $('spim').fade('in');
	    },
	    mouseout: function(){
        $('spim').fade('out');
	    }
		});
	}
	
});
