var mapImg	=	new Image(),
	mapUrl= '',
	g_mapa,
	g_dymek,
	firstSelect,
	main	= {
	sfConfig : {
		autoArrows	: 	false,
		speed		: 	150,
		animation	: 	{height:'show'}
	},
	cycleConfig : {
		fx		: 	'scrollLeft',
		pause	: 	true
	},
	slidesConfig: {	
		speed   :   '400',
		fx		: 	'scrollLeft',
		pager	:  	'#slide-nav',
		pause   :  	true,
		timeout :   12000
	},
	fileInputConfig: {
		image	: '/_cutting/static/images/form-container.input.file.png',
		imageheight: 29,
		imagewidth: 74,
		width	: 172
	},
    init: function() {
        if($('form').length > 0)
            this.formHelper();

        if ($('.cms-gallery').size() > 0)
            this.enableFancybox($('.cms-gallery'));
 
		$("#nav ul:first").superfish(this.sfConfig); 
		
		this.enableSliders();
		this.enableGallery();
		this.cssFixes();
		this.toggling();
		firstSelect=  $('.select-1').html();


		$('#head form, .form-container form').jqTransform();
		
		if ($('input[type="file"]').length > 0) {
			$('input[type="file"]').filestyle(this.fileInputConfig);
		}
		
		
		if ($('#map-canvas').size() > 0){
			g_dymek = new google.maps.InfoWindow();
		    this.mapsInit();
		}
		
		if ($('#mapa').length > 0)
			this.mapInit();
			
		
		
		
    },
	toggling : function(){
		var $container= $('#content .toggling');
		var accordion = true;
		if ($container.length > 0){
			$('ul',$container).accordion({
				header: '.header',
				autoHeight: false,
				navigation: true
			});
			
		}
	},
    mapInit: function(){
		mapUrl=  $('#pl').css('background-image').replace(/"/g,"").replace(/url\(|\)$/ig, "");
		$(mapImg).load(function(){
			$('#loader').fadeOut();
			$('#mapa').find('li').fadeIn(); 
			$('#pl').find('a').prepend('<span class="map" />');
			
   			for(var i=1;i<11;i++){
				$('#pl .map').append('<span class="s'+i+'" />');
			}
   			if($('#mapa').hasClass('tooltip')){
				$('#pl').find('li').each(function(){
					var tooltipName=$(this).children('a').text(); 
					var tooltipLeft=$('.tt').outerWidth()/-2; 
					var tooltipTop=$('.tt').outerHeight()/-2; 
					
					$(this).append('<span class="tt">'+tooltipName+'</span>'); 
					
					$('.tt').css({'display':'none','margin-left':tooltipLeft,'margin-top':tooltipTop});
				});
				$('#pl li').hover(
					function(){
						$(this).children(".tt:visible").hide(); 
						$(this).children(".tt").show(); 
						$(this).children("a").removeAttr('title');
					},function(){
						$(this).children(".tt").hide();});
					}}).error(function(){
						$('#loader').text('Brak mapy!');
						$('#pl span').hide(); 
						$('#mapa,#pl').css({'height':'auto','left':'0','margin':'0 auto'});
					}).attr('src',mapUrl);
					
  				var loaderPos=$('#loader').outerWidth()/-2; 
				$('#loader').css('margin-left',loaderPos);
				
				
				
				
				
				
  				$('#pl').find('li').live('click',function(e,triggered){			
					
					var provId= $(this).attr('id');
						
						
					e.preventDefault();
					
					
	
					var $select2= $('.select-1');
					
					var emptySelect= '<select id="c-subject" name="c_subject"></select>';
					$select2.attr('class','select-1');
					var selectHTML= $('.jqTransformSelectWrapper select',$select2).removeClass('jqTransformHidden').clone();
					
					if (typeof triggered == 'undefined' || triggered == 'form-click'){
						$('#pl .active').removeClass('active');
						$(this).addClass('active');
						
				
						$select2.html(emptySelect);
						var newOption= $('.select-2 select option[value='+provId+']').clone();					
						$('select',$select2).prepend(newOption).val(provId);
						
					}
					else {
						$('#pl .active').removeClass('active');
						$select2.html(firstSelect);
					}
					
					
					

					$('.select-2 .jqTransformHidden').removeClass('jqTransformHidden').prev('ul').remove();
					$select2.jqTransform();
			
				});
				$(document).bind('click', function(e,triggered){
					$target = $(e.target);
			
					if (typeof triggered == 'undefined'){
						if ($target.is('button') || $target.is('input') || $target.is('select') || $target.is('textarea') || $target.is('.field') || $target.is('ul') || $target.is('span')) {
					
						}
						else {
							$('#pl li:first').trigger('click',1);
						}
					}

				});
				
				if (selectedProvince)
					$('#pl #pl'+selectedProvince).trigger('click','form-click');
    },
	mapsInit: function(){
	       var _lat	=	52.234613,
	           _lng	=	21.149211, 
	           myLatlng = new google.maps.LatLng(_lat,_lng),
			   markerText = '',
	           opcjeMapy = {
	            zoom: 15,
	            center: myLatlng,
		    mapTypeId: google.maps.MapTypeId.ROADMAP,
	            disableDefaultUI: true,
	            navigationControl: true
		};

	        g_mapa = new google.maps.Map(document.getElementById("map-canvas"), opcjeMapy);
	        var marker = this.mapsDodajMarker(_lat,_lng,markerText);
	        google.maps.event.trigger(marker, 'click');
	    },
	    mapsDodajMarker: function(lat,lng,txt){
	        var opcjeMarkera = {
	            position: new google.maps.LatLng(lat,lng),
		    map: g_mapa
		}
	        var marker = new google.maps.Marker(opcjeMarkera);

	        marker.txt=txt;
	        google.maps.event.addListener(marker,"click",function(){

	               g_dymek.setContent(marker.txt);
	               g_dymek.open(g_mapa,marker);
	        });
	        return marker;
	    },
	cssFixes: function(){
		$('.pagination li:last-child').addClass('last-child');
		$('li a.active').append('<span class="bgTop"/><span class="bgBottom"/>');
		$('li.siteimpulse a:first').attr('target','_blank');
		
		
		var $list= $('.full-news-list .news');

		if ($list.length > 0 ){
			$list.each(function(){
				var $this= $(this);
				if ($('dt a',$this).height() > 18){
					$('dd.thumb',$this).css('top','80px');
					$('dd.details',$this).css('padding-bottom','15px');
				}
			 
			});
		}
		
		if ($('div[style*="text-align: center"]').length > 0){
			$('div[style*="text-align: center"] img').css('float','none').css('margin-left','auto').css('margin-right','auto');
		}
		if ($('center').length > 0){
			$('center img').css('float','none').css('margin-left','auto').css('margin-right','auto');
		}
		
		
	},
	enableGallery: function(){
		var $container	= 	$('#content .gallery');
		var rand 		= 	Math.floor(Math.random()*11);
		
		if ($('img.art-image').length> 0){
			$('img.art-image').parent().addClass('isFancy').addClass('isTiptip').attr('rel','gallery-0'+rand);
		}
		if ($container.length > 0){		
			var _maxHeight	= 	$('li',$container).height();
				
			$('li',$container).each(function(){
				
				if ($(this).height() >_maxHeight )
					_maxHeight= $(this).height();
				
			});
			$('li',$container).each(function(){
				var $a		= 	$('a',$(this)),
					_height	= 	$a.height(),
					temp 	=	0;
				
				temp= _maxHeight - _height;
				if (temp > 0) $a.css('margin-top',temp);
				
				$a.attr('rel','gallery-0'+rand).append('<span class="hover" />');
				$a.addClass('isFancy').addClass('isTiptip');
				
			});
			$('li',$container).height(_maxHeight);
			
			
		}
		$('a.isFancy').fancybox({
				'transitionIn'	:	'elastic',
				'transitionOut'	:	'elastic',
				'overlayShow'	:	false				
		});
		$('a.isTiptip').tipTip();
	},
	enableSliders: function(){
		var $clients	= 	$('.clients ul li'),
			$slides 	= 	$('#slider .slides .slide');
		
		if ($clients.length > 0)
     		$clients.parent().cycle(this.cycleConfig);

		if ($slides.length > 0)
			$slides.parent().after('<div id="slide-nav"></div>').cycle(this.slidesConfig);
		
		var n=0;
		$('#slide-nav a').each(function(){
			$(this).text($('#slider .slide:eq('+n+') h3').text());
			n++;
		});
		
		$slides.each(function(){
			
			var linkHref= $('a:first',$(this)).attr('href');
			
			
			$(this).append('<a class="mask-link" href="'+linkHref+'"></a>');
			
		});
	},
    enableFancybox: function(container){
        $('a', container).fancybox({
            'padding': 0,
            'titleShow': false,
            'transitionIn'	: 'elastic',
            'transitionOut'	: 'elastic'
        });
    },
    formHelper: function() {
        $('input, textarea').each(function() {
            var default_value = this.value;
            $(this).focus(function() {
                this.value = (this.value == default_value)? ''  : this.value;
            });
            $(this).blur(function() {
                this.value= (this.value== '') ? default_value   : this.value;
            });
        });
    }
}
$(document).ready(function() {
    main.init();

    
});
