// only number returns true
function isNumericCheck(evt) {
    var charCode = (evt.which) ? evt.which : event.keyCode
    if (charCode > 31 && (charCode < 48 || charCode > 57))
        return false;
    return true;
}

function IsNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

   for (i = 0; i < sText.length && IsNumber == true; i++)
      {
      Char = sText.charAt(i);
      if (ValidChars.indexOf(Char) == -1)
         {
         IsNumber = false;
         }
      }
   return IsNumber;
}

function isOnBottom(what, whatin)
{
    elem = $(what);
    inner = $(what+' > '+whatin);
    matma = elem.outerHeight() + elem.scrollTop() + 2;

    if(matma >= inner.outerHeight())
    {
        //console.log("scrollTop: "+matma+" outerHeight "+ $(inner).outerHeight(true));
        return true;
    } else {
        //console.log("scrollTop: "+matma+" outerHeight "+ $(inner).outerHeight());
        return false;
    }
}

$.validator.addMethod("telSt", function(value, element) {
      var tel1 = $('#dsTelefon1').val();
      if (tel1.length > 0 && tel1.length < 7)
            return false;
      else
            return true;
}, "Bitte die korrekte Telefonnummer angeben");

$.validator.addClassRules('telSta', { telSt: true, tel:true });

$.validator.addMethod("telKo", function(value, element) {
      var tel1 = $('#dsKomorka1').val();
      if (tel1.length >0 && tel1.length < 9)
            return false;
      else
            return true;
}, "Bitte die korrekte Telefonnummer angeben");

$.validator.addClassRules('telKom', { telKo: true, tel:true });

$.validator.addMethod("tel", function(value, element) {
      var tel1 = $('#dsTelefon1').val();
      var kom1 = $('#dsKomorka1').val();
      if(!tel1 && !kom1)
            return false;
      else
            return true;
}, dsTelefonStr);


$.metadata.setType("attr", "validate");


$.validator.addMethod("nip", function(value, element) {
	var sum = 0;
	var nip = $('#dsNIP1').val() + $('#dsNIP2').val() + $('#dsNIP3').val() + $('#dsNIP4').val();

	if(nip.length == 0) {
		//console.log('test');
		return true;
	}
	var mnozniki = '657234567';
	if (!nip.length == 10 && IsNumeric(nip)){
		return false;
	}
	for(x=0; x<=8; x++) {
		sum += parseInt(nip.charAt(x)) * parseInt(mnozniki.charAt(x));
	}
	if ((sum % 11) == nip.charAt(9)) {
		return true;
	} else {
		return false;
	}

	//return !this.optional(element) && !this.optional($(element).parent().prev().children("select")[0]);
}, "Proszę wpisać poprawny NIP.");


$.validator.addMethod("pesel", function(value, element) {
	var pesel = value;
	var mnozniki = '13791379131';
	var sumaKontrolna = 0;
	for (i = 1; i <= 11; i++) {
		sumaKontrolna += parseInt(pesel.substr(i - 1, 1)) * parseInt(mnozniki.substr(i - 1, 1));
	};
	if(!(sumaKontrolna%10==0)){
		return false;
	} else {
		return true;
	}

	//return !this.optional(element) && !this.optional($(element).parent().prev().children("select")[0]);
}, dsPESELStr);


$.validator.addMethod("kodpocztowy", function(value, element) {
	var rExp = new RegExp("^[0-9]{5}$");
	var kod = value;
	return rExp.test(kod);
}, dsKodPocztowyStr);

$.validator.addMethod("starter", function(value, element){
	if( $("#dsKodStartera").val() == '' )
	{
		if ( $("#dsKtoryStarter0").is(":checked") || $("#dsKtoryStarter1").is(":checked")) {
			return true;
		} else {
			return false;
		}
	} else {
		return true;
	}
}, dsKtoryStarterStr);

