(function($){
    $.fn.removeOrphans = function(){
    	return this.each(function(i) {
	        if($(this).length > 0) {
	            var $html = $(this).html();
	            $html = $html.replace(/(\s)([\S])[\s]+/g, "$1$2&nbsp;");
	             $(this).empty().html($html);
	        }
 		});
    }
})(jQuery);


//general
Cufon.replace('.content h1', {fontFamily: 'PF Black'});
Cufon.replace('.content h2', {fontFamily: 'Politica Light'});
Cufon.replace('.content h3', {fontFamily: 'Politica Light'});

//header
Cufon.replace('.top .mainMenu ul li a span', {fontFamily: 'Politica'});


// footer
Cufon.replace('.footer h3', {fontFamily: 'Politica Light'});
Cufon.replace('.footer .menu ul li a span', {fontFamily: 'Politica'});

//portfolio
Cufon.replace('.portfolioDetailsText h1', {fontFamily: 'Politica Light'});
Cufon.replace('.portfolioDetailsText .projectInfo ul li strong ', {fontFamily: 'Politica'});
Cufon.replace('.portfolioDetailsText .projectInfo ul li span', {fontFamily: 'Politica'});
Cufon.replace('.portfolioDetailsText .projectInfo ul li a', {fontFamily: 'Politica'});

//uslugi
Cufon.replace('.servicesInfo h3, .servicesInfo h4', {fontFamily: 'Politica'});
Cufon.replace('.servicesMenu ul li a span', {fontFamily: 'Politica'});

//kontakt
Cufon.replace('.contactPerson h4', {fontFamily: 'Politica'});

//about
Cufon.replace('.staffDetails h3', {fontFamily: 'Politica'});
Cufon.replace('.staffDetails .postion', {fontFamily: 'Politica Light'});

//home
Cufon.replace('.content span.day', {fontFamily: 'Politica Light'});

