var idToSelect = -2;
var selectedSchoolOrVuz = -1;
var selectedSchoolOrVuzType = -1;

$(document).ready(function(){	 	
	function showRequest(formData, jqForm, options) {
 		$("input#regButton").attr("disabled", true);
		$("input#regButton").val("  Загрузка...  ");	
 	}
 	
 	function showResponse(response, statusText) {
		if (response != "-1") {
			$("input#regButton").val("  Готово  ");	
			$("input#regButton").removeAttr("disabled");
			if (response.indexOf("e-mail") > -1)
			{
				$("#registerEMail").addClass("inputError");
			}
			else
			{
				$("#registerEMail").removeClass("inputError");
			}
			alert(response);
		} else {
			document.location.href = '/about/regdone';
		}	
 	}

	var options = { 
        beforeSubmit:	showRequest, 
        success:		showResponse,
        url:			'/code/ajax/addUser.php',
        type:			'post'
	};
	$('#registerForm').ajaxForm(options); 	
	
	var reg2 = false;
	if(getCookie('reg2') != null){
		reg2 = true;
	}
 
	function formatItem(row) {
		return row[0];
	}
	function formatResult(row) {
		return row[0].replace(/(<.+?>)/gi, '');
	}

	$("input#vuzFacult").autocomplete("/code/ajax/getFacult.php?rnd=" + Math.random(), {
		width: 320,
		scroll: true,
		scrollHeight: 600
	});
	
	$("input#registerGorodMy").val("");
	
	//$("select#registerCountry").val("-1");
	
	$("tr#registerOblastTR").hide();
	$("tr#registerGorodTR").hide();
	$("tr#registerGorodMyTR").hide();
	$("tr#schoolSelectedTR").hide();
	
	$("tr.schoolSelectedSchoolTR").hide();
	$("tr.schoolSelectedSchoolVuzTR").hide();
	$("tr.schoolSelectedVuzTR").hide();
	
	$("select#registerCountry").change(function(){
		$("tr#registerGorodTR").hide();
		$("select#registerGorod").html("");
		if ( $("select#registerCountry").val() != "-1" ) {
			$("select#registerCountry").attr("disabled", true);
			$("select#registerOblast").load('code/ajax/getOblast.php?pid=' + $(this).val(), function(){
				$("select#registerCountry").removeAttr("disabled");
				if ($("select#registerOblast").html() == "-1") {
					$("select#registerOblast").empty();
					$("select#registerCountry option:selected").clone().appendTo("select#registerOblast");
					$("tr#registerGorodMyTR").hide();
					$("tr#registerOblastTR").hide();
				} else {
					$("tr#registerOblastTR").show();
					$("select#registerOblast[@value='-1']").attr("selected", "selected");
				}
			});
		} else {
			$("select#registerOblast").empty();
			$("tr#registerOblastTR").hide();
		}
	});

	$("select#registerOblast").change(function(){
		if ( $("select#registerOblast").val() != "-1" ) {
			$("select#registerOblast").attr("disabled", true);
			$("select#registerGorod").load("code/ajax/getGorod.php?pid=" + $(this).val(), function(){
				$("select#registerOblast").removeAttr("disabled");
				if ($("select#registerGorod").html() == "-1") {
					$("select#registerGorod").empty();
					$("select#registerOblast option:selected").clone().appendTo("select#registerGorod");
					$("tr#registerGorodTR").hide();
				} else {
					$("tr#registerGorodTR").show();
					$("select#registerGorod[@value='-2']").attr("selected", "selected");
				}
			});
		} else {
			$("select#registerGorod").empty();
			$("tr#registerGorodTR").hide();
		}
	});

	$("select#registerGorod").change(function(){
		if ($(this).val() == -1) {
			$("tr#registerGorodMyTR").show();
		} else {
			$("tr#registerGorodMyTR").hide();
			$("input#registerGorodMy").val("");
		}
	});
	
	// --------------------------------------------------------------------------------------
	
	$("tr.addSchool").hide();
	$("tr.addVuz").hide();
	$("tr#schoolOblastTR").hide();
	$("tr#schoolGorodTR").hide();
	$("tr.schoolSchoolTR").hide();
	$("tr.schoolDataTR").hide();

	$("select#schoolCountry").change(function(){
		hideSelectedSchoolOrVuz();
		closeAddSchoolForm();
		closeAddVuzForm();
		$("tr#schoolGorodTR").hide();
		$("tr.schoolSchoolTR").hide();
		$("tr.schoolDataTR").hide();
		$("tr.addSchool").hide();

		if ( $("select#schoolCountry").val() != "-1" ) {
			$("select#schoolCountry").attr("disabled", true);
			$.get("code/ajax/getOblast.php?pid=" + $(this).val(), function(answer){
				$("select#schoolCountry").removeAttr("disabled");
				if (answer == "-1") {
					if ( $("select#schoolOblast option[@selected]").length > 0 ) {
						$("select#schoolOblast option[@selected]").html($("select#schoolCountry option:selected").html()).attr("value",$("select#schoolCountry option:selected").attr("value"));
					} else {
						$("select#schoolCountry option:selected").clone().appendTo("select#schoolOblast");
						$("select#schoolOblast[@value='"+$("select#schoolCountry option:selected").attr("value")+"']").attr("selected", "selected");
					}
					$("select#schoolOblast").hide();
					$("tr#schoolOblastTR").hide();
					$("select#schoolOblast").change();
					
					$("#schoolSelected").html($("select#schoolCountry option:selected").html());
					$("tr#schoolSelectedTR").show();
				} else {
					$("select#schoolOblast").html(answer);
					$("select#schoolOblast").show();
					$("tr#schoolOblastTR").show();
					$("select#schoolOblast[@value='-1']").attr("selected", "selected");

					$("tr#schoolSelectedTR").hide();
				}
			});
		} else {
			$("select#schoolOblast").html("");
			$("select#schoolOblast").hide();
			$("tr#schoolOblastTR").hide();

			$("tr#schoolSelectedTR").hide();
		}
	});
	if(!reg2){
		$("select#schoolCountry").trigger('change');
	}

	$("select#schoolOblast").change(function(){
		hideSelectedSchoolOrVuz();
		closeAddSchoolForm();
		closeAddVuzForm();
		$("tr.schoolSchoolTR").hide();
		$("tr.schoolDataTR").hide();
		$("tr.addSchool").hide();

		if ( $("select#schoolOblast").val() != "-1" ) {
			$("select#schoolOblast").attr("disabled", true);
			$.get("code/ajax/getGorod.php?school=1&pid=" + $(this).val(), function(answer){
				$("select#schoolOblast").removeAttr("disabled");
				if (answer == "-1") {
					if ( $("select#schoolGorod option[@selected]").length > 0 ) {
						$("select#schoolGorod option[@selected]").html($("select#schoolOblast option:selected").html()).attr("value",$("select#schoolOblast option:selected").attr("value"));
					} else {
						$("select#schoolOblast option:selected").clone().appendTo("select#schoolGorod");
						$("select#schoolOblast[@value='"+$("select#schoolOblast option:selected").attr("value")+"']").attr("selected", "selected");
					}
					$("select#schoolGorodTR").hide();
					$("tr#schoolGorodTR").hide();
					$("select#schoolGorod").change();

					$("#schoolSelected").html($("select#schoolOblast option:selected").html());
					$("tr#schoolSelectedTR").show();
				} else {
					$("select#schoolGorod").html(answer);
					$("select#schoolGorod").show();
					$("tr#schoolGorodTR").show();
					$("select#schoolGorod[@value='-2']").attr("selected", "selected");

					$("tr#schoolSelectedTR").hide();
				}
			});
		} else {
			$("select#schoolGorod").html("");
			$("select#schoolGorod").hide();
			$("tr#schoolGorodTR").hide();
		}
	});

	$("select#schoolGorod").change(function(){
		hideSelectedSchoolOrVuz();
		closeAddSchoolForm();
		closeAddVuzForm();
		$("tr.schoolDataTR").hide();		
		$("tr.addSchool").hide();
		
		if ( $("select#schoolGorod").val() != "-2" && $("select#schoolGorod").val() != "-1" ) {
			$("tr.schoolSchoolLoading").show();
			$("select#schoolGorod").attr("disabled", true);
			var pid = $(this).val();
			$("td#schoolSchool").load("code/ajax/getSchool.php?pid=" + pid, function(){
				$("td#vuzVuz").load("code/ajax/getVuz.php?pid=" + pid, function(){
					$("select#schoolGorod").removeAttr("disabled");
					$("tr.schoolSchoolLoading").hide();
					$("tr.schoolSchoolTR").show();

					$("#schoolSelected").html($("select#schoolGorod option:selected").html());
					$("tr#schoolSelectedTR").show();
				});
			});
		} else {
			$("tr.schoolSchoolTR").hide();

			$("tr#schoolSelectedTR").hide();
		}
	});
	
	$("select#schoolSchool").change(function(){
		$("tr.schoolDataTR").hide();
		if ($("select#schoolSchool").val() == -1) {
			$("tr.addSchool").show();
		} else {
			$("tr.addSchool").hide();		
			if ($("select#schoolSchool").val() != -2) {
				$("tr.schoolDataTR").show();
			}
		}
	});	
	
	$("input#schoolTeacher").click(function(){
		if ( $(this).attr("checked") == true ) {
			disabled = false;
			color = "white";
		} else {
			disabled = true;
			color = "silver";
		}
		$("input#schoolTeacherSubj").attr("disabled",disabled).css("background-color",color);
	});	

});

