var isIE = document.all?true:false;
var isNS = document.layers?true:false;

function onlyDigits(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 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 islogin(e){
	return /^[0-9a-zA-Z]{3,12}$/i.test(e)
}

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 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;
}

function validateLoginForm(form) {
	var message = ''
	
	var login = Trim(form.login.value);
	if (login == "") {
		message += 'Pole Login/nick nie może pozostać puste\n';			
	} else {
		if ( islogin(login) == false ) {
			message += 'Podany Login/nick jest niepoprawny\n';
		} 		
	}
		
	if (form.email.value == "") {
		message += 'Pole Adres e-mail nie może pozostać puste\n';
	} else {
		if ( isemail(form.email.value) == false ){
			message += 'Podany przez Ciebie adres e-mail jest niepoprawny\n';
		}	
	}
	
	if (message != '') {
		alert ("Wystąpił błąd!\n\n" + message);
		return false;
	} else {
		return true;
	}
}

function validateForgetForm(form) {
	var message = ''
	
	var login = Trim(form.login.value);
	if (login == "") {
		message += 'Pole login nie może pozostać puste\n';			
	}
	
	var email = Trim(form.email.value);
	if (email == "") {
		message += 'Pole email nie może pozostać puste\n';			
	}else{
    if ( isemail(form.email.value) == false ){
			message += 'Podany przez Ciebie adres e-mail jest niepoprawny\n';
		}
  }
	
	if (message != '') {
		alert ("Wystąpił błąd!\n\n" + message);
		return false;
	} else {
		return true;
	}
}

function validateChangeForm(form) {
	var message = ''
	
	var old_haslo = Trim(form.old_haslo.value);
	if (old_haslo == "") {
		message += 'Pole stare hasło nie może pozostać puste\n';			
	}
	
	var new_haslo = Trim(form.new_haslo.value);
	if (new_haslo == "") {
		message += 'Pole nowe hasło nie może pozostać puste\n';			
	}
	
  var new_hasloo = Trim(form.new_hasloo.value);
  if (new_haslo != new_hasloo) {
		message += 'Nowe hasła nie są takie same\n';			
	}
	
	if (message != '') {
		alert ("Wystąpił błąd!\n\n" + message);
		return false;
	} else {
		return true;
	}
}

function validateRegisterForm(form) {
	var message = ''
	
	var login = Trim(form.login.value);
	if (login == "") {
		message += 'Pole Login/nick nie może pozostać puste\n';			
	} else {
		if ( islogin(login) == false ) {
			message += 'Podany Login/nick jest niepoprawny\n';
		} 		
	}
  
  var pass = Trim(form.pass.value);
	if (pass == "") {
		message += 'Pole hasło nie może pozostać puste\n';			
	}
	var pass_confirm = Trim(form.pass_confirm.value);
	if (pass_confirm == "") {
		message += 'Pole potwierdź hasło nie może pozostać puste\n';			
	}
  
  if (pass != pass_confirm) {
		message += 'Hasła nie pasują do siebie\n';			
	}
  
  
	if (form.email.value == "") {
		message += 'Pole Adres e-mail nie może pozostać puste\n';
	} else {
		if ( isemail(form.email.value) == false ){
			message += 'Podany przez Ciebie adres e-mail jest niepoprawny\n';
		} else {
			if (form.email_confirm.value == "") {
				message += 'Brak potwierdzenia adresu e-mail\n';
			} else {
				if ( form.email_confirm.value != form.email.value ){
					message += 'Adres e-mail i jego potwierdzenie nie zgadzają się\n';
				}	
			}			
		}
	}



	if (form.sname.value == "") {
		message += 'Pole Nazwisko nie może pozostać puste\n';
	}
	
	if (!form.accepted.checked){
		message += 'Musisz zaakceptawać warunki regulaminu\n';
	}
	
	if (message != '') {
		alert ("Wystąpił błąd!\n\n" + message);
		return false;
	} else {
		return true;
	}
}

function validateReportAddFormStep1(form){
	var message = ''
	
	if ( (form.category.value == "") && (form.category_new.value == "") ) {
		message += 'Wybierz kategorię z listy lub zaproponuj nową kategorię\n';
	} 

	if (document.frmReportAdd.services_show.value == 1){
		if ( Trim(form.report_company_name.value) == "" ) {
			message += 'Podaj nazwę firmy\n';
		}
		if ( Trim(form.report_company_adress.value) == "" ) {
			message += 'Podaj adres firmy\n';
		}
		if ( !(selectedValue(form.report_company_region_id) > 0 )) {
			message += 'Wybierz województwo\n';
		}
		if ( !(selectedValue(form.report_company_city_id) > 0 )) {
			message += 'Wybierz miasto\n';
		}		
	}
	
	if (message != '') {
		alert ("Wystąpił błąd!\n\n" + message);
		return false;
	} else {
		return true;
	}
}