$(document).ready(function(){     
	
	$('.wysiwyg, .servicesInfo, .portfolioDescription, .aboutCompanyText, .raportContent').removeOrphans();
	
	function checkCareerUrl(){
		var url = document.location.href.split('#')[1];
		if (url == 'kariera') {
			$('#menu-o-nas').removeClass('current-menu-item');
			$('#menu-kariera').addClass('current-menu-item');
		}
		if (url == 'karriere') {
			$('#menu-uber-uns').removeClass('current-menu-item');
			$('#menu-karriere').addClass('current-menu-item');
		}
		if (url == 'career') {
			$('#menu-about-us').removeClass('current-menu-item');
			$('#menu-career').addClass('current-menu-item');
		}
		Cufon.refresh('.top .mainMenu ul li a span');
	}
	checkCareerUrl();
	
	function checkPortfolioUrl(){
		var url = document.location.href;
		if ( url.search('portfolio') > 0 ) {
			$('#menu-portfolio').addClass('current-menu-item');
			Cufon.refresh('.top .mainMenu ul li a span');
		}
	}
	checkPortfolioUrl();	
	
	$('#menu-kariera, #menu-karriere, #menu-career').click(function(){checkCareerUrl();}); 	

	$(".top .langMenu ul").hover(
		function(){
			$(this).addClass('hover');
		},
		function(){
			$(this).removeClass('hover');
		}
	);
	
	
	$(".galleryScrollBox a").fancybox({
		'titleShow'     	: false,
		'transitionIn'		: 'elastic',
		'transitionOut'		: 'elastic',
		'easingIn'      	: 'easeOutBack',
		'easingOut'     	: 'easeInBack',
		'centerOnScroll'	: true,
		'showCloseButton'	: false,
		'padding'			: 0,
		'overlayOpacity'	: 0.85,
		'overlayColor'		: '#121212'
	});
	
	// about us scroller
	galleryActiveItem = 1;            
	    
	var galleryContenerLenght = $(".content .galleryScroll").width();
	var galleryButtonsLenght = $(".content .galleryScroll .scrollButtons").width();
	var galleryScrollCountItem = ( $('.content .galleryList ul').length ) - 1;
	var galleryLenghtItem = ( ( galleryContenerLenght - galleryButtonsLenght ) / galleryScrollCountItem );
	
	$(".galleryScroll span.next").click(function() {
    	$(".galleryScroll span").removeClass('disabled');  
    	if( galleryActiveItem < $('.content .galleryList ul').length ){    
      		galleryActiveItem++;
      		getNextGallery(galleryActiveItem); 
      		$(".content .galleryScroll .scrollButtons").animate({
					left: (galleryLenghtItem*(galleryActiveItem-1))+'px'
				},
      			500,
        		function() {
          			if(galleryActiveItem==$('.content .galleryList ul').length){$(".galleryScroll span.next").addClass('disabled');}
        		}
      		);
    	}
	});
  
  	$(".galleryScroll span.prev").click(function() {
    	$(".galleryScroll span").removeClass('disabled'); 
    	$('.content .galleryScrollBox').children().stop(true, true);
    	if( galleryActiveItem > 1 ){    
      		galleryActiveItem--;
      		getPrevGallery(galleryActiveItem);
      		$(".content .galleryScroll .scrollButtons").animate({
					left: (galleryLenghtItem*(galleryActiveItem-1))+'px'
				},
				500,
        		function() {
          			if(galleryActiveItem==1){$(".galleryScroll span.prev").addClass('disabled');}
        		}  
      		);
			
    	}
  	});

  	function getNextGallery(index){
	    $('.content .galleryScrollBox ul').animate({left: '471px'}, 500,
			function() {
	      		var newDetails = $('.content .galleryList ul:eq('+(index-1)+')').html();
	       	 	$('.content .galleryScrollBox ul').html(newDetails).css('left', '-471px').animate({left: '0px'}, 500);
				$('.galleryScrollBox ul').masonry( 'reload' );
				$('.galleryScrollBox ul a').attr('rel','group').fancybox({
					'titleShow'     	: false,
					'transitionIn'		: 'elastic',
					'transitionOut'		: 'elastic',
					'easingIn'      	: 'easeOutBack',
					'easingOut'     	: 'easeInBack',
					'centerOnScroll'	: true,
					'showCloseButton'	: false,
					'padding'			: 0,
					'overlayOpacity'	: 0.85,
					'overlayColor'		: '#121212'
				});
			}    
		);
  	}
  
  	function getPrevGallery(index){
    	$('.content .galleryScrollBox ul').animate({left: '-471px'}, 500,
      		function() {
		        var newDetails = $('.content .galleryList ul:eq('+(index-1)+')').html();
		        $('.content .galleryScrollBox ul').html(newDetails).css('left', '471px').animate({left: '0px'}, 500);
				$('.galleryScrollBox ul').masonry( 'reload' );
		        $('.galleryScrollBox ul a').attr('rel','group').fancybox({
					'titleShow'     	: false,
					'transitionIn'		: 'elastic',
					'transitionOut'		: 'elastic',
					'easingIn'      	: 'easeOutBack',
					'easingOut'     	: 'easeInBack',
					'centerOnScroll'	: true,
					'showCloseButton'	: false,
					'padding'			: 0,
					'overlayOpacity'	: 0.85,
					'overlayColor'		: '#121212'
				});
     		}    
    	);
	}   	
	// end gallery scroller		
	
  // main page banner slider  
	$('.mainPageBannerContener').slides({
  		fadeSpeed: 300,
		play: 4000,
		pause: 0,
		hoverPause: true,
		effect: 'fade',
		prev: 'prev',
		next: 'next'
	});
	
	if( $('.mainPageBannerContener .slideBox').length < 2 ){
		$('.mainPageBannerContener .next, .mainPageBannerContener .prev').hide();			
	}
	// end main page banner slider  
	
	// main menu
 /* $(".top .mainMenu > ul > li").hover(
    function () {
      if($(this).find('.subMenuText').length>0){
        $(this).addClass('hover');
        $(this).find('.subMenuText').clone().appendTo('.subMenuContener .subMenuContent .subMenuContentText');
        $('.subMenuContener').show();
      }
    }, 
    function (e) {
      var tempElement = $(e.relatedTarget);
      if(tempElement.parents('.subMenuContener').hasClass('subMenuContener')){return false;}
            
      $(this).removeClass('hover');
      $('.subMenuContener').hide();
      $('.subMenuContener .subMenuContent .subMenuContentText').empty();
    }
  );
  
  $(".subMenuContener").hover(
    function () {
    }, 
    function () {
      $(".top .mainMenu > ul > li").removeClass('hover');
      $(this).hide();
      $(this).find('.subMenuContentText').empty();
    }
  );
	*/
  // end main menu

  
	/*$(".top .mainMenu > ul > li").hover(
	    function () {
	    	$(this).addClass('hover');
	    }, 
	    function () {
	      $(".top .mainMenu > ul > li").removeClass('hover');
	    }
	);*/



//news
	$('.mainPageNews .itemList li').hover(
		function () {	
			$(this).find('.newsHover').fadeIn();
			//$(this).addClass('hover');
		},
		function (e) {
			$(this).find('.newsHover').fadeOut('fast');
			//$(this).removeClass('hover');
		}
	);

//end news


  // clients
	$('.content .clientsContent ul.itemList .about').hover(
		function () {
			var offset = $(this).parent().offset();
			
			$('.clientHoverContener').css({'top' : offset.top});
			$('.clientHoverContener .clientHoverColor').animate({'left' : offset.left}, 200);
			 
			$(this).animate({opacity: 1.0});
			$('.clientHoverContener').show();
		},
		function (e) {
			var tempElement = $(e.relatedTarget);
			$(this).animate({opacity: 0.0}, 200);
			  
			$('.clientHoverContener').hide();
		}
	);
	
	$('.clientsContent ul.itemList li:nth-child(3n+1)').addClass('first');
	$('.clientsContent ul.itemList li:nth-child(3n+2)').addClass('center');
	$('.clientsContent ul.itemList li:nth-child(3n+3)').addClass('last');

	// end clients
               
	// about us scroller
	staffScrollActiveItem = 1;            
	stopSlideStaff = false;            
	    
	var scrollContenerLenght = $(".content .staffScroll").width();
	var scrollButtonsLenght = $(".content .staffScroll .scrollButtons").width();
	var scrollCountItem = ($('.content .staffList ul li').length)-1;
	var scrollLenghtItem = ((scrollContenerLenght-scrollButtonsLenght)/scrollCountItem);
     
	$(".staffScroll span.next").click(function() {
    	$(".staffScroll span").removeClass('disabled');  
    	if(staffScrollActiveItem<$('.content .staffList ul li').length){    
      		staffScrollActiveItem++;
      		getNextPerons(staffScrollActiveItem);               
      		$(".content .staffScroll .scrollButtons").animate({
					left: (scrollLenghtItem*(staffScrollActiveItem-1))+'px'
				},
      			500,
        		function() {
					Cufon.refresh('.staffDetails h3');
					Cufon.refresh('.staffDetails .postion');
          			if(staffScrollActiveItem==$('.content .staffList ul li').length){$(".staffScroll span.next").addClass('disabled');}
        		}
      		);
    	}
		stopSlideStaff = true;
	});
  
  	$(".staffScroll span.prev").click(function() {
    	$(".staffScroll span").removeClass('disabled'); 
    	$('.staffDetails').children().stop(true, true);
    	if(staffScrollActiveItem>1){    
      		staffScrollActiveItem--;
      		getPrevPerons(staffScrollActiveItem);
      		$(".content .staffScroll .scrollButtons").animate({
					left: (scrollLenghtItem*(staffScrollActiveItem-1))+'px'
				},
				500,
        		function() {
          			if(staffScrollActiveItem==1){$(".staffScroll span.prev").addClass('disabled');}
        		}  
      		);
    	}
		stopSlideStaff = true;
  	});

  	function getNextPerons(index){
	    $('.staffDetails img').animate({left: '442px'}, 500);
    	setTimeout( function(){
	    		$('.staffDetails h3').animate({left: '442px'}, 500);
	    }, 50);
	    setTimeout( function(){
		    $('.staffDetails .postion').animate({left: '442px'}, 500,
				function() {
		      		var newDetails = $('.content .staffList ul li:eq('+(index-1)+')').html();
		       	 	$('.staffDetails').html(newDetails);
		            $('.staffDetails').children().css('left', '-442px');
					setTimeout( function(){
						$('.staffDetails img').animate({left: '0px'}, 500);
					}, 50);
			        setTimeout( function(){
			        	$('.staffDetails h3').animate({left: '0px'}, 500);
			        }, 100);
			        setTimeout( function(){
			        	$('.staffDetails .postion').animate({left: '0px'}, 500);
					}, 150);
					Cufon.refresh('.staffDetails h3');
					Cufon.refresh('.staffDetails .postion');
			}    
		);
		}, 100);
  	}
  
  	function getPrevPerons(index){
    	$('.staffDetails img').animate({left: '-442px'}, 500);
    	weit(50);
    	$('.staffDetails h3').animate({left: '-442px'}, 500);
	    weit(50);   
	    $('.staffDetails .postion').animate({left: '-442px'}, 500,
      		function() {
		        var newDetails = $('.content .staffList ul li:eq('+(index-1)+')').html();
		        $('.staffDetails').html(newDetails);
		        $('.staffDetails').children().css('left', '442px');
		        $('.staffDetails img').animate({left: '0px'}, 500);
		        weit(50);
		        $('.staffDetails h3').animate({left: '0px'}, 500);
		        weit(50);
		        $('.staffDetails .postion').animate({left: '0px'}, 500);
				Cufon.refresh('.staffDetails h3');
				Cufon.refresh('.staffDetails .postion');
     		}    
    	);
	}   
	
	function slideStaff() {
		if( !stopSlideStaff ){
			$(".staffScroll span").removeClass('disabled');  
			if( staffScrollActiveItem < $('.content .staffList ul li').length ){
				staffScrollActiveItem++;
				getNextPerons(staffScrollActiveItem);
				$(".content .staffScroll .scrollButtons").animate({
						left: (scrollLenghtItem*(staffScrollActiveItem-1))+'px'
					},
					500,
					function() {
						Cufon.refresh('.staffDetails h3');
						Cufon.refresh('.staffDetails .postion');
						if(staffScrollActiveItem==$('.content .staffList ul li').length){$(".staffScroll span.next").addClass('disabled');}
					}
				);
			} else {
				staffScrollActiveItem = 1;
			}
		}
	}
	
	setInterval ( function(){ slideStaff(); } , 7000 );
	
/*
	$( "#staffSlider" ).slider({
		min: 1,
		max: $('.content .staffList ul li').length,
		
		slide: function( event, ui ) {
			staffScrollActiveItem = ui.value;
			//console.log(ui.value);
			getNextPerons(staffScrollActiveItem);               
      		$(".content .staffScroll .scrollButtons").animate({
					left: (scrollLenghtItem*(staffScrollActiveItem-1))+'px'
				},
      			500,
        		function() {
					Cufon.refresh('.staffDetails h3');
					Cufon.refresh('.staffDetails .postion');
          			if(staffScrollActiveItem==$('.content .staffList ul li').length){$(".staffScroll span.next").addClass('disabled');}
        		}
      		);
			
			//$( "#tabs" ).tabs( "select", ui.value );
		}
	});*/

  	// end about us scroller
  
  	// carrier floating                     
	$('.carrierFloating').makeFloat({x:0,y:0});
  	// end carrier floating                  

  	// center algin pagination
  	if($(".pagination").length>0){
    	var contenerWidth = $(".pagination").outerWidth();                                                                                                                                                                    
              
	    var liList = $(".pagination ul li");
	    var liWidth = 0;
	    liList.each(function() {
	      	liWidth += $(this).outerWidth();     
	    });   
                 
    	$(".pagination .paginationFixPadding").css({'padding-left' : (contenerWidth-liWidth)/2}); 
	}
  	// end center algin pagination
              
	$('input[placeholder], textarea[placeholder]').placeholder();	
	
	//split menu
	$.fn.splitMenu = function( fit ) {
		this.each(function(i) {

			var $list = $(this);
						
			var listWidth = $list.outerWidth();
			var sumWidth = 0;
			
			if( fit == 'fit' ){
			
				/* fit to container */
			
				var j = 0, currentWidth = 0, listArr = [];
				
				$list.children().each(function(index){		
					currentWidth += $(this).outerWidth();
					if( currentWidth > listWidth-30 ){
						currentWidth = $(this).outerWidth();
						j++;
					}
					
					if( typeof listArr[j] == 'undefined' ){
						listArr[j] = [];
					}
					
					listArr[j].push($(this));
					
				});
								
				var splitList = [];
				
				for( j = 0; j < listArr.length; j++ ){
					splitList[j] = $('<ul></ul>');

					for( k = 0; k < listArr[j].length; k++ ){
						splitList[j].append(listArr[j][k]);
					}
					$list.before(splitList[j]);
				}
				
				
				for( k = 0; k < splitList.length; k++ ){
					$this = $(splitList[k]);
					
					if( k+1 == splitList.length ){
						$this.addClass('subMenuDown');
					}else{
						$this.addClass('subMenu');
					}
					
					$this.find('li:first-child').addClass('first');
					$this.find('li:last-child').addClass('last');					
				}

				$(splitList[0]).attr('id', $list.attr('id') );
						
				$list.remove();
			
			} else {
			
				/* split on half */
				
				$list.children().each(function(){		
					sumWidth += $(this).outerWidth();
				});
					
				if( listWidth < sumWidth ){
					var size = Math.ceil($list.children().length/2);
					var current_size = 0;
					$list.children().each(function() {
						if ( ++current_size > size) {
							var new_list = $('<ul class="subMenuDown"></ul>').insertAfter($list);
							$list = new_list;
							current_size = 1;
						}
						$list.append(this);
					});
					
					$('ul.subMenu li:first-child').addClass('first');
					$('ul.subMenu li:last-child').addClass('last');
					
					$('ul.subMenuDown li:first-child').addClass('first');
					$('ul.subMenuDown li:last-child').addClass('last');
				}
				
			}
		});
	};
	
	//end split menu
	
	$("ul#careerNavList").splitMenu('fit');
	$("#portfolioMenu ul").splitMenu();

	//career tabs
	$('.careerMain .subMenu li a, .careerMain .subMenuDown li a').click(function () {
		var id = $('.careerMain .subMenu li a, .careerMain .subMenuDown li a').index($(this));

		$('.careerMain .subMenu li, .careerMain .subMenuDown li').removeClass('active');

		$(this).parent().addClass('active');
		$('.careerList .post').hide().eq(id).show();
		
		return true;
	});
	//.eq(0).click()
	
	var career = document.location.href.split('#')[1];
	
	if( career == '' || career == 'kariera' || career == 'karriere' || career == 'career' ){
		$('.careerMain li:first a').click();
	} else {
		$('.careerMain li a[href="#'+career+'"]').click();
	}

	
	
	
	//end career tabs
	
	
// validate comment form
	$('#commentform').validate({
		rules: {
			author: "required",
			email: {
				required: true,
				email: true
			},
			comment: "required"
		},
		messages: {
			author: "Podaj imię / nazwisko",
			email: "Podaj adres e-mail",
			comment: "Podaj treść komentarza"
		}
	});
	
// validate contact form
	$('#contactform').validate({
		rules: {
			'formData[name]': "required",
			'formData[email]': {
				required: true,
				email: true
			},
			'formData[phone]': "required",
			'formData[message]': "required"
		}
	});	
	
	$('#raportform').jqTransform();
	
// validate raport form
	
	$('#raportform').validate({
		rules: {
			'formData[first_name]': "required",
			'formData[last_name]': "required",
			'formData[email]': {
				required: true,
				email: true
			},
			'formData[phone]': "required",
			'formData[company_name]': "required",
			'formData[position_in_company]': "required",
			'formData[employees_number]': "required",
			'formData[marketing_services]': "required",
			'formData[privacy_policy]': "required"
		}
	});	

	$(".input input[type=text]").hover(
	    function () {
	    	$(this).parent().find('.inputBgHover').animate({'opacity':1},300);
	    }, 
	    function () {
      		$(this).parent().find('.inputBgHover').animate({'opacity':0},300);
	    }
	);
	
	$(".input input[type=text]").focus(
	    function () {
	    	$(this).parent().find('.inputBgFocus').animate({'opacity':1},300);
	    }); 
	$(".input input[type=text]").focusout(
		function () {
      		$(this).parent().find('.inputBgFocus').animate({'opacity':0},300);
	    }
	);
	
	$(".textarea textarea").hover(
	    function () {
	    	$(this).parent().find('.textareaBgHover').animate({'opacity':1},300);
	    }, 
	    function () {
      		$(this).parent().find('.textareaBgHover').animate({'opacity':0},300);
	    }
	);
	
	$(".textarea textarea").focus(
	    function () {
	    	$(this).parent().find('.textareaBgFocus').animate({'opacity':1},300);
	    }); 
	$(".textarea textarea").focusout(
		function () {
      		$(this).parent().find('.textareaBgFocus').animate({'opacity':0},300);
	    }
	);


	$(".socilaBox li").hover(
	    function () {
	    	$(this).animate({backgroundPosition:"(37px 50%)"},300);
	    }, 
	    function () {
      		$(this).animate({backgroundPosition:"(-102px 50%)"},300);
	    }
	);

	jQuery.extend( jQuery.easing, {
		 def: 'easeInOutExpo',
	 	 easeInOutExpo: function (x, t, b, c, d) {
	  		if (t==0) return b;
	 		if (t==d) return b+c;
	    	if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
	  		return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
	  	}
	});


/*
	$('.portfolioMain .subMenu li a, .portfolioMain .subMenuDown li a').click(function () {
		var category = $(this).attr('href').substring($(this).attr('href').lastIndexOf('#') + 1);

		$('.portfolioMain .subMenu li, .portfolioMain .subMenuDown li').removeClass('active');

		$(this).parent().addClass('active');
		

		$('.portfolioMain .portfolioItem').fadeOut();
		$('.portfolioMain .portfolioItem.'+category).fadeIn();
		
		
	});

	var category = document.location.href.substring(document.location.href.lastIndexOf('#') + 1);

	$('.portfolioMain .subMenu li a[href="#'+category+'"], .portfolioMain .subMenuDown li a[href="#'+category+'"]').click();
			*/

	$('.mainMenu ul').slidingMenu();
	$('.servicesMenu ul').slidingMenu();
	
	
	setTimeout(function () {
		$('.galleryScrollBox ul').masonry({
			itemSelector : 'li'
		});
	},1000);
	
});


function weit(millis)
{
	var date = new Date();
	var curDate = null;
  
	do { curDate = new Date(); }
	while(curDate-date < millis);
}
