$(function(){


	formulairesController.init();
	formulairesController.SelectFonctionUser();

	ControlsInput.init('.CheckValidityNum');
	ControlsInput.CheckValidityInsert('[0-9]','.CheckValidityNum');

});


var formulairesController = function(){

	var PreviousValueInputMail = "";
	var PreviousValueInputPasswd = "";
	var concatValueExist = "";
	var concatValueExistSucur = "";
	$("#addPaysExport").toggleClass('hide');
	$("#addPaysSuccursal").toggleClass('hide');

	$(".eraseZero > input").focus(function(){
		if($(this).val() == 0)
			$(this).val("");
	}).blur(function(){
		if($(this).val() == "")
			$(this).val("0");
	});

	$(".eraseZeroOnly input[value=0]").val("");


	function _init(){

		/* Gestion spécifique au formulaire de confirmation */
		if( $("input[name='continue']:checked").val() == 'oui' )
		{
			$("#diplome").show();
			if( $("input[name='diplome']:checked").val() == 'oui' )
			{
				$("#inscription").show();
				$("#validation").show();
			}
			else if( $("input[name='diplome']:checked").val() == 'non' )
				$("#validation").show();
		}
		else if( $("input[name='continue']:checked").val() == 'non' )
			$("#validation").show();

		$("#continue_oui").click(function(){
				$("#diplome").show();

				if( $("input[name='diplome']:checked").val() != null )
					$("#validation").show();
				else
					$("#validation").hide();
		});
        $("form #code_ape").focus(function(){
            if($(this).val() == "format : 9999X")
                $(this).val("");
        }).blur(function(){
            if($(this).val() == "")
                $(this).val("format : 9999X");
        });

		$("#continue_non").click(function(){
				$("#diplome").hide();
				$("#validation").show();
		});

		$("#diplome_oui").click(function(){
				$("#inscription").show();
				$("#validation").show();
		});

		$("#diplome_non").click(function(){
				$("#inscription").hide();
				$("#validation").show();
		});

		$("#validateFormMaj").submit();

		$("#validateFormMaj").click(function(){

            var errors	=	new Array();
            var attributes = new Object();
            var ezenumAttributes = new Object();
            if( $('#chiffre_affaire').val() == "" )
                errors.push("Vous devez saisir le chiffre d'affaire.");
            else{
                var expression = /^([0-9.,])*$/;
                expression.exec($('#chiffre_affaire').val());
                if(RegExp.$1 == ''){
                    errors.push("Le champ chiffre d'affaire doit être de type numérique.");
                }
                else
                    attributes.chiffre_daffaire_ante = $('#chiffre_affaire').val();
            }
            if($('input[type=radio][name="ezenum[visibility_chiffre_daffaire_ante]"]:checked').length == 0){
                errors.push("Vous devez saisir la visibilité du chiffre d'affaire.");
            }
            else
                ezenumAttributes.visibility_chiffre_daffaire_ante = $('input[type=radio][name="ezenum[visibility_chiffre_daffaire_ante]"]:checked').val();


            if( $('#chiffre_daffaire_prevision').val() == "" )
                errors.push("Vous devez saisir le chiffre d'affaire visé.");
            else{
                var expression = /^([0-9.,])*$/;
                expression.exec($('#chiffre_daffaire_prevision').val());
                if(RegExp.$1 == ''){
                    errors.push("Le champ chiffre d'affaire visé doit être de type numérique.");
                }
                else
                    attributes.chiffre_daffaire_prevision = $('#chiffre_daffaire_prevision').val();
            }

            if($('input[type=radio][name="ezenum[visibility_chiffre_daffaire_prevision]"]:checked').length == 0){
                errors.push("Vous devez saisir la visibilité du chiffre d'affaire visé.");
            }
            else
                ezenumAttributes.visibility_chiffre_daffaire_prevision = $('input[type=radio][name="ezenum[visibility_chiffre_daffaire_prevision]"]:checked').val();


            if( $('#percent_ca_export').val() == "" )
                errors.push("Vous devez saisir le pourcentage du chiffre d'affaire export 2011.");
            else{
                var expression = /^([0-9.,])*$/;
                expression.exec($('#percent_ca_export').val());
                if(RegExp.$1 == ''){
                    errors.push("Le champ pourcentage du chiffre d'affaire export 2011 doit être de type numérique.");

                }
                else  if ( parseFloat($('#percent_ca_export').val()) > 100)
                    {errors.push("Le champ pourcentage export ne doit pas dépasser 100%.");}

                else
                   { attributes.percent_ca_export = $('#percent_ca_export').val();}
            }

            if($('input[type=radio][name="ezenum[visibility_percent_ca_export]"]:checked').length == 0){
                errors.push("Vous devez saisir la visibilité du chiffre d'affaire export 2011.");
            }
            else
                {ezenumAttributes.visibility_percent_ca_export = $('input[type=radio][name="ezenum[visibility_percent_ca_export]"]:checked').val();}


            if( $('#percent_ca_r_d').val() == "" )
                errors.push("Vous devez saisir le chiffre d'affaire R&D 2011.");
             else if (parseFloat($('#percent_ca_r_d').val()) > 100)
                    {errors.push("Le champ pourcentage R&D ne doit pas dépasser 100%.");}
            else{
                var expression = /^([0-9.,])*$/;
                expression.exec($('#percent_ca_r_d').val());
                if(RegExp.$1 == ''){
                    errors.push("Le champ chiffre d'affaire R&D 2011 doit être de type numérique.");
                }
                else
                    attributes.percent_ca_r_d = $('#percent_ca_r_d').val();
            }
            if($('input[type=radio][name="ezenum[visibility_percent_ca_r_d]"]:checked').length == 0){
                errors.push("Vous devez saisir la visibilité du chiffre d'affaire R&D 2011.");
            }
            else
                ezenumAttributes.visibility_percent_ca_r_d = $('input[type=radio][name="ezenum[visibility_percent_ca_r_d]"]:checked').val();


            if( $('#effectifs').val() == "" )
                errors.push("Vous devez saisir les effectifs 2011.");
            else{
                var expression = /^([0-9.,])*$/;
                expression.exec($('#effectifs').val());
                if(RegExp.$1 == ''){
                    errors.push("Le champ effectifs 2011 doit être de type numérique.");
                }
                else
                    attributes.effectifs = $('#effectifs').val();
            }
            if($('input[type=radio][name="ezenum[visibility_effectifs]"]:checked').length == 0){
                errors.push("Vous devez saisir la visibilité des effectifs 2011.");
            }
            else
                ezenumAttributes.visibility_effectifs = $('input[type=radio][name="ezenum[visibility_effectifs]"]:checked').val();


            if( $('#effectifs_prevision').val() == "" )
                errors.push("Vous devez saisir les effectifs visés.");
            else{
                var expression = /^([0-9.,])*$/;
                expression.exec($('#effectifs_prevision').val());
                if(RegExp.$1 == ''){
                    errors.push("Le champ effectifs visés doit être de type numérique.");
                }
                else
                    attributes.effectifs_prevision = $('#effectifs_prevision').val();
            }
            if($('input[type=radio][name="ezenum[visibility_effectifs_prevision]"]:checked').length == 0){
                errors.push("Vous devez saisir la visibilité des effectifs visés.");
            }
            else
                ezenumAttributes.visibility_effectifs_prevision = $('input[type=radio][name="ezenum[visibility_effectifs_prevision]"]:checked').val();


            if( $('#new_brevet_last_year').val() == "" )
                errors.push("Vous devez saisir le nombre de brevets déposés en 2011.");
            else{
                var expression = /^([0-9.,])*$/;
                expression.exec($('#new_brevet_last_year').val());
                if(RegExp.$1 == ''){
                    errors.push("Le champ nombre de brevets déposés en 2011 doit être de type numérique.");
                }
                else
                   attributes.new_brevet_last_year = $('#new_brevet_last_year').val();
            }
            if($('input[type=radio][name="ezenum[visibility_new_brevet_last_year]"]:checked').length == 0){
                errors.push("Vous devez saisir la visibilité des nouveaux brevets déposés en 2011.");
            }
            else
                ezenumAttributes.visibility_new_brevet_last_year = $('input[type=radio][name="ezenum[visibility_new_brevet_last_year]"]:checked').val();


            if( $('#nb_depot_brevet').val() == "" )
                errors.push("Vous devez saisir le nombre total de brevets détenus.");
            else{
                var expression = /^([0-9.,])*$/;
                expression.exec($('#nb_depot_brevet').val());
                if(RegExp.$1 == ''){
                    errors.push("Le champ nombre total de brevets doit être de type numérique.");
                }
                else
                   attributes.nb_depot_brevet = $('#nb_depot_brevet').val();

            }
            if($('input[type=radio][name="ezenum[visibility_nb_depot_brevet]"]:checked').length == 0){
                errors.push("Vous devez saisir la visibilité du nombre total de brevets détenus.");
            }
            else
               ezenumAttributes.visibility_nb_depot_brevet = $('input[type=radio][name="ezenum[visibility_nb_depot_brevet]"]:checked').val();


           /* if( $('#code_ape').val() == "" )
                errors.push("Vous devez saisir le code APE.");
            else{ */
			if( $('#code_ape').val() != "format : 9999X" ) {
				if($('#code_ape').val() != '') {
					var expression = /^(([0-9]{4})+[a-zA-Z])*$/;
					expression.exec($('#code_ape').val());
					if(RegExp.$1 == ''){
						errors.push("Vous devez saisir un code APE valide (format : 9999X).");
					}
					else
					   attributes.code_ape = $('#code_ape').val();
				}
				else 
					attributes.code_ape = $('#code_ape').val();
			}
			else {
				$('#code_ape').val('');
				 attributes.code_ape = $('#code_ape').val();
			}
            /*}*/
			if( $('#code_ape').val() == "format : 9999X" || $('#code_ape').val() == '') {
				ezenumAttributes.visibility_code_ape = $('input[type=radio][name="ezenum[visibility_code_ape]"]:checked').val();
			}
			else {
				if($('input[type=radio][name="ezenum[visibility_code_ape]"]:checked').length == 0){
					errors.push("Vous devez saisir la visibilité du code APE.");
				}
				else
				   ezenumAttributes.visibility_code_ape = $('input[type=radio][name="ezenum[visibility_code_ape]"]:checked').val();
			}
            if($('input[type=radio][name="ezenum[import_project_last_year]"]:checked').length > 0){
                ezenumAttributes.import_project_last_year = $('input[type=radio][name="ezenum[import_project_last_year]"]:checked').val();
            }

            if($('input[type=radio][name="ezenum[important_investment]"]:checked').length > 0){
                ezenumAttributes.important_investment = $('input[type=radio][name="ezenum[important_investment]"]:checked').val();
            }

            if (errors.length > 0)
            {
                var string = "Votre saisie est incomplète :\n";
                for(i=0;i<errors.length;i++)
                    string	= string + "\t- " + errors[i] + "\n";
                alert(string);
            }
            else
			{
				$('#form_maj_information #validation').append('&nbsp;<img style="float: none;" src="/extension/excellence/design/excellence/images/ajax-loader.gif" alt="loading..." />');
                $("#maj_information").load($("#form_maj_information").attr('action'), { 'content': attributes,'ezenum':ezenumAttributes });
			}
		});

        $("#dialogFormMonOseoSyncClose").live("click",function(){
            $("#dialogFormMonOseoSync").dialog( "close" );
            return false;
        });


        $("#validated").click(function(){

            var errors	=	new Array();

			if( $("input[name='continue']:checked").val() == null )
				alert('Vous devez choisir si vous souhaitez ou non continuer à faire partie de la communauté.');
			else if(	$("input[name='continue']:checked").val() == 'oui'	&&
						$("input[name='diplome']:checked").val() == null
			)
				alert('Vous devez choisir si vous souhaitez ou non recovoir le diplôme OSEO Excellence.');
			else if(	$("input[name='continue']:checked").val() == 'oui'	&&
						$("input[name='diplome']:checked").val() == 'oui'
			)
			{
				if( $('#civ option:selected').val() == "" )
					errors.push("Vous devez choisir la civilité du bénéficiaire.");

				if( $('#prenom').val() == "" )
					errors.push("Vous devez saisir le prénom du bénéficiaire.");

				if( $('#nom').val() == "" )
					errors.push("Vous devez saisir le nom du bénéficiaire.");

				if( $('#fonction').val() == "" )
					errors.push("Vous devez saisir la fonction du bénéficiaire.");

				if( $('#rs_entreprise').val() == "" )
					errors.push("Vous devez saisir la raison sociale de l'entreprise.");

				if( $('#adr_entreprise').val() == "" )
					errors.push("Vous devez saisir l'adresse de l'entreprise.");

				if( $('#cp_entreprise').val() == "" )
					errors.push("Vous devez saisir le code postal de l'entreprise.");

				if( $('#ville_entreprise').val() == "" )
					errors.push("Vous devez saisir la ville de l'entreprise.");

                if(!$('#charte_oseo').is(':checked') )
                {
                    errors.push("Vous devez valider la charte OSEO 2012.");
                }


			}



            if (errors.length > 0)
            {
                var string = "Votre saisie est incomplète :\n";
                for(i=0;i<errors.length;i++)
                    string	= string + "\t- " + errors[i] + "\n";

                alert(string);
            }

            else
				$('#confirmInteres').submit();
            //function(){

				//$("#dialogFormMonOseoSync").load("/ezjscore/call/run/forminterest");

				//return false;
			//}
		});

		/* Fin gestion spécifique au formulaire de confirmation */


		/* Gestion spécifique au formulaire pour gérer les abonnements */
		if( $("input[name='ReceiveDigest_ezgeneraldigest']:checked").val() == 'oui' )
			$("#diplome").show();
		else
			$("#diplome").hide();


		$("#ReceiveDigest_ezgeneraldigest").click(function(){
				$("#subscription_time_settings").show();
		});

		$("#temps_reel").click(function(){
				$("#subscription_time_settings").hide();
		});

		$("#toogleMessageAction_notification").click(function(){
			$("form input:checkbox").each(function(){
					if($(this).is(':checked'))
							this.checked = false;
					else
							this.checked = true;
			});
		});
		/* Fin gestion spécifique au formulaire pour gérer les abonnements */



		if($("#ezcoa-296_sector_activity_techno").size() >0 ){
			ExtractValueCheckbox_init($("#ezcoa-296_sector_activity_techno"),$("#secteurActi"));
			ExtractValueCheckbox_PreChecked($("#ezcoa-296_sector_activity_techno"),$("#secteurActi"));
			manageTechnoSectors.init();
			manageTradiSectors.init();
		}

		/* Gestion des pays a l'export Formulaire fiche entreprise */

		selectorPays.pays("#ezcoa-326_selector_pays_export", "#ezcoa-319_pays_export", "#addPaysExport", "#SubPaysExport");
		selectorPays.pays("#ezcoa-327_selector_pays_succursal", "#ezcoa-328_pays_export_succursal", "#addPaysSuccursal", "#SubPaysSuccursal");

		$("#ezcoa-236_engagements_personnels_9").click(function(){
			checkCheckbox($(this));
		}).each(function(){
			checkCheckbox($(this));
		});

		function checkCheckbox (e) {
			if(e.is(':checked')) {
				$(".engagement_perso_autre").removeClass('hide');
			}
			else {
				$(".engagement_perso_autre").addClass('hide');
				$("#ezcoa-303_engagements_personnels_autre").val("");
			}
		}

		$("#ezcoa-292_type_formation_5").change(function(){
			//$(".formation_autre").addClass('hide');
		});


		/* Simulation du click submit sur le choix de la Section "Public"/"Privée" */
		$(".selectionId").change(function(){
			$("#editform").submit();
		});

		$("#EditUser").submit(function() {
			var user_account_mail = $("#ezcoa-12_user_account_email").val();
			$('#ezcoa-12_user_account_login').val(user_account_mail);
		});

		/* Gestion de l'identifiant egale au mail presse*/
		$("#EditUser").submit(function() {
			var user_account_mail = $("#ezcoa-406_user_account_email").val();
			$('#ezcoa-406_user_account_login').val(user_account_mail);
		});

		/* Gestion de l'identifiant egale au email CA*/
		$("#EditUser").submit(function() {
			var user_account_mail = $("#ezcoa-379_user_account_email").val();
			$('#ezcoa-379_user_account_login').val(user_account_mail);
		});


		$("#ezcoa-497_you_are_ca_0").attr("checked","checked");
		$("#ezcoa-507_you_are_0").attr("checked","checked");
		/****	Gestion des secteurs traditionnels	 ****/

		$("#firstSector").change(function(){
			$("#thirdSector").addClass("hide");
			var selected = $(this).val();
			$.ez("sectoractivity::sector_tradi",{first_secteur:selected},function(data){
				$("#secondSector").html(data.content).removeClass("hide");
			});
		});
		$("#secondSector").change(function(){
			var selected = $(this).val();
			$.ez("sectoractivity::sector_tradi",{second_secteur:selected},function(data){
				if(data.content.length > 1)
					$("#thirdSector").html(data.content).removeClass("hide");
			});
		});

		$("#EditCompany_file").submit(function(){
			var ArrayValueChecked = new Array();
			var ArrayValueCheckedText = new Array();
			$("#TRADI_sector").find("[:selectbox]:selected").each(function(i) {
				ArrayValueChecked[i] = $(this).val();
				if($(this).text() != "Précisez")
					ArrayValueCheckedText[i] = $(this).text();
			});
			$("#ezcoa-298_id_secteur_tradi").val(ArrayValueChecked.join(','));
			$("#ezcoa-297_sector_activity_tradi").val(ArrayValueCheckedText.join(','));
		});

		if($("#ezcoa-298_id_secteur_tradi").size() > 0)
		{
			var IdTradi = $("#ezcoa-298_id_secteur_tradi").attr('value').split(",");
			$("#firstSector").ez("sectoractivity::sector_tradi",{selectedFirst:IdTradi[0]});
			$("#secondSector").ez("sectoractivity::sector_tradi",{first_secteur:IdTradi[0],selected:IdTradi[1]}).removeClass("hide");
			$("#thirdSector").ez("sectoractivity::sector_tradi",{second_secteur:IdTradi[1],selected:IdTradi[2]}).removeClass("hide");
		}
		else {
			if ($("#firstSector").size()>0)
				$("#firstSector").ez("sectoractivity::sector_tradi");
		}


		/* Vérification de la syntaxe de l'email avant envoi Ajax */


		$('.choiceItem').click(function(){
			$('.choiceItem').siblings('div').slideUp();
			$(this).siblings('div').slideDown('fast');
		});



		/* CHoix 1 */
		GetCheckedValidEmail("#ConnectMeChoice1","#ConnectMeChoice1 > .emailRucLogin","#ConnectMeChoice1 > .statusEmail");
		GetCheckedValidPasswd("#ConnectMeChoice1","#ConnectMeChoice1  .PassRucLogin","#ConnectMeChoice1 > .emailRucLogin","#ConnectMeChoice1 > .statusPasswd");

		/* CHoix 2 */

		GetCheckedValidEmail("#ConnectMeChoice2","#ConnectMeChoice2 > .emailRucLogin","#ConnectMeChoice2 > .statusEmail");
		GetCheckedValidPasswd("#ConnectMeChoice2","#ConnectMeChoice2  .PassRucLogin","#ConnectMeChoice2  .emailRucLogin","#ConnectMeChoice2  .statusPasswd");

		/* Fermeture de la popup */



		/* Check de validité du Password */

		var dialogForm = $('#dialogFormMonOseoSync');
		//width:367,
		if($(".warning").size() == 0 )
		{
			if (dialogForm.size()>0) {
				dialogForm.dialog({
						modal:true,
						width:850,
						draggable:true,
						closeOnEscape: false

				});
			}
		}


		$('#OpenPopIn').click(function(){
			if (dialogForm.size()>0)
			{
				dialogForm.dialog({
									modal:true,
									width:790,
									draggable:true,
									closeOnEscape:false
								  });
			}
		});

		$(".closePopIn").click(function(){
			if (dialogForm.size()>0){dialogForm.dialog('destroy');}
		});

		$(".ValidForgotPass").click(function(){


			var inputEmail = $(this).parents().siblings('.emailRucLogin').val();

				if(inputEmail)
				{
					$("#Forgotpasswd").append("<input type='hidden' name='login' value='"+inputEmail+"'");
					$("#Forgotpasswd").submit();
				}
				return false;
		});


/*
 * Le flash ne se charge pas dans une popup jquerUI sous IE toutes versions
/**/
		$('#dialogVideo').dialog({
			autoOpen:false,
			modal:false,
			width:620,
			draggable:true,
			resizable:false,
			closeOnEscape:true
		});
		$('#dialogVideo').prev(".ui-dialog-titlebar").children(".ui-dialog-titlebar-close").css("display", "block");
		$('#dialogVideo').prev(".ui-dialog-titlebar").children(".ui-dialog-titlebar-close").children(".ui-icon-closethick").css("display", "block");
		$('#linkVideo').click(function(){
			$('#dialogVideo').dialog("open");
			return false;
		});
/**/

//		$('#linkVideo').click(function() {
//			if ($('#dialogVideo').css("left") == "auto") {
//				$('#dialogVideo').css("left", "-99999px");
//				$(this).html("Voir la vidéo");
//			} else {
//				$('#dialogVideo').css("left", "auto");
//				$(this).html("Masquer la vidéo");
//			}
//			return false;
//		});

	}
	function _SelectFonctionUser(){

		$("#fonction").change(function(){
			if($('#ezcoa-206_function'))
				$('#ezcoa-206_function').val($(this).attr('value'));
		});

	}

	return {init:_init, SelectFonctionUser:_SelectFonctionUser};
}();


