$(document).ready(function(){
	var nameOk = 0;
	var mailOk = 0;
	var passOk = 0;

	selectManReset();
	showCarRebind();

	$.extend($.blockUI.defaults.overlayCSS, { backgroundColor: '#abf' });
	$("input[@name=manSeacrh]").val('');

	$("#manFilterLoading").hide();
	$("div.ajax_register").hide();

	$("a.loginMain").show();
	$("a.logoutMain").hide();
	$("div.ajax_unloggedTop").show();
	$("div.ajax_navPlane").hide();

	$("input[@name=manSeacrh]").keyup(function(){
		tmp = $(this).val();
		tmp.replace(/^\s+|\s+$/g,"");
		if (tmp != "") {
			var re = new RegExp("^" + $(this).val(), "i");
			$("#smallSearchRes").html('');
			$("div.catCars a").each(function(i){
				if (re.test($(this).html())) {
					$("#smallSearchRes").append("<a href='javascript:void(0)' alt='" + $(this).attr('alt') + "' class='showCar'>" + $(this).html() + "</a><small>" + $(this).next('small').html() + "</small> ");
					showCarRebind();
				}
			});
		} else {
			$("#smallSearchRes").html('');
		}
	});

	// ajax.unloggedTop.php
	$("a.registerMain").click(function(){
		$("div.ajax_unloggedTop").hide();
		$("a.loginMain").hide();
		$("div.ajax_register").show();
		$("a.doRegister").hide();
	});

	$("input[@name=carPrice]").numeric(",");
	$("input[@name=carGone]").numeric(",");
	$("input[@name=carEngineV]").numeric(",");
	$("input[@name=carEngineP]").numeric(",");
	$("input[@name=carICQ]").numeric(",");
	$("input[@name=searchYear]").numeric(",");

	$("input[@name=userName]").blur(function(){
		$("a.testName").click();
	});

	$("a.testName").click(function(){
		$("span#testNameAns").html("загрузка...");
		$.getJSON("./../_auto/ajax.checkName.php", { name: $("input[@name=userName]").val(), rand: Math.random() }, onCheckName);
	});

	// проверка имени пользователя
	function onCheckName(obj)
	{
		if (obj.ok == 1) {
			nameOk = 1;
			$("input[@name=userName]").val(obj.name);
			$("input[@name=userName]").next("img").attr("src", "http://www.ganzara.ru/_auto/gfx/ans_ok.png");
			$("a.testName").hide();
			$("span#testNameAns").html('');
		} else {
			nameOk = 0;
			$("span#testNameAns").html(obj.text);
			$("input[@name=userName]").next("img").attr("src", "http://www.ganzara.ru/_auto/gfx/ans_no.png");
		}
		canRegister();
	}
	$("input[@name=userName]").keyup(function(){
		nameOk = 0;
		$("a.testName").show();
		$("span#testNameAns").html('');
		$("input[@name=userName]").next("img").attr("src", "http://www.ganzara.ru/_auto/gfx/ans_no.png");
		canRegister();
	});

	// проверка почтового имени
	function isValidEmail(str) {
		return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
	}
	$("input[@name=userEmail]").keyup(function(){
        if (isValidEmail($("input[@name=userEmail]").val())) {
			mailOk = 1;
			$("input[@name=userEmail]").next("img").attr("src", "http://www.ganzara.ru/_auto/gfx/ans_ok.png");
        } else {
			mailOk = 0;
			$("input[@name=userEmail]").next("img").attr("src", "http://www.ganzara.ru/_auto/gfx/ans_no.png");
        }
		canRegister();
	});

	// проверка совпадений паролей
	function isValidPass() {
		if (($("input[@name=userPass]").val() == $("input[@name=userPass2]").val()) && ($("input[@name=userPass]").val().replace(/^\s+|\s+$/g,"") != "") && ($("input[@name=userPass]").val().length > 5)) {
			passOk = 1;
			$("input[@name=userPass]").next("img").attr("src", "http://www.ganzara.ru/_auto/gfx/ans_ok.png");
			$("input[@name=userPass2]").next("img").attr("src", "http://www.ganzara.ru/_auto/gfx/ans_ok.png");
        } else {
			passOk = 0;
			$("input[@name=userPass]").next("img").attr("src", "http://www.ganzara.ru/_auto/gfx/ans_no.png");
			$("input[@name=userPass2]").next("img").attr("src", "http://www.ganzara.ru/_auto/gfx/ans_no.png");
        }
		canRegister();
	}
	$("input[@name=userPass]").keyup(function(){
		isValidPass()
	});
	$("input[@name=userPass2]").keyup(function(){
		isValidPass()
	});

	//кнопка регистрации
	function canRegister() {
		if ((nameOk == 1) && (mailOk == 1) && (passOk == 1)) {
			$("a.doRegister").show();
		} else {
			$("a.doRegister").hide();
		}
	}
	$("a.doRegister").click(function(){
		$("div.ajax_register").block("Загрузка...");
		$("div.registerErr").hide();
		$(this).hide();
		//$("div#registerForm").block("Загрузка...");
		$.getJSON("./../_auto/ajax.register.do.php", {
			name: $("input[@name=userName]").val(),
			mail: $("input[@name=userEmail]").val(),
			pass: $("input[@name=userPass]").val(),
			rand: Math.random(),
			captcha: $("input[@name=userCaptcha]").val()
		}, doRegisterCb);
	});
	function doRegisterCb(obj) {
		$("div.ajax_register").unblock();
		if (obj.ok == 1) {
			$("a.loginMain").hide();
			$("div#registerForm").load("./../_auto/ajax.navPlane.php", {name: obj.name}, function(){$("a.logoutMain").show();$("a.doRegister").show();});
		} else {
			$("input[@name=userCaptcha]").val('');
			$("div.registerErr").html(obj.err);
			$("div.registerErr").show();
			$("a.doRegister").show();
		}
	}
});

