// JavaScript Document

/*
 *	Javascript Anchor Navigation by Andreas Prockl
 */

var JumpNavigation = new Class({
	Implements: [Chain, Options],
	
	options: {
		buttons: {
			reportage:	"reportagen",					// navi-link (#jump_reportage)
			portrait:	"portrait",						// navi-link (#jump_portrait)
			freies:		"freies",						// navi-link (#jump_freies)
			referenzen:	"referenzen",					// navi-link (#jump_referenzen)
			vita:			"vita",							// navi-link (#jump_vita)
			kontakt:		"kontakt"						// navi-link (#jump_kontakt)
		},
		sections: {
			target_reportage:		"c_reportagen",	// container zu welchem gesprungen wird (#c_reportagen)
			target_portrait:		"c_portrait",		// container zu welchem gesprungen wird (#c_portrait)
			target_freies:			"c_freies",			// container zu welchem gesprungen wird (#c_freies)
			target_referenzen:	"c_referenzen",	// container zu welchem gesprungen wird (#c_referenzen)
			target_vita:			"c_vita",			// container zu welchem gesprungen wird (#c_vita)
			target_kontakt:		"c_kontakt"			// container zu welchem gesprungen wird (#c_kontakt)
		},
		y_offset: 120
	},
	
	elements: {
		buttons: {
			reportage:	null,
			portrait:	null,
			freies:		null,
			referenzen:	null,
			vita:			null,
			kontakt:		null
		},
		sections: {
			target_reportage:		null,
			target_portrait:		null,
			target_freies:			null,
			target_referenzen:	null,
			target_vita:			null,
			target_kontakt:		null
		},
		y_offset: 120
	},

	target: null,



	initialize: function(options) {
		this.setOptions(options);
		
		this.elements.buttons.reportage	= $(this.options.buttons.reportage);
		this.elements.buttons.portrait	= $(this.options.buttons.portrait);
		this.elements.buttons.freies		= $(this.options.buttons.freies);
		this.elements.buttons.referenzen	= $(this.options.buttons.referenzen);
		this.elements.buttons.vita			= $(this.options.buttons.vita);
		this.elements.buttons.kontakt		= $(this.options.buttons.kontakt);
		
		
		this.elements.sections.target_reportage	= $(this.options.sections.target_reportage);
		this.elements.sections.target_portrait		= $(this.options.sections.target_portrait);
		this.elements.sections.target_freies		= $(this.options.sections.target_freies);
		this.elements.sections.target_referenzen	= $(this.options.sections.target_referenzen);
		this.elements.sections.target_vita			= $(this.options.sections.target_vita);
		this.elements.sections.target_kontakt		= $(this.options.sections.target_kontakt);
		
		this.elements.y_offset = this.options.y_offset
		
		
		// Links aller Navigations-Punkte austauschen
		// Und Funktionsaufruf onClick binden
		var btn_elements = this.elements.buttons;
		
		$each( btn_elements, function(value, key){
			btn_elements[key].href = "javascript:void(0);";
			btn_elements[key].addEvent("click", this.jumper.bind(this));
		}.bind(this));
	},
	
	jumper: function(event) {
   	this.target = event.target;
		
		var targetID = "c_" + this.target.id;
		var targetElement = $(targetID);
		var targetPosition = targetElement.getPosition();
		var newScrollYPosition = targetPosition.y - this.elements.y_offset;
		
		if(Browser.Engine.name == "trident" && Browser.Engine.version <= 4)
		{
			newScrollYPosition = targetPosition.y;
		}
		
		window.scrollTo(0, newScrollYPosition);
	}
});


/*
 *	Javascript dynamicly inserted Copyright Year
 */

function InsertYear()
{
	var date_today = new Date();
	var year_today = date_today.getFullYear();

	if ( $$('.the_year') )
	{
		var year_elements = $$('.the_year');
		
		$each( year_elements, function(value, key){
			 year_elements[key].set( 'html', year_today );
		});
	}
}




/*
 * Do this when DOM is ready
 */
window.addEvent('domready', function(){

	InsertYear();
	
	var jumper = new JumpNavigation({});
	// positionSite();
	// window.addEvent('scroll', onWindowScroll );
});