function GetCheckedValidEmail(Base, EmailRucLogin, ContainerStatus){


	$(EmailRucLogin).keydown(function(){
		PreviousValueInputMail = $(EmailRucLogin).val();
	});

//	$(EmailRucLogin).mousedown(function(){
//		PreviousValueInputMail = $(EmailRucLogin).val();
//	});

	$(EmailRucLogin).mousedown(function(){
		PreviousValueInputMail = $(EmailRucLogin).val();
	});

	$(EmailRucLogin).keyup(function(){
		Execute(Base, EmailRucLogin, ContainerStatus);
	});
	$(EmailRucLogin).mouseup(function(){


		Execute(Base, EmailRucLogin, ContainerStatus);
	});
}
function Execute(Base, EmailRucLogin, ContainerStatus,PreviousValueInputMail){

	var setTime;
	var duree=750;
	$(Base +" .EmailnExistAferVerif").addClass("hide");
	if(setTime)
			clearTimeout(setTime);


		$(ContainerStatus+" > .Loading").removeClass("hide");
		$(ContainerStatus+" > .emailnExist").addClass("hide");
		$(ContainerStatus+" > .emailnValid").addClass("hide");
		$(ContainerStatus+" > .emailExist").addClass("hide");

		if($(EmailRucLogin).val() == ""){
			$(ContainerStatus).find("span").each(function(){
				$(this).addClass("hide");
			});
		}



		setTime = setTimeout(function(){
											$(ContainerStatus+" > .Loading").addClass("hide");
											var InputEmail = $(EmailRucLogin).val();
											if(PreviousValueInputMail != InputEmail &&  CheckValidityEmail(InputEmail)){

												$.ez('profilexist::checkrucprofil::'+InputEmail,{},function(data){
													EventElmtEmail(data, Base, ContainerStatus);
												});
											}
											else{
												if(!CheckValidityEmail(InputEmail))
												{
													$(ContainerStatus+" > .emailnValid").removeClass("hide");
												}
												else
												{
													$(ContainerStatus+" > .emailnExist").removeClass("hide");
												}
											}
										},duree);

}
function GetCheckedValidPasswd(Base, IdPasswd, EmailRucLogin, ContainerStatus){

	var setTime;
	var duree=350;

	$(IdPasswd).keydown(function(){
			PreviousValueInputPasswd = $(IdPasswd).val();
	});

	$(IdPasswd).keyup(function(){


		var InputPasswd = $(IdPasswd).val();


		$(ContainerStatus+" > .Loading").removeClass("hide");
		$(ContainerStatus+" > .PasswdnExist").addClass("hide");
		$(ContainerStatus+" > .PasswdExist").addClass("hide");

		if(InputPasswd == "") {
			$(ContainerStatus).find("span").each(function(){
				$(this).addClass("hide");
			});
		}

		setTime = setTimeout(function(){
											$(ContainerStatus+" > .Loading").addClass("hide");
											var InputEmail = $(EmailRucLogin).val();
											if(InputPasswd.length > 2 && CheckValidityEmail(InputEmail) ){
												$.ez('profilexist::checkpasswdprofil::'+InputEmail+'::'+InputPasswd,'', function(data){
													EventElmtPasswd(data, Base, ContainerStatus);
												});
											}
											else {
												$(ContainerStatus+" > .PasswdnExist").removeClass("hide");
											}
										},duree);

	});
}
function EventElmtEmail(data, Base, ContainerStatus)
{

	 if (!data.content.warning && data.content)
	 {
	 	/* Suppression de l'attribut Disaled*/

	 	$(Base+"  .PassRucLogin").removeAttr('disabled');
	 	$(".ValidForgotPass").removeAttr('disabled');


	 	$(ContainerStatus).find('span').each(function(i){
			$(this).addClass("hide");
		});
	 	$(ContainerStatus+" > .emailExist").removeClass("hide");

	 	if($(Base+"  #EmailExistAferVerif").length > 0){
	 		$(Base+"  .EmailnExistAferVerif").hide();
	 		$(Base+"  #EmailExistAferVerif").slideDown('fast');
	 	}
	 }
	 else if(data.content.warning){

		 	$(ContainerStatus+" > .emailnValidOseo").removeClass("hide");
		 	$(ContainerStatus+" > .emailnValidOseo > .ErrorText").html(data.content.warning).removeClass("hide");

		 	$(Base +" #EmailExistAferVerif").hide();
	 }
	 else
	 {

	 	$(ContainerStatus).find('span').each(function(i){
			$(this).addClass("hide");
		});

	 	$(ContainerStatus+" > .emailnExist").removeClass("hide");

	 	if($(Base+"   #EmailExistAferVerif").length > 0){
	 		$(Base +" .EmailnExistAferVerif").removeClass("hide");
	 	}
     }
}

