/* Geting items for search box      
* var request XMLHTTPRequest Object 
*/
function set_kind(form, xml)
{
	var type     = form.elements["data[Product][type_id]"];
	var category = form.elements["data[Product][category_id]"];
	
	var types      = xml.getElementsByTagName('type');
	var categories = xml.getElementsByTagName('category');
	
	var tmp = null;
	
	tmp = xml.getElementsByTagName('current_type');
	var type_id = tmp[0].getAttribute('id');
	
	tmp = xml.getElementsByTagName('current_category');
	var category_id = tmp[0].getAttribute('id');
	
	if (type != null)
	{
		if (types.length > 0 && type.options.length == 1)
			setOptions(type, types, type_id, 'Please select Type');
	}
	
	if (category != null)
	{
		if (categories.length > 0)
			setOptions(category, categories, category_id, 'Please select Category');
		else
			disableOptions(category, 'Please select Category');
	}
}

function set_geo(form, xml)
{
	var country  = form.elements["data[Product][country_id]"];
	var region   = form.elements["data[Product][region_id]"];
	
	var countries = xml.getElementsByTagName('country');
	var regions   = xml.getElementsByTagName('region');
	
	var tmp = null;
	
	tmp = xml.getElementsByTagName('current_country');
	var country_id = tmp[0].getAttribute('id');
	
	tmp = xml.getElementsByTagName('current_region');
	var region_id = tmp[0].getAttribute('id');
	
	if (country != null)
	{
		if (countries.length > 0 && country.options.length == 1)
			setOptions(country, countries, country_id, 'Please select Country');
	}
	
	if (region != null)
	{
		if (regions.length > 0)
			setOptions(region, regions, region_id, 'Please select Region');
		else
			disableOptions(region, 'Please select Region');
	}
}

function getOnComplete(request, form, type)
{
	if (request.readyState == 4 && request.status == 200)
	{
		var xml = request.responseXML.XMLDocument ? request.responseXML.XMLDocument : request.responseXML;
		
		if (type == 1)
			set_geo(form, xml);
		else
			set_kind(form, xml);
	}
}

function initKindParams(form, type_id, category_id, extended)
{
	var serviceURL = 'Kind';
	
	if (!type_id)     type_id     = 0;
	if (!category_id) category_id = 0;
	
	var dateObj = new Date();
	
	if (typeof Ajax != 'undefined')
		new Ajax.Request(webRoot + 'searchcriteria/get' + serviceURL + '/' + type_id + '/' + category_id + '/' + dateObj.getTime(), {onComplete:function(request){ getOnComplete(request, form, 0); }, asynchronous:true, evalScripts:true});
}

function changeKindParams(select, extended)
{
	var serviceURL = 'Kind';
	
	var form = select.form;
	
	var type     = form.elements["data[Product][type_id]"];
	var category = form.elements["data[Product][category_id]"];
	
	var type_id     = 0
	var category_id = 0;
	
	if (typeof(type) != "undefined")
		type_id = type.options[type.selectedIndex].value;
	
	switch (select.name)
	{
		case 'data[Product][type_id]':
			type_id = type.options[type.selectedIndex].value;
			break;
		
		case 'data[Product][category_id]':
			category_id = category.options[category.selectedIndex].value;
			break;
	}
	
	var dateObj = new Date();
	
	if (typeof Ajax != 'undefined')
		new Ajax.Request(webRoot + 'searchcriteria/get' + serviceURL + '/' + type_id + '/' + category_id + '/' + dateObj.getTime(), {onComplete:function(request){ getOnComplete(request, form, 0); }, asynchronous:true, evalScripts:true});
}

function initLocationParams(form, country_id, region_id, extended)
{
	var serviceURL = 'Location';
	
	if (!country_id) country_id = 0;
	if (!region_id)  region_id  = 0;
	
	var dateObj = new Date();
	
	if (typeof Ajax != 'undefined')
		new Ajax.Request(webRoot + 'searchcriteria/get' + serviceURL + '/' + country_id + '/' + region_id + '/' + dateObj.getTime(), {onComplete:function(request){ getOnComplete(request, form, 1); }, asynchronous:true, evalScripts:true});
}

function changeLocationParams(select, extended)
{
	var serviceURL = 'Location';
	
	var form = select.form;
	
	var country = form.elements["data[Product][country_id]"];
	var region  = form.elements["data[Product][region_id]"];
	
	var country_id = 0
	var region_id  = 0;
	
	if (typeof(country) != "undefined")
		country_id = country.options[country.selectedIndex].value;
	
	switch (select.name)
	{
		case 'data[Product][country_id]':
			country_id = country.options[country.selectedIndex].value;
			break;
		
		case 'data[Product][region_id]':
			region_id = region.options[region.selectedIndex].value;
			break;
	}
	
	var dateObj = new Date();
	
	if (typeof Ajax != 'undefined')
		new Ajax.Request(webRoot + 'searchcriteria/get' + serviceURL + '/' + country_id + '/' + region_id + '/' + dateObj.getTime(), {onComplete:function(request){ getOnComplete(request, form, 1); }, asynchronous:true, evalScripts:true});
}

function setOptions(sel, opts, activeId, str)
{
	sel.innerHTML = '';
	sel.disabled = false;
	var o = document.createElement('option');
	o.value = 0; // ''
	o.text = str;
	
	sel.options[0] = o;
	for (var i = 0; i < opts.length; i++)
	{   
		var id = opts[i].getAttribute('id');
		var tc = opts[i].getAttribute('tcnt');
		var text = opts[i].firstChild.data;
		o = document.createElement('option');
		o.tc = tc;
		o.value = opts[i].getAttribute('id');
		o.text = text;
		sel.options[i+1] = o;
		if (id == activeId) o.selected = true;
	}
}

function disableOptions(sel, txt)
{
	var opt = document.createElement('option');
	opt.text = txt;
	sel.innerHTML = '';
	sel.options[0] = opt;
	sel.disabled = true;
}