function validateReportAddFormStep2(form){
	var message = ''

	if ( Trim(form.report_name.value) == "" ) {
		message += 'Podaj temat raportu\n';
	} 
	
	//if ( Trim(form.report_content.value) == "" ) {
	//	message += 'Podaj treść raportu\n';
	//} 
	
	if (message != '') {
		alert ("Wystąpił błąd!\n\n" + message);
		return false;
	} else {
		return true;
	}
}

function validateCommentAddForm(form){

	var message = '';
	var verdict = radioValue(form.verdict);
	
	if ( form.nick.value == "")  {
		message += 'Pole "Twój nick" nie może zostać puste\n';
	} 

	if (form.email.value != "" ) {
		if ( isemail(form.email.value) == false ){
			message += 'Podany przez Ciebie adres e-mail jest niepoprawny\n';
		}
	}
	
	if ( form.comment.value == "")  {
		message += 'Proszę podać treść swojego komentarza\n';
	} 
	
	if ( (verdict != 1) && (verdict != -1) && (verdict != 0) ){
		message += 'Proszę ocenić raport\n';
	}
	
	if (message != '') {
		alert ("Wystąpił błąd!\n\n" + message);
		return false;
	} else {
		return true;
	}
}

function validateAbuseAddForm(form){
	var message = ''
	
	if (form.email.value == "" ) {
		message += 'Proszę podać swój adres e-mail\n';
	} else {
		if ( isemail(form.email.value) == false ){
			message += 'Podany przez Ciebie adres e-mail jest niepoprawny\n';
		}		
	}
	
	if ( Trim(form.content.value) == "")  {
		message += 'Proszę podać treść swojego zgłoszenia\n';
	} 
	
	if (message != '') {
		alert ("Wystąpił błąd!\n\n" + message);
		return false;
	} else {
		return true;
	}
}

function validateContactForm(form){
	var message = ''

	if ( Trim(form.nazwisko.value) == "")  {
		message += 'Proszę podać swoje imię i nazwisko\n';
	} 

	if ( Trim(form.temat.value) == "")  {
		message += 'Proszę podać temat swojej wiadomości\n';
	} 
	
	if (form.email.value == "" ) {
		message += 'Proszę podać swój adres e-mail\n';
	} else {
		if ( isemail(form.email.value) == false ){
			message += 'Podany przez Ciebie adres e-mail jest niepoprawny\n';
		}		
	}
	
	if ( Trim(form.tresc.value) == "")  {
		message += 'Proszę podać treść swojej wiadomości\n';
	} 

	if ( Trim(form.phone.value) == "")  {
		message += 'Proszę podać numer telefonu\n';
	} 
	
	if (message != '') {
		alert ("Wystąpił błąd!\n\n" + message);
		return false;
	} else {
		return true;
	}
}

function validateSearchForm(form, minlength){
	var message = '';
	var search_text = Trim(form.text.value);
	
	if (search_text  == "")  {
		message += 'Proszę podać ciąg do wyszukiwania\n';
	} else {
		if (search_text.length < minlength){
			message += 'Podano za krótki ciąg znaków. Minimalna ilość znaków: ' + minlength + '\n';
		}
	}

	if (message != '') {
		alert ("Wystąpił błąd!\n\n" + message);
		return false;
	} else {
		return true;
	}
}

function validateNewsletterForm(form){
	var message = '';
	var email = Trim(form.email.value);
	var subscribe = radioValue(form.subscribe);
	
	if (email  == "")  {
		message += 'Proszę podać swój adres e-mail\n';
	} else {
		if (!isemail(email)){
			message += 'Podany adres e-mail jest niepoprawny\n';
		}
	}
	
	if ( (subscribe != 1) && (subscribe != -1)) {
		message += 'Proszę zaznaczyć jedną z opcji: Subskrypcja lub Rezygnacja\n';	
	}
	
	if (message != '') {
		alert ("Wystąpił błąd w formularzu subskrypcji newslettera!\n\n" + message);
		return false;
	} else {
		return true;
	}
}
