$(function () {
	
	// Form select styling
	$("form select.styled").select_skin();
	
	$(".print").button({ icons: {primary:'ui-icon-print'} });
	$(".mail").button({ icons: {primary:'ui-icon-mail-closed'} });
	$(".zamnews").button({ icons: {primary:'ui-icon-pin-s'} });
	$(".save").button({ icons: {primary:'ui-icon-disk'} });;
	$(".search").button({ icons: {primary:'ui-icon-search'} });;

	$(".open").click(function () {
    	$("#zaawansowane").slideToggle("fast");
    });

	$("#news_but").click(function () {
		$("#news_disp").slideToggle("fast");
	});


});

$(function() {
	
	$("#dialog").dialog("destroy");
	
	var nazwa = $("#nazwa"),
			email = $("#email"),
			allFields = $( [] ).add( nazwa ).add( email ),
			tips = $(".validateTips");
	
	function updateTips( t ) {
			tips
				.text( t )
				.addClass( "ui-state-highlight" );
			setTimeout(function() {
				tips.removeClass( "ui-state-highlight", 1500 );
			}, 500 );
		}

		function checkLength( o, n, min, max ) {
			if ( o.val().length > max || o.val().length < min ) {
				o.addClass( "ui-state-error" );
				updateTips( "Długość pola " + n + " musi być pomiędzy " +
					min + " a " + max + "." );
				return false;
			} else {
				return true;
			}
		}

		function checkRegexp( o, regexp, n ) {
			if ( !( regexp.test( o.val() ) ) ) {
				o.addClass( "ui-state-error" );
				updateTips( n );
				return false;
			} else {
				return true;
			}
		}	
	
	
	$( "#dialog" ).dialog({
		autoOpen: false,
		show: "blind",
		hide: "drop",
		modal: true,
		width: 460,
		buttons: {
			"Dopisz do listy": function() {
					var bValid = true;
					allFields.removeClass( "ui-state-error" );

					bValid = bValid && checkLength( nazwa, "nazwa", 2, 80 );
					bValid = bValid && checkLength( email, "email", 6, 80 );

					bValid = bValid && checkRegexp( nazwa, /^[a-z]([0-9a-z_ ])+$/i, "Username may consist of a-z, 0-9, underscores, begin with a letter." );
					// From jquery.validate.js (by joern), contributed by Scott Gonzalez: http://projects.scottsplayground.com/email_address_validation/
					bValid = bValid && checkRegexp( email, /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i, "na przykład. test@test.pl" );

					if ( bValid ) {
						
						var name = $("#nazwa").val();
						var mail = $("#email").val();
						var id = $("#id").val();
						
						$.post("/zamowienia/newslistaadd", {daneId: id, daneNazwa: name, daneEmail: mail}, function(data){$("#info").addClass("succes").html(data);});
	 					$(this).dialog( "destroy" );
					}
				},							
			Zamknij: function() {
					$( this ).dialog( "close" );
				}
		}
		
	});

	$( "#opener" ).click(function() {
		$( "#dialog" ).dialog( "open" );
			return false;
	});

});

$(function() {
		var dates = $( "#from, #to" ).datepicker({
			changeMonth: true,
			changeYear: true,
			dateFormat: 'yy-mm-dd',
			onSelect: function( selectedDate ) {
				var option = this.id == "from" ? "minDate" : "maxDate",
					instance = $( this ).data( "datepicker" );
					date = $.datepicker.parseDate(
						instance.settings.dateFormat ||
						$.datepicker._defaults.dateFormat,
						selectedDate, instance.settings );
				dates.not( this ).datepicker( "option", option, date );
			}
		});
	});
	
	
