// JavaScript Document
var ShipFromUser = null;
var ShipToUser = null;

var owner_id = 0;

var fieldsToCheck = {
	'CP': ['PackageType', 'dokument', 'FromPayment', 'DeclaredValue', 'COD', 'CODAmount', 'rachunek', 'bank', 'ReturnOfDocument', 'PrivateAddress', 'zawartosc'],
	'30': ['PackageType', 'dokument', 'FromPayment', 'DeclaredValue', 'COD', 'CODAmount', 'rachunek', 'bank', 'ReturnOfDocument', 'PrivateAddress', 'MarketAddress', 'ReturnOfPallette', 'zawartosc'],
	'EE': ['PackageType', 'dokument', 'FromPayment', 'ReturnOfDocument', 'PrivateAddress']
}
var packegeToCheck = {
	'CP': ['waga', 'dlugosc', 'szerokosc', 'wysokosc', 'opakowanie', 'ksztalt'], 
	'30': ['waga', 'dlugosc', 'szerokosc', 'wysokosc'],
	'EE': []
}
var fields = {
		PackageType: 						['Rodzaj przesyłki:', 									[1,'s']],
		dokument: 							['Dokument fiskalny za transport:', 		[1,'s']],
		FromPayment: 						['Strona płacąca ', 										[1,'s']],
		DeclaredValue: 					['Ubezpieczenie (wartość przesyłki):',	[0,'f']],
		COD: 										['Pobranie:', 													[0,'f']],
		CODAmount: 							['Kwota pobrania:', 										[['COD','>',0],'f']],
		rachunek: 							['Nr rachunku:', 												[['COD'],'m']],
		bank: 									['Nazwa banku:', 												[['COD'],'m']],
		ReturnOfDocument: 			['Zwrot dokumentów:', 									[0]],
		PrivateAddress: 				['Doręczenie do osoby fizycznej:', 			[0]],
		MarketAddress: 					['Doręczenie do marketu:', 							[0]],
		ReturnOfPallette: 			['Zwrot palety EURO:', 									[0]],
		courierDate: 						['Data wysłania przesyłki:', 						[1,'m']],
		courierFromHour: 				['Godzina Od:', 												[0]],
		courierToHour: 					['Godzina Do:', 												[0]],
		Reference2:							['Uwagi:', 															[0]],
		zawartosc: 							['Zawartość:',													[1,'m']],
		NumberOfPackages: 			['Ilość paczek:'												[1,'i']],
		waga: 									['Waga przesyłki:', 										[1,'f']],
		dlugosc: 								['Długość (cm):', 											[1,'f']],
		szerokosc: 							['Szerokość (cm):', 										[1,'f']],
		wysokosc: 							['Wysokość (cm):', 											[1,'f']],
		opakowanie: 						['Opis opakowania:', 										[1,'m']],
		ksztalt: 								['Opis kształtu paczki:',								[1,'m']],
		ShipFrom_CompanyOrName: ['Firma/Nazwisko:', 										[1,'m']],
		ShipFrom_Attension: 		['Osoba kontaktowa:', 									[1,'n']],
		ShipFrom_Telephone: 		['Telefon:', 														[1,'t']],
		ShipFrom_EmailAddress: 	['Email:', 															[1,'e']],
		ShipFrom_PostalCode: 		['Kod:', 																[1,'k']],
		ShipFrom_CityOrTown: 		['Miejscowość:', 												[1,'n']],
		ShipFrom_Address1: 			['Adres:',															[1,'m']],
		ShipTo_CompanyOrName: 	['Firma/Nazwisko:', 										[1,'m']],
		ShipTo_Attension: 			['Osoba kontaktowa:', 									[1,'n']],
		ShipTo_Telephone: 			['Telefon:', 														[1,'t']],
		ShipTo_EmailAddress: 		['Email:', 															[1,'e']],
		ShipTo_PostalCode: 			['Kod:', 																[1,'k']],
		ShipTo_CityOrTown: 			['Miejscowość:', 												[1,'n']],
		ShipTo_Address1: 				['Adres:', 															[1,'m']],
		ShipFrom_SAME:									['',                             [0]],
		ShipFrom_Invoice_CompanyOrName: ['',                             [1,'m']],
		ShipFrom_Invoice_PostalCode:    ['',                             [1,'k']],
		ShipFrom_Invoice_CityOrTown:    ['',                             [1,'n']],
		ShipFrom_Invoice_Address1:			['',                             [1,'m']],
		ShipFrom_Invoice_NIP:						['',                             [1,'nip']],
		ShipTo_SAME:										['',                             [0]],
		ShipTo_Invoice_CompanyOrName:		['',                             [1,'m']],
		ShipTo_Invoice_PostalCode:			['',                             [1,'k']],
		ShipTo_Invoice_CityOrTown:			['',                             [1,'n']],
		ShipTo_Invoice_Address1:				['',                             [1,'m']],
		ShipTo_Invoice_NIP:					 		['',                             [1,'nip']]
};
var pricingFields = {ubezpieczenie: 'Ubezpieczenie:',
										 pobranie: 'Pobranie',
										 zwrot_dokumentow: 'Zwrot dokumentów',
										 adres_prywatny: 'Doręczenie do osoby fizycznej',
										 adres_market: 'Doręczenie do marketu',
										 zwrot_palety: 'Zwrot palety',
										 sumaPaczki: 'Suma paczek',
										 sumaNiesorty: 'Niesortowalne',
										 paliwo: 'Dodatek paliwowy',
										 strefa_rozszerzona: 'Strefa rozszerzona'
										};

