tx_ducrosinscription_anniv = function () {};

tx_ducrosinscription_anniv.prototype = {

	value: [],

	field: null,
	
	fieldId: "",

	minlines: 1,

	daysopts: '',

	monthsopts: '',

	yearsopts: '',

	button: '',

	tbody: null,

	tfoot: null,

	emptyField: {pnom: '', j: '', m: '', a: ''},



	init: function(){
		this.field = $('#' + this.fieldId);
		
		if(this.field.length == 1) {

			//add button
			this.tfoot.append('<tr><td colspan="4"><a href="#">' + this.button + '</a></td></tr>');
			if(this.field.val() == "") this.field.val("[]");
			var val = (this.field.val()).replace("|", "'");
			this.field.val(val);
			this.value = $.parseJSON(val);

			//loop on existing entries
			for(var i = 0; i < this.value.length; i++) {
				this.addLine(i, this.value[i]);
			}
	
			
			for(var j = i; j < this.minlines; j++) {
				this.value.push(this.emptyField);
				this.addLine(j);
			}
	
			
			this.tfoot.find("a").get(0).ref = this;
			
			this.tfoot.find("a").click(function(){
				this.ref.value.push(this.ref.emptyField);
				this.ref.addLine();
				return false;
			});

		}
	},

	

	addLine: function(pos, conf){

		var html = '<tr class="tx-ducrosinscription-anniv-ligne">\
							  	<td><input type="text" class="tx-ducrosinscription-anniv-pnom" /></td>\
								<td><select class="tx-ducrosinscription-anniv-jour">' + this.daysopts + '</select></td>\
								<td><select class="tx-ducrosinscription-anniv-mois">' + this.monthsopts + '</select></td>\
								<td><select class="tx-ducrosinscription-anniv-an">' + this.yearsopts + '</select></td>\
							</tr>\
							';

		if(typeof pos == "undefined") {

			pos = 	this.tbody.find(".tx-ducrosinscription-anniv-ligne").length;

		}

		

		if(pos > 0 && this.tbody.find(".tx-ducrosinscription-anniv-ligne").length > 0 && pos < this.tbody.find(".tx-ducrosinscription-anniv-ligne").length) {

			this.tbody.find(".tx-ducrosinscription-anniv-ligne").eq(pos).after(html);

		} else {

			this.tbody.append(html);

		}

		

		var row = this.tbody.find(".tx-ducrosinscription-anniv-ligne").eq(pos);

		if(typeof conf != "undefined") {

			row.find(".tx-ducrosinscription-anniv-pnom").val(conf.pnom);

			row.find(".tx-ducrosinscription-anniv-jour option[@value=" + conf.j + "]").attr("selected", true);

			row.find(".tx-ducrosinscription-anniv-mois option[@value=" + conf.m + "]").attr("selected", true);

			row.find(".tx-ducrosinscription-anniv-an option[@value=" + conf.a + "]").attr("selected", true);

		}

		

		var inputs = row.find(":input").get();

		for(var i = 0; i < inputs.length; i++) {

			inputs[i].ref = this;

		}

		

		row.find(":input").blur(function(){

			this.ref.updateVal(this);

		});
		
	 // afficheBordures();
	  //caleFooter();


	},

	

	

	updateVal: function (field){

		var row = $(field).parents(".tx-ducrosinscription-anniv-ligne");

		var idx = this.tbody.find(".tx-ducrosinscription-anniv-ligne").index(row.get(0));

		this.value[idx] = {

			pnom: row.find(".tx-ducrosinscription-anniv-pnom").val(),

			j: row.find(".tx-ducrosinscription-anniv-jour").val(),

			m: row.find(".tx-ducrosinscription-anniv-mois").val(),

			a: row.find(".tx-ducrosinscription-anniv-an").val()

		};

		

		this.field.val($.toJSON(this.value));

	}

};