var ClassFormulaire = Class.create({
		_form:null,
		initialize: function(element) {	
			this._form = $(element);
			var buttons = this._form.getInputs('text');
			
			for(var  i =0; i<buttons.length;i++){
				buttons[i].observe('focus', function(event){ Event.element(event).value="" }); 
				buttons[i].observe('blur', function(event){
					var input =Event.element(event);
					if($F(input) == ""){
						input.value = input.valeurParDefaut;
					}
					
				}); 
				if($F(buttons[i]) == ""){
						buttons[i].valeurParDefaut = this.gettextLabel(buttons[i].id);
						buttons[i].value = buttons[i].valeurParDefaut;
				}
			}
			var buttons = this._form.getInputs('password');
			for(var  i =0; i<buttons.length;i++){
				buttons[i].observe('focus', function(event){
					var input = Event.element(event);
					input.type = "password";
					input.value="" ;
				})
				buttons[i].observe('blur', function(event){
					var input =Event.element(event);
					 if(input.value=="") {
					 	input.type = "text";
					 	input.value=input.valeurParDefaut;
					 }
				}); 
				
				if($F(buttons[i]) == ""){
						buttons[i].type = "text";
						buttons[i].valeurParDefaut = this.gettextLabel(buttons[i].id);
						buttons[i].value = buttons[i].valeurParDefaut;
				}
			}
		},
		gettextLabel : function(id){
			var result  = "";
			var label = this._form.getElementsBySelector('label');
			for(var  i =0; i<label.length;i++){
				if(label[i].htmlFor == id){
					if(label[i].firstChild.nodeValue){
						result=label[i].firstChild.nodeValue;
					}
					break;
				}
			}
			return result;
		}
});

Event.observe(window, "load", function() {
	var inputs = $$("form[name=valideCompteCreaForm] input[name=isEntreprise]");
	if(inputs.length > 0) {
		inputs[0].writeAttribute("checked", "checked");
		inputs[1].removeAttribute("checked");
		setInfoClient('true');
	}
});

var nomDepartements = ["Ain","Aisne","Allier","Alpes-de-Haute-Provence","Hautes-Alpes","Alpes-Maritimes","Ard�che","Ardennes","Ari�ge","Aube","Aude","Aveyron","Bouches-du-Rh�ne","Calvados","Cantal","Charente","Charente-Maritime","Cher","Corr�ze","Corse-du-Sud","Haute-Corse","C�te-d'Or","C�tes-d'Armor","Creuse","Dordogne","Doubs","Dr�me","Eure","Eure-et-Loir","Finist�re","Gard","Haute-Garonne","Gers","Gironde","H�rault","Ille-et-Vilaine","Indre","Indre-et-Loire","Is�re","Jura","Landes","Loir-et-Cher","Loire","Haute-Loire","Loire-Atlantique","Loiret","Lot","Lot-et-Garonne","Loz�re","Maine-et-Loire","Manche","Marne","Haute-Marne","Mayenne","Meurthe-et-Moselle","Meuse","Morbihan","Moselle","Ni�vre","Nord","Oise","Orne","Pas-de-Calais","Puy-de-D�me","Pyr�n�es-Atlantiques","Hautes-Pyr�n�es","Pyr�n�es-Orientales","Bas-Rhin","Haut-Rhin","Rh�ne","Haute-Sa�ne","Sa�ne-et-Loire","Sarthe","Savoie","Haute-Savoie","Paris","Seine-Maritime","Seine-et-Marne","Yvelines","Deux-S�vres","Somme","Tarn","Tarn-et-Garonne","Var","Vaucluse","Vend�e","Vienne","Haute-Vienne","Vosges","Yonne","Territoire de Belfort","Essonne","Hauts-de-Seine","Seine-Saint-Denis","Val-de-Marne","Val-d'Oise","Guadeloupe","Martinique","Guyane","La R�union"];
var numDepartements = ["01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","2A","2B","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","971","972","973","974"];
var departements = ["Ain (01)","Aisne (02)","Allier (03)","Alpes-de-Haute-Provence (04)","Hautes-Alpes (05)","Alpes-Maritimes (06)","Ardèche (07)","Ardennes (08)","Ariège (09)","Aube (10)","Aude (11)","Aveyron (12)","Bouches-du-Rhône (13)","Calvados (14)","Cantal (15)","Charente (16)","Charente-Maritime (17)","Cher (18)","Corrèze (19)","Corse-du-Sud (2A)","Haute-Corse (2B)","Côte-d'Or (21)","Côtes-d'Armor (22)","Creuse (23)","Dordogne (24)","Doubs (25)","Drôme (26)","Eure (27)","Eure-et-Loir (28)","Finistère (29)","Gard (30)","Haute-Garonne (31)","Gers (32)","Gironde (33)","Hérault (34)","Ille-et-Vilaine (35)","Indre (36)","Indre-et-Loire (37)","Isère (38)","Jura (39)","Landes (40)","Loir-et-Cher (41)","Loire (42)","Haute-Loire (43)","Loire-Atlantique (44)","Loiret (45)","Lot (46)","Lot-et-Garonne (47)","Lozère (48)","Maine-et-Loire (49)","Manche (50)","Marne (51)","Haute-Marne (52)","Mayenne (53)","Meurthe-et-Moselle (54)","Meuse (55)","Morbihan (56)","Moselle (57)","Nièvre (58)","Nord (59)","Oise (60)","Orne (61)","Pas-de-Calais (62)","Puy-de-Dôme (63)","Pyrénées-Atlantiques (64)","Hautes-Pyrénées (65)","Pyrénées-Orientales (66)","Bas-Rhin (67)","Haut-Rhin (68)","Rhône (69)","Haute-Saône (70)","Saône-et-Loire (71)","Sarthe (72)","Savoie (73)","Haute-Savoie (74)","Paris (75)","Seine-Maritime (76)","Seine-et-Marne (77)","Yvelines (78)","Deux-Sèvres (79)","Somme (80)","Tarn (81)","Tarn-et-Garonne (82)","Var (83)","Vaucluse (84)","Vendée (85)","Vienne (86)","Haute-Vienne (87)","Vosges (88)","Yonne (89)","Territoire de Belfort (90)","Essonne (91)","Hauts-de-Seine (92)","Seine-Saint-Denis (93)","Val-de-Marne (94)","Val-d'Oise (95)","Guadeloupe (971)","Martinique (972)","Guyane (973)","La Réunion (974)"];

