﻿var $PSForgotPasswordForm = {
	loginUrl : null,
	checkProfileUrl : null,
	formName : 'forgot-passwordFrom',
	form : null,
	validator : null,	
	button : null,
	buttonDisable : null,
	buttonLoader : null,
	buttonCancel : null,
	send : function(form){
		var _this=this;
		form=(form)?form:$('#'+this.formName);
		var form=this.form;
		var url=__siteroot;
		var f=form;

		if(this.validator.form())
		{
			url+="/psweb/PSMember/forgotpassword.rhtml";
			
			this.buttonElement.showLoader();
			jQuery.post(url,{Email:$("#Email").val()}, function(json){				
				if(json.success)
				{	
					alert("ระบบได้ส่งข้อมูลรหัสผ่านไปที่อีเมล์ของท่านแล้ว ขอบคุณครับ");
					_this.buttonElement.closeDialog();
				}
				else
				{
					alert("ระบบไม่พบข้อมูลอีเมล์ของท่าน กรุณาลองใหม่อีกครั้ง");
					var error=$('<label for="Email" class="error"> *</label>');
					error.insertAfter($('input[name=Email]'));
				}
				_this.buttonElement.hideLoader();
			},"json");
		}
		else{
		
			this.validator.focusInvalid();
		};
	},
	buttonElement:{
		btnSubmit:null, btnSubmitDisable:null,
		btnLoader:null, btnCancel:null,
		init:function(){
			var _this=this;
			if(!this.btnSubmit) this.btnSubmit = $(".btnSubmit");
			if(!this.btnSubmitDisable) this.btnSubmitDisable=$('.btnSubmit-Disable');
			if(!this.btnLoader) this.btnLoader=$('.button-loader');
			if(!this.btnCancel) this.btnCancel=$('.btnCancel');
			this.btnCancel.click(function(){
				_this.closeDialog();
			});
		},
		showLoader:function(){
			this.btnSubmit.attr("disabled",true).addClass("button-loading");
			this.btnSubmit.hide(); this.btnSubmitDisable.show(); this.btnLoader.show();
		},
		hideLoader:function(){
			this.btnSubmit.attr("disabled",false).removeClass("button-loading");
			this.btnSubmit.show(); this.btnSubmitDisable.hide(); this.btnLoader.hide();
		},
		closeDialog:function(){
			if(parent && parent.hs) parent.hs.close();
		}
	},
	init : function(params){
		if(params) $.extend(this, params);
		var _this=this;
		this.form=$('#'+this.formName);
		var form=this.form; var f=form;
		var requireMsg = " *";
		this.validator=f.validate({
			rules : {
				Email : {
					required: true,
					 email: true
				}		
			},
			messages : {
				Email : requireMsg
			},
			errorPlacement: function(error, element) {
				var elm;
				//alert('xxx');
				error.insertAfter(element);
			}
		});
		
		
	}	
	//end Init
};

$(function(){ 
	$PSForgotPasswordForm.buttonElement.init();

	$PSForgotPasswordForm.init();
	$(".btnSubmit").click(function(){
		$PSForgotPasswordForm.send();
		return false;
	});
	$(".btnCancel").click(function(){
		$PSForgotPasswordForm.buttonElement.closeDialog();
	});
});