var dialogFormData = {};
var loadedEventFormDialog = {"regform":false, "loginform":false};
var openedEventFormDialog = 1;
var cancelButton = 0;
var reloadEventLink = false;
var showCodeOpen = 0;

function showLoginRegisterForm(){
	if (openedEventFormDialog!=1) showRegForm(); else showLoginForm();
}

function validateAjaxLoginForm(){
	var emptyEmail = 0;
	var emptyPassword = 0;
	if  (!$("form[name=login-form] input[name=email]").val()) {
		emptyEmail=1;
		$("form[name=login-form] input[name=email]").parent().parent().attr("class", "highlight");
	} else $("form[name=login-form] input[name=email]").parent().parent().removeAttr("class"); 
	
	if  (!$("form[name=login-form] input[name=password]").val()) {
		emptyPassword=1;
		$("form[name=login-form] input[name=password]").parent().parent().attr("class", "highlight");
	} else $("form[name=login-form] input[name=password]").parent().parent().removeAttr("class");	
	
	if ((emptyEmail==0) && (emptyPassword==0)){
		dialogFormData = {act:"ajax.login", email:$("form[name=login-form] input[name=email]").val(), password:$("form[name=login-form] input[name=password]").val(), remember:$("form[name=login-form] input[name=remember]").attr("checked")};	
		$.post("/index.php?"+Math.random(), dialogFormData, function(data){		
			var res = JSONToArray(data);
			if (typeof res != "undefined"){
				if (res.isSuccesful == 1){
					if (reloadEventLink)
					window.location = reloadEventLink;else window.location.reload(true); 
				} else {
					$("#login-error-box").html("<font color='red'>Вы ввели неправильный логин или пароль</font>");
					UIDialog.updatePosition();	
				}
			} else {
					$("#login-error-box").html("<font color='red'>Вы ввели неправильный логин или пароль</font>");
					UIDialog.updatePosition();	
			}
		});
	} else $("#login-error-box").html("<font color='red'>Вы не ввели "+(emptyEmail?"логин":"")+(emptyPassword&&emptyEmail?" и ":"") +(emptyPassword?"пароль":"")+ "</font>");
	return false;
}

function initLoginFormView(){
	$("#showEventFormDialogBodyLogin").show();
	$("#showEventFormDialogBodyRegister").hide()
	$("#showEventFormDialogBodyLogin div table tr td.control input[name=email]").css("width","200px");
	$("#showEventFormDialogBodyLogin div table tr td.control input[name=password]").css("width","200px");			
	
	$("#showEventFormDialogBodyLogin div table tr td.control input[name=password]").css("position","relative");
	$("#showEventFormDialogBodyLogin div table tr td.control input[name=password]").css("left","7px");
	
	$("#showEventFormDialogBodyLogin div table tr td.control input[name=email]").parent().attr("align","right");
	$("#showEventFormDialogBodyLogin div table tr td.control input[name=email]").css("position","relative");
	$("#showEventFormDialogBodyLogin div table tr td.control input[name=email]").css("left","7px");

	$("#showEventFormDialogBodyLogin div table tr td.control input[name=password]").parent().attr("align","right");			
	//$("#showEventFormDialogBodyLogin div table tr td.control input[name=remember]").css("margin-left","40px");
	//$("#showEventFormDialogBodyLogin div table tr td.control input[name=remember]").css("margin-left","40px");
	$("#showEventFormDialogBodyLogin div table tr td.control input[name=remember]").parent().css("width","52px");
	$("#showEventFormDialogBodyLogin div table tr td.control input[name=remember]").parent().css("align","right");
	$("#showEventFormDialogBodyLogin div table tr td.control input[name=remember]").parent().css("text-align","right");
	
	$(".default-form-submits").css("position","relative");
	$(".default-form-submits").css("top","15px");
	$(".default-form-submits").css("left","160px");
	$(".default-form-submits").css("margin-top","-1px");
	$("div.default-form-panel").attr("style","border:none");
	$("table.default-form-submits").attr("width", "240");
	$("table.default-form-submits").css("text-align", "left");

	$(".no-escaping").remove();
	
	$('div.formSeparator').remove();
	
	if ($.browser.msie == true){
		if ($.browser.version <=6){
			$("#UIDialogWindowYes").parent().parent().css('height','265px');			
		} else	if (($.browser.version <8) && ($.browser.version >= 7)){
			$("#UIDialogWindowYes").parent().parent().css('height','280px');
		} else	if ($.browser.version >=8){
			$("#UIDialogWindowYes").parent().parent().css('height','275px');
			$(".default-form-submits").css("left","125px");
			//$("input[name=remember]").css("margin-left","28px");
		} 
	} else if ($.browser.opera == true){
			$("#UIDialogWindowYes").parent().parent().css('height','270px');
			$("#showEventFormDialogBodyLogin div table tr td.control input[name=remember]").parent().css("width","56px");
	}else {
		$("#UIDialogWindowYes").parent().parent().css('height','270px');
	}
	$("#UIDialogWindowYes").parent().css('margin-top','-33px');
	document.forms["login-form"].onsubmit = validateAjaxLoginForm;
	document.forms["login-form"].setAttribute("id", "form.login");	
	
	$(".no-escaping").remove();
	UIDialog.updatePosition();
}

