/*
	# Raumschneiderei.de
	Basic Javascript
*/

// # Global vars
/*
var baseurl = window.location.toString();
baseurl = baseurl.substring(0, baseurl.lastIndexOf('/'));
baseurl = baseurl.substring(0, baseurl.lastIndexOf('/'))+'/';
*/
var baseurl = 'http://raumschneiderei.de/';
var ajaxurl = baseurl+'json/';

var scrollVelocity = 0.35;

window.addEvent('domready', function() {

	// ## Arbeitsweise
	if( $defined( $('subnavi') ) ) {
	
		subpages = $$('.subpage');
		currentsubpage = null;
				
		// # Keyvis-Scroller
		// Subnavi
		var pos = $('subnavi').getPosition();
		$('subnavi').setStyles({
			'position': 'absolute',
			'top': pos.y,
			'left': pos.x
		});
		var keyvisdim = $('keyvisual').getSize();
		var dur = (keyvisdim.y/scrollVelocity).floor();
		var keyvisScrollFx = new Fx.Scroll('keyvisual', {duration: dur });
	
		var subnavi = $$('a.subnavi');
		subnavi.each(function(item, index){
			item.addEvent('click', function(e){
				var x = index*176;
				var subpage = item.get('id');
				// scroll keyvis
				keyvisScrollFx.start(0, x);
				// scroll page
				rs_viewsubpage(subpage);
			});
		});
		
		// icons
		icons = $$('#icon img');
		var iconpos = $('icon').getPosition();
		icons.setStyles({
			'position': 'absolute',
			'top': iconpos.y+7,
			'left': iconpos.x
		});
		icons.set('opacity', 0);

		// # Content Scroller & Morph Effects
		contentFx = new Fx.Morph('page-wrapper', {duration: 250, transition: Fx.Transitions.Sine.easeOut});
		
		// # show inital page
		rs_viewsubpage('subpage_beratung');
		
	}
	
	// ## Kontakt
	$('navi_kontakt').addEvent('click', function() {

		if( $defined($('kontakt')) ) {

			// do nothing
			
		} else {
			
			// change styles
			if( $defined($('current')) ) {
				current_nav = $('current');
				current_nav.set('id', 'hidden_current');
			}
			$('navi_kontakt').addClass('fake_current');
			
			// load content via json
			url = ajaxurl+'?ajax=minipage&page=kontakt';
			var getContactContent = new Request.HTML({url: url, method: 'get', onSuccess: function(x, y, HTML, z){
			
				//var content = data.content;
				var content = HTML;
				
				// create box
				pos = $('keyvisual').getPosition();
				contact_box = new Element('div', {'id': 'kontakt', 'html': '<div class="k_name">BUCHELE&sup3;<br />raumschneiderei.de<br />Sabine Buchele</div><div class="k_content">'+content+'</div>'});
				contact_box_transition = new Fx.Tween(contact_box);
				contact_box.setStyle('left', pos.x);
				contact_box_transition.set('opacity', 0);
				contact_box.inject($('page'), 'after');
				
				var contact_close = new Element('a', {'id': 'k_close'});
				contact_close.addEvent('click', function() {
					rs_close_contact();
				});
				contact_close.inject(contact_box);
				
				// display box
				contact_box_transition.start('opacity', 0, 1);
				
			}}).send();
		}
		
	});
	
	// # blog post navigation onOver
	if( $$('.post_navigation').length > 0 ) {
		
		var detail = $('detail');
		var originalcontent = $('detail').get('html');
		
		$$('.bloghome a').addEvent('mouseover', function() {
			detail.set('html', 'Aktuelle Artikel');
		});

		$$('.prev a').addEvent('mouseover', function() {
			detail.set('html', '1 Artikel zur&uuml;ck');
		});

		$$('.next a').addEvent('mouseover', function() {
			detail.set('html', '1 Artikel vor');
		});

		$$('.post_navigation div a').addEvent('mouseleave', function() {
			detail.set('html', originalcontent);
		});
	}
	
	// # extend Heading h1
	if( $defined($('content')) ) {
		var content_width = $('content').getStyle('width');
		content_width = content_width.toInt();
		$$('#content p').addClass('clear');
	} else {
		content_width = 492;	
		$$('.page p').addClass('clear');
	}
	
	$$('h1').each(function(item) {
		item.setStyle('float', 'left');
		var size = item.getSize();
		var block_width = (content_width - size.x - 6);
		var block = new Element('div', {'class': 'h1_block'});
		block.setStyle('width', block_width);
		block.inject(item, 'after');
	});

});

function rs_close_contact() {
	if( $defined($('kontakt')) ) {
		// change styles
		if( $defined($('hidden_current')) ) {
			current_nav.set('id', 'current');
		}
		$('navi_kontakt').removeClass('fake_current');
		// remove box
		contact_box.destroy();
	}
}

function rs_viewsubpage(subpage) {
	
	var subpagename = subpage.substring(8);
	
	// change subnavi styles
	if(currentsubpage != null) {
		currentsubpage.removeClass('current');
	}
	$(subpage).addClass('current');
	currentsubpage = $(subpage);

	currentcontent = subpage.replace('subpage','content')
	subpage_content = $(currentcontent);

	// adjust wrapper height
	var newheight = subpage_content.getStyle('height');
	//contentFx.start({ 'height': newheight });
	$('page-wrapper').setStyle('height', newheight);
	
	// scroll content with transition
	var dur = (newheight.toInt()/scrollVelocity).floor();
	var contentScrollFx = new Fx.Scroll('page-wrapper', {duration: dur });
	contentScrollFx.toElement(subpage_content);
	
	// fade icon
	icons.setStyle('z-index', 79);
	icons.fade('out');
	var icon = $('icon-'+subpagename);
	icon.setStyle('z-index', 99);
	icon.fade('in');
}