$().ready(function() {

        $("input[name='dsAcceptBox1']").attr('disabled', true);
        $("input[name='dsAcceptBox2']").attr('disabled', true);

	var sn = $('#servername');
	if(sn) {
		snValue = sn.attr('value');
		$('#doSklepu').click(function() {
			var addr = 'http://' + snValue + '/1';
			$('.cmxform').attr('action', addr);
		});

		$('#genUmowa').click(function() {
			//var addr1 = 'http://' + snValue + '/rejestracja/potwierdzenie.php';
			var addr1 = 'http://' + snValue + '/3';
			$('.cmxform').attr('action', addr1);
		});
	}
	$('#dsNazwaFirmy').keyup(function (){
		if($(this).attr('value')!='' ){
			$('.firmaDesc').css('display', 'block');
		}else{
			$('.firmaDesc').css('display', 'none');
		}
	});

	$('a').each(function (){
		if($(this).attr("rel")	== "external"){
			$(this).attr("target", "_blank");
		}
	});

	$("#dsKodStartera").keyup(function() {
		if ($(this).attr("value") == "") {
			$(".select").show();
		} else {
			$(".select").hide();
		}
	});

        $("input[name='dsStarterSet']").click(function(){
            wartosc = $("input[name='dsStarterSet']:checked").val();
            if(wartosc == '0')
            {
                $(".kodstartera").show();
                $("input[name='dsKodStartera']").attr('disabled', false);
            } else {
                $(".kodstartera").hide();
                $("input[name='dsKodStartera']").attr('disabled', true);
            }
        })

        $("#acceptBox1").scroll(function(){
            if(isOnBottom("#acceptBox1", ".inner1"))
            {
                //$("#hidden1").show().css("padding-left", 0);
                $("input[name='dsAcceptBox1']").attr('disabled', false);
            }
        })

        $("#acceptBox2").scroll(function(){
            if(isOnBottom("#acceptBox2", ".inner2"))
            {
                //$("#hidden2").show().css("padding-left", 0);
                $("input[name='dsAcceptBox2']").attr('disabled', false);
            }
        })

	$("#umowa").validate({
		errorPlacement: function(error, element) {
			//error.insertAfter('<p>'+element.parent()+'</p>');
                        element.parent().after(error);
		},
		rules: {
			dsDataWstapienia: "required",
			dsNazwisko: "required",
			dsImie: "required",
			dsDowod: {
				required: true,
				minlength: 6
				},
            /*
			dsPESEL: {
				required: true,
				minlength: 8
				},
            */
			dsAdres: "required",
			dsKodPoczt: {
				required: true,
				kodpocztowy: true
				},
			dsMiasto: "required",
			dsEmail: {
				required: true,
				email: true
			},
			dsKomorka1: {
				required: true,
				minlength: 4
			},
			dsKomorka2: {
				required: true,
				minlength: 3
			},
			dsKomorka3: {
				required: true,
				minlength: 3
			},
			dsKomorka4: {
				required: true,
				minlength: 3
			},
			dsNIP4: {
				nip: true
			},
			dsKtoryStarter: {
				starter: true
			},
                        dsAcceptBox1:{
                            required: true
                        },
                        dsAcceptBox2:{
                            required: true
                        },
                        dsAcceptBox3:{
                            required: true
                        }
			/*
			spNazwa: "required",
			dsNIP1: {
				required: true,
				minlength: 3
				},
			dsNIP2: {
				required: true,
				minlength: 3
				},
			dsNIP3: {
				required: true,
				minlength: 2
				},
			dsNIP4: {
				required: true,
				minlength: 2,
				nip: true
				},
			dsTelefon1: {
				required: true,
				minlength: 3
			},
			dsTelefon2: {
				required: true,
				minlength: 3
			},
			dsTelefon3: {
				required: true,
				minlength: 2
			},
			dsTelefon4: {
				required: true,
				minlength: 2
			},
			//dsNazwaBanku: "required",
			dsNrKonta1: {
				required: true,
				minlength: 2
			},
			dsNrKonta2: {
				required: true,
				minlength: 4
			},
			dsNrKonta3: {
				required: true,
				minlength: 4
			},
			dsNrKonta4: {
				required: true,
				minlength: 4
			},
			dsNrKonta5: {
				required: true,
				minlength: 4
			},
			dsNrKonta6: {
				required: true,
				minlength: 4
			},
			dsNrKonta7: {
				required: true,
				minlength: 4
			}*/
		},
		messages: {
			spNumer: spNumerStr,
			spNazwa: spNazwaStr,
			dsDataWstapienia: "Proszę wybrać datę",
			dsNazwisko: dsNazwiskoStr,
			dsImie: dsImieStr,
			dsDowod: dsDowodStr,
			//dsPESEL: dsPESELStr,
			dsAdres: dsAdresStr,
			dsMiasto: dsMiastStr,
			dsEmail: dsMailStr,
			dsKodPoczt: dsKodPocztowyStr,
			dsTelefon1: {
				required: dsWymaganeStr,
				minlength: "Pole powinno zawierać 3 znaki"
			},
			dsTelefon2: {
				required: dsWymaganeStr,
				minlength: "Pole powinno zawierać 3 znaki"
			},
			dsTelefon3: {
				required: dsWymaganeStr,
				minlength: "Pole powinno zawierać 2 znaki"
			},
			dsTelefon4: {
				required: dsWymaganeStr,
				minlength: "Pole powinno zawierać 2 znaki"
			},
			dsKomorka1: {
				required: dsWymaganeStr,
				minlength: "Pole powinno zawierać 4 znaki"
			},
			dsKomorka2: {
				required: dsWymaganeStr,
				minlength: "Pole powinno zawierać 3 znaki"
			},
			dsKomorka3: {
				required: dsWymaganeStr,
				minlength: "Pole powinno zawierać 3 znaki"
			},
			dsKomorka4: {
				required: dsWymaganeStr,
				minlength: "Pole powinno zawierać 3 znaki"
			},
			dsNrKonta1: {
				required: dsWymaganeStr,
				minlength: "Proszę wprowadzić 2 cyfry"
			},
			dsNrKonta2: {
				required: dsWymaganeStr,
				minlength:  "Proszę wprowadzić 4 cyfry"
			},
			dsNrKonta3: {
				required: dsWymaganeStr,
				minlength:  "Proszę wprowadzić 4 cyfry"
			},
			dsNrKonta4: {
				required: dsWymaganeStr,
				minlength:  "Proszę wprowadzić 4 cyfry"
			},
			dsNrKonta5: {
				required: dsWymaganeStr,
				minlength:  "Proszę wprowadzić 4 cyfry"
			},
			dsNrKonta6: {
				required: dsWymaganeStr,
				minlength:  "Proszę wprowadzić 4 cyfry"
			},
			dsNrKonta7: {
				required: dsWymaganeStr,
				minlength:  "Proszę wprowadzić 4 cyfry"
			},
			dsNazwaBanku: "Proszę podać nazwę banku",
			dsJestPlat: dsPotwierdzenieStr,
                        dsDowodWydanyGdzie: dsWymaganeStr,
                        dsDowodWydanyKiedy: dsWymaganeStr,
                        dsAcceptBox1: dsPotwierdzenieStr,
                        dsAcceptBox2: dsPotwierdzenieStr,
                        dsAcceptBox3: dsPotwierdzenieStr,
			dsZgodaReg: dsPotwierdzenieStr,
                        dsZgodaPrzet: dsPotwierdzenieStr,
                        dsZgodaDane1: dsPotwierdzenieStr,
                        dsZgodaDane2: dsPotwierdzenieStr,
			dsStatusOdbiorcy: dsPotwierdzenieStr,
			dsPelnoletnia: dsPotwierdzenieStr
		}
	});
});