/**
 * @author Patryk Hanckowiak
 * 	pathanck at gmail.com
 */
/*
 * 	Function addEmail();
 * 	Protect from spam by adding e-mail address with JavaScript.
 */

function addEmail(){
	var dest_el = $('placeHolder1');
	var email_link = new Element('a', {'href': 'mailto:patryk.hanckowiak@e-safeguard.pl'});
	email_link.set( 'text', 'e-mail');
	email_link.inject( dest_el );
}

/*
 *	Function playIntro();
 *	Creates a fade intro. 
 *	Works only in standard compliant browsers.
 */	

function playIntro(){
	var fade_images = $( 'intro_anim' ).getElements('div');
	
	var first_el = fade_images[0];
	var first_ob = new Fx.Tween( first_el, {duration: '4000'} );
	
	var second_el = fade_images[1];
	var second_ob = new Fx.Tween( second_el, {duration: '4000'} );
	
	var third_el = fade_images[2];
	var third_ob = new Fx.Tween( third_el, {duration: '4000'} );
	
	var fourth_el = fade_images[3];
	var fourth_ob = new Fx.Tween( fourth_el, {duration: '4000'} );
	
	var fifth_el = fade_images[4];
	var fifth_ob = new Fx.Tween( fifth_el, {duration: '4000'} );
	
	
	fadeInOut( first_ob );
	setTimeout( function(){fadeInOut( second_ob );}, '8400');
	setTimeout( function(){fadeInOut( third_ob );}, '16800');
	setTimeout( function(){fadeInOut( fourth_ob );}, '25200');
	setTimeout( function(){fadeInOut( fifth_ob );}, '33600');
}

function fadeIn( fade_ob ){
	fade_ob.start('opacity', '0', '1');
}

function fadeOut( fade_ob ){
	fade_ob.start( 'opacity', '1', '0' );
}

function fadeInOut( fade_ob ){
	fadeIn( fade_ob );
	setTimeout( function(){fadeOut( fade_ob )}, '4200');
	
}

/*
 * 	Define new events
 */

function showDiv( ){
	this.setStyle( 'color', 'red' );
}


function hideDiv( div_el ){
	div_el.setStyle( 'display', 'none' );
}

function test_fn(){
	
	
}

function getItemContentHeights(){
	var menu_items_heights = new Array();
	var menu_content_elms = $$('.menu-item-content');
	
	var menu_items_nr = menu_content_elms.length;
	for( var i = 0; i < menu_items_nr; i++ ){
		menu_items_heights.push( menu_content_elms[i].getSize().y );
	}
	
	return menu_items_heights;
}

function activateEvents(){
	var menu_div = $('offer-menu');
	var menu_items = $$( '#item1', '#item2', '#item3', '#item4', '#item5' );
	
	var menu_items_heights = getItemContentHeights();
			
	var menu_headers = menu_items.getElement( 'h3' );
	var menu_content_elms = $$('.menu-item-content');	
	var pg_descr_panes = $$( '#pane1', '#pane2', '#pane3', '#pane4', '#pane5' );
	
	
	// Open and close menu when .open-window div (oferta image) is clicked
	$$('div .open-window').addEvent( 'click', function(e){
		
		e.stop();
		
		if( menu_div.getStyle( 'display' ) == 'none'){
			menu_div.setStyle( 'display', 'block'); 
		} else {
			menu_div.setStyle( 'display', 'none') 
		}
		
		hideElement( pg_descr_panes );
		
	});
	
	// Open submenu items when table header is clicked	
	menu_headers.getElement('a').addEvent( 'click', function(e){
		var clicked_el = e.target;
		e.stop();
		
		var count = 0;
			
		$each( menu_items, function( item ){
			var link_tag = item.getElement( 'h3').getElement('a');
			var content_tag = item.getElement( '.menu-item-content' );
			if( link_tag == clicked_el ){
				var el_style = content_tag.getStyle( 'display' );
				
				if( el_style == 'none' ){
					content_tag.setStyle( 'visibility', 'hidden' );
					content_tag.setStyle( 'display', 'block' );
				
				
					var content_el_height = menu_items_heights[count] + 'px';
					content_tag.setStyle( 'height', '0' );
					content_tag.setStyle( 'visibility', 'visible' );
					content_tag.tween( 'height', content_el_height );
				} else {
					var tweenEffect = new Fx.Tween( content_tag, { 
										//transition: 'quad:in',
										onComplete: function (){
											content_tag.setStyle( 'display', 'none' );
										} 
									});
					tweenEffect.start( 'height', '0' );
								
				}
				
			} else {
				content_tag.setStyle( 'display', 'none' );
			}
			count++;
		});
		
		hideElement( pg_descr_panes );
		
	} );
	
	var more_info_els = menu_div.getElements( '.more-info' );
		
		var count = 0;
		
		$each( more_info_els, function( elem ){
			var more_info_div_name = 'pane' + (count + 1);
			var more_info_pane = $( more_info_div_name );
			
			elem = elem.getElement( 'a' );
			
			elem.addEvent( 'click', function(e){
				var clicked_el = e.target;
				e.stop();
				
				var more_info_style = more_info_pane.getStyle( 'display' );
				
				if( more_info_style == 'none' ){
					more_info_pane.setStyle( 'width', '0');
					more_info_pane.setStyle( 'height', '0');
					more_info_pane.setStyle( 'overflow', 'hidden');
					more_info_pane.setStyle( 'display', 'block');
				
					var myEffect = new Fx.Morph( more_info_div_name, {
										duration: 'long', 
										transition: Fx.Transitions.Sine.easeOut,
										onComplete: function(){
											more_info_pane.setStyle( 'overflow', 'auto');	
										}
										});
 
					myEffect.start({
					    'height': [0, 300], 
					    'width': [0, 400]  
					});
				} else {
					
					more_info_pane.setStyle( 'overflow', 'hidden');
				
					var myEffect = new Fx.Morph( more_info_div_name, {
									duration: 'long', 
									transition: Fx.Transitions.Sine.easeOut,
									onComplete: function(){
										more_info_pane.setStyle( 'display', 'none');	
									}
									});
 
					myEffect.start({
					    'height': [300, 0], 
					    'width': [400, 0]  
					});
					
					
				}
				
				

				
				
			});
			count++;
		} );
	
			 
}

function isOpen( element ){
	if( element.getStyle( 'display' ) == 'block' ){
		return true;
	} else {
		return false;
	}
}

function showElement( element ){
	element.setStyle( 'display', 'block' );
}

function hideElement( element ){
	element.setStyle('display', 'none');
}


/*
 *  Hide menu items switches some elements of 
 *  the menu to display: none - good SEO practice  
 */
function hideMenuItems(){
	var menu_content_elms = $$('.menu-item-content');
	$each( menu_content_elms, function( item ){
		//if( item.getParent().get( 'id' ) != 'item4' ){
			item.setStyle( 'display', 'none');
		//}
			
		
	});
}


/*
 * 	Add the onload event the MooTools way.
 * 
 */

window.addEvent( 'domready', function(){
	activateEvents();
	hideMenuItems();
	addEmail();
	
	/*if( Browser.Engine.trident){
		$('intro_anim').getElement('#bubble5').setStyle( 'display', 'block');
	} else {
		playIntro();
	}*/
	
});
