addEvent(window, 'load', init_search, false);

var category = null;
var style = null;
var style_image = null;
var plate_country = null;
var plate_state = null;
var country = null;
var plate_type = null;
var model_id = null;
var imgDir = null;


function init_search()
{
	var res = null;
	var form = id('form');
	
	if(form != null) {
		// clear all number fields that have the value 0
		res = getElementsByClassName(form, 'gui_number', 'input');
		for (var i = 0; i < res.length; i++) {
			if(res[i].value == 0) {
				res[i].value = '';
			}
		}		

		category = id('category_id');
		style = id('style_id');
		style_image = id('style_image');
		plate_country = id('plate_country_id');
		plate_state = id('plate_state_id');
		country = id('country_id');
		plate_type = id('plate_type');
		model_id = id('model_id');
		style_image = id('style_image');
		
		if (style_image != null){
			imgUrl = style_image.src;
			imgDir = imgUrl.substring(0, imgUrl.lastIndexOf('/') + 1);	
		}	
			
		addEvent(plate_type, 'change' , get_models, false);
		addEvent(category, 'change' , get_styles, false);
		if (style != null){
			addEvent(style, 'change' , get_style_image, false);
		}
		addEvent(plate_state, 'change' , get_styles, false);
		addEvent(plate_country, 'change' , get_plate_states, false);
		if (country != null){
			addEvent(country, 'change' , get_states, false);
			addEvent(country, 'change' , get_styles, false);
		}
	}
}

function get_models(e)
{	
	var field = window.event ? window.event.srcElement : e ? e.target : null;	
	ajax_call('module=number_plates&view=model&plate_type=' + field.value, 'plt_type');
}


function get_styles(e)
{	
	ajax_call('module=number_plates&view=category&category_id=' + category.value + '&state_id=' + plate_state.value, 'plt_category');
	plt_style_image(imgDir + 'transparent.gif');
}

function get_style_image(e)
{	
	var field = window.event ? window.event.srcElement : e ? e.target : null;	
	ajax_call('module=number_plates&view=style_image&style_id=' + field.value, 'plt_style_image');
}

function get_plate_states(e)
{	
	var field = window.event ? window.event.srcElement : e ? e.target : null;
	ajax_call('module=number_plates&view=country&country_id=' + field.value, 'plt_plate_country');
}

function get_states(e)
{	
	var field = window.event ? window.event.srcElement : e ? e.target : null;	
	ajax_call('module=number_plates&view=country&country_id=' + field.value, 'plt_country');
	get_plate_preview(e);
}

function plt_type(result)
{
	model_id.options.length = 1;
	eval ("var data = " + result);
	for (i = 0; i < data.length; i++){		
		model_id.options[model_id.options.length] = new Option(data[i][1],data[i][0]);
	}
}

function plt_category(result)
{
	style.options.length = 0;
	eval ("var data = " + result);	
	for (i = 0; i < data.length; i++){		
		style.options[style.options.length] = new Option(data[i][1],data[i][0]);
	}
}

function plt_style_image(result)
{
	eval ("var url = '" + result + "'");
	style_image.src = url;
}

function plt_plate_country(result)
{
	plate_state.options.length = 0;
	eval ("var data = " + result);
	for (i = 0; i < data.length; i++){		
		plate_state.options[plate_state.options.length] = new Option(data[i][1],data[i][0]);
	}
}

function plt_country(result)
{
	state_id.options.length = 0;
	eval ("var data = " + result);
	for (i = 0; i < data.length; i++){		
		state_id.options[state_id.options.length] = new Option(data[i][1],data[i][0]);
	}
}

function populate_default(source_name, target_name)
{
	source = document.getElementById(source_name);
	target = document.getElementById(target_name);
	if (source != null && target.value == ''){
		target.value = source.value;
	}
}
