var page_url = 'http://www.volkswagen.pl/';





function updateform()
{
	loadModels();
	loadCarBody();
	loadNoOfVehicles();
}
function updateform1()
{
	loadCarBody();
	loadNoOfVehicles();
}

function updateform2()
{
	loadNoOfVehicles();
}

function checkboxes(event)
{
	var target = Event.element(event);
	if (isCheckbox(target)) {
		loadNoOfVehicles();
	}
}

function search_events()
{
	Event.observe($("AUTO_MARKA"), "change", updateform, false);
	Event.observe($("AUTO_MODEL"), "change", updateform1, false);
	Event.observe($("AUTO_NADWOZIE"), "change", updateform2, false);
	Event.observe($("AUTO_LICZNIK"), "change", updateform2, false);
	
	Event.observe($("AUTO_CENA_OD"), "change", updateform2, false);
	Event.observe($("AUTO_CENA_DO"), "change", updateform2, false);
	
	//Event.observe($("AUTO_POCHODZENIE"), "change", updateform2, false);
	Event.observe($("AUTO_NAPED"), "change", updateform2, false);
	Event.observe($("AUTO_SKRZYNIA"), "change", updateform2, false);
	Event.observe($("AUTO_PALIWO"), "change", updateform2, false);

	Event.observe($("AUTO_DEALER"), "change", updateform2, false);
	Event.observe($("AUTO_CERTYFIKAT"), "change", updateform2, false);



	Event.observe($("results_id"), "click", showresults, false);
	Event.observe($("aid_s_count"), "click", showresults, false);
	Event.observe($("aid_s_count2"), "click", showresults, false);
	Event.observe($("car_search"), "click", checkboxes, false);


	loadCarDealers();
	
}



function isCheckbox(e)
{
	return (e.tagName.toLowerCase() == "input" && e.type.toLowerCase() == "checkbox");
}


function showresults()
{
	var params = $('car_search').serialize();
	var search = $('search_id').innerHTML;
	//alert(search);

	var ajax = new Ajax.Request(page_url+'ajax/showresults',
	{
		method: 'post',
		parameters: {params:params,search:search},
		onSuccess: function(response){
			data = response.responseText.evalJSON();
			$('search_container').innerHTML = data;
			results_events();
			//var my_tooltip = new Tooltip('help', 'tooltip');
			//var my_tooltip2 = new Tooltip('help2', 'tooltip');
		},

		onLoading: function(){
		},

		onFailure: function(){
			alert('Wystąpił błąd');
		}

	});
}

function showresults_with_parameters(params,order,limit,page)
{
	var search = $('search_id').innerHTML;
	var asos = $('asos_id').innerHTML;
	var ajax = new Ajax.Request(page_url+'ajax/showresults',
	{
		method: 'post',
		parameters: {params:params,order:order,limit:limit,page:page,search:search,asos:asos},
		onSuccess: function(response){
			data = response.responseText.evalJSON();
			$('search_container').innerHTML = data;

			results_events();

			//var my_tooltip = new Tooltip('help', 'tooltip');
			//var my_tooltip2 = new Tooltip('help2', 'tooltip');
		},

		onLoading: function(){
		},

		onFailure: function(){
			alert('Wystąpił błąd');
		}

	});
}

function results_events()
{
	/**
	 * Obserwatory zdarzeń dotyczących zmian kryterii wyników
	 */
	Event.observe($("criteria_id"), "click", changecriteria, false);


	/**
	 * Obserwatory zdarzeń dotyczących sortowania
	 */
	Event.observe($("up_id1"), "click", orderresults, false);
	Event.observe($("down_id1"), "click", orderresults, false);
	Event.observe($("up_id2"), "click", orderresults, false);
	Event.observe($("down_id2"), "click", orderresults, false);
	Event.observe($("up_id3"), "click", orderresults, false);
	Event.observe($("down_id3"), "click", orderresults, false);
	Event.observe($("up_id4"), "click", orderresults, false);
	Event.observe($("down_id4"), "click", orderresults, false);
	Event.observe($("up_id5"), "click", orderresults, false);
	Event.observe($("down_id5"), "click", orderresults, false);

	/**
	 * Obserwatory zdarzeń dotyczących porównania aut
	 */
	Event.observe($("compare_id_up"), "click", comparecars, false);
	Event.observe($("compare_id_down"), "click", comparecars, false);

	/**
	 * Obserwatory zdarzeń dotyczących limitowania wyników
	 */

	if ($("limit_id_10")!=null) Event.observe($("limit_id_10"), "click", limitresults, false);
	if ($("limit_id_20")!=null) Event.observe($("limit_id_20"), "click", limitresults, false);

	/**
	 * Obserwatory zdarzeń dotyczących stronnicowania wyników
	 */
	if ($("minus_5_id")!=null) Event.observe($("minus_5_id"), "click", pageresults, false);
	if ($("minus_1_id")!=null) Event.observe($("minus_1_id"), "click", pageresults, false);
	if ($("plus_1_id")!=null) Event.observe($("plus_1_id"), "click", pageresults, false);
	if ($("plus_5_id")!=null) Event.observe($("plus_5_id"), "click", pageresults, false);
	if ($("u_minus_5_id")!=null) Event.observe($("u_minus_5_id"), "click", pageresults, false);
	if ($("u_minus_1_id")!=null) Event.observe($("u_minus_1_id"), "click", pageresults, false);
	if ($("u_plus_1_id")!=null) Event.observe($("u_plus_1_id"), "click", pageresults, false);
	if ($("u_plus_5_id")!=null) Event.observe($("u_plus_5_id"), "click", pageresults, false);


}


