(function($) {
    $.ui = $.ui || {};

	$.fn.Rezerwacja = function() {
		var method = typeof arguments[0] == 'string' && arguments[0];
		var args = method && Array.prototype.slice.call(arguments, 1) || arguments;

		return this.each(function() {
			if (method) {
				var Rezerwacja = $.data(this, 'ui-Rezerwacja');
				Rezerwacja[method].apply(Rezerwacja, args);
			} else {
				new $.ui.Rezerwacja(this, args[0] || {});
			}
		});
	};

    $.ui.Rezerwacja = function(el, options) {
        var self = this;
        this.element = el;

        this.options = $.extend({
			c_pn_1: 1,
			c_pn_2: 1,
			c_pn_3: 1,
			c_dod_1: 1,
			c_dod_2: 1,
			c_dod_3: 1,
			c_kn_owd: 1,
			c_kn_nitrox: 1,
			c_kn_aowd: 1,
			c_kn_scuba_diver: 1,
			c_intro: 1,
			c_snorking: 1,
			c_s_skaf: 1,
			c_s_automat: 1,
			c_s_jacket: 1,
			c_s_komp: 1,
			c_s_maska: 1,
			c_s_fajka: 1,
			c_s_pletwy_k: 1,
			c_s_pletwy_p: 1,
			c_s_buty: 1,
			waluta: 'zl'
        }, options);

        $.data(el, 'ui-Rezerwacja', this);

		this.Start();
	};

   $.extend($.ui.Rezerwacja.prototype, {
		SprzetOff: function(os) {
			$('#sprzet_' + os).find("input").each(function(i) {
				$(this).attr('disabled',true);
				$(this).attr('checked',false);
				$("select[@name='w_pianka_r_" + os + "']").each(function () { this.selectedIndex = 0;});
				$("select[@name='w_pianka_r_" + os + "']").css({display:'none'});
				$("select[@name='w_jacket_r_" + os + "']").each(function () { this.selectedIndex = 0; });
				$("select[@name='w_jacket_r_" + os + "']").css({display:'none'});
				$("select[@name='w_pletwykolanowe_r_" + os + "']").each(function () { this.selectedIndex = 0; });
				$("select[@name='w_pletwykolanowe_r_" + os + "']").css({display:'none'});
				$("select[@name='w_buty_r_" + os + "']").each(function () { this.selectedIndex = 0; });
				$("select[@name='w_buty_r_" + os + "']").css({display:'none'});
			})
		},
		SprzetOn: function(os) {
			$('#sprzet_' + os).find("input").each(function(i) {
				$(this).attr('disabled',false);
			})
		},
		DataKurs: function(onoff, kurs, os) {
			if(onoff) {
				var gd = $('#kurs_' + kurs + '_' + os).parent().parent();
				var dat = $('<input />').attr('id','data_' + kurs + '_' + os).attr('name','data_' + kurs + '_' + os).attr('readonly','readonly').addClass('datapi');
				$('<div />').html(dat).addClass('rej_pole3_1').appendTo(gd);
				dat.datepicker($.extend({beforeShowDay: $.datepicker.noPiatki,minDate: '0d', maxDate: '6y',showOn: 'button', buttonImage: '/skorki/img/calendar.gif', buttonImageOnly: true},$.datepicker.regional['pl']));
			} else {
				$('#data_' + kurs + '_' + os).parent().parent().remove();
			}
		},

		Oblicz: function(os) {
			var self = this, o = this.options;
			var wynik = 0;
			$('select[@name=pn_dni_' + os + ']').find('option:selected').each(function () {
				if($(this).val()) {
					if($(this).val() == 1) wynik =+ o.c_pn_1;
					if($(this).val() == 3) wynik =+ o.c_pn_2;
					if($(this).val() == 5) wynik =+ o.c_pn_3;
					$('select[@name=dd_' + os + ']').find('option:selected').each(function () {
						if($(this).val()) {
							if($(this).val() == 1) wynik += o.c_dod_1;
							if($(this).val() == 2) wynik += o.c_dod_2;
							if($(this).val() == 3) wynik += o.c_dod_3;
						}
					});
				}
			});
			if($('input[@name=kurs_owd_' + os + ']').attr('checked') == true) wynik += o.c_kn_owd;
			if($('input[@name=kurs_nitrox_' + os + ']').attr('checked') == true) wynik += o.c_kn_nitrox;
			if($('input[@name=kurs_aowd_' + os + ']').attr('checked') == true) wynik += o.c_kn_aowd;
			if($('input[@name=kurs_scuba_diver_' + os + ']').attr('checked') == true) wynik += o.c_kn_scuba_diver;

			$('select[@name=ni_dni_' + os + ']').find('option:selected').each(function () {
				if($(this).val()) wynik += (o.c_intro * $(this).val());
			});

			$('select[@name=sn_dni_' + os + ']').find('option:selected').each(function () {
				if($(this).val()) wynik += (o.c_snorking * $(this).val());
			});

			if($('input[@name=w_pianka_' + os + ']').attr('checked') == true) wynik += o.c_s_skaf;
			if($('input[@name=w_automat_' + os + ']').attr('checked') == true) wynik += o.c_s_automat;
			if($('input[@name=w_jacket_' + os + ']').attr('checked') == true) wynik += o.c_s_jacket;
			if($('input[@name=w_komputer_' + os + ']').attr('checked') == true) wynik += o.c_s_komp;
			if($('input[@name=w_maska_' + os + ']').attr('checked') == true) wynik += o.c_s_maska;
			if($('input[@name=w_fajka_' + os + ']').attr('checked') == true) wynik += o.c_s_fajka;
			if($('input[@name=w_pletwykolanowe_' + os + ']').attr('checked') == true) wynik += o.c_s_pletwy_k;
			if($('input[@name=w_pletwypasek_' + os + ']').attr('checked') == true) wynik += o.c_s_pletwy_p;
			if($('input[@name=w_buty_' + os + ']').attr('checked') == true) wynik += o.c_s_buty;

			wynik = Math.round(wynik * 0.9 * 100)/100;

			$('#kwotau_' + os).html(wynik + o.waluta);
			$('#kwota_' + os).val(wynik);
			var suma = 0;
			for(i=1;i<=$("#ilosc").val();i++) {
				suma += $('#kwota_' + i).val() * 1;
			}
			suma = Math.round(suma * 100)/100;
			$('#suma_rezerwacji').html(suma + o.waluta);
			$('#kwota_suma').val(suma);
		},

		Start: function() {
			var self = this, o = this.options;

			$('#artykul').find("select[@co='pn_dni']").each(function(i){
				$(this).bind('change',  function(){
					var os = $(this).attr('os');
					$(this).find('option:selected').each(function () {
						if($(this).val()) {
							$('#dod_' + os).css({display:'block'})
							if(!$('#data_pn_' + os).next().is('img')) {
								var gd = $(this).parent().parent().parent();
								var dat = $('<input />').attr('id','data_pn_' + os).attr('name','data_pn_' + os).attr('readonly','readonly').addClass('datapi');
								$('<div />').html(dat).addClass('rej_pole3_1').appendTo(gd);
								dat.datepicker($.extend({minDate: '0d', maxDate: '6y',showOn: 'button', buttonImage: '/skorki/img/calendar.gif', buttonImageOnly: true},$.datepicker.regional['pl']));
							}
						} else {
							$('#dod_' + os).css({display:'none'})
							$("select[@name='dd_" + os + "']").each(function () { this.selectedIndex = 0; });
							$('#data_pn_' + os).parent().parent().remove();
						}
					 });
					self.Oblicz(os);
				});
			});

			$('#artykul').find("select[@co='dd']").each(function(i){
				$(this).bind('change',  function(){
					var os = $(this).attr('os');					 
					self.Oblicz(os);
				});
			});

			/////////////////
			// KURS OWD
			/////////////////
			$('#artykul').find("input[@co='kurs_owd']").each(function(i){
				$(this).bind('click',  function(){
					var os = $(this).attr('os');
					if($(this).attr('checked') == true) {
						$("select[@name='pn_dni_" + os + "']").attr('disabled',true);
						$("select[@name='pn_dni_" + os + "']").each(function () { this.selectedIndex = 0; });
						$('#dod_' + os).css({display:'none'})
						$("select[@name='dd_" + os + "']").each(function () { this.selectedIndex = 0; });
						$('#kurs_aowd_' + os).attr('checked',false);
						$('#kurs_aowd_' + os).attr('disabled',true);
						self.DataKurs(false, 'aowd', os);
						$('#data_pn_' + os).parent().parent().remove();
						self.SprzetOff(os);
						self.DataKurs(true, 'owd', os);
					} else {
						$("select[@name='pn_dni_" + os + "']").attr('disabled',false);
						$('#kurs_aowd_' + os).attr('disabled',false);
						self.SprzetOn(os);
						self.DataKurs(false, 'owd', os);
					}
					self.Oblicz(os);
				});
			});

			/////////////////
			// KURS NITROX
			/////////////////
			$('#artykul').find("input[@co='kurs_nitrox']").each(function(i){
				$(this).bind('click',  function(){
					var os = $(this).attr('os');
					if($(this).attr('checked') == true) {
						$('#kurs_owd_' + os).attr('checked',false);
						$('#kurs_owd_' + os).attr('disabled',true);
						self.DataKurs(false, 'owd', os);
						$("select[@name='ni_dni_" + os + "']").attr('disabled',true);
						$("select[@name='ni_dni_" + os + "']").each(function () { this.selectedIndex = 0; });
						$('#data_ni_' + os).parent().parent().remove();
						self.DataKurs(true, 'nitrox', os);
					} else {
						$("select[@name='ni_dni_" + os + "']").attr('disabled',false);
						$('#kurs_owd_' + os).attr('disabled',false);
						self.DataKurs(false, 'nitrox', os);
					}
					self.Oblicz(os);
				});
			});

			/////////////////
			// KURS AOWD
			/////////////////
			$('#artykul').find("input[@co='kurs_aowd']").each(function(i){
				$(this).bind('click',  function(){
					var os = $(this).attr('os');
					if($(this).attr('checked') == true) {
						$('#kurs_owd_' + os).attr('checked',false);
						$('#kurs_owd_' + os).attr('disabled',true);
						self.DataKurs(false, 'owd', os);
						$("select[@name='ni_dni_" + os + "']").attr('disabled',true);
						$("select[@name='ni_dni_" + os + "']").each(function () { this.selectedIndex = 0; });
						$('#data_ni_' + os).parent().parent().remove();
						self.DataKurs(true, 'aowd', os);
					} else {
						$("select[@name='ni_dni_" + os + "']").attr('disabled',false);
						$('#kurs_owd_' + os).attr('disabled',false);
						self.DataKurs(false, 'aowd', os);
					}
					self.Oblicz(os);
				});
			});

			/////////////////////
			// KURS SCUBA DIVER
			/////////////////////
			$('#artykul').find("input[@co='kurs_scuba_diver']").each(function(i){
				$(this).bind('click',  function(){
					var os = $(this).attr('os');
					if($(this).attr('checked') == true) {
						$("select[@name='pn_dni_" + os + "']").attr('disabled',true);
						$("select[@name='pn_dni_" + os + "']").each(function () { this.selectedIndex = 0; });
						$('#dod_' + os).css({display:'none'})
						$("select[@name='dd_" + os + "']").each(function () { this.selectedIndex = 0; });
						$('#kurs_aowd_' + os).attr('checked',false);
						$('#kurs_aowd_' + os).attr('disabled',true);
						self.DataKurs(false, 'aowd', os);
						$('#kurs_nitrox_' + os).attr('checked',false);
						$('#kurs_nitrox_' + os).attr('disabled',true);
						self.DataKurs(false, 'nitrox', os);
						$('#data_pn_' + os).parent().parent().remove();
						self.SprzetOff(os);
						self.DataKurs(true, 'scuba_diver', os);
					} else {
						$("select[@name='pn_dni_" + os + "']").attr('disabled',false);
						$('#kurs_aowd_' + os).attr('disabled',false);
						$('#kurs_nitrox_' + os).attr('disabled',false);
						self.SprzetOn(os);
						self.DataKurs(false, 'scuba_diver', os);
					}
					self.Oblicz(os);
				});
			});

			/////////////////////
			// NURKOWANIE INTRO
			/////////////////////
			$('#artykul').find("select[@co='ni_dni']").each(function(i){
				$(this).bind('change',  function(){
					var os = $(this).attr('os');
					$(this).find('option:selected').each(function () {
						if($(this).val()) {
							if(!$('#data_ni_' + os).next().is('img')) {
								var gd = $(this).parent().parent().parent();
								var dat = $('<input />').attr('id','data_ni_' + os).attr('name','data_ni_' + os).attr('readonly','readonly').addClass('datapi');
								$('<div />').html(dat).addClass('rej_pole3_1').appendTo(gd);
								dat.datepicker($.extend({ minDate: '0d', maxDate: '6y',showOn: 'button', buttonImage: 'skorki/img/calendar.gif', buttonImageOnly: true},$.datepicker.regional['pl']));
							}
						} else {
							$('#data_ni_' + os).parent().parent().remove();
						}
					 });
					self.Oblicz(os);
				});
			});

			/////////////////////
			// SNORKING
			/////////////////////
			$('#artykul').find("select[@co='sn_dni']").each(function(i){
				$(this).bind('change',  function(){
					var os = $(this).attr('os');
					$(this).find('option:selected').each(function () {
						if($(this).val()) {
							if(!$('#data_sn_' + os).next().is('img')) {
								var gd = $(this).parent().parent().parent();
								var dat = $('<input />').attr('id','data_sn_' + os).attr('name','data_sn_' + os).attr('readonly','readonly').addClass('datapi');
								$('<div />').html(dat).addClass('rej_pole3_1').appendTo(gd);
								dat.datepicker($.extend({ minDate: '0d', maxDate: '6y',showOn: 'button', buttonImage: 'skorki/img/calendar.gif', buttonImageOnly: true},$.datepicker.regional['pl']));
							}
						} else {
							$('#data_sn_' + os).parent().parent().remove();
						}
					 });
					self.Oblicz(os);
				});
			});

			$('#artykul').find("input[@co='w_pianka']").each(function(i){
				$(this).bind('click',  function(){
					var os = $(this).attr('os');
					if($(this).attr('checked') == true) {
						$('select[@name=w_pianka_r_' + os + ']').css({display:'block'});
					} else {
						$('select[@name=w_pianka_r_' + os + ']').css({display:'none'});
						$('select[@name=w_pianka_r_' + os + ']').each(function () { this.selectedIndex = 0; });
					}
					self.Oblicz(os);
				});
			});

			$('#artykul').find("input[@co='w_automat']").each(function(i){
				$(this).bind('click',  function(){
					var os = $(this).attr('os');
					self.Oblicz(os);
				});
			});

			$('#artykul').find("input[@co='w_jacket']").each(function(i){
				$(this).bind('click',  function(){
					var os = $(this).attr('os');
					if($(this).attr('checked') == true) {
						$('select[@name=w_jacket_r_' + os + ']').css({display:'block'});
					} else {
						$('select[@name=w_jacket_r_' + os + ']').css({display:'none'});
						$('select[@name=w_jacket_r_' + os + ']').each(function () { this.selectedIndex = 0; });
					}
					self.Oblicz(os);
				});
			});

			$('#artykul').find("input[@co='w_komputer']").each(function(i){
				$(this).bind('click',  function(){
					var os = $(this).attr('os');
					self.Oblicz(os);
				});
			});

			$('#artykul').find("input[@co='w_maska']").each(function(i){
				$(this).bind('click',  function(){
					var os = $(this).attr('os');
					self.Oblicz(os);
				});
			});

			$('#artykul').find("input[@co='w_fajka']").each(function(i){
				$(this).bind('click',  function(){
					var os = $(this).attr('os');
					self.Oblicz(os);
				});
			});

			$('#artykul').find("input[@co='w_pletwykolanowe']").each(function(i){
				$(this).bind('click',  function(){
					var os = $(this).attr('os');
					if($(this).attr('checked') == true) {
						$('select[@name=w_pletwykolanowe_r_' + os + ']').css({display:'block'});
					} else {
						$('select[@name=w_pletwykolanowe_r_' + os + ']').css({display:'none'});
						$('select[@name=w_pletwykolanowe_r_' + os + ']').each(function () { this.selectedIndex = 0; });
					}
					self.Oblicz(os);
				});
			});

			$('#artykul').find("input[@co='w_pletwypasek']").each(function(i){
				$(this).bind('click',  function(){
					var os = $(this).attr('os');
					self.Oblicz(os);
				});
			});

			$('#artykul').find("input[@co='w_buty']").each(function(i){
				$(this).bind('click',  function(){
					var os = $(this).attr('os');
					if($(this).attr('checked') == true) {
						$('select[@name=w_buty_r_' + os + ']').css({display:'block'});
					} else {
						$('select[@name=w_buty_r_' + os + ']').css({display:'none'});
						$('select[@name=w_buty_r_' + os + ']').each(function () { this.selectedIndex = 0; });
					}
					self.Oblicz(os);
				});
			});
		}
	});
})(jQuery);