function addUserCaptchaRefresh() {
	var path = 'captcha.php?rand='+Math.random();
	$("div#addUserCaptchaDiv").css('background-image', '');
	$("div#addUserCaptchaDiv").html("загрузка...");
	$.post(path, function(answer){
		$("div#addUserCaptchaDiv").html("");
		$("div#addUserCaptchaDiv").css('background-image', 'url('+path+')');
	});
}

function clearFieldsAddSchool() {
	$("#addSchoolNumber").val("");
	$("#addSchoolType").val("");
	$("#addSchoolName").val("");
	$("#addSchoolCaptcha").val("");
}

function clearFieldsAddVuz() {
	$("#addVuzAbbr").val("");
	$("#addVuzName").val("");
}

function addSchoolForm() {
	closeAddVuzForm();
	scroll(0, 375);
	var path = 'captcha.php?rand='+Math.random();
	$("div#addSchoolCaptchaDiv").css('background-image', '');
	$("div#addSchoolCaptchaDiv").html("загрузка...");
	$.post(path, function(answer){
		$("div#addSchoolCaptchaDiv").html("");
		$("div#addSchoolCaptchaDiv").css('background-image', 'url('+path+')');
	});
	$("tr.addSchool").show();
}

function addVuzForm() {
	closeAddSchoolForm();
	scroll(0, 375);
	var path = 'captcha.php?rand='+Math.random();
	$("div#addVuzCaptchaDiv").css('background-image', '');
	$("div#addVuzCaptchaDiv").html("загрузка...");
	$.post(path, function(answer){
		$("div#addVuzCaptchaDiv").html("");
		$("div#addVuzCaptchaDiv").css('background-image', 'url('+path+')');
	});
	$("tr.addVuz").show();
}

