"use strict";

function AddToBasket(sid) {
    $.get('/ajax.php', 'act=AddToBasket&id=' + sid);
    $('#komunikat').hide().html('Dodano do koszyka.').fadeIn('slow');
	setTimeout(function () {
		$('#komunikat').fadeOut('slow');
	}, 3000);

}

function RemoveFromBasket(sid) {
    $.get('/ajax.php', 'act=RemoveFromBasket&id=' + sid);
    $('#komunikat').hide().html('Usunięto z koszyka.').fadeIn('slow');
	$('#produkt_' + sid).remove();
	setTimeout(function () {
		$('#komunikat').fadeOut('slow');
		if ($('tr[id^=produkt_]', $('#form')).length === 0) {
			window.location.reload();
		}
	}, 3000);
}


function RecalcBasket() {
    $('#form').submit();
}

function nip(value) {
	if (/^\d{10}$/.test(value)) {
		var arr = value.split(''),
			dlugosc = arr.length - 1,
			suma = 0,
			wagi = [6, 5, 7, 2, 3, 4, 5, 6, 7],
			j;

		for (j = 0; j < dlugosc; j++) {
			suma += parseInt(arr[j], 10) * wagi[j];
		}

		return (suma % 11) === parseInt(arr[dlugosc], 10);
	} else {
		return false;
	}
}

function test(form) {
    if (form.imie.value === '') {
		alert("Musisz uzupełnić imię.");
		form.imie.focus();
		return false;
    } else if (form.nazwisko.value === '') {
		alert("Musisz uzupełnić nazwisko.");
		form.nazwisko.focus();
		return false;
/*
	// 2009-08-13 nieobowiazkowe
    } else if (form.firma.value === '') {
		alert('Musisz uzupełnić nazwę.');
		form.firma.focus();
		return false;
*/
    } else if (form.firma.value !== '' && form.nip.value === '') {
		alert('Musisz uzupełnić NIP.');
		form.nip.focus();
		return false;
    } else if (form.nip.value !== '' && !nip(form.nip.value)) {
		alert('Musisz podać poprawny NIP.');
		form.nip.focus();
		return false;
    } else if (form.adres1.value === ''/* || form.adres2.value === ''*/) {
		alert('Musisz uzupełnić adres.');
		form.adres1.focus();
		return false;
    } else if (form.email.value === '') {
		alert('Musisz uzupełnić adres email.');
		form.email.focus();
		return false;
    } else if (form.haslo && form.haslo.value === '') {
		alert('Musisz uzupełnić hasło.');
		form.haslo.focus();
		return false;
    } else if (form.haslo && form.haslop.value !== form.haslo.value) {
		alert('Hasło i jego powtórzenie muszą być identyczne.');
		form.haslop.focus();
		return false;
    } else if (form.regulamin && form.regulamin.value !== '1') {
		alert('Musisz zapoznać się z regulaminem Zamówień Online Drukarni CDR.');
		form.regulamin.focus();
		return false;
    } else {
		return true;
    }
}

function test1(form) {
    if (form.imie.value === '') {
		alert("Musisz uzupełnić imię.");
		form.imie.focus();
		return false;
    } else if (form.nazwisko.value === '') {
		alert("Musisz uzupełnić nazwisko.");
		form.nazwisko.focus();
		return false;
/*
	// 2009-08-13 nieobowiazkowe
    } else if (form.firma.value === '') {
		alert('Musisz uzupełnić nazwę.');
		form.firma.focus();
		return false;
*/
    } else if (form.firma.value !== '' && form.nip.value === '') {
		alert('Musisz uzupełnić NIP.');
		form.nip.focus();
		return false;
    } else if (form.nip.value !== '' && !nip(form.nip.value)) {
		alert('Musisz podać poprawny NIP.');
		form.nip.focus();
		return false;
    } else if (form.adres1.value === ''/* || form.adres2.value === ''*/) {
		alert('Musisz uzupełnić adres.');
		form.adres1.focus();
		return false;
    } else if (form.email.value === '') {
		alert('Musisz uzupełnić adres email.');
		form.email.focus();
		return false;
    } else if (form.haslo.value === '') {
		alert('Musisz uzupełnić hasło.');
		form.haslo.focus();
		return false;
    } else if (form.haslop.value !== form.haslo.value) {
		alert('Hasło i jego powtórzenie muszą być identyczne.');
		form.haslop.focus();
		return false;
    } else if (!form.regulamin.checked) {
		alert('Musisz zapoznać się z regulaminem Zamówień Online Drukarni CDR.');
		form.regulamin.focus();
		return false;
    } else {
		return true;
    }
}

