$(function(){
	myelement.init();
});

myelement = {
	
	init : function(){
	
		myelement.base = $('base').attr('href');
	
		$('#financement').hide();
		$('#side3 h3').click(function(){
			myelement.manageWindow();
		});
		
		$('#btn_financement_2, .btn_financement').click(function(){
			myelement.manageWindow();
			return false;
		});
		
		$('#noptz').click(function(){
			$('#financement form').append('<div id="contener_noptz" class="warning">Vous n’êtes pas éligible au PTZ+</div>');
			$('#contener_noptz').hide().fadeIn();
		});
		$('#noptztrue').click(function(){
			$('#contener_noptz').fadeOut(500, function(){
				$('#contener_noptz').remove();
			});
		});
		
		$('#choix_ptz').hide();
		
		$('#zone').keyup(function(){
			if($('#zone').val() != ''){
				myelement.getZone();
			}else{
				$('#list_ville, #noville').remove();
			}
		});
		
		$('#financement button').click(function(){
			if($(this).is('#btn_ptz')){
				myelement.verif('ptz');
			}else if($(this).is('#btn_pret')){
				myelement.verif('pret');
			}
			return false;
		});
		
	},
	
	
	
	
	
	manageWindow : function(){
		if(!$('#side3 h3').hasClass('active')){
			$('#side3 h3').addClass('active');
			$('#financement fieldset').css('opacity',0);
			$('#financement').slideDown(500, function(){
				$('#financement fieldset').fadeTo(500,1);
			});
		}else{
			$('#financement fieldset').fadeTo(500,0,function(){
				$('#financement').slideUp(500);
				$('#side3 h3').removeClass('active');	
				$('#noptztrue').click();
				$('#result').remove();
			});
		}
	},
	
	
	
	
	
	
	getZone : function(){
		$.ajax({
			url : myelement.base+'?p=financement::getVille::'+$('#zone').val(),
			success : function(data){
				$('#list_ville, #noville').remove();
				$('#zone').after(data);
				$('#list_ville li').click(function(){
					$('#zone').val($(this).text());
					$('#list_ville, #noville').remove();
				});
			}
		});
	},
	
	
	
	
	
	
	verif : function(type){
		$('#financement .error').remove();
		$('#result').remove();
		var verif = true;
	
		if(type == 'ptz'){
			if($('#zone').val() == ''){
				$('#zone').after('<span class="error">Choisir une ville</span>');
				verif = false;
			}else{
				$.ajax({
					url : myelement.base+'?p=financement::verifVille::'+$('#zone').val(),
					success : function(data){
						$('#list_ville, #noville').remove();
						if(data == 0){
							$('#zone').after('<span class="error">Choisir une ville</span>');
							verif = false;
						}
					}
				});
			}
			
			if($('#revenu').val() == ''){
				$('#revenu').after('<span class="error">Choisir vos revenus de l\'année dernière</span>');
				verif = false;
			}else if(!$('#revenu').val().match(/^[0-9]+$/)){
				$('#revenu').after('<span class="error">Revenus au mauvais format, ni virgules, ni espaces.</span>');
				verif = false;
			}
			
			if($('#montant').val() == ''){
				$('#montant').after('<span class="error">Veuillez saisir une valeur</span>');
				verif = false;
			}else if(!$('#montant').val().match(/^[0-9]+$/)){
				$('#montant').after('<span class="error">Montant au mauvais format, ni virgules, ni espaces.</span>');
				verif = false;
			}
		}else if(type == 'pret'){
		
			if($('#montant_op').val() == ''){
				$('#montant_op').after('<span class="error">Veuillez saisir une valeur</span>');
				verif = false;
			}else if(!$('#montant_op').val().match(/^[0-9]+$/)){
				$('#montant_op').after('<span class="error">Montant au mauvais format, ni virgules, ni espaces.</span>');
				verif = false;
			}
		
			if($('#apport').val() == ''){
				$('#apport').after('<span class="error">Veuillez saisir une valeur</span>');
				verif = false;
			}else if(!$('#apport').val().match(/^[0-9]+$/)){
				$('#apport').after('<span class="error">Apport au mauvais format, ni virgules, ni espaces.</span>');
				verif = false;
			}
			
			if($('#duree').val() == ''){
				$('#duree').after('<span class="error">Veuillez saisir une valeur</span>');
				verif = false;
			}else if(!$('#duree').val().match(/^[0-9]+$/)){
				$('#duree').after('<span class="error">Durée au mauvais format, ni virgules, ni espaces.</span>');
				verif = false;
			}
			
			if($('#taux').val() == ''){
				$('#taux').after('<span class="error">Veuillez saisir une valeur</span>');
				verif = false;
			}else if(!$('#taux').val().match(/^[0-9.,]+$/)){
				$('#taux').after('<span class="error">Taux au mauvais format, ni virgules, ni espaces.</span>');
				verif = false;
			}
		}
		
		if(verif){
			if(type == 'ptz'){
				$.ajax({
					url : myelement.base+'?p=financement::getptz',
					type : 'GET',
					data : ({
						zone : $('#zone').val(),
						revenu : $('#revenu').val(), 
						nb_pers : $('#nb_pers').val(), 
						montant : $('#montant').val(),
						construction : $('#construction').val()
					}),
					success : function(data){
						$('#list_ville, #noville, .error').remove();
						$('#financement #btn_ptz').after(data);
						$('#result').css('opacity',0).slideDown(200).fadeTo(300,1);
						$('#choix_ptz').fadeIn();
						$('#valide_ptz').val($('#montant_ptz').val());
					}
				});
			}else if(type == 'pret'){
				if($('#valide_ptz').attr('checked') == true){
					ptz = $('#valide_ptz').val();
				}else{
					ptz = 0;
				}
				$.ajax({
					url : myelement.base+'?p=financement::getpret',
					type : 'GET',
					data : ({
						ptz : ptz,
						montant_op : $('#montant_op').val(),
						apport : $('#apport').val(),
						duree : $('#duree').val(),
						taux : $('#taux').val()
					}),
					success : function(data){
						$('#list_ville, #noville, .error').remove();
						$('#financement #btn_pret').after(data);
						$('#result').css('opacity',0).slideDown(200).fadeTo(300,1);
					}
				});
			}
		}
		
		return false;
	}
	
}