function EventElmtPasswd(data, Base, ContainerStatus)
{

	if (!data.content)
	{
		$(ContainerStatus).find('span').each(function(i){
			$(this).addClass("hide");
		});
		$(ContainerStatus+" > .PasswdnExist").removeClass("hide");
		$(Base+"  .ValidExistUserRuc").addClass("hide");
	}
	else
	{
		$(ContainerStatus).find('span').each(function(i){
			$(this).addClass("hide");
		});

		$(ContainerStatus+" > .PasswdExist").removeClass("hide");
		$(Base+"  .ValidExistUserRuc").removeClass("hide");
	}
}

function CheckValidityEmail(Email){

	var exp = new RegExp("^[-a-z0-9_]+([-._]+[-a-z0-9_+]+)*@[a-z0-9]([.-]?[a-z0-9])*\.[a-z]{2,4}$",'i');
	var Validity = exp.test(Email);
	return Validity;
}

function ExtractValueCheckbox_init(id_text_sector,tree_input) {

	$('#EditCompany_file').submit(function(){
		var ArrayValueChecked = new Array();
		tree_input.find("[:checkbox]:checked").each(function(i) {
			ArrayValueChecked[i] = $(this).attr('value');
		});
		id_text_sector.val(ArrayValueChecked.join(','));
	});

}
function ExtractValueCheckbox_PreChecked(id_text_sector,tree_input){
	var ArrayValueExtract = new Array();
	ArrayValueExtract = id_text_sector.val().split(',');
	var regExpBeginning = /^\s+/;
	var regExpEnd = /\s+$/;
	var length = ArrayValueExtract.length;
	for(i=0;i<length;i++) {
		var ValueTrim = ArrayValueExtract[i].replace(regExpBeginning, "").replace(regExpEnd, "");
		tree_input.find("input:checkbox[value='"+ValueTrim+"']").click();
	}
}


