var menuNewsClicked = false;
var menuClicked = false;
var currentSubmenu = '';
var currentBackground = '';
var currentArrow = '';
var currentPosition = 0;
var currentSubmenuItem = 0;
var basePosition = 0;
var currentSubpageIndex = 0;

var action_slide;

var hash = document.location.hash;

if (hash.substr(0, 2) == '#!'){
	//redirect
//	var item = gup('itemGo',hash);
//	if (item){
//		document.location = hash.substr(2) + '?itemGo='+item;
//	} else { 
		document.location = hash.substr(2);
//	}
}

jQuery.easing['BounceEaseOut'] = function(p, t, b, c, d) {
	if ((t/=d) < (1/2.75)) {
		return c*(7.5625*t*t) + b;
	} else if (t < (2/2.75)) {
		return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
	} else if (t < (2.5/2.75)) {
		return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
	} else {
		return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
	}
};

function updateHeights()
{
	var height1 = $('#leftcolumn').height();
	var height2 = $('#middlecolumn').height();
	var height3 = $('#subcontent').height();
	var height4 = $('.contentx').height();
	var height5 = $('#mc').height();

	var heights = [height1,height2,height3,height4,height5];
	heights.sort(function(a,b){return b-a;});

       
	//$('#cxcontent, #subcontent, .contentx').css('height', heights[4]+20+'px');

	if (is_iOS){
		$('#leftcolumn, #middlecolumn').css('height', heights[0]+20+'px');
	} else {
		//
		$('#leftcolumn, #middlecolumn').css('height', $('html').height());
		//$('#middlecolumn, .autosize').css('height',$('html').height()+'px');
	}
}

$(document).ready(function(){
	
	$('.fancybox').fancybox();
	
	if(ie7fix) {$('#content').css({'float':'left','width':'720px'});}
	$('#submenucontainer').css({
		'border-right':'#cdcdcd 1px solid'
	});
	updateHeights();

	$('a').focus(function(){
		$(this).blur();
	});
	
	

	$('#mainmenu li a').click(function(event){
		$('#mainmenu li a').removeClass('activeitem');
		$(this).addClass('activeitem');
		if (!$(this).hasClass('direct')){
			event.preventDefault();

			var ind = parseInt($(this).attr('rel'));
			currentSubpageIndex = ind;
			var submenu = menudata[ind].submenu;
			if (submenu!=null){
				contentLoader.loadContent(submenu[menudata[ind].def].link);
				var html = '<ul>';
				for (var i in submenu){
					var item = submenu[i];
					html += '<li><a href="'+item.link+'" id="item'+i+'" rel="'+item.page_id+'">'+item.label+'</a></li>';
				}
				html += '</ul>';
				currentSubmenu = html;
				currentBackground = menudata[ind].background;
				currentArrow = menudata[ind].arrow;
				var position = $(this).position().top - 1 - (menudata[ind].def*27);
				currentPosition = position;
				currentSubmenuItem = menudata[ind].def;
				basePosition = $(this).position().top - 10;

				animator.flipMenu(submenu[menudata[ind].def].link);
				
			} else {
				contentLoader.loadContent($(this).attr('href'));
				animator.hideMenu($(this).attr('href'));
				currentBackground = menudata[ind].background;
				currentArrow = menudata[ind].arrow;
				$('#topborder').animate({'backgroundColor':currentBackground},500);
				$('#lang .block').animate({'backgroundColor':currentBackground},500);
				$('#submenucontainer').css({
					'border-right':'#cdcdcd 1px solid'
				});
			}
		} else {
			event.preventDefault();
			$('#content').html('<div class="spinner"></div>');
			$('#content .spinner').fadeIn(500);			
			animator.hideMenu($(this).attr('href'));
		}
	});

	$('#submenu ul li a').click(function(event){
		event.preventDefault();
		menuClicked = true;
		if($(this).attr('rel')==27) menuNewsClicked = true; //podstrona aktualności
		contentLoader.loadContent($(this).attr('href'));
		animator.toggleSubmenu($(this));		
	});
	
	
	if (startPage!=null && !$('#mainmenubutton_'+startPage).hasClass('direct')){
		$('#mainmenubutton_'+startPage).trigger('click');
		startPage = null;
	}
	
	/*
	$('#content').overscroll({
		cancelOn: 'a, a *, input, textarea, select, p, .chart *'
	});	
	*/
              
       if (is_iOS){
           action_slide = 'click';
       }
       else{
           action_slide = 'hover';
       }
       $('.slide-out-div').tabSlideOut({
                 tabHandle: '.handle',                              //class of the element that will be your tab
                 pathToTabImage: baseUrl + '/pub/images/facebook.png',          //path to the image for the tab (optionaly can be set using css)
                 imageHeight: '57px',                               //height of tab image
                 imageWidth: '53px',                               //width of tab image    
                 tabLocation: 'left',                               //side of screen where tab lives, top, right, bottom, or left
                 speed: 300,                                        //speed of animation
                 action: action_slide,                                   //options: 'click' or 'hover', action to trigger animation
                 topPos: '390px',                                   //position from the top
                 fixedPosition: true                               //options: true makes it stick(fixed position) on scroll                 
             });
	
	
});

