var isIE = document.all?true:false;
var isNS = document.layers?true:false;

//funkcja zwraca aktualna wartosc z pola typu "select"
function selectedValue(fieldname){
	return fieldname.options[fieldname.selectedIndex].value;
}

//funkcja zwraca aktualny text z pola typu "select"
function selectedText(fieldname){
	return fieldname.options[fieldname.selectedIndex].text;
}

//funkcja zwraca aktualna wartosc z zestawu pol typu radio
function radioValue(fieldname){
	var result = 0;
	for (var i = 0; i < fieldname.length; i++){
		if (fieldname[i].checked){
			result = fieldname[i].value;
		}
	}
	return result;
}

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 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 onlyTime(e) {
	var key = (isIE) ? window.event.keyCode : e.which;
	var obj = (isIE) ? event.srcElement : e.target;
	var isNum = ( (key > 47 && key < 58) || (key == 58) ) ? true:false;
	window.event.keyCode = (!isNum && isIE) ? 0:key;
	e.which = (!isNum && isNS) ? 0:key;
	return (isNum);
}

function onlyDate(e) {
	var key = (isIE) ? window.event.keyCode : e.which;
	var obj = (isIE) ? event.srcElement : e.target;
	var isNum = ( (key > 47 && key < 58) || (key == 45) ) ? true:false;
	window.event.keyCode = (!isNum && isIE) ? 0:key;
	e.which = (!isNum && isNS) ? 0:key;
	return (isNum);
}
     

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 checkLogin(text){
	text = Trim(text);
	var min_lenght = 3;
	var re=/^[A-Za-z_][\w-.]+[A-Za-z0-9]$/i;
	
	if (text.length < min_lenght){
		return LANG_LOGIN_TO_SHORT + ' : ' + min_lenght;
	} else {
		if (re.test(text) === false){
			return LANG_LOGIN_BAD;
		}
	}
	return '';
}

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;
	}
}

/**
* 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
	//kod 0 - znaki specjalne ,np tabulator
	var isNum
	var key = window.event ? e.keyCode : e.which;

	if (decReq == 'decOK'){
		isNum = ((key > 47 && key < 58) || (key == 8) || (key == 0) || (key == 46) ) ? true : false;
		if (!isNum){
			alert(LANG_DIGITS_ALPHA);
		}
	} else {
		isNum = ((key > 47 && key < 58) || (key == 8) || (key == 0)) ? true : false;
		if (!isNum){
			alert(LANG_DIGITS_NUMS);
		}
	}
	return isNum
}