function closeAddSchoolForm() {
	$("tr.addSchool").hide();
	clearFieldsAddSchool();
}

function closeAddVuzForm() {
	$("tr.addVuz").hide();
	clearFieldsAddVuz();
}

function hideSelectedSchoolOrVuz() {
	$("tr.schoolSelectedSchoolTR").hide();
	$("tr.schoolSelectedVuzTR").hide();
	$("tr.schoolSelectedSchoolVuzTR").hide();
}

function selectSpecialTown( id, name ) {	
	hideSelectedSchoolOrVuz();
	$("select#schoolCountry").removeAttr("selected");
	if ( $("select#schoolGorod option[@selected]").length > 0 ) {
		$("select#schoolGorod option[@selected]").html(name).attr("value",id);
	} else {
		$("select#schoolGorod").html("<option value='"+id+"'>"+name+"</option>");
		$("select#schoolGorod[@value='"+id+"']").attr("selected", "selected");
	}
	$("select#schoolGorod").hide()
	$("select#schoolGorod").change();
	$("tr#schoolGorodTR").hide();
	
	$("#schoolSelected").html(name);
	$("tr#schoolSelectedTR").show();
}

function selectSchoolOrVuz( id, name, type ) { // type: 0 - школа, 1 - ВУЗ
	$("input#schoolTeacher").removeAttr("checked");
	$("input#schoolTeacherSubj").val("").attr("disabled",true).css("background-color","silver");
	$("input#schoolClass").val("");
	$("select#schoolYearStart").val("2008");
	$("select#schoolYearEnd").val("-1");
	$("input#vuzFacult").val("");
	$("select#vuzYearStart").val("2008");
	$("select#vuzYearEnd").val("-1");	
	if ( type == 0 ) {
		$("tr.schoolSelectedSchoolTR").show();
		$("tr.schoolSelectedVuzTR").hide();
		$("td#schoolSelectedSchoolTD").html("Выбранная школа:");
	} else {
		$("tr.schoolSelectedSchoolTR").hide();
		$("tr.schoolSelectedVuzTR").show();
		$("td#schoolSelectedSchoolTD").html("Выбранный ВУЗ:");
	}
	$("span#schoolSelectedSchool").html("<b>"+name+"</b> "+$("#schoolSelected").html()+"");
	selectedSchoolOrVuz = id;
	selectedSchoolOrVuzType = type;
	setCookie("vuz_id", id);
	$("#selectedSchoolOrVuzID").html(id);
	$("tr.schoolSelectedSchoolVuzTR").show();
	goToStep2();
}

