	$(function(){	
		/* wysuwanie niebieskiego paska z sub-menu */
		$("#MainNav li a").mouseover(function() {
	        var documentWidth = $(document).width(); // szerokość dokumentu
			
            var _id = $(this).attr("id"); // id elementu A na którym jest myszka
			var _numId = _id.split('-')[1]; // numer elementu A, wyciągany z ID do "komunikacji" z belkami ;)

			if($("#Beam-"+_numId).css("display")=="none") {	
		        $("#MainNav li a").removeClass("Active"); // czyści wszystkie klasy w A, w menu (wstępnie)
			    $(".Beam").css("display", "none"); // wyłącza wszystkie belki
			
		    	if( documentWidth > 1000 ) {
	            	var navWidth = ((documentWidth-1000)/2)+950;
		    	} else {
	            	var navWidth = 950;		
		    	}
			
		    	$("#Beam-"+_numId).css("width", navWidth);
	        	$("#Beam-"+_numId).show("slide", {}, 300, function() {
					$("#MainNav li a").removeClass("Active"); // czyści wszystkie klasy w A, w menu (jakby wstępnie nie wyszło)
					if($("#"+_id).attr("class")=="Bold") {
					    $("#MainNav li a").removeClass("Bold");
					    $("#"+_id).addClass("Active");
						$("#"+_id).addClass("Bold");
					} else {
			    	    $("#"+_id).addClass("Active");
					}
				});
				$("#Beam-"+_numId+" #SmallerShadow-"+_numId).show("slide", 200);
			}
		});
		 
		/* kod odpowiedzialny za wyłączanie belki po wyjechaniu poza #Top */
		$("#Top").mouseleave(function() {
		    var _numId = $("#MainNav").find("a.Active").attr("id").split('-')[1];
			
		    if($("#Beam-"+_numId).css("display")=="block") {
		        $("#MainNav li a").removeClass("Active"); // czyści wszystkie klasy w A, w menu (wstępnie)
			
			    $("#Beam-"+_numId).hide("slide", {}, 300, function() {
			        $("#MainNav li a").removeClass("Active"); // gdyby coś coś poszło nie tak za pierwszym razem ;-)
			    }); 		
            } else {
                $("#MainNav li a").removeClass("Active"); // czyści wszystkie klasy w A, w menu (wstępnie)
				$(".Beam").css("display", "none"); // nie jest pewny czy belka jest więc po prostu ją wyłącza, nei zsuwa
            }			
		});
		
		/* chmurka nad ikonką partnera po najechaniu */
		$("#Partner").mouseover(function() {
		    if($("#PartnerCloud").css("display")=="none") {
		        $("#PartnerCloud").animate({opacity: 'show'});
				$("#Partner a").attr("class", "Active");
			}
		}).mouseout(function(){
            $("#PartnerCloud").hide();
			$("#Partner a").attr("class", "");
		});
		
		/* usuwanie value z inputa newslettera */
		$("#NewsletterEmail").click(function() {
			$("#NewsletterEmail").attr("value", ""); 
		});
		
		/* wyświetlanie boxa newslettera */
		$("#NewsletterInit").mouseover(function() {
		    $("#Newsletter").animate({opacity: 'show'});
		});
		
		/* chowanie boxa newslettera */
		$("#Newsletter").mouseleave(function() {
		    $("#Newsletter").hide();
		});
		
		/* dodawanie i usuwanie adresu email z newslettera */
		$("#Newsletter #Add").click(function() {
		    if($("#NewsletterEmail").val()!='') {
			    var email = $("#NewsletterEmail").val();
				if(isValidEmailAddress(email)) {
					$.post(home_url+"/includes/ajax/newsletter.php", { email: email, option: "add" },
						function(respond){
		    				if(respond=="OK") {
			    				$("#Newsletter").html("<strong>Twój e-mail został poprawnie dodany. Sprawdź swoją pocztę i aktywuj adres.</strong>");
							} else if(respond=="EXI") {
							    $("#Newsletter").html("<strong>Taki e-mail istnieje już w bazie.</strong>");
							} else {
			    				$("#Newsletter").html("<strong>Błąd przy dodawaniu adresu e-mail, spróbuj ponownie.</strong>");
							}
						}
					);
				} 
			}
		});
		
		$("#Newsletter #Remove").click(function() {
		    if($("#NewsletterEmail").val()!='') {
			    var email = $("#NewsletterEmail").val();
				if(isValidEmailAddress(email)) {
					$.post(home_url+"/includes/ajax/newsletter.php", { email: email, option: "remove" },
						function(respond){
		    				if(respond=="OK") {
			    				$("#Newsletter").html("<strong>Sprawdź swoją pocztę i postępuj zgodnie z instrukcjami.</strong>");
							} else if(respond=="NOT_EXI") {
							    $("#Newsletter").html("<strong>Taki e-mail nie istnieje w bazie.</strong>");
							} else {
			    				$("#Newsletter").html("<strong>Błąd przy usuwaniu adresu e-mail, spróbuj ponownie.</strong>");
							}
						}
					);
				} 
			}
		});
		
		$("#RemoveNewsletter #Remove").click(function(event) {
		    event.stopPropagation();

		    if($("#RemoveNewsletterEmail").val()!='') {
			    var email = $("#RemoveNewsletterEmail").val();
				if(isValidEmailAddress(email)) {
					$.post(home_url+"/includes/ajax/newsletter.php", { email: email, option: "remove" },
						function(respond){
		    				if(respond=="OK") {
			    				$(".RemoveNewsletter").html("<p style=\"color: green;\">Sprawdź swoją pocztę i postępuj zgodnie z instrukcjami.</p>");
							} else if(respond=="NOT_EXI") {
							    $(".RemoveNewsletter").html("<p style=\"color: red;\">Taki e-mail nie istnieje w bazie.</p>");
							} else {
			    				$(".RemoveNewsletter").html("<p style=\"color: red;\">Błąd przy usuwaniu adresu e-mail, spróbuj ponownie.</p>");
							}
						}
					);
				} 
			}
		});
		
		/* obsługa boxów */
		$(".Box").mouseover(function() {
			var _numId = $(this).attr("id").split('-')[1];
			
		    $("#Box-"+Number(_numId-1)).addClass("RemoveBg");
			$("#Box-"+_numId+" h2").css("background-position", "0px -50px");
			$(this).addClass("ActiveBox");
		}).mouseleave(function() {
		    var _numId = $(this).attr("id").split('-')[1];
			
			$("#Box-"+_numId+" h2").css("background-position", "0px 0px");
		    $(this).removeClass("ActiveBox");
			$("#Box-"+Number(_numId-1)).removeClass("RemoveBg");
		}).click(function() {
		    window.location.href = $(this).attr("title");
		});
		
		/* Obsługa oferty */
		$("#ActionList li").mouseover(function() {
		    $(this).addClass("Active");
		}).mouseleave(function() {
		    $(this).removeClass("Active");
		}).click(function() {
		    window.location.href = $(this).attr("title");
		});
	});
	
function isValidEmailAddress(emailAddress) {
    var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
	return pattern.test(emailAddress);
}
