var isIE = document.all?true:false;
var isNS = document.layers?true:false;

function onlyDigits(e, decReq) {
	var key = (isIE) ? window.event.keyCode : e.which;
	var obj = (isIE) ? event.srcElement : e.target;
	var isNum = (key > 47 && key < 58) ? true:false;
	var dotOK = (key==46 && decReq=='decOK' && (obj.value.indexOf(".")<0 || obj.value.length==0)) ? true:false;
	window.event.keyCode = (!isNum && !dotOK && isIE) ? 0:key;
	e.which = (!isNum && !dotOK && isNS) ? 0:key;
	return (isNum || dotOK);
}

function LTrim(str) {
	for (var k=0; k<str.length && str.charAt(k)<=" " ; k++);
		return str.substring(k,str.length);
}
	
function RTrim(str) {
	for (var j=str.length-1; j>=0 && str.charAt(j)<=" " ; j--) ;
		return str.substring(0,j+1);
}
       
function Trim(str) {
	return LTrim(RTrim(str));
}      

function check_email(email) {
    invalid = " /:,;";
    if(email == "") { return false }
    for(i=0; i < invalid.length; i++) {
        bad = invalid.charAt(i);
        if (email.indexOf (bad, 0) != -1) { return false }
    }
    at = email.indexOf("@", 0);
    if( (at == -1) || (at == 0) ) { return false }
    if(email.indexOf("@", at+1) != -1) { return false }
    period = email.indexOf(".", at);
    if( (period == -1) || (period == at+1) ) { return false }
    if(period+3 > email.length == -1) { return false }
    return true;
}

function isemail(e){return /^[\w\.-]{2,}@[\w\.-]+\.[a-z]{2,5}$/i.test(e)}

function checkNIP(text){
	text = Trim(text);
	var max_lenght = 13;
	var min_lenght = 10;
	
	var re=/^[0-9][\w-.]+[-0-9]$/i;
	
	if ( (text.length < min_lenght) || (text.length > max_lenght) || (re.test(text) === false) ){
		return false;
	} else {
		return true;
	}
}

function checkZIP(text){
	text = Trim(text);
	var min_lenght = 5;
	
	var re=/^[0-9][\w-.]+[-0-9]$/i;
	
	if ( (text.length < min_lenght) || (re.test(text) === false) ){
		return false;
	} else {
		return true;
	}
}

function selectedValue(fieldname){
	//funkcja zwraca aktualna wartosc z pola typu "select"
	return fieldname.options[fieldname.selectedIndex].value;
}

function selectedText(fieldname){
	//funkcja zwraca aktualny text z pola typu "select"
	return fieldname.options[fieldname.selectedIndex].text;
}

function radioValue(fieldname){
	//funkcja zwraca aktualna wartosc z zestawu pol typu radio
	var result = 0;
	for (var i = 0; i < fieldname.length; i++){
		if (fieldname[i].checked){
			result = fieldname[i].value;
		}
	}
	return result;
}

/**
* Funkcja blokuje wpisywanie znakow innych niz litery
* Zastosowanie : 
* <form>
* <input type="text" onkeypress="return onKeyPressBlockNumbers(event);" />
* </form>
*/
function onKeyPressBlockNumbers(e, decReq){
	var key = window.event ? e.keyCode : e.which;
	var keychar = String.fromCharCode(key);
	reg = /\d/;
	return !reg.test(keychar);
}

function onlyDigits2(e, decReq) {
	//kod 8 - backspace
	var isNum
	var key = window.event ? e.keyCode : e.which;
	
	if (decReq == 'decOK'){
		isNum = ((key > 47 && key < 58) || (key == 8) || (key == 46) ) ? true : false;
	} else {
		isNum = ((key > 47 && key < 58) || (key == 8)) ? true : false;
	}
	return isNum
}

function validateZamowienie(form){
	var message = ''
	
	if (selectedValue(form.platnosc_id) == "") {
		message += '-> Wybierz sposób płatności\n';
	}
	
	if (form.nazwisko.value == "") {
		message += '-> Proszę podać imię i nazwisko\n';
	}
	
	if (form.adres.value == "") {
		message += '-> Proszę podać adres\n';
	}
	
	if (form.miasto.value == "") {
		message += '-> Proszę podać miasto\n';
	}
	
	if (form.kod.value == "") {
		message += '-> Proszę podać kod pocztowy\n';
	}
	
	if (form.kod.value == "") {
		message += '-> Proszę podać kod pocztowy\n';
	}
	
	if (selectedValue(form.wojewodztwo) == "") {
		message += '-> Wybierz województwo\n';
	}
	
	if (form.telefon.value == "") {
		message += '-> Proszę podać nr telefonu kontaktowego\n';
	}
	
	if (form.email.value == "") {
		message += '-> Proszę podać adres e-mail\n';
	} else {
		if ( isemail(form.email.value) == false ){
			message += '-> Podany adres e-mail jest niepoprawny\n';
		}
	}
	
	if (message != '') {
		alert ("Przy wysylaniu formularza wystąpiły następujące błędy:\n\n" + message);
		return false;
	} else {
		return true;
	}
}

function validateKoszyk(form){
	var message = '';

	if (!(form.ilosc.value > 0)) {
		message += '-> Podaj ilość\n';
	}
	
	if (message != '') {
		alert ("Przy wysylaniu formularza wystąpiły następujące błędy:\n\n" + message);
		return false;
	} else {
		return true;
	}	
	
}