$j(document).ready(function() {
	$j("input:file").uniform({
		fileDefaultText: "",
		fileBtnText: "Parcourir..."
	});
	$j("form .date").datepicker();
	$j("form.withTipTip input[type='text'].required, form.withTipTip textarea.required, form.withTipTip input[type='file'].required, .needTipTip").tipTip({defaultPosition: "right"});
	
	$j("#comboThematique").change(function() {
		if(this.value == 5) {
			$j("#departement").show();
		} else {
			$j("#departement").hide();
			$j("#numDepartement").attr("value", "");
		}
	});
	
	$j("#departement input[type='text']").autocomplete({
		source: departements,
		select: function(event, ui) {
					var reg = new RegExp("^.*\\(([0-9AB]*)\\)$", "i");
					res = ui.item.value.match(reg);
					$j("#numDepartement").attr("value", res[1]);
				}
		});
	
	$j("#tvaIntraCommunautaireID").val("12123456789").click(function() {
		$j(this).val("");	
	});
	
});

function valideForm(btnSubmit) {
	
	var form = $(btnSubmit).up("form");	
	var error = false;
	
	form.select("input[type='text'].required, textarea.required, select.required").each(function(obj, index) {
		
		var parentFieldsetDisplay = obj.up("div.fieldset").getStyle("display");
		
		if(parentFieldsetDisplay == "block" && $F(obj) == "") {
			$(obj).addClassName("error");
			error = true;
		} else {
			$(obj).removeClassName("error");
		}
	});
	
	form.select("input[type='file'].required").each(function(obj, index) {
		
		var fileName = $F(obj);
		var reg = new RegExp(".*\\.(txt|doc|docx|pdf|rtf)$", "i"); // pourrait �tre param�trable
		
		var parentLabelDisplay = obj.up("label").getStyle("display");
		
		if(parentLabelDisplay != "none" && (fileName == "" || !reg.test(fileName))) {
			obj.adjacent("span.action")[0].addClassName("error");
			error = true;
		} else {
			obj.adjacent("span.action")[0].removeClassName("error");
		}
	});
	
	form.select("input[type='text'].mail").each(function(obj, index) {
		
		var mail = $F(obj);
		var reg = new RegExp("^[\\w\\-]+(\\.[\\w\\-]+)*@[\\w\\-]+(\\.[\\w\\-]+)*\\.[\\w\\-]{2,}$", "i");		
		
		if(mail == "" || !reg.test(mail)) {
			$(obj).addClassName("error");
			error = true;
		} else {
			$(obj).removeClassName("error");
		}
	});
	
	form.select(".radiogroup").each(function(obj, index) {
		var result = false;
		
		obj.select("input[type='radio']").each(function(radio, i) {
			if(radio.checked) {
				result = true;
			}
		})
		
		if(!result) {
			obj.addClassName("error");
		} else {
			obj.removeClassName("error");
		}		
	});
		
	
	if(!error) {
		form.submit();
		return true;
	}else{
		return false;
	}
}

function toggleDisplay(id) {
	id = $(id);
	if(id.getStyle("display") == "none") {
		id.show();
	} else {
		id.hide();
	}
}

function changeDisplay(id , value) {
	id = $(id);
	if(value == "show") {
		id.show();
	} else {
		id.hide();
	}
}