function showLoginForm(){
	$("#dialog-form-header").text('Авторизация:');
	$("#dialog-form-link").text('Зарегистрироваться');

	UIDialog.setTitle('Авторизация');
	if (!loadedEventFormDialog.loginform) {
		$.post("/ajax.wf.login.form/",{},function(data){
			$("#showEventFormDialogBodyLogin").html("<div id='login-error-box'/>"+data);
			loadedEventFormDialog.loginform = 1;
			initLoginFormView();
		});
	} 
	else {
		initLoginFormView();
		$(".default-form-submits").css("position","relative");
		$(".default-form-submits").css("top","25px");
		$(".default-form-submits").css("left","154px");
	}
	openedEventFormDialog = 2;
}

function showajaxcodeDialog(sender, response)
{
	showcode(sender, response, function(sender, response){		
		dialogFormData.kaptcha = $("#input_captcha").val();
		var path = "/index.php?rnd="+Math.random()*10000000000;
		$.post(path, dialogFormData, function(data){
			var res = JSONToArray(data);
			if (typeof res!="undefined"){
				if (res.isSuccessful == 1){
					if (reloadEventLink){
						setTimeout("window.location = reloadEventLink;", 800);
					}
					else 
					setTimeout("window.location.reload(true);", 800);
				} else {
					$("#UIDialogWindowYes").parent().parent().css('height','65px');
					UIDialog.setTitle('Внимание!');
					UIDialog.setBody('Код введен неверно');
					UIDialog.yes(false,  function(){UIDialog.hide();});
					UIDialog.ok(true,  function(){UIDialog.hide(); showajaxcodeDialog(sender, response);newCaptcha();$("#UIDialogWindowYes").parent().parent().css('height','170px');UIDialog.updatePosition();});
					UIDialog.no(false,  UIDialog.hide);
					UIDialog.cancel(false,  UIDialog.hide);
					UIDialog.show();
					UIDialog.updatePosition();
					return false;
				}
			}	else {
				UIDialog.show();
				newCaptcha();
			}
		});
		return false;
	});
}
function showajaxcode(sender, response)
{
	if (dialogFormData.kaptcha){
		$.post("/index.php?"+Math.random(), dialogFormData, function(data){
			if (reloadEventLink){
				window.location = reloadEventLink;
			}
			else 
				setTimeout("window.location.reload(true);", 800);			
		});
		return false;
	}
	
	loadedEventFormDialog = {"regform":false, "loginform":false};
	showajaxcodeDialog(sender, response);
	$("#UIDialogWindowYes").parent().parent().css('height','170px');					
	UIDialog.updatePosition();	
	return false;
}

function validateAjaxRegForm()
{
	ajaxValidationAct = "ajax.validate.registration";
	dialogFormData = {act:"ajax.newuser",kaptcha:$("input[name=kaptcha]").val(), name_first:$("input[name=name_first]").val(), name_last:$("input[name=name_last]").val(), email:$("input[name=email]").val(), password:$("input[name=password]").val(), day:$("select[name=day] option:selected").val(), month:$("select[name=month] option:selected").val(), year:$("select[name=year] option:selected").val(), invitation:$("input[name=invitation]").val()};
	return prePostForm(document.forms["registration-form"], 'form.register',showajaxcode,function(sender, responseText){			
		$(".formDescriptionNotice").html("<font color='red'>"+responseText.message+"</font><br/><br/>");
		UIDialog.updatePosition();	
	});
}

