// Copyright (c) Piotr Sawicki
// Wszelkie prawa zastrzeżone.

/* common */

var isDOM = (document.getElementById ? true : false); 
var isIE4 = ((document.all && !isDOM) ? true : false);
var isNS4 = (document.layers ? true : false);

function getRef(id) {
	if (isDOM) return document.getElementById(id);
	else if (isIE4) return document.all[id];
	else if (isNS4) return document.layers[id];
}

function getSty(id) {
	return (isNS4 ? getRef(id) : getRef(id).style);
} 

function getImg(id) {
	return document.images[id];
}

function imgChange(imgName, imgSrc) {
	getImg(imgName).src = imgSrc;
}

function isValidEmail(email) {
	return /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(email);
}

function popupOpen(targetURL, cx, cy) {
	var xOffset = (screen.availWidth - cx) / 2;
	var yOffset = (screen.availHeight - cy) / 2.3;
	popup = window.open(targetURL, 'popup'+cx+'_'+cy, 'alwaysRaised=yes,dependent,scrollbars=yes,resizable=yes,width='+cx+',height='+cy+',screenX='+xOffset+',screenY='+yOffset+',top='+yOffset+',left='+xOffset+'');
	popup.focus();
}

/* extensions */

function koszykUsun(prod_id) {
	window.location = 'koszyk.html?a=usun&prod_id=' + prod_id;
}

function koszykDostawa(dostawa_uid) {
	window.location = 'koszyk.html?dostawa=' + dostawa_uid;
}

function sprawdzPolecam(frm) {
	if ( !frm.nazwa.value ) {
		window.alert('Wpisz swoje imię lub pseudonim.');
		frm.nazwa.focus();
		return false;
	}
	if ( !frm.email.value || !isValidEmail(frm.email.value) ) {
		window.alert('Wpisz poprawny adres e-mail.');
		frm.email.focus();
		return false;
	}
	var found = false;
	for ( var ii = 0; ii < 5; ii++ ) {
		var nazwa = 'nazwa' + ii;
		var email = 'email' + ii;
		if ( frm[nazwa].value || frm[email].value ) {
			found = true;
			if ( !frm[nazwa].value ) {
				window.alert('Wpisz imię lub pseudonim znajomej osoby.');
				frm[nazwa].focus();
				return false;
			}
			if ( !isValidEmail(frm[email].value) ) {
				window.alert('Wpisz poprawny adres e-mail.');
				frm[email].focus();
				return false;
			}
		}
	}
	if ( !found ) {
		window.alert('Wpisz imię i adres e-mail przynajmniej jednej osoby.');
		frm.nazwa0.focus();
		return false;
	}
	return true;
}

function sprawdzOpinie(frm) {
	if ( !frm.nazwa.value ) {
		window.alert('Wpisz swoje imię lub pseudonim.');
		frm.nazwa.focus();
		return false;
	}
	if ( frm.tekst.value == '' ) {
		window.alert('Wpisz opinię.');
		frm.tekst.focus();
		return false;
	}
	return true;
}

function sprawdzPytanie(frm) {
	if ( !frm.nazwa.value ) {
		window.alert('Wpisz swoje imię lub pseudonim.');
		frm.nazwa.focus();
		return false;
	}
	if ( !isValidEmail(frm.email.value) ) {
		window.alert('Wpisz poprawny adres e-mail.');
		frm.email.focus();
		return false;
	}
	if ( !frm.pytanie.value ) {
		window.alert('Wpisz treść pytania.');
		frm.pytanie.focus();
		return false;
	}
	return true;
}

function komunikatBledu(mesydz) {
	window.alert(mesydz + "\n(Wyróżnione pola są niezbędne do złożenia zamówienia)");
}
function poleDziala(poletko, mesydz) {
	var result = false;
	if ( !poletko.value ) {
		komunikatBledu(mesydz);
		poletko.focus();
	} else {
		result = true;
	}
	return result;
}
function emailDziala(poletko, mesydz) {
	var result = false;
	if ( poletko.value ) {
		if ( (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(poletko.value)) ) {
			result = true;
		} else {
			window.alert(mesydz);
		}
	} else {
		result = window.confirm('Zalecamy podanie adresu e-mail.\nKliknij ANULUJ, aby uzupełnić adres e-mail.\nKliknij OK, aby kontynuować bez podawania adresu.');
	}
	if ( !result ) poletko.focus();
	return result;
}
function sprawdzZamowienie() {
	var result = false;
	do {
		if ( !poleDziala(document.zamowienie.imie, "Podaj swoje imię.") ) break;
		if ( !poleDziala(document.zamowienie.nazwisko, "Podaj swoje nazwisko.") ) break;
		if ( !poleDziala(document.zamowienie.ulica, "Podaj nazwę ulicy.") ) break;
		if ( !poleDziala(document.zamowienie.miasto, "Podaj nazwę miasta/miejscowości.") ) break;
		if ( !poleDziala(document.zamowienie.kod_pocztowy, "Podaj kod pocztowy.") ) break;
		if ( !poleDziala(document.zamowienie.telefony, "Podaj telefon kontaktowy.") ) break;
		if ( !emailDziala(document.zamowienie.email, "Podaj PRAWIDLOWY adres e-mail lub zostaw pole puste.") ) break;
		result = true;
	} while ( false );
	return result;
}