function addSchool( reg2 ) {
	$("a#addSchoolLink").html("загрузка...");
	if(reg2 == null)
	{
		gorodID = $("#schoolGorod").val();
	} 
	else 
	{
		gorodID = $("#addGorod").html();
	}
	$.post("code/ajax/addSchool.php", 
	{
		addSchoolGorod: gorodID,
		addSchoolNumber: $("#addSchoolNumber").val(),
		addSchoolType: $("#addSchoolType").val(),
		addSchoolName: $("#addSchoolName").val(),
		addSchoolCaptcha: $("#addSchoolCaptcha").val()
	}
	, function(answer)
	{
		$("a#addSchoolLink").html("Добавить школу");
		idToSelect = answer;
		if (answer != '-1' && answer != '-2') {
			if(reg2 != null)
			{				
				document.location.href = '/?altReg=1&mestoID=' + answer + '&mestoType=0';
			} 
			else 
			{
				$("tr.addSchool").hide();
				addSchoolName = $("#addSchoolName").val();
				if(addSchoolName==undefined)
				{
					addSchoolName='';
				}
			}
			selectSchoolOrVuz(answer, $("#addSchoolNumber").val() + ' ' + addSchoolName, 0);
			clearFieldsAddSchool();
		} 
		else if (answer == '-1') 
		{
			alert('Школа не может быть добавлена, так как не заполнены обязательные поля.\nПроверьте и повторите попытку.');
		} 
		else if (answer == '-2') 
		{
			alert('Школа не может быть добавлена, так как введенное число не совпадает с числом на картинке.\nПроверьте и повторите попытку.');
			addSchoolForm();
		}
	});
}