function roundNumber(num, dec) {
	return Math.round(num * Math.pow(10, dec)) / Math.pow(10, dec);
}

function humanFileSize(val) {
	var jm = [' kB', ' MB', ' GB'], i = 0;

	val = roundNumber(val / 1024, 2);
	while (val > 1024 && i < jm.length) {
		val = roundNumber(val / 1024, 2);
		++i;
	}

	return val + jm[i];
}

function hidemsg() {
    window.setTimeout(function () {
		$("#komunikat").fadeOut();
	}, 9000);
}

function msg(txt) {
    $("#komunikat").fadeIn();
    $("#komunikat").html(txt);
    hidemsg();
}

function refresh() {
	window.location.href = window.location.href;
}

function testAccept() {
	if (confirm('Jesteś pewien że już skończyłeś ?')) {
		$.blockUI({
			applyPlatformOpacityRules: false,
			message: '<h1>Trwa wgrywanie plików. Proszę czekać... <img src="images/icons/busy.gif" width="15" height="15" border="0" alt="Zajęty" title="Proszę czekać"/></h1>'
		});

		return true;
	}

	return false;
}

function usunPlik($id) {
	$.ajax({
		type: 'POST',
		url: 'pliki.php?act=delete',
		data: 'id=' + $id,
		dataType: 'json',
		success: function (data) {
			msg(data.msg);
			data.del && $('#plik_' + $id).remove();
		}
	});
}

function sciagnijPlik($id) {
	var wnd = window.open('pliki.php?act=downloadWindow&id=' + $id, 'sciaganie_pliku', 'resizable=no,scrollbars=no,menubar=no,toolbar=no,location=no,directories=no,personalbar=no,status=no,dependent=yes,dialog=yes,minimizable=no,titlebar=no,height=120,width=350', false);
}

function editableDescription() {
	$('td.edit div').editable('pliki.php?act=change', {
		submit      : 'zapisz',
		width       : '70%',
		indicator   : 'zapisywanie ...',
		placeholder : 'kliknij aby edytować ...',
		tooltip     : 'kliknij aby edytować ...'
	});
}

function initPliki($, SessionID, sizeLimit, fileExt, fileDesc) {
	//editableDescription();
	var img = new Image();
	img.src = 'images/icons/busy.gif';

	$('#fileUpload').fileUpload({
		uploader: 'uploader.swf',
		cancelImg: 'images/icons/cancel.png',
		script: 'pliki.php',
		multi: true,
		buttonText: 'Wybierz pliki',
		displayData: 'percentage',
		simUploadLimit: 1,
		fileDesc: fileDesc,
		fileExt: fileExt,
		wmode: 'transparent',
		sizeLimit: sizeLimit,
		scriptData: { SessionID: SessionID },
		onAllComplete: function (event, data) {
			refresh();
		},
		onComplete: function (event, queueID, fileObj, response, data) {
			response !== '1' && msg(response);
		},
		onError: function (event, queueID, fileObj, errorObj) {
			switch (errorObj.type) {
			case 'HTTP':
				if (errorObj.status === '404') {
					msg('Wystąpił problem techniczny, nie można wgrać pliku.');
				} else {
					msg('Błąd. HTTP: ' + errorObj.status);
				}
				break;
			case 'IO':
				msg('Błąd. IO: ' + errorObj.text);
				break;
			case 'Security':
				msg('Błąd. Security: ' + errorObj.text);
				break;
			case 'File Size':
				msg('Błąd. Plik "' + fileObj.name + '" jest za duży. Limit wielkości: ' + humanFileSize(errorObj.sizeLimit));
				break;
			default:
				msg('Błąd. ' + errorObj.type + ': ' + errorObj.text);
			}
		}
	});
}

function transport_platnosc() {
	$('#transport_kurier').bind('change', function () {
		$('#platnosc_elektroniczna').click();
		$('#platnosc_przy_odbiorze').attr('disabled', 'disabled');
	});

	$('#transport_odbior_osobisty').bind('change', function () {
		$('#platnosc_przy_odbiorze').removeAttr('disabled');
	});
}