﻿var ChangePassword={
	init:function () {
		
	},
	
	showForm:function (relative) {
		Mantis.EyeBlaster.Services.UserService.GetChangePasswordFormSource(function (source) {
			var el=new Element("div").adopt(Element.fromMarkup(source,true));
			ChangePassword.initForm(el);
			(function () {
				var lb=new SiteLightbox(el).show();
			}).delay(50); // delay so js/css could load
		
		});
	},
	
	mailRx:/^[\w-\.]+@([a-z0-9\-]+\.)+[a-z]{2,5}$/i,
	
	initForm:function (element) {
		var form=element.getElement("form");
		
		form.addReplacingEvent("submit",function (e) {
			//check fields
			
			var CurrentPasswordValue = form["change-pass-CurrentPassword"].value.trim();
			if(CurrentPasswordValue==''){alert("Please enter current password"); return;}

			var NewPasswordValue = form["change-pass-NewPassword"].value.trim();
			if(NewPasswordValue=='') {alert("Please enter new password"); return;}
			
			var RepeatNewPasswordValue = form["change-pass-RepeatNewPassword"].value.trim();
			if(RepeatNewPasswordValue==''){alert("Please enter new password again"); return;}

			if(RepeatNewPasswordValue!=NewPasswordValue){
				 form["change-pass-RepeatNewPassword"].value = '';
				 alert("Please enter new password again"); 
				 return;
			}
			
			Mantis.EyeBlaster.Services.UserService.ChangePassword(CurrentPasswordValue,NewPasswordValue,
				function(res){
					ChangePassword.ChangeSendPassword(NewPasswordValue,ChangePassword.FormSent.bind(null));
				},
				function(err){
					alert(err.get_message());
				}
			);
			
		});
		form.getElement(".cancel").addEvent("click",function () {
			Lightbox.hide();
		});
	},
	
	ChangeSendPassword:function (NewPassword,callback) {
		Mantis.EyeBlaster.Services.UserService.ChangeSendPassword(NewPassword,function (success) {
			if (callback) callback(success);
		});
	},
	
	FormSent:function () {
		$("change-pass-form-form").hide();
		$("change-pass-after").show();
		(function () {
			Lightbox._container.effect("opacity").start(0).chain(function () {
				Lightbox.hide();
			});
		}).delay(2000);
		
	}

};
$DL(ChangePassword.init);

