/*
 * Lazzo.nl
 * 
 */

function c(text) {
	return;
	if(document.all) { //document.all
		var db = document.body;
		if (!db) {return;}
		
		var ttt = new Element('span');
		ttt.setStyle({color:'#000', fontSize:'9px'});
		text = ''+text;
		ttt.update(text.escapeHTML() + '><br />');
		$(document.body).insert(ttt);
		
	} else {
		console.log(text);
	}
}



//Add mouse wheel support to prototype
Object.extend(Event, {
        wheel:function (event) {
                var delta = 0;
                if (!event) event = window.event;
                if (event.wheelDelta) {
                        delta = event.wheelDelta/120;
                        if (window.opera) delta = -delta;
                } else if (event.detail) { delta = -event.detail/3;}
                return delta; //Safari Round
        }
});
// end Add mouse wheel support to prototype

document.observe('dom:loaded', function() {
	if (Lazzo.isLessThanIE7) {return;}
	var documentBody = $(document.body);
	
	// Fading Quotes
	var quote = documentBody.down('blockquote');
	if (quote) {
		var quotes = quote.readAttribute('class').evalJSON();
		var quotesLength = quotes.size();
		quotes.each(function(q) {
			var img = new Element('img', {className:'quote-image', src:q});
			var f = function(){quote.insert({after:img});};
			f.defer();
		});
		
		var fader = function(){
			
			var topimage = documentBody.down('img.quote-image', quotesLength-1);
			new Effect.Fade(topimage, {delay:10, duration:2, afterFinish:function(){
				
				quote.insert({after:topimage});
				topimage.show();
				fader();
				
			}});
			
		};
		
		fader.delay(1);
		
	}
	// end Fading Quotes
	
	
	// pixelPerfect debug
	Lazzo.pixelPerfect = function(bool) {
		try {
			if (bool) {
				
				documentBody.setOpacity(.5);
				if ($$('html'))
					$$('html')[0].setStyle({background:'url(images/stub/wow_def_uitwerking5.jpg) no-repeat center top'});
				
			} else {
	
				documentBody.setOpacity(1);
				if ($$('html'))
					$$('html')[0].setStyle({background:'#FFF5ED;'});
				
			}
		} catch (e) {}
	};
	Lazzo.debug = Lazzo.pixelPerfect;
	//Lazzo.debug(true);
	// / pixelPerfect debug
	
	// display current time in amsterdam
	function pad(n){return n<10 ? '0'+n : n;}
	var timeUpdateNode			= $('address').down('dd', 2);
	var timeNode				= $('address').down('dd', 3);
	var d						= new Date(parseInt(timeNode.innerHTML)*1000);
	var seconds					= d.getSeconds();
	var remainingMiliseconds	= ((60) - seconds)*1000;
	function getTime(){
		var time	= d.getTime();
		time += 60000;
		d.setTime(time);
		var min		= pad(d.getMinutes());
		var hours	= pad(d.getHours());
		return 'Amsterdam Time: '+hours+':'+min;
	}
	setTimeout(function() {	
		timeUpdateNode.update(getTime());
		setInterval(function(){timeUpdateNode.update(getTime());}, 60000);	
	}, remainingMiliseconds);
	// end display current time in amsterdam
	
	// Columnizer
	var introText = $$('.double-column')[0];
	if (introText) {
		
		var height		= introText.getHeight();
		var maxheight	= Math.round(height / 2);		
		var words		= [];
		
		var updatenode = function(value, node) {
			if (typeof value == 'string')
				node.update(node.innerHTML + ' ' + value);
			else { 
				node.insert(value);
			}
		};
		
		var leftcontainer = new Element('div', {className:'double-column-left'});
		var rightcontainer = new Element('div', {className:'double-column-right'});
		introText.insert({after:rightcontainer});
		introText.insert({after:leftcontainer});
		introText.hide();
		
		var reachedmaxheight = false;
		var currentcontent = '';
		
		// create an array containing dom nodes or strings of individual words.
		$A(introText.childNodes).each(function(node) {
			if (node.nodeType == Node.TEXT_NODE) {
				var nodevalue = node.nodeValue;
				words.push($A(nodevalue.strip().split(' ')));
			} else if (node.nodeType == Node.ELEMENT_NODE) {
				words.push(node);
			}
		});
		words = words.flatten();
		
		// for each word, do
		words.each(function(word) {
			
			if (word == '&') {
				 word = '&amp;';
			}
			
			if (!reachedmaxheight) {
				currentcontent = leftcontainer.innerHTML;
				updatenode(word, leftcontainer);
				
				var h = leftcontainer.getHeight();				
			
				if (h > maxheight) {					
					reachedmaxheight = true;
					leftcontainer.update(currentcontent);
					updatenode(word, rightcontainer);
					
				}
			}
			
			else {
				updatenode(word, rightcontainer);
			} 
		});
		
		var resultheightLeft = leftcontainer.getHeight();
		var resultheightRight = rightcontainer.getHeight();
		if (false && resultheightRight > resultheightLeft) {
		
			var backwords	= [];
			$A(rightcontainer.childNodes).each(function(node) {
				if (node.nodeType != 1) {
					var nodevalue = node.nodeValue;
					backwords.push($A(nodevalue.strip().split(' ')));
				} else {
					backwords.push(node);
				}
			});
			backwords = backwords.flatten();
			
			var shiftbackwords	= backwords.clone();
			
			backwords.each(function(word) {
				if(resultheightRight > resultheightLeft) {
					var textstring = (typeof word == 'string')? true:false;
					
					leftcontainer.update(leftcontainer.innerHTML + ' ' + word);
					shiftbackwords.shift();
				
					var rightwords = shiftwords.join(" ");
					rightcontainer.update(rightwords);
					resultheightRight = rightcontainer.getHeight();
				} else {
					throw $break;
				}
			});
		}
		
		resultheightLeft = leftcontainer.getHeight();
		
		leftcontainer.setStyle({height:resultheightLeft+'px', overflow:'hidden'});
		leftcontainer.update(leftcontainer.innerHTML + ' **********************************************************************************************************************************************************************');
		
	}
	// end Columnizer
	
	// Enter text in mailsubscription form
	var mailsubsciption = $('subscriptionform');
	if (mailsubsciption) {
		
		var input = mailsubsciption.down('input');
		if (input.value == '') {
			var cleared = false;
			input.value = 'PLEASE TYPE YOUR MAIL ADDRESS HERE';
			input.observe('focus', function() {
				if (!cleared) {
					input.value = '';
					cleared = true;
					input.addClassName('selected');
				}
			});
		} else {
			input.addClassName('selected');
		}
		
	}
	
	
	// end Enter text in mailsubscription form
	
	// Main div scrollbar
	var content = documentBody.down('div');
	if (content) {
		
		Lazzo.scrollblock = new Scrollblock(content);
		Event.observe(document.onresize ? document : window, "resize", function(){Lazzo.scrollblock.reset();});
	}
	// end Main div scrollbar	
		
	// Style radio buttons
	documentBody.select('form input[type=radio]').each(function(node) {
		if (Lazzo.isIE7) {return;}
		node.setOpacity(.01);
		var name			= node.readAttribute('name');
		var styleddradio	= new Element('div', {name:name, className:'styleddradio'}).setStyle({top:node.offsetTop+'px',left:node.offsetLeft+'px'});
		var checked			= node.readAttribute('checked');
		
		node.insert({before:styleddradio});
		if (checked) {
			styleddradio.addClassName('checked');
		}
		
		node.observe('click', function() {
			var relatedRadios = documentBody.select('.styleddradio[name=' + name + ']');
			relatedRadios.invoke('removeClassName', 'checked');
			node.previous('.styleddradio').addClassName('checked');
		});
		
	});
	// End Style radio buttons	
	
	// remove error onclick or on input focus
	$$('ul.errors').each(function(errorNode) {

		var input = errorNode.previous('input, textarea');
		
		errorNode.observe('click', function() {
			errorNode.remove();
			if (input) {
				
				input.focus();
				
			}
		});
		
		
		if (input) {
			
			input.observe('focus', function() {
				errorNode.remove();
			});
		}
		
	});
	// / remove error onclick or on input focus
	
	// Catch right click
	documentBody.observe('mousedown', function(evt) {
		if (evt.isRightClick()) {
			evt.stop(); 
			alert('Copyright © Women of the World. All rights reserved. The material on this site may not be copied, reproduced and may not be distributed, publicly performed, except with the prior express permission of Women of the World');
		};
	});
	// / Catch right click	
	
	// Collapsable list
	var collapsables = documentBody.select('.collapseable').each(function(definitionlist) {
		definitionlist.select('dt').each(function(dt) {
			dt.observe('click', function() {
				var dd = dt.next('dd');
				if (dt.hasClassName('open')) {
					dt.removeClassName('open');
					dd.removeClassName('open');
				} else {
					dt.addClassName('open');
					dd.addClassName('open');
				}
				if (Lazzo.scrollblock) {
					Lazzo.scrollblock.recalculate();
				}
			});
		});
	});
	// 
	
});