function initRegFormView(){
	$("#showEventFormDialogBodyRegister").show();
	$("table.default-form-submits").attr("cellspacing","0");
	$(".formDescriptionNotice").css("margin-right","16px");
	$(".default-form-submits").css("position","relative");
	$(".default-form-submits").css("top","12px");
	$(".default-form-submits").css("margin-top","15px");
	$(".default-form-submits").css("margin-bottom","15px");
	
	
	if ($.browser.opera == true){
		$("#showEventFormDialogBodyRegister div table tr td.control input").css("width", "187px");
		$("#showEventFormDialogBodyRegister div table tr td.control input").parent().css("width", "187px");
		$("#showEventFormDialogBodyRegister div table tr td.control input").parent().css("align", "right");
		$(".default-form-submits").css("left","-8px");
		$("#UIDialogWindowYes").parent().parent().css('height','350px');
	} else {
		if ($.browser.msie == true){
			$("tr.dialog td.control input").css("width", "194px");
			$(".default-form-submits").css("left","-9px");
			$("#UIDialogWindowYes").parent().parent().css('height','355px');
		}else{
			$("tr.dialog td.control input").css("width", "200px");
			$(".default-form-submits").css("left","-9px");
			$("#UIDialogWindowYes").parent().parent().css('height','355px');
		}
	}
	$("input[name=invitation]").css("width", "103px");
	$("td.label").css("width", "250px");
	$("#showEventFormDialogBodyRegister div table tr td.control input[name=email]").parent().attr("align","left");
	$("#showEventFormDialogBodyRegister div table tr td.control input[name=password]").parent().attr("align","left");
	$("table.default-form-submits").css("text-align", "right");
	$("table.default-form-submits").attr("width", "241");
	$("#invitation").hide();		
	
	document.forms["registration-form"].onsubmit = validateAjaxRegForm;
	document.forms["registration-form"].setAttribute("id", "form.register");
	$("#UIDialogWindowYes").parent().css('margin-top','10px');
	$("#showEventFormDialogBodyLogin").hide();		
	UIDialog.updatePosition();	
}

function showRegForm(){		
	$("#dialog-form-header").text('Регистрация:');
	$("#dialog-form-link").text('Авторизоваться');
	UIDialog.setTitle('Регистрация');
	if (!loadedEventFormDialog.regform){
		$.post("/ajax.wf.register.form/",{loadInvData:"yes"},function(data){
			$("#showEventFormDialogBodyRegister").html(data);
			initRegFormView();
			loadedEventFormDialog.regform = 1;
		});
	} else {
		initRegFormView();
	}
	openedEventFormDialog = 1;
}

function showEventFormDialog(sender, showForm){
	if (typeof sender != "undefined")
		reloadEventLink = sender.getAttribute("href");	
	else reloadEventLink = false;	
	UIDialog.width = '400px';	
	UIDialog.updatePosition();	
	UIDialog.yes(false, function() {});
	UIDialog.no(false, function() {});	
	UIDialog.ok(false, function() {});
	UIDialog.cancel(false, function(){});
	$("#UIDialogWindowYes").parent().css('padding-bottom','20px');
	$("#UIDialogWindowYes").parent().css('margin-top','10px');
	UIDialog.setBody(
		'<div style="padding:5px; ">Пожалуйста, авторизуйтесь, чтобы оповестить создателя мероприятия о своем решении. Если Вы еще не зарегистрированы на сайте, можно сделать это прямо сейчас.</div>'+
		'<table cellpadding="4" cellspacing="0" width="100%"><tr><td><h1 id="dialog-form-header">Регистрация</h1></td><td align="right"><a href="javascript:void(0)" onclick="return showLoginRegisterForm()" id="dialog-form-link">Авторизоваться</a></td> </tr></table><div id="showEventFormDialogBodyRegister"></div><div id="showEventFormDialogBodyLogin"></div>'
	);
	UIDialog.show();	
	if (showForm=='login')
		showLoginForm();
	else
		showRegForm();
	return false;
}

function showEventDeclineDialog(sender, showForm){
//	UIDialog.width = '400px';	
	$("#UIDialogWindowBody").parent().css('height','100px');
	UIDialog.updatePosition();	
	UIDialog.yes(false, function() {});
	UIDialog.no(false, function() {});	
	UIDialog.ok(true, function() {showEventFormDialog(sender, showForm)});
	UIDialog.cancel(true, function() {UIDialog.hide()});
	UIDialog.show();	
	return false;
}

function closeEventFormDialog(){
	UIDialog.hide();
	$("#UIDialogWindowYes").parent().css("padding-bottom","0px");
	$("#UIDialogWindowYes").parent().css("margin-top","20px");

	loadedEventFormDialog = {"regform":false, "loginform":false};
	return false
}