$('#courierDate input').pdCal();

// wyczyszczenie informacji o wybranym kliencie
clearUser();
// przygotowanie pól produktów w formularzu
getPackageFields(1);
// ukrycie pól z informacjami do faktury
hideInvoices();
	
	$('#NumberOfPackages select').get(0).selectedIndex = 0;
	$('#PackageType select').get(0).selectedIndex = 0;
		

	$('#PackageType select').change(function() {
		clearForm('paczkaOpcje');
		clearPrices();
		$.data($('#paczkaOpcje'), "ceny");
		$('.sH, .sH + dd').hide();
		$('.s' + $(this).val() + ', .s' + $(this).val() + ' + dd').show();
		if ($(this).val()=='EE') 
			$('#FromPaymentReceiverCash').hide();
		else
			$('#FromPaymentReceiverCash').show();
		showPackageOpts();
		$.getJSON(serverPackegesUrl + '?action=changePackegeOption&userId=' + ($('#login_table').data('owner')?$('#login_table').data('owner').Id:0) + '&rodzajPaczki=' + $('#PackageType select').val(), function(json){
			$('#userInfo').data({userCennik: json});
		});
		return false;
	});
	$('#NumberOfPackages select').change(function() {
		getPackageFields($('#NumberOfPackages select').val());
		if ($('#NumberOfPackages select').val() > 1) 
			$('#package').parent().prev().text('DANE PACZEK');
		else
			$('#package').parent().prev().text('DANE PACZKI');
		return false;
	});
	
	$('#go_evalCosts, #go_evalCosts_button, #go_evalCosts_button1').click(function () {																		 
		calculateOrder();
		return false;
	});
	
	$("#go_sendOrder, #go_sendOrder_button").click(function () {
		var noErrors = true;																 
		noErrors = noErrors && calculateOrder();
		noErrors = noErrors && checkClientDatas();
		if (!noErrors) return false;
		
		var wartosci = {opcje: {}, koszty: {}, paczki: {},  nadawca: {}, odbiorca: {}, nadawcaF: {}, odbiorcaF: {}};
		$('#paczkaOpcje input, #paczkaOpcje select, #canPrint select').each(function() {
			wartosci.opcje[$(this).parent().get(0).id] = wartosc($(this).parent().get(0).id);
		})
		
		$("[id*='package_']").each(function(index) {
			wartosci.paczki[index] = $(this).data('koszty_paczki');
		});
		
		if (ShipFromUser) {
				wartosci.nadawcaId = ShipFromUser;
		} else {
			$('#shipFromDatas input, #shipFromDatas select').each(function() {
				wartosci.nadawca[$(this).parent().get(0).id] = wartosc($(this).parent().get(0).id);
			})
	
			$('#ShipFromInvoice input, #ShipFromInvoice select').each(function() {
				wartosci.nadawcaF[$(this).parent().get(0).id] = wartosc($(this).parent().get(0).id);
			})
		}
		
		if (ShipToUser) {
				wartosci.odbiorcaId = ShipToUser;
		} else {
			$('#shipToDatas input, #shipToDatas select').each(function() {
				wartosci.odbiorca[$(this).parent().get(0).id] = wartosc($(this).parent().get(0).id);
			})
	
			$('#ShipToInvoice input, #ShipToInvoice select').each(function() {
				wartosci.odbiorcaF[$(this).parent().get(0).id] = wartosc($(this).parent().get(0).id);
			})
		}
		
		$('#koszty dd').each(function() {
			wartosci.koszty[this.id] = $(this).text();
		})
//		$.getJSON(serverPackegesUrl + '?action=sendOrder',
//			wartosci,
//			function(json) {
//				hideCenterPanels ();
//				$('#nrZamowienia').text('Numer zamówienia: ' + json.zam_nr);
//				$('#confirmationInfo').show();
//				$("#go_sendOrder, #go_sendOrder_button, #go_evalCosts_button").hide();
//		});
		$.getJSON(serverPackegesUrl + '?action=preperTransfer',
			wartosci,
			function(json) {
				var biuro = false;					
				if ($('#login_table').data('owner')) {
					if ($('#login_table').data('owner').Id == 9865) biuro = true;
				}
				if (json.dane_platnika.umowa == 1) {
					showMessage('Umowa');
					location = 'server/transfery.php?trans=' + json.zamowienie + '&type=umowa';
//					alert('potwierdzenie_zamowienia.php?result=ok&trans=' + json.zamowienie + '&type=umowa');
					return false;
				} else if (json.platnik == 0 || json.platnik > 2) {
					showMessage('Płatność gotówką!');
					location = 'server/transfery.php?trans=' + json.zamowienie + '&type=gotowka';
//					alert('potwierdzenie_zamowienia.php?result=ok&trans=' + json.zamowienie + '&type=gotowka');
					return false;
				} else if (biuro) {
					location = 'server/transfery.php?trans=' + json.zamowienie + '&type=biuro';
//					alert('potwierdzenie_zamowienia.php?result=ok&trans=' + json.zamowienie + '&type=biuro');					
				} else {
					$('body').remove('#transForm');
					$('body').append('<form action="https://secure.transferuj.pl" method="post" id="transForm"><input type="hidden" id="id" name="id" value=""><input type="hidden" id="kwota" name="kwota" value=""><input type="hidden" id="opis" name="opis" value=""><input type="hidden" id="crc" name="crc" value=""><input type="hidden" id="wyn_url" name="wyn_url" value=""><input type="hidden" id="wyn_email" name="wyn_email" value=""><input type="hidden" id="opis_sprzed" name="opis_sprzed" value=""><input type="hidden" id="pow_url" name="pow_url" value=""><input type="hidden" id="pow_url_blad" name="pow_url_blad" value=""><input type="hidden" id="pow_tekst" name="pow_tekst" value=""><input type="hidden" id="email" name="email" value=""><input type="hidden" id="nazwisko" name="nazwisko" value=""><input type="hidden" id="imie" name="imie" value=""><input type="hidden" id="adres" name="adres" value=""><input type="hidden" id="miasto" name="miasto" value=""><input type="hidden" id="kod" name="kod" value=""><input type="hidden" id="kraj" name="kraj" value=""><input type="hidden" id="telefon" name="telefon" value=""></form>');
					$.each(json.totransfer, function(key, value) {
						$('#' + key).val(value);
					}); 
					$('#transForm').submit();
//					alert('form submit');
				}
		});
//				hideCenterPanels ();
//				$('#nrZamowienia').text('Numer zamówienia: ' + json.zam_nr);
//				$('#confirmationInfo').show();
//				$("#go_sendOrder, #go_sendOrder_button, #go_evalCosts_button").hide();
//		location = 'transfer.php?' + $.param(wartosci);
		return false;
	});
	
	$('#COD input').change(function() {
		$('.sP, .sP + dd').css({display: ($('#COD input').is(':checked')?'block':'none')});
		if (!$(this).is(':checked')) {
			$('.sP + dd input').val('');
		}
	});

	$("[id*='ksztalt_'] select").live('change', function() {
		if ($(this).val() == 'inne') {
			obj = $(this).parent();
			$(this).remove();
			obj.append('<input name="" type="text">');
			$('input', obj).focus();
		}
	});
	$("[id*='opakowanie_'] select").live('change', function() {
		if ($(this).val() == 'inne') {
			obj = $(this).parent();
			$(this).remove();
			obj.append('<input name="" type="text">');
			$('input', obj).focus();
		}
	});
	
	$('#FromPayment select').change(function(){
		hideInvoices();
		checkPayment();
	});
	$('#dokument select').change(function(){
		hideInvoices();
		checkPayment();
	});
	
	// zmiana strony płacącej (wyświetlenie zapytania o dane do faktury dla odpowiedniej strony)
	$('#ShipFromInvoice [type="checkbox"], #ShipToInvoice [type="checkbox"]').change(function () {
		if ($(this).is(':checked')) {
			if ($(this).parents('dl').attr('id')=='ShipFromInvoice') {
				$('#ShipFrom_Invoice_CompanyOrName input').val($('#ShipFrom_CompanyOrName input').val());
				$('#ShipFrom_Invoice_PostalCode input').val($('#ShipFrom_PostalCode input').val());
				$('#ShipFrom_Invoice_CityOrTown input').val($('#ShipFrom_CityOrTown input').val());
				$('#ShipFrom_Invoice_Address1 input').val($('#ShipFrom_Address1 input').val());
			} else {
				$('#ShipTo_Invoice_CompanyOrName input').val($('#ShipTo_CompanyOrName input').val());
				$('#ShipTo_Invoice_PostalCode input').val($('#ShipTo_PostalCode input').val());
				$('#ShipTo_Invoice_CityOrTown input').val($('#ShipTo_CityOrTown input').val());
				$('#ShipTo_Invoice_Address1 input').val($('#ShipTo_Address1 input').val());
			}
		}
	});
