	
	function skeyGenerate() {
		return (new Date().getDay() + new Date().getDate());
	}

	// построение списка марок для формы
	function getDataFFMarka(marki)
	{
		for (var key in marki) {
	    	$('#advMarka').append('<option value=\"'+key+'\">'+marki[key]+'</option>');
		}
	}

	// построение списка годов для формы
	function getDataFFYearProd()
	{
		$('#advYearProd').append('<option value=\"before_1990\">до 1990</option>');
		for (var y = 1990; y <= (new Date()).getFullYear(); y++) 
		{
			$('#advYearProd').append('<option value=\"'+y+'\">'+y+'</option>');
		}
	}

	function clearFields()
	{
		$('#advYearProd').val("");
		$('#advModel').val("");
		$('#advCaptcha').val("");
	}

	function advSubmitStart()
	{
		$('#advSubmit').val('Добавить объявление');
		$('#advSubmit').attr('disabled', '');
	}
	
	function addAdvShowResult(data) 
	{
		if (data.done) {
			clearFields();	
		}
		$('#advSubmitResult').append("<b>" + data.result + "<\/b>");
		$('#advSubmitResult').show(800);
		setTimeout(
				function (){
					$('#advSubmitResult').hide(800)
				}, 
				5000);
		$('#advFileImgProgress').text("");
		advSubmitStart();	
	}

	function addAdvShowError(data) 
	{
		$('#advSubmitResult').append("<b>Не введено или не верно значение поля: " + data + "<\/b>");
		$('#advSubmitResult').show(800);
		advSubmitStart();
	}

	function addFileImgShowResult(data) 
	{
		$('#advFileImgProgress').append(data+'<br />');
		$('#advFileImgProgress').show(800);
	}
	
	/*
	 * основная ф-ция открытия строк select'a и таблицы
	 */
	function addAdv() 
	{
		$('#advFileImgProgress').hide();
		$('#advSubmitResult').text("");
		$('#advSubmit').attr('disabled', 'disabled'); 
		$('#advSubmit').val('Пожалуйста подождите...');

		var params = {
				action		: 'addadv',
				key			: skeyGenerate(),
				marka_id	: $('#advMarka').val(),
				year_prod	: $('#advYearProd').val(),
				model		: $('#advModel').val(),
				description	: $('#advDescription').val(),
				phone		: $('#advPhone').val(),
				email		: $('#advEmail').val()	
		};
		
		// т.к. проверять нужно и на undefined и на пустоту
		// замяняем неопределённое на пустое 
		for (var key in params) {
	    	if (params[key] == undefined) {
	    		params[key] = '';
	    	}
		}

		if ((params.marka_id == '') 
			|| (params.marka_id <= 0)) 
		{
			addAdvShowError('Марка');
			return;
		} 
		if ((params.year_prod == '') || 
			!(
				(params.year_prod == 'before_1990') ||
					( (params.year_prod >= 1990) &&
					  (params.year_prod <= (new Date()).getFullYear()) )
			  )
			) 
		{
			addAdvShowError('Год');
			return;		
		}
		if (params.model == '') {
			addAdvShowError('Модель');
			return;
		}
		if (params.phone == '') {
			addAdvShowError('Телефон');
			return;
		}
		var filter;
		filter = /^([a-z0-9_\.\-]{1,20})@([a-z0-9\.\-]{1,20})\.([a-z]{2,4})$/i;
		if ((params.email != '') &&
			!filter.test(params.email)) 
		{
			addAdvShowError('Email');
			return;
		}
			
		$.post(
		    '/addadvertisement/add_adv.php', 
		    params,
		    function(data){
		    	addAdvShowResult(data);
		    },
		    "json"
		);
	}
	
	function getDataForForm() 
	{
		// получение марок машин и адреса captcha-рисунка
		$.post(
		    '/addadvertisement/add_adv.php', 
		    {action: 'createform'},
		    function(obj){	    	
		    	getDataFFMarka(obj.brands);
		    },
		    "json"
		);

		// построение списка годов
		getDataFFYearProd();
	}
	
	$(document).ready(
		function() {

			$('#advSubmitResult').hide();
			$('#advFileImgProgress').hide();

			getDataForForm();

			$('#advFileImg').upload({
				name: 'file',
				method: 'post',
				enctype: 'multipart/form-data',
				action: '/addadvertisement/upload.php',
				onComplete: function(data) {
					addFileImgShowResult(data);
				}
			});
		}
	);
