// function to find style values by selectors
function $css2obj(selector, empty){
	if(!empty) empty = 0;
	var to = {};
	Array.each(document.styleSheets, function(sheet, j){
		var rules = sheet.rules || sheet.cssRules;
		Array.each(rules, function(rule, i){
			if (!rule.style || !rule.selectorText || !rule.selectorText.test('^' + selector + '$'))
				return;
			Element.Styles.each(function(value, style){
				if (!rule.style[style] || Element.ShortStyles[style])
					return;
				if(!empty)
					value = rule.style[style];
				to[style] = (empty) ? '' : (value.test(/^rgb/)) ? value.rgbToHex() : value;
			});
		});
	});
	return to;
}
// extend Element.setStyles to accept CSS selectors
Element.implement({
	setStyles: function(styles) {
		if(typeof styles == 'string')
			styles = $css2obj(styles);
		for (var style in styles)
			this.setStyle(style, styles[style]);
		return this;
	}
});

window.addEvent('load', function() {

	if($('letter1')) {
		// get the template name
		var templateClasses = $('template').className.split(" ");
		var templateName = templateClasses[2];

		// get letter elements
		var letter1 = $('letter1');
		var letter2 = $('letter2');
		var letter3 = $('letter3');
		var letter4 = $('letter4');
		var letter5 = $('letter5');


		// run animation
		if(templateName) {
			
			// set initial values
			letter1.setStyles({/*left: 1000, */opacity: 0});
			letter2.setStyles({/*left: 1000, */opacity: 0});
			letter3.setStyles({/*left: 1000, */opacity: 0});
			letter4.setStyles({/*left: 1000, */opacity: 0});
			letter5.setStyles({/*left: 1000, */opacity: 0});
			$('letter1').setStyles('.nojs .'+templateName+' #letter1');
			$('letter2').setStyles('.nojs .'+templateName+' #letter2');
			$('letter3').setStyles('.nojs .'+templateName+' #letter3');
			$('letter4').setStyles('.nojs .'+templateName+' #letter4');
			$('letter5').setStyles('.nojs .'+templateName+' #letter5');

			// run animation
			(function(){
				(function(){ letter1/*.morph('.nojs .'+templateName+' #letter1')*/.tween('opacity',1); }).delay(300);
				(function(){ letter2/*.morph('.nojs .'+templateName+' #letter2')*/.tween('opacity',1); }).delay(800);
				(function(){ letter3/*.morph('.nojs .'+templateName+' #letter3')*/.tween('opacity',1); }).delay(1300);
				(function(){ letter4/*.morph('.nojs .'+templateName+' #letter4')*/.tween('opacity',1); }).delay(1800);
				(function(){ letter5/*.morph('.nojs .'+templateName+' #letter5')*/.tween('opacity',1); }).delay(2300);
			}).delay(200);
	        
		}
    }
	
	// make value menu pulse
	if($('menu2')) {
		function pulse(element) {
			if(!(element.getParent('li').hasClass('active'))) {
				(function() {element.morph({color: '#318ca3'}); }).delay(0);
				(function() {element.morph({color: '#ffffff'}); }).delay(500);
			}
		}
		(function() {
			(function() {pulse($$('#menu2 .winningformula .mainlink').pop());}).delay(0);
			(function() {pulse($$('#menu2 .worthwhilework .mainlink').pop());}).delay(100);
			(function() {pulse($$('#menu2 .respect .mainlink').pop());}).delay(200);
			(function() {pulse($$('#menu2 .development .mainlink').pop());}).delay(300);
			(function() {pulse($$('#menu2 .reward .mainlink').pop());}).delay(400);
			(function() {pulse($$('#menu2 .flexibility .mainlink').pop());}).delay(500);
		}).delay(2500);
	}
});