$(function() {
	Cufon.replace('span.jezyk', {
		hover : true
	});
    Cufon.replace('#nawigacja > ul > li', {hover:true, hoverables: { li: true, a: true }, ignore: { ul: true }});
	Cufon.replace('.podstrona h2, #kontakt-modal h2, #kontakt-modal #wybor a, #dane-kontaktowe h4, #dane-kontaktowe h5');
	Cufon.replace('.podstrona h3', {hover:true});
	Cufon.replace('.podstrona > small');
	Cufon.replace('#malaNawigacja small');
	Cufon.replace('.numer h3');

// nawigacja


	$('#nawigacja li').hover(
		function() {
			$('ul', this).css('display','none').slideDown(200);
		}, function() {
			$('ul', this).css('display','block').slideUp(200);
	});
	
// jak dojechac

	$('#jakDojechac').hover(function() {
		$('#jakDojechac span').animate({
			top: 30
		}, 200, 'swing', function(){$('#jakDojechac span').animate({top:50},100, 'swing');});
		
		$('a.mapa, #jakDojechac h2').animate({
			opacity: 0.4
		}, 200);
	}, function() {
		$('#jakDojechac span').animate({
			top: 30
		}, 200, 'swing', function(){$('#jakDojechac span').animate({top:150},100, 'swing');});
	
		$('a.mapa, #jakDojechac h2').animate({
			opacity: 1
		}, 200);
	
	});
	
// szybki kontakt

	$('#szybkiKontakt').hover(function() {
		$('#szybkiKontakt span').animate({
			top: 30
		}, 200, 'swing', function(){$('#szybkiKontakt span').animate({top:50},100, 'swing');});
		
		$('a.kontakt-modal, #szybkiKontakt h2, #szybkiKontakt p').animate({
			opacity: 0.4
		}, 200);
	}, function() {
		$('#szybkiKontakt span').animate({
			top: 30
		}, 200, 'swing', function(){$('#szybkiKontakt span').animate({top:150},100, 'swing');});
	
		$('a.kontakt-modal, #szybkiKontakt h2, #szybkiKontakt p').animate({
			opacity: 1
		}, 200);
	
	});
	
// mapa
	//54.440698,18.552378

	   
		
	$('#warstwa').css('opacity','0');
	var mapShown = false;
	function showMap() {
		mapShown = true;
		$('#warstwa').css('display','block').animate({opacity: 1});
		$('#mapa').css('display','block').animate({opacity: 1});
		if (contactShown) {
			$('#kontakt-modal').css('display','none');
		}
		 var latlng_biuroStare = new google.maps.LatLng(54.440558,18.552378);
		 var latlng_biuroNowe = new google.maps.LatLng(54.44101,18.552711);
	      var myOptions = {
	        zoom: 13,
	        center: latlng_biuroStare,
	        scaleControl: true,
	        mapTypeControl: false,
	        navigationControl: true,
	        scaleControl: false,
	        disableDefaultUI: true,
	        mapTypeId: google.maps.MapTypeId.ROADMAP
	      };
	      var map = new google.maps.Map(document.getElementById("mapa_pane"),
	          myOptions);
	      
	      var marker_stare = new google.maps.Marker({
	          position: latlng_biuroStare,
	          map: map,
	          title:"Żelaznowski & Głowiński. Kancelaria radców prawnych"
	      });
	      var marker_nowe = new google.maps.Marker({
	    	  position: latlng_biuroNowe,
	    	  map: map,
	    	  title:"Żelaznowski & Głowiński. Kancelaria radców prawnych"
	      });

	  var infowindow = new google.maps.InfoWindow({
	      content: $('#mapa_content').html()
	  });
	  infowindow.open(map,marker_stare);
	  google.maps.event.trigger(map, "resize");
	}
	
    function codeAddress(address,callback) {
    	geocoder = new google.maps.Geocoder();
	    geocoder.geocode( { 'address': address}, function(results, status) {
	      if (status == google.maps.GeocoderStatus.OK) {
	    	  callback(results[0].geometry.location);
	      } else {
	        console.log("Geocode was not successful for the following reason: " + status);
	      }
	    });
	  }
    
    var map = null;
    function createMap() {
    	
    	
		$('#warstwa').css('display','block').animate({opacity: 1});
		$('#mapa').css('display','block').animate({opacity: 1});
		if (contactShown) {
			$('#kontakt-modal').css('display','none');
		}
		if (map!=null) return map; 
		
		var latlng_biuroStare = new google.maps.LatLng(54.440558,18.552378);
		var myOptions = {
	        zoom: 13,
	        center: latlng_biuroStare,
	        scaleControl: true,
	        mapTypeControl: false,
	        navigationControl: true,
	        scaleControl: false,
	        disableDefaultUI: true,
	        mapTypeId: google.maps.MapTypeId.ROADMAP
	      };
      map = new google.maps.Map(document.getElementById("mapa_pane"),myOptions);
      google.maps.event.trigger(map, "resize");
      return map;
    }
    
    function addMarker(latlng) {
	      map.setCenter(latlng);
	      var marker = new google.maps.Marker({
	          map: map, 
	          position: latlng,
	          title:"Żelaznowski & Głowiński. Kancelaria radców prawnych"
	      });
	      markersArray.push(marker);
	      return marker;
	      
    }
	
	function showMap2(address) {
		clearOverlays();
		createMap();
		mapShown = true;
		codeAddress(address,function(latlng) {
			var marker = addMarker(latlng);
		      google.maps.event.addListener(marker,"click",function(){
		    	  openInfo(map,marker,address);  
		      });
			openInfo(map,marker,address);
			
		});
	}
	
	function showMapWith2Markers(addr1,addr2) {
		createMap();
		mapShown=true;
		
		codeAddress(addr1,function(latlng) {
			var marker = addMarker(latlng);
			google.maps.event.addListener(marker,"click",function(){
		    	  openInfo(map,marker,addr1);  
		      });
			openInfo(map,marker,addr1);
		});
		codeAddress(addr2,function(latlng) {
			var marker = addMarker(latlng);
			google.maps.event.addListener(marker,"click",function(){
				console.log(addr2);
		    	  openInfo(map,marker,addr2);  
		      });
		});
		
	}
	
	var markersArray = [];
	function clearOverlays() {
		  if (markersArray) {
		    for (i in markersArray) {
		      markersArray[i].setMap(null);
		    }
		  }
	}
    var infowindow = new google.maps.InfoWindow();
	function openInfo(map,marker,address) {
		console.log(address);
		var link = getDirectionsLink(address);
		
		
		$("#mapa_content").find("#directionsLink").attr("href",link);
		console.log($('#mapa_content'));
		infowindow.setContent($('#mapa_content').html());
		infowindow.open(map,marker);
	}
	
	$('#directionsLink').live('click',function(e) {
		e.preventDefault();
		window.open($(this).attr("href"));
	});
	
	function getDirectionsLink(address) {
		address+=" (Żelaznowski & Głowiński. Kancelaria radców prawnych)";
		var encoded = encodeURIComponent(address);
//		console.log(encoded);
//		encoded = address.replace(/ /g,"+");
//		console.log(encoded);
//		var link = "http://maps.google.pl/maps?daddr="+encoded+"+(%C5%BBelaznowski+%26+G%C5%82owi%C5%84ski.+Kancelaria+radc%C3%B3w+prawnych)&amp;hl=pl&amp;mra=ls&amp;ie=UTF8&amp;&amp;z=15";
		var link = "http://maps.google.pl/maps?daddr="+encoded+"&hl=pl&mra=ls&ie=UTF8&z=15&geocode=CQIP-ia7fxTdFVuyPgMdLxYbASElLy8AlF3EsA";
		return link;
	}
	
	
	$('#jakDojechac, .mapa').live('click',function(e){
		e.preventDefault();
		if (this.id=='jakDojechac') {
			showMapWith2Markers(addr1,addr2);
		} else {
			showMap2($(this).attr('title'));
		}
	});
	
	
	$('.zamknij').click( function(){
		if (mapShown && contactShown) {
			mapShown = false;
			$('#mapa').css('display','none');
			$('#kontakt-modal').css('display','block');
		} else {
			if (contactShown) {
				$('.tacka').animate({marginLeft: -800}, 200);				
			}
			contactShown = false;
			$('#warstwa, #warstwa > div').animate({opacity: 0}, function() {$(this).css('display','none')});
		}
	});

	
	//LIGHTBOX//		
	$(".lightbox").fancybox();
	$(".lightbox[rel=lightbox-gallery]").fancybox();
	
	// modal kontakt
	var contactShown = false;
	$('#szybkiKontakt, .kontakt-modal').click(function(){
		contactShown = true;
		$('#warstwa').css('display','block').animate({opacity: 1});
		$('#kontakt-modal').css('display','block').animate({opacity: 1});
	});
	
	$('#kontakt-modal .biuro').click(function(){
		$.get('/home/getoffices',function(html){
			$('#kontakt-modal div.tacka #adresy').html(html);
			Cufon.refresh();
			$('.tacka').animate({marginLeft: 0}, 200);
		});
	});
	
	$('#kontakt-modal #adresy .powrot').live('click',function(){
		$('.tacka').animate({marginLeft: -800}, 200);
	});
	
	$('#kontakt-modal #prawnik').click(function(){
		$.get('/home/getlawyers',function(html){
			$('#kontakt-modal div.tacka #lista-prawnikow').html(html);
			Cufon.refresh();
			$('.tacka').animate({marginLeft: -1600}, 200);
		});
		
	});
	
	$('#lista-prawnikow .powrot').live('click',function(){
		$('.tacka').animate({marginLeft: -800}, 200);
	});
	
	$('#lista-prawnikow li a').live('click',function(e){
		e.preventDefault();
		$.get($(this).attr('href'),function(html){
			$('#kontakt-modal div.prawnik').html(html);
			Cufon.refresh();
			$('.tacka').animate({marginLeft: -2400}, 200);
		});
		
	});
	
	$('#kontakt-modal .prawnik .powrot').live('click',function(){
		$('.tacka').animate({marginLeft: -1600}, 200);
	});
	
});
