$(document).ready(function () {
    $("a#search_vis, a#search_hid").click(function() {
        var expDate = new Date();
        expDate.setDate(expDate.getDate() + 1);

        if ($("#search_tbl").css("display") != 'none')
        {
            $("#search_tbl").hide();
            $("#short_search_actions").hide();
            $("div.search_auto").css('height', '30px');
            $("#search_vis").attr('id', 'search_hid').text('показать форму поиска');
            document.cookie = "hideSearch=1; expires=" + expDate.toUTCString();
        } else {
            $("div.search_auto").css('height', 'auto');
            $("#search_tbl").show();
            $("#short_search_actions").show();
            $("#search_hid").attr('id', 'search_vis').text('скрыть форму поиска');
            document.cookie = "hideSearch=0; expires=" + expDate.toUTCString();
        }
    });

    $("a#toggle_ext_search").click(function() {

        if ($("input[name='ext_search']").val() == '') {
            $("input[name='ext_search']").val('1');
            $("a#toggle_ext_search").html('выполнить простой поиск');
            $('#color_n_seller, #cond_n_miles, #fuel_n_engine, #body_n_drive, #kpp_n_helm').show();
            updateSearch(false);
        } else {
            $("input[name='ext_search']").val('');
            $("a#toggle_ext_search").html('выполнить подробный поиск');
            $('#color_n_seller, #cond_n_miles, #fuel_n_engine, #body_n_drive, #kpp_n_helm').hide();
        }
        return false;
    });
});

function getModels(isAddForm) {
	$(document).ready(function(){

		$("select#model_id").empty();
		$("select#model_id").append($("<option value=''>---</option>"));
		$("select#model_id").removeAttr('disabled');

		$.ajax({
			async: false,
			type: "GET",
			url: "http://" + location.hostname + "/modules/advert.ajax.json.php",
			cache: false,
			data: "act=get_models_simple_json&mark_id=" + $("select#mark_id").val(),
			dataType: 'json',
			beforeSend: function() {
				$("#loading").css("display", "block");
			},
			success: function(data, status) {
				if (data.result == 'OK') {
                	for (var i = 0; i < data.models.length; i++)
                	{
                		$("select#model_id").append($("<option value='"+data.models[i].id+"'>"+data.models[i].model+"</option>"));
                	}
				}
				if (isAddForm) {
					$("select#model_id").append($("<option value='other'>Другая</option>"));
				}
				$("#loading").css("display", "none");
			},
            error: function(data, status, e){
            	$("#loading").css("display", "none");
            }
		});
	});
}

function updateModelsAndMarks(mark) {
	$("select#model_id").removeAttr('disabled');
	if (mark == '') {
		$("select#model_id").empty();
		$("select#model_id").append($("<option value=''>---</option>"));
		$("#new_mark").hide();
		$("#new_model").hide();
		$("#new_model_row").hide();
		$("input[name='new_mark']").val('');
		$("input[name='new_model']").val('');
	} else if (mark == 'other') {
		$("select#model_id").empty();
		$("select#model_id").append($("<option value='other'>Другая</option>"));
		$("#new_mark").show();
		$("#new_model").show();
		$("#new_model_row").show();
	} else {
		$("#loading").css("display", "block");
		setTimeout(function() { getModels(true) }, 100);
		$("#new_mark").hide();
		$("#new_model").hide();
		$("#new_model_row").hide();
		$("input[name='new_mark']").val('');
		$("input[name='new_model']").val('');
	}
}

function updateModels(model) {
	if (model == 'other') {
		$("#new_model_row").show();
		$("#new_model").show();
	} else {
		$("#new_model").hide();
		$("#new_model_row").hide();
		$("input[name='new_model']").val('');
	}
}

function getModelsJSON() {
	$(document).ready(function(){

		$("select#model_id").empty();
		$("select#model_id").append($("<option value=''>Все модели</option>") );

		$.ajax({
			type: "GET",
			url: "http://" + location.hostname + "/modules/advert.ajax.json.php",
			cache: false,
			data: "act=get_models_json&mark_id=" + $("select#mark_id").val(),
			dataType: 'json',
			beforeSend: function() {
				$("#loading").css("display", "block");
			},
			success: function(data, status) {

				// HANDLE INCOMING JSON
				if (data.result == 'OK') {
                	for (var i = 0; i < data.models.length; i++)
                	{
                		$("select#model_id").append($("<option value='"+data.models[i].id+"'>"+data.models[i].model+"</option>") );
                	}
				}
				$("#loading").css("display", "none");
			},
            error: function(data, status, e){
            	$("#loading").css("display", "none");
            }
		});
	});

}