var addingCar = 0;
var addCarMan = 0;
var selectManLink = "<a href='#catCars'><u>нажмите сюда и выберите производителя из списка</u></a>";
var selectManLink2 = "<a href='#catCars' id='searchMan'><u>нажмите сюда и выберите производителя из списка</u></a>";

function selectManReset() {
	$("div.navPlane div.addCarForm div#manText").html(selectManLink);
	$("div#searchMan").html(selectManLink2);

	$("a#searchMan").unbind("click");
	$("a#searchMan").bind("click", function(){
		$("div.catSearchCont div#searchMan").html('щелкните по производителю');
		addingCar = 2;
	});
}

function showCarRebind() {
	$("a.showCar").unbind("click");
	$("a.showCar").bind("click", function(){
		if (addingCar == 0) {
			showMan($(this).attr("alt"), 0, 0, '');
		} else
		if (addingCar == 1) {
			$("div.navPlane div.addCarForm div#manText").html("<b>" + $(this).html() + "</b>");
			$("input[@name=manText]").val($(this).attr("alt"));
            scroll(0,0);
            addCarMan = 1;
		} else
		if (addingCar == 2) {
			$("div.catSearchCont div#searchMan").html("<b>" + $(this).html() + "</b>");
			$("div.catSearchCont input[@name=searchMan]").val($(this).html());
			$("div.catSearchCont input[@name=searchManId]").val($(this).attr("alt"));
			addingCar = 0;
		}
	});
}

function showResponse(responseText, statusText)  {
	$("div.addCarForm").unblock();
	if (responseText == "OK") {
		selectManReset();
   		$("div.lastCarsCont").block("Загрузка...");
	   	$("div.catCarsCont").block("Загрузка...");
	    $("div.lastCarsCont").load("./../_auto/block.lastCars.php", {rand: Math.random()});
    	$("div.catCarsCont").load("./../_auto/block.catCars.php", {rand: Math.random()}, function() { showCarRebind(); });
	    $("div#resp").html('');
    	$("div.addCarForm").hide();
	    addingCar = 0;
		selectManReset();
		showCarRebind();
		scroll(0,0);
	} else {
		alert(responseText);
	}	
}

function showAddCar() {
	selectManReset();
	$("div.showCarCont").hide();
	$("div.showManCont").hide();
	$("div.addCarForm").show();
	addingCar = 1;
	addCarMan = 0;
}

function cancelAddingCar() {
	addingCar = 0;
	addCarMan = 1;
	showCarRebind();
	$("div.addCarForm").hide();
}

function reloadLast() {
	$("div.lastCarsCont").block('Загрузка...');
	$("div.lastCarsCont").load("./../_auto/block.lastCars.php", {rand: Math.random()}, function() { $("div.lastCarsCont").unblock(); });	
}

function showMan(mid, spp, ordr, mdl) {
	$("div.showManCont").block('Загрузка...');
	$("div.catCarsCont").block('Загрузка...');
	$("div.showManCont").show();
	$("div.showManCont").load("./../_auto/ajax.viewMan.php", { id: mid, sp: spp, order: ordr, model: mdl }, function() {
		$("div.catCarsCont").unblock();
		$("div.showManCont").unblock();
	});
}

function isValidEmail(str) {
	return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
}

function logIn() {
	$("div.ajax_login").block("Загрузка...");
	$("div.loginErr").html('');
	$("div.loginErr").show();
	$.getJSON("./../_auto/ajax.login.do.php", {
		name: $("input[@name=userNameLogin]").val(),
		pass: $("input[@name=userPassLogin]").val(),
		rememberMe: $("input[@name=rememberMe]").is(":checked")
	}, onLoginProcessed);
}

