$(document).ready(function(){
	data_types=['personal_data','edu_data','skills_data','payment_data','check_final'];
	hideElem('personal_data');
	addActive('personal_data');
	$('#accept_last').hide();
	$('input#h_geburtstag').val("TT.MM.JJJJ");
        $('input#h_geburtstag').focus(function(){
            if($(this).val()=="TT.MM.JJJJ"){
                $(this).val('');
            }
        })
	$('input[name=vorklast]').click(function(){
		if($(this).val()=='last'){
			$('#accept_last').slideDown();
		}else{
			$('#accept_last').slideUp();
		}
	})
	
	$('.zahlungContainer input').click(function(){
		$('.zahlungContainer').each(function(){
			$(this).removeClass('zahlungActive');
		})
		$(this).parent().parent().addClass('zahlungActive');
	})
	
	$('input[type=checkbox]').click(function(){
		if('+ span.fehler'){
			$(this).next().removeClass('fehler');
		}
	})

        $('.zahlungContainer .zahlung_radio').change(function(){
            var v=$(this).val();
            if((v!='basis_1' && v!='premium_1')){
                $('.hideme > label:first').hide();
                $('.hideme > label input[value=last]').attr('checked','checked');
                $('#accept_last').slideDown();
            }else{
                $('.hideme label').show();
                $('.hideme > label input[value=vork]').attr('checked','checked');
                $('#accept_last').slideUp();
            }
        })

        $('.abschicken_back').click(function(e){
            e.preventDefault();
            var ind=$(this).parent().parent().prevAll().length;
            var elem1=$('.hideme')[ind-1];
            addActive(data_types[ind-1]);
            $(elem1).slideDown();
            $(this).parent().slideUp();
        })

	$('.abschicken').click(function(e){
		//e.preventDefault();
		var current_data=$(this).parent().parent().attr('id');
		var ci;
		for(var i=0;i<data_types.length;i++){
			if(current_data==data_types[i]){
				var data='';
				ci=i;
				$('#'+data_types[i]+ ' div input').each(function(i){
					if($(this).attr('type')=='text'){
						data+=$(this).attr('name')+'='+encodeURI($(this).val())+'&';
					}
					if($(this).attr('type') == 'checkbox' && $(this).attr('checked')){
						data+=$(this).attr('name')+'='+encodeURI($(this).val())+'&';
					}
					if($(this).attr('type') == 'radio' && $(this).attr('checked')){
						data+=$(this).attr('name')+'='+encodeURI($(this).val())+'&';
					}
					if(current_data!='edu_data'){
						e.preventDefault();
					}
				})
			}
			$('#'+current_data+' div.hideme span.errorText').remove();
		}
		
		//e.preventDefault();
		data='&action='+current_data+'&'+data;
		if(current_data!='edu_data'){
			doAction(data,ci);
		}
		showOverlay('#'+current_data)
	})
	
	function doAction(data,nextDiv){
		$.ajax({
			type: 'GET',
			url:'ajx.register.php',
			data: data,
			dataType: 'json',
			error: function(d){
				alert("fehler: " + d.responseText);
				
			},
			success: function(data){
				if(data.success_final){
					$('#bg_menu > form').slideUp();
                                        $('div.ready').remove();
					$('#bg_menu').append('<div class="ready"><br /><h4>Vielen Dank für Ihre Anmeldung im Make-up-Profis Netzwerk</h4><p>Ihre Daten und Ihr Ausbildungsnachweis werden nun auf Eignung überprüft.<br />Dieses kann bis zu 48 Stunden dauern. Wenn Sie ins Netzwerk aufgenommen werden,<br />erhalten Sie Ihre Zugangsdaten per Mail. Die Rechnungsstellung erfolgt ebenfalls per Mail.</p><br /><p>Haben Sie Fragen oder benötigen Sie noch weitere Informationen? Dann nehmen Sie <a href="6-0-Kontakt">Kontakt</a> mit uns auf! Wir kümmerns uns gerne um Ihr Anliegen!</p></div>');
					$('div.ready').hide();
					$('div.ready').fadeIn(800);
					return true;
				}
				if(data.error){
					if($('#'+data_types[nextDiv]+' a').attr('name')=='skills_data'){
						window.location.hash=data_types[nextDiv];
						$('#'+data_types[nextDiv]+' div.hideme').prepend('<span class="errorText">Bitte wählen Sie mindestens eine angebotene Leistung und Berufsgruppe aus.<br /></span>')
						
					}else{
						errorHanlder(data);
					}
					
				}else{
					if(data.save_fail){
						$('div.ready').remove();
						$('#upload_target + div').after('<div class="ready"><h4>Fehler!</h4><p class="fehler">Es ist ein Kritischer Fehler aufgetreten! Bitte starten Sie den Registrierungsvorgang neu.</p></div>');
						return false;
					}
					showElem(data_types[nextDiv+1]);
					addActive(data_types[nextDiv+1]);
					if(data_types[nextDiv+1]=='check_final' && !data.save_fail){
						$('#bg_menu').append('<div class="ready"><h4>Ihre Daten werden nun gespeichert <img class="preloader" src="bilder/preloader_white.gif" alt="preloader" /></h4></div>').hide().fadeIn('slow');
					}
				}
				hideOverlay();
				if(data_types[nextDiv+1]=='check_final' && !data.error){
					sendAllData();
				}
			}
		})
	}
	
	function sendAllData(){
		data=$('form').serialize();
		data='&action=check_final&'+data;
		doAction(data,null);
	}
	
	function hideElem(showElem){
		//showInt: welches element soll nicht versteckt werden, siehe data_types[] etc
		$('div.hideme').each(function(i){
			if($(this).parent().attr('id')!=showElem){
				$(this).hide();
			}
		})
	}
	
	function showElem(elem){
		$('form fieldset div.hideme').each(function(i){
			if($(this).parent().attr('id')!=elem){
				
				$(this).slideUp(500,function(){
					if($('#' + elem + ' a').attr('name')){
						window.location.hash = '#' + elem;
					}
				});
			}else{
				$(this).slideDown(1000);
			}
		})
		
	}
	
	function showOverlay(elem){
		var pos=$(elem).position();
		$('#contentContainer').prepend('<div class="overlay"></div>');
		$('#contentContainer .overlay').css('top',pos.top+($(elem).height()/2)+'px').css('left',(pos.left+($(elem).width()/2))+'px');
		$(elem).animate({
			opacity: 0.3
		},200)
	}
	
	$('input[type=text]').focus(function(){
		$(this).removeClass('errorBorder');
		$(this).parent().find('label').removeClass('fehler');
	})
	
	function errorHanlder(data){
		$.each(data.error,function(i,err){
			elem=$('input[name='+i+']');
			if (elem.attr('type') == 'text') {
				elem.parent().find('label').addClass('fehler');
				elem.addClass('errorBorder');
			}
			if(elem.attr('type')=='checkbox'){
				$('input[name='+i+'] + span').addClass('fehler');
			}
		})
	}
	
})

function addActive(elem){
	$('form fieldset').each(function(i){
		if($(this).attr('id')==elem){
			$(this).addClass('active')
		}else{
			$(this).removeClass('active');
		}
	})
}

function hideOverlay(){
	$('#contentContainer').find('.overlay').fadeOut('fast',function(){
		$(this).remove();
		$('form fieldset').animate({
			opacity: 1.0
		},200)
	});
	
}

function stopUpload(result){
	//alert(data_types[1]);
	if(result){
		$('#edu_data .hideme').slideUp();
		$('#skills_data .hideme').slideDown();
	}else{
		$('form fieldset#edu_data div.lbl').after('<span class="errorText">Es ist ein Problem aufgetreten, bitte prüfen Sie Dateityp und erlaubte -größe.</span><br />');
	}
	hideOverlay();
	addActive('skills_data')
}