function getMarksJSON() {
	$(document).ready(function(){

		$("select#mark_id").empty();
		$("select#mark_id").append($("<option value=''>Все марки</option>") );
		$("select#model_id").empty();
		$("select#model_id").append($("<option value=''>Все модели</option>") );

		$.ajax({
			type: "GET",
			url: "http://" + location.hostname + "/modules/advert.ajax.json.php",
			cache: false,
			data: "act=get_marks_json&type=" + $("select#type").val(),
			dataType: 'json',
			beforeSend: function() {
				$("#loading").css("display", "block");
			},
			success: function(data, status) {

				if (data.result == 'OK') {
                	for (var i = 0; i < data.marks.length; i++)
                	{
                		$("select#mark_id").append($("<option value='"+data.marks[i].id+"'>"+data.marks[i].name+"</option>") );
                	}
				}
				$("#loading").css("display", "none");
			},
            error: function(data, status, e){
            	$("#loading").css("display", "none");
            }
		});
	});

}

function getBodies(type) {

	$(document).ready(function(){
		$.ajax({
			type: "GET",
			url: "http://" + location.hostname + "/modules/advert.ajax.php",
			cache: false,
			data: "act=get_bodies_for_search&type=" + type,
			dataType: "html",
			success: function(html) {
				$("#body_type_block").html(html);
			},
            error: function(){
                $("#body_type_block").html("<select name='body_type_id' class='search_select_m'><option value=''>Любой</option></select>");
            }
		});
	});

}

function rulesSubmit() {
	if ($('#rules').attr("checked")) {
		$('#submit').removeAttr('disabled');
	} else {
		$('#submit').attr('disabled', 'disabled');
	}
}

function updateType(type) {
	switch(type) {
		case 'car' : top.location.href = "http://" + location.hostname + "/add_auto/car/";
		break;
		case 'truck' : top.location.href = "http://" + location.hostname + "/add_auto/truck/";
		break;
		case 'moto' : top.location.href = "http://" + location.hostname + "/add_auto/moto/";
		break;
		case 'bus' : top.location.href = "http://" + location.hostname + "/add_auto/bus/";
		break;
		case 'spec' : top.location.href = "http://" + location.hostname + "/add_auto/spec/";
		break;
	}
}

function updateMilage(milage) {
	switch(milage) {
		case 'yes' :
			$('#miles').val('');
			$('#miles').removeAttr('disabled');
		break;
		case 'no' :
			$('#miles').val('0');
			$('#miles').attr('disabled', 'disabled');
		break;
	}
}

function selectPhoto(src, select_id) {
	$('#selected_photo').html("<img src='upload/advert/xl/"+src+"' style='border: 1px solid #cccccc;'>");
	$("img.photo_m_selected").removeClass("photo_m_selected");
	$('#'+select_id).addClass("photo_m_selected");
	return false;
}