//////////////////////////////////////////////////////////////////////////////	

	function showPackageOpts () {
		switch($('#PackageType select').val()) {
			case 'CP':
				$("[id*='ksztalt_'], [id*='opakowanie_']").show();
				$("[id*='ksztalt_'], [id*='opakowanie_']").prev().show();
			break;
			case '30':
				$("[id*='ksztalt_'], [id*='opakowanie_']").hide();
				$("[id*='ksztalt_'], [id*='opakowanie_']").prev().hide();
			break;
		}
	}

	function getPackageFields (v) {
		$("[id*='package_']").remove();
		for (i = 1; i <= v ;i++) {
			var tmpPackage = $("#package").clone();
			
			$('dd', tmpPackage).each(function() {
				$(this).attr({id: this.id + '_' + i});
			});
			tmpPackage.insertBefore('#package').attr({id: 'package_' + i}).data({number: i});
		} 
		showPackageOpts();
	}

	function sendPackege(where) {
		if ($('#userInfo').data('userID')==owner_id) {
			showMessage('Uwaga! Dane odbiorcy i nadawcy są takie same');
			return false;
		}
		if (!$('#userInfo').data('userID')) {
			showMessage('Uwaga! Brakuje danych odbiorcy/nadawcy');
			return false;
		}
		open("http://stskurier.pl/zamow_kuriera.php?" + where + "=" + $('#userInfo').data('userID') + "&owner=" + owner_id);
		return false;		
	}
	
	function hideCenterPanels () {
		$('#info_box, #login_table, #eventsAdmin, #orderSpecification, #userInfo').hide();
	}

	function hideListPanels() {
		$('#lista_user, #lista_order, #lista_events').hide();
	}
	
	function obliczOpcje() {
		var pCenySuma = 0.00;
		var pNiesortyIlosc = 0.00;
		$('#paczkaOpcje').data({mustPrint: false});

		var ubezpieczenie = $('#DeclaredValue input').val();
		
		var pobranie = $('#CODAmount input').val();
		var zwrot_dokumentow = ($('#ReturnOfDocument input').is(':checked')?1:0);
		var adres_prywatny = ($('#PrivateAddress input').is(':checked')?1:0);
		var adres_market = ($('#MarketAddress input').is(':checked')?1:0);
		var zwrot_palety = ($('#ReturnOfPallette input').is(':checked')?1:0);
		var g_odbiorca = $('#FromPayment select').val()==3;
		var strefa_rozszerzona = sprawdzStrefe($('#ShipFrom_PostalCode input').val(), $('#ShipTo_PostalCode input').val());
		
		switch ($('#PackageType select').val()) {
			case 'CP':
				$("[id*='package_']").each(function() {
					pNiesortyIlosc += $(this).data('koszty_paczki').niesort;
					pCenySuma += parseFloat($(this).data('koszty_paczki').cena);
				});
				$('#paczkaOpcje').data('ceny', { ubezpieczenie: (ubezpieczenie>0 ? 1 * $('#userInfo').data('userCennik').opcje.ubezpieczenie : 0),
																				pobranie: (pobranie > 0 ? (pobranie > 300 ? $('#userInfo').data('userCennik').opcje.pobranie_300 * 0.01 * pobranie : 1 * $('#userInfo').data('userCennik').opcje.pobranie) : (!pobranie && g_odbiorca ? 1 * $('#userInfo').data('userCennik').opcje.pobranie :0)),
																				zwrot_dokumentow: zwrot_dokumentow * $('#userInfo').data('userCennik').opcje.zwrot_dokumentow,
																				adres_prywatny: adres_prywatny * $('#userInfo').data('userCennik').opcje.adres_prywatny,
																				sumaNiesorty: 1 * pNiesortyIlosc * parseFloat($('#userInfo').data('userCennik').opcje.niestandard), 
																				strefa_rozszerzona: 1 * strefa_rozszerzona * $('#userInfo').data('userCennik').opcje.strefa_rozszerzona, 
																				sumaPaczki: 1 * pCenySuma
																				});
				break;
			case '30':
				$("[id*='package_']").each(function() {
					pNiesortyIlosc += $(this).data('koszty_paczki').niesort;
					pCenySuma += parseFloat($(this).data('koszty_paczki').cena);
					if ($(this).data('koszty_paczki').waga < 80)
					   $('#paczkaOpcje').data({mustPrint: true});
				});
				$('#paczkaOpcje').data('ceny', { ubezpieczenie: (ubezpieczenie>0 ? (ubezpieczenie>500 ? 1 * $('#userInfo').data('userCennik').opcje.ubezpieczenie : 1 * $('#userInfo').data('userCennik').opcje.ubezpieczenie_500) : 0),
																				pobranie: (pobranie > 0 ? (1 * $('#userInfo').data('userCennik').opcje.pobranie) : (!pobranie && g_odbiorca ? 1 * $('#userInfo').data('userCennik').opcje.pobranie :0)),
																				zwrot_dokumentow: zwrot_dokumentow * $('#userInfo').data('userCennik').opcje.zwrot_dokumentow,
																				adres_prywatny: adres_prywatny * $('#userInfo').data('userCennik').opcje.osoba_fizyczna,
																				sumaNiesorty: 1 * pNiesortyIlosc * parseFloat($('#userInfo').data('userCennik').opcje.niestandard),
																				adres_market: adres_market * $('#userInfo').data('userCennik').opcje.market,
																				zwrot_palety: zwrot_palety * $('#userInfo').data('userCennik').opcje.zwrot_palety,
																				sumaPaczki: pCenySuma
																				});
				break;
			case 'EE':
				$("[id*='package_']").each(function() {
					pCenySuma += parseFloat($(this).data('koszty_paczki').cena);
				});
				$('#paczkaOpcje').data('ceny', { zwrot_dokumentow: zwrot_dokumentow * $('#userInfo').data('userCennik').opcje.zwrot_dokumentow,
																				adres_prywatny: adres_prywatny * $('#userInfo').data('userCennik').opcje.adres_prywatny,
																				strefa_rozszerzona: 1 * strefa_rozszerzona * parseFloat($('#userInfo').data('userCennik').opcje.strefa_rozszerzona), 
																				sumaPaczki: 1 * pCenySuma
																				});
				break;
			default:
		}
		
		
	}
	function obliczPaczke(nr) {
//		console.log('licze paczke');
		var niesort = 0;
		var wymiar;
		
		$('#info_box').hide();
		if ($('#PackageType select').get(0).selectedIndex == 0) {
			showMessage('(paczki) nie wybrano rodzaju paczki! ' + $('#PackageType select').get(0).selectedIndex);
			return false;
		}
		if ($('#PackageType select').val() != 'EE') {
			var wymiary = [parseInt($('#dlugosc_' + nr + ' input').val()), parseInt($('#szerokosc_' + nr + ' input').val()), parseInt($('#wysokosc_' + nr + ' input').val())];
			var nwymiary = [parseInt($('#dlugosc_' + nr + ' input').val()), parseInt($('#szerokosc_' + nr + ' input').val()), parseInt($('#wysokosc_' + nr + ' input').val())];
			nwymiary = nwymiary.sort(function(a,b){return a - b});
			if (!isFinite(wymiary[0] * wymiary[1] * wymiary[2]) ||  wymiary[0] * wymiary[1] * wymiary[2] == 0) {
				showMessage('paczka: ' + nr + ' - brak wszystkich wymiarów przesyłki!');
				return false;
			}
			var waga = parseInt($('#waga_' + nr + ' input').val());
			var wagaMaks = parseInt($('#userInfo').data('userCennik').cennik[$('#userInfo').data('userCennik').cennik.length - 1].limit);
	/// sprawdzamy dopuszczalną wagę
			if (waga > wagaMaks) {
				showMessage('paczka: ' + nr + ' - zbyt duża waga!<br>waga maks.: ' + wagaMaks);
				return false;
			}
		}
///  sprawdzamy wymiary paczki		
		//console.log($('#PackageType select').val());
		switch ($('#PackageType select').val()) {
			case 'CP':
				nwymiary = wymiary.sort(function(a,b){return a - b});
				if (nwymiary[nwymiary.length - 1] > 270) {
					showMessage('paczka: ' + nr + ' - przekroczono maksymalny wymiar (270cm)!');
					return false;
				}
				
				if (2*(nwymiary[0] + nwymiary[1]) + nwymiary[2] > 330) {
					wymiar = 2*(nwymiary[0] + nwymiary[1]) + nwymiary[2];
					showMessage('paczka: ' + nr + ' - przekroczono sumę wymiarów (330cm)!<br> obliczona suma: ' + wymiar + 'cm');
					return false;
				}
				
				var ksztalt = $('#ksztalt_' + nr + ' input, #ksztalt_' + nr + ' select').val() != "szescian";
				var opakowanie = $('#opakowanie_' + nr + ' input, #opakowanie_' + nr + ' select').val() != "karton";
				var maxWymiar = nwymiary[wymiary.length - 1];
				var niesort = ((maxWymiar > 120 || ksztalt || opakowanie) && waga <= 70);
				gabarytowa  = (wymiary[0] * wymiary[1] * wymiary[2])/5000;
				if (gabarytowa > waga) {
						showMessage('paczka: ' + nr + ' - uwzględniono wagę gabarytową (' + Math.round(gabarytowa) + 'kg)');
						waga = gabarytowa;
				}
				break;
			case '30':
				if (wymiary[0]>240 || wymiary[1]>240 || wymiary[2]>240) {
					showMessage('paleta: ' + nr + ' - przekroczono maksymalny rozmiar 240cm');
					return false;
				}
				if (wymiary[2]>180) {
					showMessage('paleta: ' + nr + ' - przekroczono maksymalną wysokość 180cm');
					return false;
				}
				if ((wymiary[0] > 120 || wymiary[1] > 80) && (waga <= 80)) {
					showMessage('paleta: ' + nr + ' - Niedopuszczalne wymiary palety (do 80 kg wymiary nie mogą przekraczać 120x80)');
					return false;
				}
				gabarytowa  = (wymiary[0] * wymiary[1] * wymiary[2])/1000000*333;
				if (gabarytowa > 1200) {
					showMessage('paczka: ' + nr + ' - przekroczono maksymalną wagę gabarytową (' + Math.round(gabarytowa) + 'kg)');
					return false;
				}
				if (wymiary[0] > 120 || wymiary[1] > 80) {
				  niesort = true;
					if (gabarytowa > waga) {
							waga = gabarytowa;		
							showMessage("Przekroczony wymiar standardowy\n" + 'paleta: ' + nr + ' - uwzględniono wagę gabarytową (' + Math.round(waga) + 'kg)');
					} else {
							showMessage("Przekroczony wymiar standardowy\n" + 'paleta: ' + nr + ' - uwzględniono wagę rzeczywistą (' + Math.round(waga) + 'kg)');
					}
				}
				break;
			case 'EE':
				gabarytowa = waga = 1;
				break;
		}
///  obliczamy przesyłke gabarytową
		var i = 0;												
		while (waga > parseInt($('#userInfo').data('userCennik').cennik[i].limit)) {
			i++;
		}
		$('#package_' + nr).data({koszty_paczki: {numer: nr,
														 									cena: $('#userInfo').data('userCennik').cennik[i].cena_netto,
																							niesort: (niesort?1:0),
																							waga: waga,
//																							waga: $('#waga_' + nr + ' input').val(),
																							dlugosc: $('#dlugosc_' + nr + ' input').val(),
																							szerokosc: $('#szerokosc_' + nr + ' input').val(),
																							wysokosc: $('#wysokosc_' + nr + ' input').val(),
																							opakowanie: $('#opakowanie_' + nr + ' input, #opakowanie_' + nr + ' select').val(),
																							ksztalt: $('#ksztalt_' + nr + ' input, #ksztalt_' + nr + ' select').val()																				
																							}});
		//console.log($('#package_' + nr).data('koszty_paczki'));
		return true;
	}

	function clearForm(formId) {
		$('#' + formId + ' input[type="text"]').val('');
		$('#' + formId + ' dd:not(#PackageType) select').each(function () {this.selectedIndex = 0});
		$('#' + formId + ' input[type="checkbox"]').attr('checked', false);
		getPackageFields(1);
	}
	
	function clearPrices() {
		$('#koszty dd').text('0.00');
	}
	
	function sprawdzStrefe (kod1, kod2) {
		return $.ajax({
			url: '../server/index.php?action=getStrefe&kod1=' + kod1 + '&kod2=' + kod2,
			async: false
		}).responseText;
	}

	function hideInvoices () {
		$('#ShipFromInvoice, #ShipToInvoice').hide();
		$('#ShipFromInvoice').parent().prev('dt').hide();
		$('#ShipToInvoice').parent().prev('dt').hide();
	}
	
	function showInvoice(invoiceID) {
		$('#' + invoiceID).show();
		$('#' + invoiceID).parent().prev('dt').show();
	}
	function checkPayment() {
		if ($('#dokument select').val()=='faktura') {
			if ($('#FromPayment select').val()==1) {
				showInvoice('ShipFromInvoice'); 
				return 'ShipFromInvoice';
			}
			if ($('#FromPayment select').val()>1) {
				showInvoice('ShipToInvoice'); 
				return 'ShipToInvoice';
			}
		}
		return false;
	}
	
	function calculateOrder() {
		var noErrors = true; 
		var sumaCalosci = 0.00;
		var paliwo = 0.00;
		clearPrices();
		
		if ($('#PackageType select').get(0).selectedIndex == 0) {
			showMessage('Nie wybrano rodzaju Przesyłki');
			$('#PackageType').prev().addClass('alert');
			return false;
		} else {
			$('#PackageType').prev().removeClass('alert');
		}
		
		$.each(fieldsToCheck[$('#PackageType select').val()], function(index, value) {
			error = checkField(value, value);
			noErrors = noErrors && error;																													 
			if (error) {
				$('#' + value).prev().removeClass('alert');
			} else {
				$('#' + value).prev().addClass('alert');
				showMessage('Błędy w danych formularza');
			}
		});
		
		if ($('#CODAmount input').val() > $('#DeclaredValue input').val()) {
			$('#DeclaredValue input').val($('#CODAmount input').val());
		}

		if (noErrors && $('#CODAmount input').val() > 5000 && $('#PackageType select').val()=='30') {
			showMessage('wartość pobrania nie może przekroczyć 5 000 zł');
			$('#CODAmount').prev().addClass('alert');
			noErrors = false;
		}/* else {
			$('#CODAmount').prev().removeClass('alert');
		}*/
		if (noErrors && $('#DeclaredValue input').val() > 50000) {
			showMessage('wartość ubezpieczenia nie może przekroczyć 50 000 zł');
			$('#DeclaredValue').prev().addClass('alert');
			noErrors = false;
		}/* else {
			$('#DeclaredValue').prev().removeClass('alert');
		}*/
		
		
		for (var i = 1; i < (parseInt($('#NumberOfPackages select').val()) + 1); i++) {
			$.each(packegeToCheck[$('#PackageType select').val()], function(index, value) {
				error = checkField(value + '_' + i, value);
				noErrors = noErrors && error;																													 
				if (error) {
					$('#' + value + '_' + i).prev().removeClass('alert');
				} else {
					$('#' + value + '_' + i).prev().addClass('alert');
					showMessage('Błędy w danych formularza');
				}
			});

			if (noErrors) {
				noErrors = noErrors && obliczPaczke(i);
			}
		}
		if (noErrors) {
			obliczOpcje();
			$.each($('#paczkaOpcje').data('ceny'), function(key, value) {
					$('#' + key).text(value.toFixed(2));
					sumaCalosci += value;
			});

			paliwo = sumaCalosci * $('#userInfo').data('userCennik').opcje.dodatek_paliwowy * 0.01;
			$('#paliwo').text(paliwo.toFixed(2));
			sumaCalosci +=	paliwo;
			$('#paczki_razem').text((sumaCalosci).toFixed(2));
			$('#paczki_vat').text((sumaCalosci * 0.23).toFixed(2));      /////// zmiana VAT
			$('#paczki_brutto').text((sumaCalosci * 1.23).toFixed(2));      /////// zmiana VAT
		}
		return noErrors;
	}
	
	function checkClientDatas() {
		var noErrors = true;
		error = checkField('courierDate', 'courierDate');
		noErrors = noErrors && error;		
		if (error) {
			$('#courierDate').prev().removeClass('alert');
		} else {
			$('#courierDate').prev().addClass('alert');
			showMessage('Błędy w danych formularza');
		}
		noErrors = noErrors && checkContainerData('#shipFromDatas');
		noErrors = noErrors && checkContainerData('#shipToDatas');
		if (checkPayment()) {
			checkContainerData(checkPayment());
		}
		error = !$('#canPrint select').get(0).selectedIndex == 0;
		if (error) {
			$('#canPrint').prev().removeClass('alert');
		} else {
			$('#canPrint').prev().addClass('alert');
			showMessage('Deklaracja możliwości wydruku jest konieczna');
		}
		noErrors = noErrors && error;		
		error = $('#akceptacja input').is(':checked');
		if (error) {
			$('#akceptacja').prev().removeClass('alert');
		} else {
			$('#akceptacja').prev().addClass('alert');
			if (noErrors) showMessage('Brak akceptacji regulaminu');
		}
    noErrors = noErrors && error;
		error = !(($('#canPrint select').get(0).selectedIndex == 2) && $('#paczkaOpcje').data('mustPrint'));
    if (error) {
      $('#canPrint').prev().removeClass('alert');
    } else {
      $('#canPrint').prev().addClass('alert');
      showMessage('w przypadku wyboru palety poniżej 80 kg konieczna jest możliwość wydruku listu przewozowego');
    }
		noErrors = noErrors && error;		
		
		return noErrors;
	}