var animator = {
	showMenu: function(url){
		if(ie7fix) {$('#content').css({'float':'left','width':'565px'});}
		$('#submenucontainer').css({
			'border-right':'#cdcdcd 5px solid'
		});
		$('#submenu').css({'background':currentBackground});
		$('#submenu').html(currentSubmenu);

		$('#topborder').animate({'backgroundColor':currentBackground},500);
		$('#lang .block').animate({'backgroundColor':currentBackground},500);

		$('#submenu ul li a').click(function(event){
			event.preventDefault();
			menuClicked = true;
			if($(this).attr('rel')==27) menuNewsClicked = true; //podstrona aktualności
			animator.toggleSubmenu($(this));
			contentLoader.loadContent($(this).attr('href'));
		});

		$('#submenu ul').css({'margin-top':currentPosition+'px'});
		$('#arrow').css({'margin-top':currentPosition+(currentSubmenuItem*27)+'px'});
		$('#submenucontainer .board').css({'margin-top':currentPosition+(currentSubmenuItem*27)+'px'});
		$('#item'+currentSubmenuItem).css({'background':currentArrow});
		$('#arrow').css({'background':currentArrow});
		
		$('#submenucontainer .board').css({'background':currentArrow});

		$('#middlecolumn .leftborder').animate({'margin-left':'0px'},100,function(){
			$('#middlecolumn').animate({'width':'168px'}, 500);
			$('#submenu').animate({'margin-left':'0px'},500,function(){
				//contentLoader.loadContent(url);
			});
			$('#submenucontainer .board').animate({'margin-left':'0px'},500);
		});
		
		if (startSubpage!=null){
			//alert(startSubpage);
			$('#item'+startSubpage).trigger('click');			
			startSubpage = null;
		}
	},
	hideMenu: function(url){
		$('#submenucontainer .board').animate({'margin-left':'-168px'},500);
		$('#middlecolumn').animate({'width':'0px'}, 500);
		$('#submenu').animate({'margin-left':'-168px'},500,function(){
			$('#middlecolumn .leftborder').animate({'margin-left':'-12px'},100,function(){
//				$('#arrow').hide();
//				$('#middlecolumn .leftborder').animate({'margin-left':'0px'},100);
				//contentLoader.loadContent(url);
				$('#content').css({'padding-left':'4px'});
				$('#submenucontainer').css({
					'border-right':'#cdcdcd 1px solid'
				});
				if (url!==null){
					document.location = url;
				}
			});
		});
	},
	flipMenu: function(url){
		$('#submenucontainer .board').animate({'margin-left':'-168px'},500);
		//alert($('#subcontent'));
		$('#middlecolumn').animate({'width':'0px'}, 500);
		$('#submenu').animate({'margin-left':'-168px'},500,function(){
			$('#middlecolumn .leftborder').animate({'margin-left':'-12px'},100, function(){
				animator.showMenu(url);
				$('#content').css({'padding-left':'0px'});
				$('#submenucontainer').css({
					'border-right':'#cdcdcd 5px solid'
				});
			});
		});
	},
	toggleSubmenu: function(item){
		var ind = parseInt(item.attr('id').substr(4));
		var slide = currentSubmenuItem - ind;
		if (slide>0){
				//przeskok z dołu do góry
			for (var i=0; i<slide; i++){
				setTimeout('animator.slideMenu()',i*140);
			}
		} else if (slide<0) {
			//przeskok z góry na dół
			for (var i=0; i>slide; i--){
				setTimeout('animator.slideMenu2()',Math.abs(i)*140);
			}
		}
		
			
		

		/*var position = basePosition - (ind)*27;
		currentPosition = position;
		$('#arrow').css({'background':'none'});
		$('#submenu ul li a').css({'background':'none'});
		//$('#submenu ul').animate({'margin-top':currentPosition+'px'},300,function(){
			item.css({'background':currentArrow});
			$('#arrow').css({'background':currentArrow});
		//});*/
		
		$('#arrow').css({'background':'none'});
		$('#submenu ul li a').css({'background':'none'});
		//item.css({'background':currentArrow});
		$('#arrow').css({'background':currentArrow});
	},
	slideMenu: function(){
		var currentMargin = parseInt($('#submenu ul').css('margin-top'));
		$('#submenu ul').css({'margin-top':(currentMargin-27)+'px'});
		
		var length = menudata[currentSubpageIndex].submenu.length - 1;
		
		var menuitem = $('#item'+length).parent().clone();
		menuitem.children(':first').attr('id','item0');
		//menuitem.css({'opacity':'0'});
		menuitem.hide();
		menuitem.prependTo($('#submenu ul'));
		menuitem.fadeIn(300);
		$('#item'+length).parent().remove();
		var j = 0;
		$('#submenu ul li a').each(function(){
			$(this).attr('id','item'+j);
			j++;
		});
		
		$('#submenu ul').animate({'margin-top':currentMargin+'px'},100,function(){animator.updateSubmenu();});

		var newSubmenu = [];
		newSubmenu[0] = menudata[currentSubpageIndex].submenu[length];
		for (var i=1; i<=length; i++){
			newSubmenu[i] = menudata[currentSubpageIndex].submenu[i-1];
		}
		menudata[currentSubpageIndex].submenu = newSubmenu;
		//alert(newSubmenu.length);

		$('#submenu ul li a').click(function(event){
			event.preventDefault();
			menuClicked = true;
			if($(this).attr('rel')==27) menuNewsClicked = true; //podstrona aktualności
			animator.toggleSubmenu($(this));
			contentLoader.loadContent($(this).attr('href'));
			$('#content').scrollTop(0);
		});
		
	},
	slideMenu2: function(){
		var currentMargin = parseInt($('#submenu ul').css('margin-top'));
		$('#submenu ul').css({'margin-top':(currentMargin+27)+'px'});

		var length = menudata[currentSubpageIndex].submenu.length - 1;
		var menuitem = $('#item0').parent().clone();
		menuitem.children(':first').attr('id','item0');
		//menuitem.css({'opacity':'0'});
		menuitem.hide();
		menuitem.appendTo($('#submenu ul'));
		menuitem.fadeIn(300);
		$('#item0').parent().remove();
		var j = 0;
		$('#submenu ul li a').each(function(){
			$(this).attr('id','item'+j);
			j++;
		});

		$('#submenu ul').animate({'margin-top':currentMargin+'px'},500,function(){animator.updateSubmenu();});

		var newSubmenu = [];
		newSubmenu[length] = menudata[currentSubpageIndex].submenu[0];
		for (var i=length; i>0; i--){
			newSubmenu[i-1] = menudata[currentSubpageIndex].submenu[i];
		}
		menudata[currentSubpageIndex].submenu = newSubmenu;

		$('#submenu ul li a').click(function(event){
			event.preventDefault();
			menuClicked = true;
			if($(this).attr('rel')==27) menuNewsClicked = true; //podstrona aktualności
			animator.toggleSubmenu($(this));
			contentLoader.loadContent($(this).attr('href'));
		});
		
		
	},
	updateSubmenu:function(){
		var submenu = menudata[currentSubpageIndex].submenu;
			//contentLoader.loadContent(submenu[menudata[currentSubpageIndex].def].link);
			var html = '<ul>';
			for (var i in submenu){
				var item = submenu[i];
				html += '<li><a href="'+item.link+'" id="item'+i+'">'+item.label+'</a></li>';
			}
			html += '</ul>';
			currentSubmenu = html;
			$('#submenu').html(currentSubmenu);
			$('#submenu ul li a').click(function(event){
				event.preventDefault();
				menuClicked = true;
				if($(this).attr('rel')==27) menuNewsClicked = true; //podstrona aktualności
				animator.toggleSubmenu($(this));
				contentLoader.loadContent($(this).attr('href'));
			});
			$('#submenu ul').css({'margin-top':currentPosition+'px'});
			updateHeights();
	}
}

var contentLoader = {
	loadContent: function(url, nohash){
		if (url==siteUrl+'/' || url==siteUrl+'/en/'){
			document.location = url;
		}
		//if(directLoad.join().indexOf(url)!=-1){
			//document.location = url;
		//}
		$('#content').html('<div class="spinner"></div>');
		$('#content .spinner').fadeIn(500);
		//alert('start: '+url);
		//analytics
		_gaq.push(['_trackPageview', url]);
		
		$.ajax({
			url: url,
			data: {ajax:true},
			success: function(response){
				$('#content').html(response);
				$('#subcontent').fadeIn(300);
				updateHeights();
				//alert('end: '+url);
				document.location = '#!'+url;
				
			}
		});
	}
}


function gup( name, address )
{
	name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	var regexS = "[\\?&]"+name+"=([^&#]*)";
	var regex = new RegExp( regexS );
	var results = '';
	if(address)
		results = regex.exec( address );
	else
		results = regex.exec( window.location.href );
	if( results == null )
		return "";
	else
		return results[1];
}

