var over = function(e,o){
	if(!e.srco){
		e.srcn = e.src; e.srco = e.src.substring(0,e.src.length-4)+'_.gif';
	}
	e.src = o?e.srco:e.srcn;
}
pro = {}
pro.checkSub = function(i,d){
	//alert($('#'+i+1).attr('checked')+':'+i)
	if($('#'+i).attr('checked')){
		for(a in d){for(b in d[a]){$('#'+d[a][b]).removeClass(a);}} $('#'+i+'_sub').hide();
	} else {
		for(a in d){for(b in d[a]){$('#'+d[a][b]).addClass(a);}} $('#'+i+'_sub').show();		
	}
}
pro.checkSub2 = function(i,d){
	//alert($('#'+i+1).attr('checked')+':'+i)
	//alert($('#'+i+2).attr('checked')+':'+i)
	
	if($('#'+i+2).attr('checked')){
		for(a in d){for(b in d[a]){$('#'+d[a][b]).removeClass(a);}} $('#'+i+'_sub').hide();
	} else {
		for(a in d){for(b in d[a]){$('#'+d[a][b]).addClass(a);}} $('#'+i+'_sub').show();		
	}
}

pro.events = {};
pro.events.AktualizacjaKontaktTakisam = function(){
	pro.checkSub('AktualizacjaKontaktTakisam',{req:['AktualizacjaKontakt2Imie','AktualizacjaKontakt2Nazwisko','AktualizacjaKontakt2Email']})
}
pro.events.KartaKontaktTakisam = function(){
	pro.checkSub('KartaKontaktTakisam',{req:['KartaKontakt2Imie','KartaKontakt2Nazwisko','KartaKontakt2Email']})
}
pro.events.RejestracjaKTakisam = function(){
	pro.checkSub2('RejestracjaKTakisam',{req:['RejestracjaKUlica','RejestracjaKNrdomu','RejestracjaKKod','RejestracjaKMiejscowosc']})
}
pro.events.RejestracjaDTakisam = function(){
	pro.checkSub2('RejestracjaDTakisam',{req:['RejestracjaDUlica','RejestracjaDNrdomu','RejestracjaDKod','RejestracjaDMiejscowosc']})
}
pro.events.ZmienZaznaczenie = function(n){
	var ch =  $('#'+n+'Ok').attr('checked');
	//alert(n + ':' +ch);
	switch(n){
		case 'RejestracjaK1Email'	: ch ? $('#'+n).addClass('email req') : $('#'+n).removeClass('email req');	break;
		case 'RejestracjaK1Fax'		: ch ? $('#'+n).addClass('req tel') : $('#'+n).removeClass('req tel');	break;
		case 'RejestracjaK1Kom'		: ch ? $('#'+n).addClass('req kom') : $('#'+n).removeClass('req kom');break;	
		default: return;
		
	}
	//alert(n)
	document.getElementById('sh_'+n).style.display = ch ? 'block' : 'none';
	$("input.tel").unmask();
	$("input.kom").unmask();
	
	$("input.tel").mask("(99) 999 99 99");
	$("input.kom").mask("999 99 99 99")
	//alert(n+' '+$('#'+n+'Ok').attr('checked'));
	
}
 pro.events.AktualizacjaAdresGazetki = function(t){
 		t?$('#AdresGazetki').show():$('#AdresGazetki').hide();
 		var x = ['AktualizacjaKUlica','AktualizacjaKNrdomu','AktualizacjaKKod','AktualizacjaKMiejscowosc'];
 		for(var a in x){ 
 			//alert(t+':'+x[a]+':'+a);
 			if(t){$('#'+x[a]).addClass('req')}
 			else{$('#'+x[a]).removeClass('req');//$('#'+x[a]).removeClass('form-error');
 			}
 			//alert(x[a]+':'+$('#'+x[a]).attr('class')) 
		}

 }

