YackTrack.Login = new YAHOO.widget.Dialog("ytLogin", { 
		effect: {effect: YAHOO.widget.ContainerEffect.FADE, duration: 0.25},
		postmethod: "async",
		hideaftersubmit: false, 
		fixedcenter: true,
		modal: true,
		close: false,
		visible: false,
		draggable: false }
	);
YackTrack.Login.setHeader("Login");
YackTrack.Login.formId = 'ytLoginForm';
YackTrack.Login.handleSubmit = function() {
	YackTrack.Util.removeAllErrors(['user_email', 'user_password']);
	YackTrack.Util.removeFormError(YackTrack.Login.formId);
	this.submit();
};
YackTrack.Login.handleCancel = function() {
	this.cancel();
};
YackTrack.Login.validate = function() {
	var valid = true;
	var data = this.getData();
	if (!validations["required"](data.user_email)) {
		YackTrack.Util.addError('user_email', 'You must enter a valid email address.');
		valid = false;
	}
	if (!validations["email"](data.user_email)) {
		YackTrack.Util.addError('user_email', 'You must enter a valid email address.');
		valid = false;
	}
	if (!validations["required"](data.user_password)) {
		YackTrack.Util.addError('user_password', 'You must enter a password.');
		valid = false;
	}
	return valid;
};
YackTrack.Login.callback.success = function(o) {
	var ok = false;
	var msg = "";
	try {
		var resp = YAHOO.lang.JSON.parse(o.responseText);
		ok = resp.success;
		msg = resp.message;
	} catch (e) { 
		YackTrack.Util.addFormError(YackTrack.Login.formId, e);
	}
	if (ok) {
		YackTrack.Login.destroy();
		window.location.reload();
	} else {
		YackTrack.Util.addFormError(YackTrack.Login.formId, msg);
	}
};
YackTrack.Login.callback.failure = function(o) {
	YackTrack.Util.addFormError(YackTrack.Login.formId, o.responseText);
};
YackTrack.Login.cfg.queueProperty("buttons", [ 
			{ text: "Login", handler: YackTrack.Login.handleSubmit, isDefault: true },
			{ text: "Cancel", handler: YackTrack.Login.handleCancel } 
		]);
YackTrack.Login.cfg.queueProperty("keylisteners", [
		new YAHOO.util.KeyListener(document, { keys:27 }, 
			{ fn: YackTrack.Login.handleCancel,
			scope: YackTrack.Login,
			correctScope: true } ),
		new YAHOO.util.KeyListener(document, { keys:13 }, 
			{ fn: YackTrack.Login.handleSubmit,
			scope: YackTrack.Login,
			correctScope: true } )
	]);
YackTrack.Login.getDialogData = function() {
	YackTrack.dataReady.fire();
	YackTrack.dataReady.unsubscribeAll();
};
YackTrack.Login.getForm = function() {
	return "<form method='POST' name='" + YackTrack.Login.formId + "' id='" + YackTrack.Login.formId+ "' action='ajaxPanel'>" +
		"<label for='user_email' class='ytLabel'>Email*</label>\n" +
		"<br />\n" +
		"<input id='user_email' name='user_email' class='txt required email' type='text' size='20' />\n" +
		"<br /><br />\n" +
		"<label for='user_password' class='ytLabel'>Password*</label>\n" +
		"<br />\n" +
		"<input id='user_password' name='user_password' class='txt' type='password' size='20' />\n" +
		"<input id='mode' name='mode' value='exec' type='hidden' />\n" +
		"<input id='fromUrl' name='fromUrl' value='home' type='hidden' />\n" +
		"<input id='panel' name='panel' value='login' type='hidden' />\n" +
		"<br /><br />\n" +
		"</form>\n";
};