var manageTechnoSectors = function() {
	function _init() {
		$("ul.sectorList li input:not(:checked)").siblings("ul").hide();
		$("ul.sectorList li input:checked").siblings(".sector_precise").show();

		$("ul.sectorList li input").click(function() {
			if($(this).is(':checked')) {
				$(this).siblings("ul").show();
			} else {
				$(this).siblings("ul").hide().find('input:checkbox').attr('checked',false);
			}
		});
	}
	return {init:_init};
}();


var manageTradiSectors = function() {
	function _init() {
		this.updateTradiSectors();
	}
	// TODO : dé-dupliquer le code
	function _updateTradiSectors() {
		$("select[name='TraditionalSector[1][1]']").change(function() {
			var parent = $(this).parents("div.TRADI_sectors");
			parent.load("/"+parent.attr("rel")+"/gettradisectors/format/html/priority/1/TRADI_id_1/"+$(this).val(), null, function() {
				manageTradiSectors.init();
			});
		});
		$("select[name='TraditionalSector[1][2]']").change(function() {
			var tradi_1 = $("select[name='TraditionalSector[1][1]']").val();
			var parent = $(this).parents("div.TRADI_sectors");
			parent.load("/"+parent.attr("rel")+"/gettradisectors/format/html/priority/1/TRADI_id_1/"+tradi_1+"/TRADI_id_2/"+$(this).val(), null, function() {
				manageTradiSectors.init();
			});
		});
		$("select[name='TraditionalSector[2][1]']").change(function() {
			var parent = $(this).parents("div.TRADI_sectors");
			parent.load("/"+parent.attr("rel")+"/gettradisectors/format/html/priority/2/TRADI_id_1/"+$(this).val(), null, function() {
				manageTradiSectors.init();
			});
		});
		$("select[name='TraditionalSector[2][2]']").change(function() {
			var tradi_1 = $("select[name='TraditionalSector[2][1]']").val();
			var parent = $(this).parents("div.TRADI_sectors");
			parent.load("/"+parent.attr("rel")+"/gettradisectors/format/html/priority/2/TRADI_id_1/"+tradi_1+"/TRADI_id_2/"+$(this).val(), null, function() {
				manageTradiSectors.init();
			});
		});
	}
	return {init:_init, updateTradiSectors:_updateTradiSectors};
}();

