
jQ.validator.setDefaults({
	debug: true,
	submitHandler: function() {
		jQ('#formSending').height(jQ('#formData').height());
		jQ('#formSending').slideDown(
			500,
			function(){send()}
		);
		
	}
});

function send(){
	if(jQ('#formZgloszenie').attr('action')){
		sendZgloszenie()
	}else if(jQ('#formLogowanie').attr('action')){
		sendLogowanie()
	}
}

function sendZgloszenie(){
		try{
			jQ.ajax({
				type: "POST",
				url: jQ('#formZgloszenie').attr('action'),
				data: jQ("#formZgloszenie").serialize(),
				success: function(msg){
			
					try{
					
						eval("var response = "+msg);
						if(response.result == 'DONE'){
							jQ('#formSending').slideUp(
								500,
								function(){
									jQ('#formData').html('<div id="message"><i>Dziękujemy za wypełnienie formularza.</i><br /> <br />'+response.message+'</a></div>');
								}
							);
						}else{
							writeMessageOnError(
								jQ("#formZgloszenie").serialize(),
								function(){
									jQ('#formSending').slideUp(500,function(){jQ('#formData').html('<div id="message"><b>Problem techniczny.</b><br /><br /> <i>Wiadomość nie została przesłana, prosimy o kontakt w tradycyjny sposób.</div>');});
								}
							);
						}
						
					}catch(ex){
						writeMessageOnError(
							jQ("#formZgloszenie").serialize(),
							function(){
								jQ('#formSending').slideUp(500,function(){jQ('#formData').html('<div id="message"><b>Problem techniczny.</b><br /><br /> <i>Wiadomość nie dotarła do adresata. Prosimy o kontakt w tradycyjny sposób.</div>');});
							}
						);
					}
					
				},
				error: function(msg){
					jQ('#formSending').slideUp(500,function(){jQ('#formData').html('<div id="message"><b>Błąd.</b><br /><br />Transmisja została przerwana, prosimy o kontakt w tradycyjny sposób.</div>');});
				}
				
			});
		}catch(ex){
			writeMessageOnError(
				{jsException:ex.message},
				function(){
					jQ('#formSending').slideUp(500,function(){jQ('#formData').html('<div id="message"><b>Problem techniczny.</b><br /><br /> <i>Wiadomość nie została wysłana. Prosimy o kontakt w tradycyjny sposób.</div>');});
				}
			);
			return false;
		}
}


function sendLogowanie(){
		try{
			jQ.ajax({
				type: "POST",
				url: jQ('#formLogowanie').attr('action'),
				data: jQ("#formLogowanie").serialize(),
				success: function(msg){
			
					try{
					
						eval("var response = "+msg);
						if(response.result == 'LOGGED'){
							document.location.href=document.location.href;
						}else{
							jQ('#formInfo').html('Hasło jest niepoprawne');
							jQ('#formInfo').show();
							jQ('#formSending').slideUp(
								500
							);
						}
						
					}catch(ex){
							alert('eXception')
					}
					
				},
				error: function(msg){
					alert('Serwer nie odpowiada');
				}
				
			});
		}catch(ex){
			alert('Wyjątek');
			return false;
		}
}

function logout(){
	
	jQ.ajax({
		type: "POST",
		url: 'login',
		data: {mode:'logout'},
		success: function(msg){
			document.location.href=document.location.href;
		},
		error: function(msg){
			alert('Serwer nie odpowiada');
		}
	});
}
function writeMessageOnError(dataToWrite,runCallback){
	jQ.ajax({
			type: "POST",
			url: 'WriteMessage',
			data: dataToWrite,
			success: function(msg){
				if(typeof(runCallback)=='function'){
					runCallback();
				}
			},
			error: function(msg){
				if(typeof(runCallback)=='function'){
					runCallback();
				}
			}
		});
}

jQ().ready(function() {
	
	jQ('.date-pick').datePicker();


	jQ("#formZgloszenie").validate({
		event: "keyup",
		rules: {
			imieNazwisko: {
				required: true
			},
			trybZajec: {
				required: true
			},
			miesiacZajec: {
				required: true
			},
			email: {
				required: true,
				email: true
			},
			dataPorodu: {
				required: true
			}
	
		}

	});
	
	
	jQ("#formLogowanie").validate({
		event: "keyup",
		rules: {
			pass: {
				required: true
			}
	
		}

	});
});



//jQ('#formZgloszenie').ajaxSubmit(options);


