function form_Join(auto_id) {
	this.DOMConstruct('form_Join', auto_id);
}
form_Join.prototype = new SK_FormHandler({
	name: 'profile_join',
	
	fields: {
		captcha: {
			construct: function($input, form_handler) {
					var handler = this;
					
					
					$input.parents(".captcha_container:eq(0)").find("a").click(function(){
						handler.refresh_image($input); 
					});
					
					form_handler.bind("error", function(){
						handler.refresh_image($input); 
					});
				},
			validate: function(value, required) {},
			focus: function() {},
			$input: {},
			request_result: "",
			refresh_image: function($input){
					var image_id = $input.parents(".captcha_container:eq(0)").find("input[type=hidden]").val();
						$.ajax({
									url: "http://www.ados-web.com/field_responder.php",
									method: "post",
									dataType: "json",
									data: {action: "change_captcha_image"},
									success: function(result){
									 	if (result){
											$input.parents(".captcha_container:eq(0)").find("img").attr("src","http://www.ados-web.com/captcha/image.php?img_id="+result);
											$input.parents(".captcha_container:eq(0)").find("input[type=hidden]").val(result);
											$input.val("");								
										}
									 }
								});
				}
		},
		username: {
			construct: 
							function($input) {
								var handler = this;
								
								if($input.val()!="" && $input.val()!=handler.lastValue){
									handler.check_username($input);
								}
		
								$input.change(function(){
									handler.changed = true;
								});
													
								$input.blur(function() {
									if($input.val()!="" && $input.val()!=handler.lastValue && handler.changed ){
										handler.check_username($input);
									}
									else{
										$input.parent().find(".success").remove();
									}
								});
							},
			validate: function(value, required) {},
			focus: function() {},
			changed: true,
			lastValue: "",
			check_username: 
							function($input){
							
							var handler = this;
								$.ajax({
										url: "http://www.ados-web.com/field_responder.php",
										method: "post",
										dataType: "json",
										data: {action: "check_username_exists", username: $input.val()},
										success: function(result){
												$input.parent().find(".success").remove();
												handler.changed = false;
												if (result==2){
													SK_drawError("Désolé, ce nom d'utilisateur est utilisé par un autre profil");
												}
		   										else if(result==1){
		   											$input.after('<span class="success">&nbsp;</span>');
		   										}
		   										else if(result==4) {
		   											SK_drawError("Désolé, ce nom d'utilisateur est limité");
		   										}
		   										else{
		   											SK_drawError("S'il vous plaît, entrez le nom d'utilisateur");
		   										}
		  								}
									});
							}
							
		},
		password: {
			construct: function($input, form_handler) {},
			validate: function(value, required) {},
			focus: function() {}
		},
		re_password: {
			construct: function($input, form_handler) {},
			validate: function(value, required) {},
			focus: function() {}
		},
		sex: {
			construct: function($input, form_handler) {},
			validate: function(value, required) {},
			focus: function() {}
		},
		match_sex: {
			construct: function($input, form_handler) {},
			validate: function(value, required) {},
			focus: function() {}
		},
		real_name: {
			construct: function($input, form_handler) {},
			validate: function(value, required) {},
			focus: function() {}
		},
		email: {
			construct: 
							function($input) {
								var handler = this;
								
								this.lastValue = $input.parent().find("input[name=last_value]").val();
								
								if($input.val()!="" && $input.val()!=this.lastValue){
									handler.check_email($input);
								}		
								
								$input.change(function(){
									handler.changed = true;
								});
												
								$input.blur(function() {
									if($input.val()!="" && $input.val()!=handler.lastValue && handler.changed ){
										handler.check_email($input);
									}
									else{
										$input.parent().find(".success").remove();
									}						
								});
							},
			validate: function(value, required) {},
			focus: function() {},
			lastValue: "",
			changed: true,
			check_email: 
							function($input){
							var handler = this;
							
								$.ajax({
										url: "http://www.ados-web.com/field_responder.php",
										method: "post",
										dataType: "json",
										data: {action: "check_email_exists", email: $input.val()},
										success: function(result){
												$input.parent().find(".success").remove();
												handler.changed = false;
												if (result==2){
													SK_drawError("Désolé, cette adresse courriel est déjà utilisée");
												}
		   										else if(result==1){
		   											$input.after('<span class="success">&nbsp;</span>');
		   										}
		   										else{
		   											SK_drawError("S'il vous plaît, entrez un courriel valide");
		   										}
		   										
		   										
		  								}
									});
							}
							
		},
		re_email: {
			construct: function($input, form_handler) {},
			validate: function(value, required) {},
			focus: function() {}
		},
		general_description: {
			construct: function($input, form_handler) {},
			validate: function(value, required) {},
			focus: function() {}
		},
		birthdate: {
			construct: function($input, form_handler) {},
			validate: function(value, required) {
					if ( !required ) {
						return;
					}
					if ( !$.trim(value.year) ) {
						throw new SK_FormFieldValidationException("");	
					}
					
					if ( !$.trim(value.month) ) {
						throw new SK_FormFieldValidationException("");	
					}
					
					if ( !$.trim(value.day) ) {
						throw new SK_FormFieldValidationException("");	
					}
					
				},
			focus: function() {}
		},
		headline: {
			construct: function($input, form_handler) {},
			validate: function(value, required) {},
			focus: function() {}
		},
		relationship: {
			construct: function($input, form_handler) {},
			validate: function(value, required) {},
			focus: function() {}
		},
		match_height: {
			construct: function($input, form_handler) {},
			validate: function(value, required) {},
			focus: function() {}
		},
		match_agerange: {
			construct: function($input, form_handler) {},
			validate: function(value, required) {},
			focus: function() {}
		},
		body_type: {
			construct: function($input, form_handler) {},
			validate: function(value, required) {},
			focus: function() {}
		},
		eye_color: {
			construct: function($input, form_handler) {},
			validate: function(value, required) {},
			focus: function() {}
		},
		hair_color: {
			construct: function($input, form_handler) {},
			validate: function(value, required) {},
			focus: function() {}
		},
		i_am_at_least_18_years_old: {
			construct: function($input, form_handler) {},
			validate: function(value, required) {},
			focus: function() {}
		},
		photo_upload: {
			construct: function($input, form_handler)
						{
							this.$input = $input;
							this.form_handler = form_handler;
							this.$iframe = $input.next();
							this.upload_error = false;
							
							
							
		                    this.onConstruct($input, form_handler);
		                    					
							var form_window = this.$iframe.get(0).contentWindow;
							
							var handler = this;
							
							var onload_ping =
								window.setInterval(function() {
									if (form_window.$userfile) {
										window.clearInterval(onload_ping);
										form_window.$userfile.change(function() {
											handler.uploadStart(form_window.$upload_form);
										});
									}
								}, 500);
						},
			validate: function( value ) {},
			onConstruct: function( $input, form_handler ) {},
			displayLoading: function( value ) {
							this.$input.before('<img src="http://www.ados-web.com/layout/img/loading.gif" />');
						},
			focus: function() {
							this.$iframe.get(0).contentWindow.$userfile.focus();
						},
			showLoading: function() {
							this.$input.before('<img src="http://www.ados-web.com/layout/img/loading.gif" />');
						},
			hideLoading: function() {
							this.$input.prev().remove();
						},
			uploadStart: function($form)
						{
							this.form_handler.file_upload_in_process = true;
							
							this.$iframe.hide();
							this.showLoading();
							
							var form_window = this.$iframe.get(0).contentWindow;
							form_window.$upload_form = null;
							form_window.$userfile = null;
							form_window = null;
							
							$form.submit();
							
							var handler = this;
							
							var ping = window.setInterval(function() {
								var form_window = handler.$iframe.get(0).contentWindow;
								if (form_window && form_window.$userfile)
								{
									window.clearInterval(ping);
									
									handler.hideLoading();
									
									if (form_window.sk_upload_error) {
										handler.form_handler.error(form_window.sk_upload_error, "photo_upload");
										handler.$iframe.show();
										handler.construct(handler.$input, handler.form_handler);
										handler.upload_error = true;
									}
									else {
										var $input_clone;
										
										if (!handler.$input.val()) {
											handler.$input.val(form_window.sk_userfile_uniqid);
										}
										else {
											$input_clone = handler.$input.before(
												handler.$input.clone()
													.val(form_window.sk_userfile_uniqid)
											);
										}
										
										var $preview = $(form_window.sk_userfile_preview);
										
										handler.$input.before($preview);
										
										$(".delete_file_btn", $preview)
											.one("click", function()
											{
												if (!$input_clone) {
													handler.$input.removeAttr("value");
												}
												else {
													$input_clone.remove();
												}
												
												if (handler.$iframe.css("display") == "none") {
													handler.$iframe.show();
													handler.construct(handler.$input, handler.form_handler);
												}
												
												if (typeof handler.free_file_slots != "undefined") {
													handler.free_file_slots++;
												}
												
												$preview.remove();
											});
									}
									
									handler.form_handler.file_upload_in_process = false;
									
									handler.uploadComplete();
								}
							}, 500);
						},
			uploadComplete: function() {}
		},
		i_agree_with_tos: {
			construct: function($input, form_handler) {},
			validate: function(value, required) {},
			focus: function() {}
		},
		my_homepage: {
			construct: function($input, form_handler) {},
			validate: function(value, required) {},
			focus: function() {}
		}
	},
	actions: {
		action_1___: {
		fields: {"captcha":true,"username":true,"password":true,"re_password":true,"sex":true,"match_sex":false,"real_name":false,"email":true,"re_email":true,"birthdate":true,"relationship":false,"match_height":false,"match_agerange":false,"hair_color":false,"i_am_at_least_18_years_old":true,"photo_upload":false,"i_agree_with_tos":true,"my_homepage":true}
		},
		action_1___1: {
		fields: {"captcha":true,"username":true,"password":true,"re_password":true,"sex":true,"match_sex":false,"real_name":false,"email":true,"re_email":true,"birthdate":true,"relationship":false,"match_height":false,"match_agerange":false,"hair_color":false,"i_am_at_least_18_years_old":true,"photo_upload":false,"i_agree_with_tos":true,"my_homepage":true}
		},
		action_2___1: {
		fields: {"general_description":false,"headline":true,"body_type":false,"eye_color":false}
		},
		action_1___2: {
		fields: {"captcha":true,"username":true,"password":true,"re_password":true,"sex":true,"match_sex":false,"real_name":false,"email":true,"re_email":true,"birthdate":true,"relationship":false,"match_height":false,"match_agerange":false,"hair_color":false,"i_am_at_least_18_years_old":true,"photo_upload":false,"i_agree_with_tos":true,"my_homepage":true}
		},
		action_2___2: {
		fields: {"general_description":false,"headline":true,"body_type":false,"eye_color":false}
		},
		action_1___8: {
		fields: {"captcha":true,"username":true,"password":true,"re_password":true,"sex":true,"match_sex":false,"real_name":false,"email":true,"re_email":true,"birthdate":true,"relationship":false,"match_height":false,"match_agerange":false,"hair_color":false,"i_am_at_least_18_years_old":true,"photo_upload":false,"i_agree_with_tos":true,"my_homepage":true}
		},
		action_2___8: {
		fields: {"general_description":false,"headline":true,"body_type":false,"eye_color":false}
		}
	},
	default_action: ''
});