$(document).ready(function(){

	
	pro.events.AktualizacjaKontaktTakisam();
	pro.events.RejestracjaKTakisam();
	pro.events.RejestracjaDTakisam();
	pro.events.KartaKontaktTakisam();
	
	//	$("#x").validate();

	//$("input.nip").mask("9999999999");
	$("input.regon").mask("999999999");
	$("input.tel").mask("(99) 999 99 99");
	$("input.kom").mask("999 99 99 99")
	$("input.kod").mask("99-999");
	$("input.data").mask('9999-99-99');
	$("input.dataz").mask('9999-99-99');
	$("input.nip").mask('999-999-99-99');
	R = [];
	R['min2'] = {minlength: 2};
	R['min3'] = {minlength: 3};
	R['req']  = {required: true};
	R['nip']  = {nip: true};
	R['regon']= {regon: true};
	R['zgoda']= {zgoda: true};
	R['zgoda2']= {zgoda: true};
	R['zgoda3']= {zgoda3: true};
	R['zgoda4']= {zgoda4: true};

	R['selreq']={selreq:true};

	
	for(a in R){ jQuery.validator.addClassRules(a,R[a]);}
	
	/* REGON - sprawne			------------------------------------------------------------------ */
	jQuery.validator.addMethod("regon", function( value, element ) {
		var r = value.length == 9 && /\d/.test(value);
		if(r){
			for(var a=0,c='89234567',s=0,x=0;a<8;a++){s+=c.charAt(a) * value.charAt(a)}
			r=s%11==10?value.charAt(8)==0:s%11==value.charAt(8)
		}
		return r
	}, "Podaj poprawny numer REGON.");
	

	/* NIP - sprawne			------------------------------------------------------------------ */
	jQuery.validator.addMethod("nip", function( value, element ) {
		value = value.replace(/-/g,'');
		var r = value.length == 10 && /\d/.test(value);
		if(r){
			for(var a=0,c='657234567',s=0,z='',x=0;a<9;a++){
				s+=c.charAt(a) * value.charAt(a);  
				//z+=(c.charAt(a))+':'+(value.charAt(a))+':'+(c.charAt(a) * value.charAt(a))+' ';
			}
			//alert(z);
			// alert('SPISZ: '+c.charAt(a)+' : '+value.charAt(a))
			r=s%11==10?value.charAt(9)==0:s%11==value.charAt(9)
			//alert(value.charAt(9))
		}
		return r
	}, "Podaj poprawny numer NIP.");
	
	jQuery.validator.addMethod('selreq', function(value,element){
		if(value>0){ return true;}
	}, "Pole jest wymagane.");
	/* ------------------------------------------------------------------------------------------- */
	
	/* ZGODA - wymaga potwierdzenia -------------------------------------------------------------- */
	jQuery.validator.addMethod('zgoda',	function(v,e) {
		//alert(v+':'+e.checked);
		return e.checked;
	}, "Zgoda jest wymagana.");
	jQuery.validator.addMethod('zgoda2',	function(v,e) {
		return e.checked;
	}, "Akceptacja jest wymagana.");
	jQuery.validator.addMethod('zgoda3',	function(v,e) {
		//alert(e.checked + ':' + v)
		return v==2
		return e.checked;
	}, "Akceptacja wymagana jest do potwierdzenia drogą elektroniczną o pozytywnie ukończonym procesie rejestracji");
	
	/* Wlacz np. req dla okreslonych pol zaleznie od wartosci innego pola	---------------------- */
	jQuery.validator.showSubsectionWithClass = function (i,v,e,c) {
		alert($('#'+i).checked)
		if(v){$('#'+i).hide();for(a in e)$('#'+e[a]).removeClass(c);}
		else {$('#'+i).show();for(a in e)$('#'+e[a]).addClass(c)}
	}
	jQuery.validator.checkboxSub = function (i,d){
		
		//$('#'+i).click(jQuery.validator.checkboxSub(i,d));
	}
	/* ------------------------------------------------------------------------------------------- */
	
	// addonsy wylaczni wizualizacyjne 
	
		$(".gazetka").click(function(){for(var a=0;a<3;a++){$('#_gazetka'+a).hide()}$('#_gazetka'+$(this).val()).show()})
				
		/*
		$("#AktualizacjaKontaktTakisam").click(
			
			//procreation.showSubsectionWithClass(
			jQuery.validator.showSubsectionWithClass(
				'AktualizacjaKontaktTakisam_sub',
				this.checked,
				['AktualizacjaKontakt2Imie','AktualizacjaKontakt2Nazwisko','Aktualizacja2Email'],
				'req'
			)
		);/*
		
		$("#RejestracjaKTakisam").click(
			procreation.showSubsectionWithClass(
				'RejestracjaTakisam_sub',
				this.checked,
				['RejestracjaKUlica','RejestracjaKNrdomu','RejestracjaKKod','RejestracjaKMiejscowosc'],
				'req'
			)
		);
		*/
	
	
	
	
	//$('#x').validate();
	
	$("#x").validate({
		invalidHandler: function(e, validator) {
			var errors = validator.numberOfInvalids();
			if (errors) {
				
				// wlacz to!!
				//alert(errors)
				//
				
				var message = errors == 1
					? 'Proszę popraw jedno pole w formularzu'
					: 'Proszę popraw ' + errors + ' pola w formularzu';
				$("#error p").html(message);
				$("#error").show();
			} else {
				$("#error").hide();
			}
		}
	});
	
	/*
	$("#x").validate({
		debug: true,
		//onkeyup: false,
		/*
		// submitHandler: function() {
		//	$("#error").hide();
		//	alert("przelap submita");
		//	$('#x').submit();
		//	return true;
		},
		
		invalidHandler: function(e, validator) {
			var errors = validator.numberOfInvalids();
			if (errors) {
				alert(errors)
				var message = errors == 1
					? 'Proszę popraw jedno pole w formularzu'
					: 'Proszę popraw ' + errors + ' pola w formularzu';
				$("#error p").html(message);
				$("#error").show();
			} else {
				$("#error").hide();
			}
		}
	});
	*/
	
 });