function changecriteria()
{
	var params = $('params_id').innerHTML;
	var search = $('search_id').innerHTML;
	//alert(search);
	var tokens = params.split('&amp;');
	//salert(tokens);
	var auto_marka = '';
	var auto_model = '';
	var auto_nadwozie = '';

	for (i=0;i<=tokens.length;i++)
	{
		data = tokens[i];
		if (data!=undefined) {
			data = data.split('=');
			if (data[0]=='AUTO_MARKA') auto_marka = data[1];
			if (data[0]=='AUTO_MODEL') auto_model = data[1];
			if (data[0]=='AUTO_NADWOZIE') auto_nadwozie = data[1];
		}
	}
	var ajax = new Ajax.Request(page_url+'ajax/changecriteria',
	{
		method: 'post',
		parameters: {params:params},
		onSuccess: function(response){
			data = response.responseText.evalJSON();
			$('search_container').innerHTML = data;
			search_events();
			loadBrand(auto_marka);
			loadModels(auto_model);
			loadCarBody(auto_nadwozie);
			loadNoOfVehicles();
			$('search_id').innerHTML = search;
			//alert(params);
			Form.deserialize($('car_search'), params);
		},

		onLoading: function(){
		},

		onFailure: function(){
			alert('Wystąpił błąd');
		}

	});
}

function pageresults(event)
{
	var target = Event.element(event);
	var params = $('params_id').innerHTML;
	var limit = $('limit_id').innerHTML;
	var order = $('order_id').innerHTML;
	var max_page = $('max_page_id').innerHTML;
	var page = target.alt;
	if ((page<=max_page)&&(page>0 ))
		showresults_with_parameters(params,order,limit,page);
	else if (page >= max_page && page > 0)
		showresults_with_parameters(params,order,limit,max_page);
	else if (page <= 0)
		showresults_with_parameters(params,order,limit,1);

}
function limitresults(event)
{
	var target = Event.element(event);
	var params = $('params_id').innerHTML;
	var page = $('page_id').innerHTML;
	var order = $('order_id').innerHTML;
	var limit = target.rel;

	showresults_with_parameters(params,order,limit,page);
}

function compareback()
{
	var params = $('params_id').innerHTML;
	var page = $('page_id').innerHTML;
	var order = $('order_id').innerHTML;
	var limit = $('limit_id').innerHTML;;
	showresults_with_parameters(params,order,limit,page);
}

function orderresults(event)
{
	var target = Event.element(event);
	var orderby = target.alt;
	var params = $('params_id').innerHTML;
	var limit = $('limit_id').innerHTML;
	var page = $('page_id').innerHTML;
	switch (orderby) {
		case 'marka_asc':
			showresults_with_parameters(params,'AUTO_MARKA asc, AUTO_MODEL asc',limit,page);
		//	showresults_with_parameters(params,'AUTO_MARKA asc',limit,page);
			break;
		case 'marka_desc':
			showresults_with_parameters(params,'AUTO_MARKA desc, AUTO_MODEL desc',limit,page);
		//	showresults_with_parameters(params,'AUTO_MARKA desc',limit,page);
			break;
		case 'moc_asc':
			showresults_with_parameters(params,'AUTO_MOC asc',limit,page);
			break;
		case 'moc_desc':
			showresults_with_parameters(params,'AUTO_MOC desc',limit,page);
			break;
		case 'przebieg_asc':
			showresults_with_parameters(params,'AUTO_LICZNIK asc',limit,page);
			break;
		case 'przebieg_desc':
			showresults_with_parameters(params,'AUTO_LICZNIK desc',limit,page);
			break;
		case 'rok_asc':
			showresults_with_parameters(params,'AUTO_DATA_REJ asc',limit,page);
			break;
		case 'rok_desc':
			showresults_with_parameters(params,'AUTO_DATA_REJ desc',limit,page);
			break;
		case 'cena_asc':
			showresults_with_parameters(params,'AUTO_CENA+0 asc',limit,page);
			break;
		case 'cena_desc':
			showresults_with_parameters(params,'AUTO_CENA+0 desc',limit,page);
			break;
	}
}


function comparecars()
{

	var checkboxes = $$('input[type="checkbox"]:enabled');
	var compare_checkboxes = '';
	var count = 0;
	for (i=0; i<checkboxes.length;i++)
	{
		var ch = checkboxes[i];
		if (ch.checked) {
			compare_checkboxes += ch.value + ',';
			count++;
		}
	}
	if ((count>3)||(count<=1)||(count==null)) {
		alert('Należy wybrać 2-3 auta do porównania.');
	} else {
		var params = $('params_id').innerHTML;
		var order = $('order_id').innerHMTL;
		var limit = $('limit_id').innerHMTL;
		var page = $('page_id').innerHMTL;
		var max_page = $('max_page_id').innerHTML;
		var search = $('search_id').innerHTML;
		var asos = $('asos_id').innerHTML;

		//alert(search);

		var compare = (compare_checkboxes);
		var ajax = new Ajax.Request(page_url+'ajax/comparecars',
		{
			method: 'post',
			parameters: {params:params,order:order,limit:limit,page:page,compare:compare,search:search,asos:asos},
			onSuccess: function(response){
				data = response.responseText.evalJSON();
				$('search_container').innerHTML = data;
				Event.observe($("search_return_id"), "click", compareback, false);
				//Event.observe($("print_compare_uzywane_id"), "click", compareback, false);

			},

			onLoading: function(){
			},

			onFailure: function(){
				alert('Wystąpił błąd');
			}

		});
	}


}