var selectorPays = function() {
	function _init() {
	}

	function extractInputTextPays(InputText){

		var concatValueExist = "";
		if(InputText == "#ezcoa-319_pays_export"){
			concatValueExist = $(InputText).val();
		}
		else if(InputText == "#ezcoa-328_pays_export_succursal"){
			concatValueExist = $(InputText).val();
		}

		return concatValueExist;

	}
	function _pays(selectPays,inputText,buttonAdd,buttonSub) {

				var concatVal = "";

				var Extract = extractInputTextPays(inputText);

				$(buttonAdd).click(function(){

					if(Extract != "") concatVal = $(inputText).val(); // A chaque clique on remplit la variable avec le contenu du champ texte.

					$(selectPays).find("[:selectbox]:selected").each(function() {
						if($(this).val() != "Précisez les pays d'export" && $(this).val() != "") {

							if (concatVal)
								$(inputText).val(concatVal+', '+$(this).text());
							else
								$(inputText).val($(this).text());

							concatVal = $(inputText).val();
						}
					});
					selectFirst(selectPays);
				});

				$(selectPays).change(function(){


					$(this).find("[:selectbox]:selected").each(function() {

						var CurrentValueInputText = $(inputText).val();
						var SplitExportPays = CurrentValueInputText.split(', ');
						var indexTab = $.inArray($(this).text(), SplitExportPays);
						if(indexTab != -1)
						{
							$(buttonAdd).addClass('hide');
							$(buttonSub).removeClass('hide');

							$(buttonSub).click(function(){
								SplitExportPays.splice(indexTab,indexTab+1);
								$(inputText).val(SplitExportPays.join(', '));

								concatVal = SplitExportPays.join(', ');
								selectFirst(selectPays);
							});

						} else {
							$(buttonSub).addClass('hide');
							$(buttonAdd).removeClass('hide');
						}
					});
				});
	}
	function selectFirst(selectPays) {
			$(selectPays+" option:first").attr('selected','selected');
	}

	return {init:_init, pays:_pays};
}();