function validateAdvert(form) {
	// General

	if (form.mark_id.value == '') {
		alert('Укажите марку');
		return false;
	}

	if (form.model_id.value == '') {
		alert('Укажите модель');
		return false;
	}

	if (form.body_type_id.value == '') {
		alert('Тип кузова не указан');
		return false;
	}

	if (form.year.value == '') {
		alert('Год выпуска не указан');
		return false;
	}

	var milage = getRadioGroupValue(form.milage);
	if (milage == 'yes') {
		var filter_miles = /^\d{1,7}$/;
		if (!filter_miles.test(form.miles.value)) {
			alert('Пробег не указан или указан неверно.\r');
			return false;
		}
	}

	if (form.condition_id.value == '') {
		alert('Состояние не указано');
		return false;
	}

	if (form.color_id.value == '') {
		alert('Цвет не указан');
		return false;
	}

	var filter_price = /^\d{4,9}$/;
	if (!filter_price.test(form.price.value)) {
		alert('Цена не указана или указана неверно.\rВнимание! Цена должна указываться с нулями, без пробелов.');
		return false;
	}

	if (form.contact_name.value == '') {
		alert('Персона для контактов не указана');
		return false;
	}

	if (form.contact_phone_1.value=='' && form.contact_phone_2.value=='' && form.contact_email.value=='' && form.contact_icq.value=='') {
		alert('Хотя бы одно поле из "Телефон", "E-mail" и "ICQ" должно быть заполнено');
		return false;
	}


	if (form.sec_code) {
		if (form.sec_code.value == '') {
			alert('Проверочный код не указан');
			return false;
		}
	}

	// Private
    var type = getRadioGroupValue(form.type);

	if (type=='car' || type=='truck' || type=='bus' || type=='moto') {
            if (type=='moto') var filter_engine_v = /^\d{2,5}$/;
            else var filter_engine_v = /^\d{3,5}$/;
            if (!filter_engine_v.test(form.engine_v.value)) {
                    alert('Объем двигателя не указан или указан неверно');
                    return false;
            }
	}

	if (type=='car' || type=='truck' || type=='bus') {
		if (form.engine_id.value == '') {
			alert('Тип двигателя не указан');
			return false;
		}

		var kpp_passed = false;
		for (var i=0; i<form.kpp.length; i++) {
        	if (form.kpp[i].checked) kpp_passed = true;
		}
		if (!kpp_passed) {
			alert('КПП не указана');
			return false;
		}

		var helm_passed = false;
		for (var i=0; i<form.helm.length; i++) {
        	if (form.helm[i].checked) helm_passed = true;
		}
		if (!helm_passed) {
			alert('Руль не указан');
			return false;
		}
	}

	if (type=='car') {
		var drive_passed = false;
		for (var i=0; i<form.drive.length; i++) {
        	if (form.drive[i].checked) drive_passed = true;
		}
		if (!drive_passed) {
			alert('Привод не указан');
			return false;
		}
	}
        if (form.id.value) return true; // Редактирование
        else return checkCaptcha('sec_code', 'submit', 'submit-wait', false);
}

function updateSearch(getMarks) {
        if (getMarks == true) {
                getMarksJSON();
        }

        var type = $('#type').val();

        if ($("input[name='ext_search']").val() == '1') {

                //show all first:
                $('#color_n_seller, #cond_n_miles, #fuel_n_engine, #body_n_drive, #kpp_n_helm').show().children('td').show().css('visibility', 'visible') //.css('visibility', 'visible');

                if (type == 'truck' || type == 'bus' || type == 'moto' || type == 'spec') {
                        $('#body_n_drive').hide().children('td').hide();
                }
                if (type == 'moto' || type == 'spec') {
                    $('.param_kpp').css('visibility', 'none');
                    $('#kpp_n_helm').hide().children('td').hide();
                    $('#fuel_txt, #fuel_sel').css('visibility', 'hidden');
                }
                if (type == 'spec') {
                    $('#fuel_n_engine').hide().children('td').hide();
                }
        }
}

function setExtSearh(extSearch) {


	if (extSearch == '1') {

		$("input[name='ext_search']").val('1');

		$(".ext_search_link").html('Простой поиск');

	} else {

        $("input[name='ext_search']").val('');

        $(".ext_search_link").html('Подробный поиск');

	}
}

function updatePerPage(per_page, baseUrl) {
	var get = location.search;
	var url = 'http://'+location.hostname+baseUrl+'?';
	var param = {};

	if(get != '') {
		tmp = (get.substr(1)).split('&');
		for(var i=0; i < tmp.length; i++) {
			tmp2 = tmp[i].split('=');
			param[tmp2[0]] = tmp2[1];
		}

		for (var key in param) {

			if (key != 'page' && key != 'per_page') url += key+"="+param[key]+"&";

		}
	}
	top.location.href = url+'per_page='+per_page;
}

function addUserPhoto(blockId, inputName) {

    var total = $('#'+blockId+' input[type=file]').length;
    var photo_id = Math.round(Math.random() * 10000000);

    while ($('#photo-'+photo_id).html() != null) {
        var photo_id = Math.round(Math.random() * 10000000);
    }

    if (total == 10) return false;
    $("#"+blockId).append('<div id="photo-'+photo_id+'"><input type="file" name="'+inputName+'" /> <a href="#" onclick="$(\'#photo-'+photo_id+'\').remove(); return false;"><img src="'+locationBase+'/'+template+'/img/cross_circle.gif" title="удалить" alt="удалить" width="16px" height="16px" /></a></div>');

}
