﻿
RegistrationDefinePassword = {

	init: function() {
		RegistrationDefinePassword.setEventHandlers();
		RegistrationDefinePassword.showModifyEmail(false);
		$(".lblEmailDescriptionDP").text($(".txtEmailCS").val());
		RegistrationDefinePassword.initHover();
	}, 
	
	initHover: function(){
        if($.browser.msie) {
		$("input.submit[type=submit]")
			.focus(function(){ $(this).addClass("submit-hover") } )
			.blur(function(){ $(this).removeClass("submit-hover") })
			.hover(function(){ $(this).addClass("submit-hover") }, function() { $(this).removeClass("submit-hover") } );
		$("input.linkButton")
			.focus(function() { $(this).addClass("linkButton-hover") } )
			.blur(function() { $(this).removeClass("linkButton-hover") } )
			.hover(function() { $(this).addClass("linkButton-hover") }, function() { $(this).removeClass("linkButton-hover") } );
        $("input.submit[type=button]")
			.focus(function(){ $(this).addClass("submit-hover") } )
			.blur(function(){ $(this).removeClass("submit-hover") })
			.hover(function(){ $(this).addClass("submit-hover") }, function() { $(this).removeClass("submit-hover") } );
	    }
    },     
 
	setEventHandlers: function() {
		$(".btnModifyEmailDP").unbind().click(RegistrationDefinePassword.onClickModifyEmail); 
		$(".btnAcceptModifyEmailDP").unbind().click(RegistrationDefinePassword.onClickAcceptModifyEmail); 
		$(".btnCancelModifyEmailDP").unbind().click(RegistrationDefinePassword.onClickCancelModifyEmail); 
		$(".btnPreviousDP").unbind().click(RegistrationDefinePassword.onClickPrevious); 
		$(".btnSubmitDP").unbind().click(RegistrationDefinePassword.onClickSubmit); 
		$(".btnCancelDP").unbind().click(RegistrationDefinePassword.onClickCancel); 
	}, 
 
	validate: function() {
        var result = TFI.Validation.validateGroup("DefinePassword");
        if (result) {
            $(".validationWarning").hide(); 
        } else {
            $(".validationWarning").show(); 
        }        
        return result;
	},
	
	validateEmail: function() {
        var result = TFI.Validation.validateGroup("ModifyEmail");
        return result;
	},
 
	saveValues: function(candidateCV) {
		if(candidateCV != null) {
			candidateCV.civilStatus.candidate.Password = $(".txtPasswordDP").val();
			candidateCV.Indisponibility.WorkVolumes = RegistrationDefinePassword.getWorkVolumes();
		}
		return candidateCV;
	},

	showModifyEmail: function(modify) {
	    $(".pnlModifyEmailDP").css("display", (modify ? "" : "none"));
	    $(".pnlModifyPasswordDP").css("display", (!modify ? "" : "none"));
	    $(".pnlCommandsDP").css("display", (!modify ? "" : "none"));
	},
	
	onClickModifyEmail: function(e) {
		RegistrationDefinePassword.showModifyEmail(true);
		return false;
	},
 
	onClickAcceptModifyEmail: function(e) {
		if(RegistrationDefinePassword.validateEmail()) {
			var email = $(".txtEmailDP").val();
			$(".lblEmailDescriptionDP").text(email);
			$(".txtEmailCS").val(email);             //Update email in CivilStatus page
			$(".txtEmailConfirmationCS").val(email); //Update email in CivilStatus page			
			RegistrationDefinePassword.showModifyEmail(false);
		}
		return false;
	},
	
	onClickCancelModifyEmail: function(e) {
		RegistrationDefinePassword.showModifyEmail(false);
		return false;
	},
 
	onClickPrevious: function(e) {
		Registration.showPanel(TFI.Const.EnumRegistrationViewPanels.TargetJob); 
		RegistrationTargetJob.hideWaitingImage();
		return false;
	},

	onClickSubmit: function(e) {
		if(RegistrationDefinePassword.validate()) {
			var msg = TFI.Labels.getLabel("msgSavingData");
			$("#divPanels").block({ 
				message: '<h2><img src="/TFI/images/ajax-loader.gif" alt="' + msg + '"> ' + msg + '</h2>',
				css: {  
					textAlign: 'center',
					width: '99%'
				},
				centerX: true,
				centerY: true 
			});
			RegistrationDefinePassword.saveCandidate();
		}
		return false;
	},
	
	saveCandidate: function() {
 		var result = TFI.Candidate.createCandidate();
		if(result > 0) {
        $(".commands input").attr("disabled", "disabled");
		    Registration.showPanel(TFI.Const.EnumRegistrationViewPanels.Confirmation);
		    $("#divPanels").unblock();
		    var querystring = location.search;
		    window.location = TFI.ClientServices.Candidate.GetConfirmationPage().value + querystring;
		    
		} else {					
			alert(TFI.Labels.getLabel("msgErrorCreatingCandidate") + "(" + result + ")");
		}
		$("#divPanels").unblock();
	},
 
	onClickCancel: function(e) {
		// Reload Registration
		window.location = window.location;
		return false;
	},
	
	getWorkVolumes: function() {
	    var workvolumes = [];
	    
	    workvolumes.push({
	    	WorkVolumeId: 5,
		    WorkVolumeName: "Temps plein"
	    });
        return workvolumes;	
	}
};