var ControlsInput = function() {

	var PreviousValueInput = "";

	function _init(selector){
		var ValidChaine;

		$('body').find(selector).each(function(){

			ValidChaine = _DeleteIllegalCaracter($(this).val());
			$(this).val(ValidChaine);
			if($(this).is('.numberFormat'))
				formatNumberField($(this));
		});

	}

	function _DeleteIllegalCaracter(Chaine)
	{
		var ValidChaine;
		var  reg;
		reg = new  RegExp('[^0-9]', "g");
		ValidChaine = Chaine.replace(reg,'');

		return ValidChaine;
	}
	function _CheckValidityInsert(pattern, selector)
	{

		/* Gestion des erreur sur des champs numérique suppression automatique des caractéres non numérique */


		var authorizedKeyCharCode = new Array(3,6,8,9,13,16,17,18,20,27,35,112,116,144);
		var ValidChaine;

		$(selector).blur(function(){
			if(typeof($(this).val()) != 'Number')
			{
				ValidChaine = _DeleteIllegalCaracter($(this).val());
				$(this).val(ValidChaine);
				if($(this).is('.numberFormat'))
					formatNumberField($(this));
			}
		});

		$(selector).keypress(function(e){

			var codeCharCode;
			var ConvertCharCode;
			var codeKeyCode;
			var result;

			var exp = new RegExp(pattern,'g');

			codeCharCode =  e.keyCode ? e.keyCode : e.charCode;
			ConvertCharCode = String.fromCharCode(codeCharCode);

			result = exp.test(ConvertCharCode);
			if(
				result ||
				jQuery.inArray(codeCharCode,authorizedKeyCharCode) != -1 ||
				e.ctrlKey
			   ){
					return true;
				}
				else
					return false;

		});

	}

	return {init:_init,CheckValidityInsert:_CheckValidityInsert,DeleteIllegalCaracter:_DeleteIllegalCaracter};


}();