function onLoginProcessed(obj) {
	if (obj.good == 0) {
		$("input[@name=userPassLogin]").val('');
		$("div.loginErr").html('Неверная пара имя пользователя/пароль');
		$("div.loginErr").show();
	} else {
		$("div.loginErr").hide();
		$("div.ajax_login").hide();
		$("div.ajax_navPlane").show();
		$("div.ajax_navPlane").block('Загрузка...');
		$("div.ajax_navPlane").load("./../_auto/ajax.navPlane.php", {rand: Math.random()}, function(){
			addingCar = 0;
			$("div.addCarForm").hide();
			$("div.ajax_navPlane").unblock();
		});
		$("a.loginMain").hide();
		$("a.logoutMain").show();
	}
   	$("div.ajax_login").unblock();
}

function showCar(cid) {
	$("div.showManCont").block('Загрузка объявления...<br />(оно появится чуть выше)');
	$("div.showCarCont").block('Загрузка...');
	$("div.showCarCont").load("./../_auto/ajax.viewCar.php", { rand: Math.random(), id: cid }, function(){
		$("div.showManCont").unblock();
		$("div.showCarCont").unblock();
		$("div.showCarCont").show();
		scroll(0,500);
	});	
}

function showMyCars(id) {
	$("div.showCarCont").hide();
	$("div.showManCont").show();
	$("div.showManCont").block('Загрузка...');
	$("div.showManCont").load("./../_auto/ajax.viewMan.php", { rand: Math.random(), uid: id, model: '' }, function() {
		$("div.showManCont").unblock();
	});
}

function delCar(cid, uuid) {
	$("div.showManCont").block('Загрузка...');
	$.get("./../_auto/ajax.delCar.php", { id: cid }, function(){
		$("div.showManCont").load("./../_auto/ajax.viewMan.php", { rand: Math.random(), uid: uuid });
		$("div.showManCont").unblock();
	});
	$("div.showManCont").show();
}

function loadBig(img) {
	$("img.bigImg").attr("src", "./../_auto/upl/" + img + ".jpg");
}

function logOut() {
	$.get("./../_auto/ajax.logout.php", {rand: Math.random()});
	$("div.ajax_navPlane").hide();
	$("div.ajax_unloggedTop").show();
	$("a.logoutMain").hide();
	$("a.loginMain").show();
}

function logInShow() {
	$("div.ajax_unloggedTop").toggle();
	$("div.ajax_login").toggle();
}

function searchCar() {
    	$("div.showManCont").block("Загрузка...");
    	$("div.catSearchCont").block("Загрузка...");
        $("div.showManCont").load("./../_auto/ajax.viewMan.php",
        {
        	searchManId: $("input[@name=searchManId]").val(),
        	searchMan: $("input[@name=searchMan]").val(),
        	searchModel: $("input[@name=searchModel]").val(),
        	searchYear: $("input[@name=searchYear]").val()
        }, function() {
			$("div.showManCont").unblock();
	     	$("div.catSearchCont").unblock();
			$("div.showManCont").show();
			$("input[@name=searchManId]").val('');
			$("input[@name=searchMan]").val('');
			$("input[@name=searchModel]").val('');
			$("input[@name=searchYear]").val('');
			selectManReset();
			addingCar = 0;
        });
}

function rememberPass() {
   	$("div.ajax_login").block("Загрузка...");
	$.getJSON("./../_auto/ajax.remember.php", {
		rand: Math.random(),
		name: $("input[@name=userNameLogin]").val()
	}, function(obj) {
		if (obj.done == 0) {
			$("div.loginErr").html("Ошибка");
		} else {
			$("div.loginErr").html("Письмо с новым паролем отправлено.");
		}
		$("div.loginErr").show();
	   	$("div.ajax_login").unblock();
	});
}

function addCar() {
	var error = 0;
	var err = 'Вы не выбрали обязательные к заполненю поля: ';
	if (addCarMan == 0) {
		err += 'марка транспортного средства';
		error = 1;
	}
	if ($("input[@name=carModel]").val().length == 0) {
		err += ', модель';
		error = 1;
	}
	if ($("input[@name=carPrice]").val().length == 0) {
		err += ', цена';
		error = 1;
	}
	if ($("input[@name=carGone]").val().length == 0) {
		err += ', пробег';
		error = 1;
	}
	if ($("input[@name=carEngineV]").val().length == 0) {
		err += ', объем двигателя';
		error = 1;
	}
	if ($("input[@name=carCity]").val().length == 0) {
		err += ', город';
		error = 1;
	}
	if ($("input[@name=carSeller]").val().length == 0) {
		err += ', продавец';
		error = 1;
	}
    if (!isValidEmail($("input[@name=carEMail]").val())) {
		err += ', e-mail';
		error = 1;
	}
	if (error == 1) {
		alert(err + '. Пожалуйста, заполните их.');
	} else {
        var options = {
        	type: 'post',
        	resetForm: false,
	        success: showResponse
        };
     	$("div.addCarForm").block("Загрузка...");
        $("form[@name=addCarForm]").ajaxSubmit(options);
	}
}