function addVuz( reg2 ) {
	$("a#addVuzLink").html("загрузка...");
	if(reg2 == null){
		gorodID = $("#schoolGorod").val();
	} else {
		gorodID = $("#addGorod").html();
	}
	$.post("code/ajax/addVuz.php", {
		addVuzGorod: gorodID,
		addVuzAbbr: $("#addVuzAbbr").val(),
		addVuzName: $("#addVuzName").val(),
		addVuzCaptcha: $("#addVuzCaptcha").val()
	}, function(answer){
		$("a#addVuzLink").html("Добавить ВУЗ");
		idToSelect = answer;
		if (answer != '-1' && answer != '-2') {
			if(reg2 != null){				
				document.location.href = '/?altReg=1&mestoID=' + answer + '&mestoType=1';
			} else {
				$("tr.addVuz").hide();
				selectSchoolOrVuz(answer, $("#addVuzAbbr").val() + ' &mdash; ' + $("#addVuzName").val(), 1);
				clearFieldsAddVuz();
			}
		} else if (answer == '-1') {
			alert('ВУЗ не может быть добавлен, так как не заполнены обязательные поля.\nПроверьте и повторите попытку.');
		} else if (answer == '-2') {
			alert('ВУЗ не может быть добавлен, так как введенное число не совпадает с числом на картинке.\nПроверьте и повторите попытку.');
			addVuzForm();
		}
	});
}

function goToStep1() {
	$("tr.step1").show();
	$("tr#schoolOblastTR").show();
	$("tr#schoolGorodTR").show();
	$("tr#schoolSelectedTR").show();
	$("tr.schoolSchoolTR").show();
	$("tr.schoolSelectedSchoolVuzTR").show();
	$("tr.schoolSelectedSchoolTR").show();
	$("tr.schoolSelectedVuzTR").show();
	
	$("tr.step2").hide();
}

function validateAddCabinet() {
	if ( ( selectedSchoolOrVuz == -1 ) || ( selectedSchoolOrVuzType == 1 && ( TrimString($("input#vuzFacult").val()) == "" ) ) ) {
		alert("Перед тем как перейти к финальному шагу необходимо заполнить все обязательные поля (они помечены звездочкой).");
		return false;
	} else {
		return true;
	}
}

function goToStep2() {
	$("tr.step1").hide();
	$("tr#schoolOblastTR").hide();
	$("tr#schoolGorodTR").hide();
	$("tr#schoolSelectedTR").hide();
	$("tr.addSchool").hide();
	$("tr.addVuz").hide();
	$("tr.schoolSchoolLoading").hide();
	$("tr.schoolSchoolTR").hide();

	addUserCaptchaRefresh();
	$("select#registerCountry").trigger('change');
	$("tr.step2").show();

	$("tr#registerOblastTR").hide();	
	$("tr#registerGorodTR").hide();	
	$("tr#registerGorodMyTR").hide();
	scroll(0, 0);	
}

function finish() {
	if ( !validateAddCabinet() ) return false;
	$("input#selectedSchoolOrVuz").val(selectedSchoolOrVuz);
	$("input#selectedSchoolOrVuzType").val(selectedSchoolOrVuzType);
	$("form#registerForm").submit();
}

function addCabinet() {
	if ( !validateAddCabinet() ) {
		return false;
	}
	
	$("input#step1Button").attr("disabled",true);
	if ( $("input#schoolTeacher").attr("checked") > 0 ) {
		schoolTeacher = 1;
	} else {
		schoolTeacher = 0;
	}
	$.getJSON("/code/ajax/addCabinet.php", {
		selectedSchoolOrVuz: selectedSchoolOrVuz,
		selectedSchoolOrVuzType: selectedSchoolOrVuzType,
		vuzFacult: $("input#vuzFacult").val(),
		vuzYearStart: $("select#vuzYearStart").val(),
		vuzYearEnd: $("select#vuzYearEnd").val(),
		schoolTeacher: schoolTeacher,
		schoolYearStart: $("select#schoolYearStart").val(),
		schoolYearEnd: $("select#schoolYearEnd").val(),
		schoolTeacherSubj: $("input#schoolTeacherSubj").val()
	}, function(e){
		$("input#step1Button").removeAttr("disabled");
		if( e.err != '0' ) {
			alert(e.err);	
			return false;
		} else {
			document.location.href = '/';
		}
	});	
}
