var secteur_on = null;
var secteur_modif = null;
var nb_sec = 0;

$(document).ready( function() {
	nb_sec = $('#nb_sec').val();

	if(nb_sec == 0) {
		$('#no_sa').css('display', 'block');
	}

	$("input[name='nom']").focus();

	$("select[name='ville']").change( function() {
		update_arron();
	});

	$('#select_activite').change( function() {
		var secteur = $(this).val();
		display_secteur(secteur);
		secteur_on = secteur;
	});

	$('.sous_secteur').change( function() {
		$('#add_modif').removeAttr('disabled');
	});

	$('#add_modif').click( function() {
		var text = '';
		var m_activite = $('#select_activite').val();
		var m_secteur = $('#ss_'+m_activite).val();
		$('#select_activite option').each( function() {
			if($(this).val() == m_activite) {
				text += $(this).html();
			}
		});
		$('#ss_'+m_activite+' option').each( function() {
			if($(this).val() == m_secteur) {
				text += ' | '+$(this).html();
			}
		});
		if(secteur_modif === -1) {
			var new_sec = '\n\
						<div id="i_'+nb_sec+'" class="ui-state-default cont_secteurs">\n\
							<input type="hidden" name="a_'+nb_sec+'" id="a_'+nb_sec+'" value="'+m_activite+'" />\n\
							<input type="hidden" name="s_'+nb_sec+'" id="s_'+nb_sec+'" value="'+m_secteur+'" />\n\
							<span class="action" onclick="remove_secteur('+nb_sec+')">Supprimer</span>\n\
							<span class="action" onclick="modif_secteur('+nb_sec+')">Modifier</span>\n\
							<span class="desc">'+text+'</span>\n\
						</div>';
			nb_sec++;
			$('#cont_sa').prepend(new_sec);
		} else {
			$('#i_'+secteur_modif+' span.desc').html(text);
			$('#a_'+secteur_modif).val(m_activite);
			$('#s_'+secteur_modif).val(m_secteur);
		}
		$('#ss_'+secteur_on+' option').each( function() {
			$(this).removeAttr('selected');
		});
		$('#cont_ss_'+secteur_on).slideUp('slow');
		$('#add_sa').slideUp('slow', function() {
				$('#sa').slideDown('slow');
		});
		secteur_on = null;
		secteur_modif = null;
		$('#add_modif').attr('disabled', 'disabled');
		check_nb_secteur();
	});

	$('#cancel_modif').click( function() {
		$('#add_modif').attr('disabled', 'disabled');
		$('#cont_ss_'+secteur_on).slideUp();
		$('#add_sa').slideUp('slow', function() {
			$('#sa').slideDown('slow');
		});
		secteur_on = null;
		secteur_modif = null;
	});

	$("textarea[name='services']").keyup( function() {
		if($(this).val().length > 250) {
			var txt = $(this).val().substr(0, 250);
			$(this).val(txt);
		}
		cntNbCarDesc();
	});

	cntNbCarDesc()
	update_arron();
	check_nb_secteur();
});

function cntNbCarDesc() {
	var nbCar = $("textarea[name='services']").val().length;
	$('#decompte').val(250-nbCar);
}

function update_arron() {
	if($("select[name='ville']").val() > 1) {
		$('#cont_arron select').attr('disabled', 'disabled');
	} else {
		$('#cont_arron select').removeAttr('disabled');
	}
}

function add_secteur() {
	secteur_modif = -1;
	$('#select_activite option').each( function() {
		$(this).removeAttr('selected');
	});
	$('#sa').slideUp('slow', function() {
		$('#add_sa').slideDown('slow');
	});
	update_tab()
}

function modif_secteur(id) {
	secteur_modif = id;
	var m_activite = $('#a_'+id).val();
	var m_secteur = $('#s_'+id).val();
	$('#select_activite option').each( function() {
		if($(this).val() === m_activite) {
			$(this).attr('selected', 'selected');
		} else {
			$(this).removeAttr('selected');
		}
	});
	$('#ss_'+m_activite+' option').each( function() {
		if($(this).val() === m_secteur) {
			$(this).attr('selected', 'selected');
		} else {
			$(this).removeAttr('selected');
		}
	});
	display_secteur(m_activite);
	secteur_on = m_activite;
	$('#add_modif').removeAttr('disabled');
	$('#sa').slideUp('slow', function() {
		$('#add_sa').slideDown('slow');
	});
	update_tab();
}

function remove_secteur(id) {
	$('#i_'+id).remove();
	check_nb_secteur();
	update_tab();
}

function update_tab() {
	var tab = new Array();
	var val;
	for(i=0; i<20; i++) {
		val = $('#a_'+i).val();
		if(val != undefined && jQuery.inArray(val, tab) < 0) {
			tab[tab.length] = val;
		}
	}
	if(tab.length > 1) {
		$('#select_activite option').each( function() {
			val = $(this).val();
			if(jQuery.inArray(val, tab) < 0) {
				$(this).attr('disabled', 'disabled');
			}
		});
	} else {
		$('#select_activite option').each( function() {
			$(this).removeAttr('disabled');
		});
	}
}

function display_secteur(secteur) {
	var tab = new Array();
	var val;
	for(i=0; i<20; i++) {
		val = $('#s_'+i).val();
		if(val != undefined && jQuery.inArray(val, tab) < 0) {
			tab[tab.length] = val;
		}
	}
	$('#ss_'+secteur+' option').each( function() {
		val = $(this).val();
		if(jQuery.inArray(val, tab) < 0) {
			$(this).removeAttr('disabled');
		} else {
			$(this).attr('disabled', 'disabled');
		}
	});
	if(secteur_on && secteur_on !== secteur) {
		$('#add_modif').attr('disabled', 'disabled');
		$('#ss_'+secteur_on+' option').each( function() {
			val = $(this).val();
			if(jQuery.inArray(val, tab) < 0) {
				$(this).removeAttr('disabled');
			} else {
				$(this).attr('disabled', 'disabled');
			}
			$(this).removeAttr('selected');
		});
		$('div.sous_secteur').each( function() {
			$(this).slideUp('fast');
		});
		$('#cont_ss_'+secteur).slideDown('slow');
	} else {
		$('#cont_ss_'+secteur).slideDown('slow');
	}
}

function check_nb_secteur() {
	var i = 0;
	$('#cont_sa .cont_secteurs').each( function() {
		i++;
	});
	for(j=1; j<5; j++) {
		if(j <= i) {
			$('#e'+j).hide();
		} else {
			$('#e'+j).show();
		}
	}
	if(i > 3) {
		$('#add_link_sa').css('visibility', 'hidden');
	} else {
		$('#add_link_sa').css('visibility', '');
	}
}

$(function() {
	$("input[name='code_postal']").keyup( function() {
		var curchr = this.value.length;
		var curval = $(this).val();
		if (curchr == 3) {
			$("input[name='code_postal']").val(curval.toUpperCase()+" ");
		} else {
			$("input[name='code_postal']").val(curval.toUpperCase());
		}
	});
});

function cnt_desc() {
	alert($("textarea[name='service']").html());
}