/*
 * Recover Password
 */

$(document).ready(function(){
	try{
		var oRecoverEmail = null;
		var oRecoverPassword = null;
		var oTooltip = new $.Controls.BalloonMessage();
		
		oTooltip.theme("error");
		oTooltip.hideOnClick(true);
		oTooltip.opacity(0.95);
		oTooltip.arrow($.Controls.BalloonMessage.Setting.Arrow.LEFT);
		oTooltip.persistenceOpening(true);
		oTooltip.disableSelection(true);
		oTooltip.onopening = function(args){
			if (oRecoverEmail != null){
				var oPosition = oRecoverEmail.offset();
				var oElement = this.target(true);
				
				args.position.left = oPosition.left + oRecoverEmail.outerWidth(true);
				args.position.top = oPosition.top - ((oRecoverEmail.outerHeight(true) - oElement.outerHeight()) / 2);
			}
		}
		
		function _hideTooltip(fast){
			try{
				if (oTooltip != null) oTooltip.hide(null, null, null, fast);
			}catch(e){}
		}
		
		function _validateRecover(form){
			try{
				if (oRecoverEmail != null){
					oRecoverEmail.val($.Utils.trim(oRecoverEmail.val()));
					
					if ($.Utils.isemail(oRecoverEmail.val())){
						if ($.Utils.isjqueryelement(form)){
							form.prepend("<input type=\"hidden\" name=\"recover\" />");
							return true;
						}
					} else {
						oTooltip.show("* The email is invalid.");
					}
				}
			}catch(e){}
			
			return false;
		}
		
		$(window).bind("resize", function(){
			_hideTooltip(true);
		});
		
		$("body > .main-content .generic-rectangle-content .recover-form").eq(0).bind("submit", function(){
			return _validateRecover($(this));
		}).find("input").each(function(index, element){
			var oElement = $(this);
			
			switch(oElement.attr("name")){
				case "recoveremail":
					(oRecoverEmail = oElement).keypress(function(ev){
						if ((ev = $.Utils.isdefined("event") ? event : ev).keyCode != 13) _hideTooltip();
					}).removeAttr("disabled");
					break;
					
				case "recoverpassword":
					(oRecoverPassword = oElement).removeAttr("disabled").bind("mouseover", function(){
						oRecoverPassword.css("background-color", "#910c0c");
					}).bind("mouseleave", function(){
						oRecoverPassword.css("background-color", "#b80507");
					});
					
					if ((oElement.attr("error") != null) && !$.Utils.empty_string(oElement.attr("error"))){
						oTooltip.show(oElement.attr("error"));
					}
					break;
			}
		});
	}catch(e){}
});
