// Copyright Tobias Wetzel 2008
// Dependencies: mootools-1.2-core

var Site = {
 
	start: function(){
		if ($('pageNav')){
			Site.initMenu();
		}
		
		var as = $$('a.glossary');
		as.addEvent('click', function(e){
			e.stop();
			Site.createGlossar(this.get('href'), e);
		});
		
		$$('img.print').addEvent('click', function(e){
			//e.stop();
			window.print();
			window.document.location.href = 'http://www.nutritionincancer.co.uk/en/special-tools/healthcare-professional-thank-you.html';
		});
	},
 
	initMenu: function(){
		var fxs = [];
		var els = $$('#pageNav li ul');
		els.each(function(el, i){
			if(el.getParent().getParent().get('id') == 'pageNav'){
				var height = el.getSize().y;			
				var active = el.getParent().getElement('.active');
				if(!active)	{
					el.store('opened', false);
					el.setStyles({'overflow':'hidden','height':'0'});
					fxs[i] = new Fx.Morph(el ,{
						wait: false, 
						onStart: Site.createOver.pass([el, i, height])
					});
					fxs[i].start(0, fxs[i], [0]);	
				} else {
					el.getParent().addClass('close');
				}
			}
		});
		$('pageNav').getChildren().each(function(el){
			if(el.getLast().get('tag') == 'a') el.addClass('main');
		});
	},
 
	createOver: function(el, i, height){
		var fx = new Fx.Morph(el, {
			duration: 350,
			wait: false
		});
		var li = el.getParent();
		var la = li.getElements('a');
		var aclick = false;
		la.addEvent('click', function(){aclick = true;});
		li.addClass('open');
		li.addEvent('click', function(){
			var status = this.retrieve('opened');
			if(!status && !aclick){
				fx.start({'height': height});
				this.store('opened', true);	
				this.toggleClass('close');
				this.toggleClass('open');
			} else if(!aclick) {
				fx.start({'height': 0});
				this.store('opened', false);
				this.toggleClass('open');
				this.toggleClass('close');
			}
		});
	},
	
	createGlossar: function(url, e){
		var coords = e.target.getCoordinates();
		var docSize = document.getSize();
		if(!$chk($('glossary'))){
			var glossary = new Element('div',{id: 'glossary',styles: {top:coords.top, left:coords.left, width: 0, height: 0}});
			var glHead = new Element('div',{id: 'glHead'});
			var glClose = new Element('div',{id: 'glClose', html: 'X'}).addEvent('click', function(){glossary.destroy()});
			$(document.body).adopt(glossary.adopt(glHead.adopt(glClose)));
			new Fx.Morph(glossary, {
				onComplete: function(){
					(function(){ var glFrame = new IFrame({src:url, id: 'glFrame'}).inject(glossary);}).delay(500);
				}
			}).start({'height': [0, 270], 'width': [0, 400], 'top': [coords.top, docSize.y/2-125],'left': [coords.left, docSize.x/2-200]});
		} else {
			e.stop();
			$('glFrame').set('src', url);
		}
	}
	
};
 
window.addEvent('domready', Site.start);