/**
 * @author Patryk Hanckowiak
 * 	pathanck at gmail.com
 */
/*
 * 	Tooltips
 */
var myTips = new Tips('.mytooltips', {
        onShow: function(tip, el){
            tip.setStyles({
                visibility: 'hidden',
                display: 'block'}
				).fade('in');
        }
    });

/*
 * 	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 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( 'visibility' ) == 'hidden' ){
			menu_div.setStyles({
				visibility: 'visible',
				display: 'block'	
			}); 
		} else {
			menu_div.setStyles({
				visibility: 'hidden',
				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');
		//}
			
		
	});
}

/* 
 * 		Mainpage Image Slider
 */

var is_mouse_down = false;

var ImageSlider = {
	nr_of_images: 5,
	image_width: 79,
	is_mouse_down: false,
	
	initSlider: function( slider_div_id, nav_left_id, nav_right_id ){
		var slider_outer_el = $( slider_div_id );
		var slider_outer_el_width = slider_outer_el.getSize().x;
		var slider_inner_el = slider_outer_el.getChildren( 'div' )[0];
		var slider_inner_el_width = slider_inner_el.getSize().x;
				
		var image_wrapper_el = slider_inner_el.getChildren( 'div' )[0];
		var image_wrapper_width = image_wrapper_el.getSize().x;
		//alert(image_wrapper_width);
		
		var nav_left_el = $( nav_left_id );
		var nav_right_el = $( nav_right_id ); 
		var max_width = this.nr_of_images * this.image_width;
		
		
		var offset = image_wrapper_width - slider_outer_el_width;
		 
		
		nav_right_el.addEvents({
			'mousedown': function(){
				is_mouse_down = true;
				
								
				/*var pos_left = slider_inner_el.getStyle('left').toInt();
				
				if (offset > 0) {
					if (pos_left > -offset) {
						slider_inner_el.setStyle('left', pos_left - 60 );
					}
					
					while( is_mouse_down && pos_left > -offset ){
						
							(function(){
								slider_inner_el.setStyle('left', pos_left - 10);
								pos_left = slider_inner_el.getStyle('left').toInt();
							})();
							
							
						
					}
					
					
					
					
				}*/
				
			
				
			},
			
			'mouseup': function(){
				is_mouse_down = false;
				
			},
			
			
			'click': function(){
				/*var pos_left = slider_inner_el.getStyle('left').toInt();
				
				if (offset > 0) {
					if (pos_left > -offset) {
						//slider_inner_el.setStyle('left', pos_left - 10);
					}
					
					while( pos_left > -offset ){
						slider_inner_el.setStyle('left', pos_left - 10);
						pos_left = slider_inner_el.getStyle('left').toInt();
					}
					
				}*/
				
				if( is_mouse_down ){
					alert('mouse is down');
				} else {
					alert('mouse is up click');
				}
				
				
				
			}
			
			
		});
		
		nav_left_el.addEvent( 
			'click',
			function(){
				var pos_left = slider_inner_el.getStyle( 'left' );
				pos_left = pos_left.toInt();
				if( pos_left < 0 ){
					slider_inner_el.setStyle( 'left', pos_left + 60 );
				}	
					
				
			}
		);
	},
	
	initNavBars: function(){
		
	},
	
	moveLeft: function(){
		
	},
	
	moveRight: function(){
		
	},
	
	mouseDown: function(){
		is_mouse_down = true; 
		
		var slider_outer_el = $( slider_div_id );
		var slider_outer_el_width = slider_outer_el.getSize().x;
		var slider_inner_el = slider_outer_el.getChildren( 'div' )[0];
		var slider_inner_el_width = slider_inner_el.getSize().x;
				
		var image_wrapper_el = slider_inner_el.getChildren( 'div' )[0];
		var image_wrapper_width = image_wrapper_el.getSize().x;
		//alert(image_wrapper_width);
		
		var nav_left_el = $( nav_left_id );
		var nav_right_el = $( nav_right_id ); 
		var max_width = this.nr_of_images * this.image_width;
		
		var offset = image_wrapper_width - slider_outer_el_width;
		
		
				var pos_left = slider_inner_el.getStyle('left').toInt();
				
				if (offset > 0) {
					if (pos_left > -offset) {
						slider_inner_el.setStyle('left', pos_left - 10);
					}
					
					while( is_mouse_down && pos_left > -offset ){
							slider_inner_el.setStyle('left', pos_left - 10);
							pos_left = slider_inner_el.getStyle('left').toInt();
						
						
					}
					
					
					
					
				}
		
	},
	
	slideLeft: function( pos_left ){
		
		var slider_outer_el = $( slider_div_id );
		var slider_outer_el_width = slider_outer_el.getSize().x;
		var slider_inner_el = slider_outer_el.getChildren( 'div' )[0];
		var slider_inner_el_width = slider_inner_el.getSize().x;
				
		var image_wrapper_el = slider_inner_el.getChildren( 'div' )[0];
		var image_wrapper_width = image_wrapper_el.getSize().x;
		//alert(image_wrapper_width);
		
		var nav_left_el = $( nav_left_id );
		var nav_right_el = $( nav_right_id ); 
		var max_width = this.nr_of_images * this.image_width;
		
		slider_inner_el.setStyle('left', pos_left - 10);
		pos_left = slider_inner_el.getStyle('left').toInt();
	}

}

// Hide main page offer menu
function hideMenus(){
	var offer_menu_el = $( 'offer-menu' );
	
	offer_menu_el.setStyles({
		/*height: '150px',
		overflow: 'hidden',*/
		display: 'none'		
	});
	
	
}






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

window.addEvent( 'domready', function(){
	activateEvents();
	hideMenuItems();
	//hideMenus();
	//addEmail();
	
	//ImageSlider.initSlider( 'image-slider-outer', 'nav-left', 'nav-right' );
	
	/*if( Browser.Engine.trident){
		$('intro_anim').getElement('#bubble5').setStyle( 'display', 'block');
	} else {
		playIntro();
	}*/
	
});

