// Hiirellä tehtyihin valintoihin liittyviä metodeja


// ********************* OSASTOVALINTA ********************

function frm_selection_selected()
{	
	var selectionIndex = document.advancedSearcher.categorySelected.selectedIndex;
	if(selectionIndex < 0) {
		return;
	}
	
	var selectionText = document.advancedSearcher.categorySelected.options[selectionIndex].text;	
	if(selectionText.length > frm_selectParentText.length && selectionText.substring(selectionText.length-frm_selectParentText.length) == frm_selectParentText)
	{
		var parentT = selectionText.substring(0,selectionText.length-frm_selectParentText.length);		
		frm_remove_selected_parent_by_parent(parentT);
	}
	else
	{
		frm_remove_selected_child(selectionText);
	}
	//document.advancedSearcher.categorySelected.selectedIndex = -1;
}

function frm_parent_changed(e)
{
	update_frm_a();	
	var tOpt = new Option(messages["common.pleaseSelect"], "", false, false);		
	document.advancedSearcher.subCategory.options.add(tOpt,0);
}

function frm_parent_selected(e)
{
	update_frm_a();
		
	var parentIndex = document.advancedSearcher.mainCategory.selectedIndex;
	if(parentIndex < 1 )
	{
		frm_keyPressed = false;		
		return true;
	}
	
	var tOpt = new Option(messages["common.pleaseSelect"], "", false, false);		
	document.advancedSearcher.subCategory.options.add(tOpt,0);	
	
	var addOptionText = document.advancedSearcher.mainCategory.options[parentIndex].text+frm_selectParentText;
	if(!frm_isAdded(addOptionText))
	{	
		
		frm_remove_selected_child_by_parent(document.advancedSearcher.mainCategory.options[parentIndex].text);
		document.advancedSearcher.categorySelected.options[document.advancedSearcher.categorySelected.options.length] = new Option(addOptionText,document.advancedSearcher.mainCategory.options[parentIndex].value, false, false);		
		frm_selectedParents[frm_selectedParents.length] = [addOptionText, document.advancedSearcher.mainCategory.options[parentIndex].value];
		
	}			
	
	//if(document.advancedSearcher.categorySelected.onchange)
	//{
		//document.advancedSearcher.categorySelected.onchange();
	//}
		
	if(e) {
		e.returnvalue = true;
	}
	return true;
}

function frm_isAdded(text)
{
	for(var i = 0; i < document.advancedSearcher.categorySelected.options.length; i++)
	{
		if(document.advancedSearcher.categorySelected.options[i].text == text)
		{
	
			return true;
		}
	}
	
	return false;
}

function frm_child_selected(e)
{	
	var childIndex = document.advancedSearcher.subCategory.selectedIndex;
	var parentIndex = document.advancedSearcher.mainCategory.selectedIndex;
	
	if(childIndex < 1)
	{				
		return true;
	}
	
	 
	if(childIndex == 1)
	{
		
		var addOptionText = document.advancedSearcher.mainCategory.options[parentIndex].text+frm_selectParentText;
		if(!frm_isAdded(addOptionText))
		{							
			
			frm_remove_selected_child_by_parent(document.advancedSearcher.mainCategory.options[parentIndex].text);
		
			frm_selectedParents[frm_selectedParents.length] = [document.advancedSearcher.mainCategory.options[parentIndex].text, document.advancedSearcher.mainCategory.options[parentIndex].value];
			document.advancedSearcher.categorySelected.options[document.advancedSearcher.categorySelected.length] = new Option(document.advancedSearcher.mainCategory.options[parentIndex].text+frm_selectParentText,document.advancedSearcher.mainCategory.options[parentIndex].value);
		}
	}
	
	else
	{
		
		var addOptionText = document.advancedSearcher.mainCategory.options[parentIndex].text+" - "+document.advancedSearcher.subCategory.options[childIndex].text.substring(4);
		if(!frm_isAdded(addOptionText))
		{			
			
			frm_remove_selected_parent_by_parent(document.advancedSearcher.mainCategory.options[parentIndex].text);
	
			frm_selectedChilds[frm_selectedChilds.length] = [document.advancedSearcher.mainCategory.options[parentIndex].text+" - "+document.advancedSearcher.subCategory.options[childIndex].text.substring(4), document.advancedSearcher.subCategory.options[childIndex].value];  
			document.advancedSearcher.categorySelected.options[document.advancedSearcher.categorySelected.length] = new Option(document.advancedSearcher.mainCategory.options[parentIndex].text+" - "+document.advancedSearcher.subCategory.options[childIndex].text.substring(4),document.advancedSearcher.subCategory.options[childIndex].value);
		}
	}
	
	//document.advancedSearcher.subCategory.selectedIndex = -1;
	document.advancedSearcher.categorySelected.selectedIndex = -1;	
}

function frm_remove_selected_child(childText)
{	
	if(!frm_selectedChilds || frm_selectedChilds.length == 0)
	{
		return;
	}	
	
	
	for(var i = 0; i < frm_selectedChilds.length; i++)
	{
		if(frm_selectedChilds[i][0] == childText)
		{
			frm_selectedChilds.splice(i,1);
			i--;
		}				
	}
	
	
	for(var i=0; i < document.advancedSearcher.categorySelected.options.length; i++)
	{
		if(document.advancedSearcher.categorySelected.options[i].text == childText)
		{		
			document.advancedSearcher.categorySelected.options[i] = null;
			i--;
		}
	}
}

function frm_remove_selected_child_by_parent(parentText)
{	
	if(!frm_selectedChilds || frm_selectedChilds.length == 0)
	{
		return;
	}	
	
	
	for(var i = 0; i < frm_selectedChilds.length; i++)
	{
		if(frm_selectedChilds[i][0].substring(0,parentText.length) == parentText)
		{
			frm_selectedChilds.splice(i,1);
			i--;
		}				
	}
	
	
	for(var i=0; i < document.advancedSearcher.categorySelected.options.length; i++)
	{
		if(document.advancedSearcher.categorySelected.options[i].text.substring(0,parentText.length) == parentText && document.advancedSearcher.categorySelected.options[i].text != parentText+frm_selectParentText)
		{		
			document.advancedSearcher.categorySelected.options[i] = null;
			i--;
		}
	}
}

function frm_remove_selected_parent_by_parent(parentText)
{
	if(!frm_selectedParents || frm_selectedParents.length == 0)
	{
		return;
	}				
	
	for(var i = 0; i < frm_selectedParents.length; i++)
	{			
		if(frm_selectedParents[i][0].substring(0,parentText.length) == parentText)
		{	
			frm_selectedParents.splice(i,1);
			i--;
		}				
	}
	
	parentText = parentText+frm_selectParentText;
	
	for(var i=0; i < document.advancedSearcher.categorySelected.options.length; i++)
	{
		if(document.advancedSearcher.categorySelected.options[i].text.substring(0,parentText.length) == parentText)
		{
			document.advancedSearcher.categorySelected.options[i] = null;
			i--;
		}
	}		
}


// ***************** ALUEVALINTA **************************



function frm2_selection_selected()
{	

	var selectionIndex = document.advancedSearcher.regionSelected.selectedIndex;
	if(selectionIndex < 0) {
		return;
	}
	
	var selectionText = document.advancedSearcher.regionSelected.options[selectionIndex].text;	
	
	if(selectionText.length > frm2_selectParentText.length && selectionText.substring(selectionText.length-frm2_selectParentText.length) == frm2_selectParentText)
	{
		var parentT = selectionText.substring(0,selectionText.length-frm2_selectParentText.length);		
		frm2_remove_selected_parent_by_parent(parentT);
	}
	else
	{
		frm2_remove_selected_child(selectionText);
	}
	//document.advancedSearcher.regionSelected.selectedIndex = -1;
}

function frm2_parent_changed(e)
{
	update_frm2_a();	
	var tOpt = new Option(messages["common.pleaseSelect"], "", false, false);		
	document.advancedSearcher.municipality.options.add(tOpt,0);
}

function frm2_parent_selected(e)
{
	update_frm2_a();
		
	var parentIndex = document.advancedSearcher.region.selectedIndex;
	if(parentIndex < 1 )
	{
		frm2_keyPressed = false;		
		return true;
	}
	
	var tOpt = new Option(messages["common.pleaseSelect"], "", false, false);		
	document.advancedSearcher.municipality.options.add(tOpt,0);	
	
	var addOptionText = document.advancedSearcher.region.options[parentIndex].text+frm2_selectParentText;
	if(!frm2_isAdded(addOptionText))
	{	
		
		frm2_remove_selected_child_by_parent(document.advancedSearcher.region.options[parentIndex].text);
		document.advancedSearcher.regionSelected.options[document.advancedSearcher.regionSelected.options.length] = new Option(addOptionText,document.advancedSearcher.region.options[parentIndex].value);		
		frm2_selectedParents[frm2_selectedParents.length] = [addOptionText, document.advancedSearcher.region.options[parentIndex].value];
		
	}			
	
	//if(document.advancedSearcher.regionSelected.onchange)
	//{
		//document.advancedSearcher.regionSelected.onchange();
	//}
		
	
	e.returnvalue = true;
	return true;
}

function frm2_isAdded(text)
{
	for(var i = 0; i < document.advancedSearcher.regionSelected.options.length; i++)
	{
		if(document.advancedSearcher.regionSelected.options[i].text == text)
		{
	
			return true;
		}
	}
	
	return false;
}

function frm2_child_selected(e)
{	
	var childIndex = document.advancedSearcher.municipality.selectedIndex;
	var parentIndex = document.advancedSearcher.region.selectedIndex;
	
	if(childIndex < 1)
	{				
		return true;
	}
	
	 
	if(childIndex == 1)
	{
		
		var addOptionText = document.advancedSearcher.region.options[parentIndex].text+frm2_selectParentText;
		if(!frm2_isAdded(addOptionText))
		{							
			
			frm2_remove_selected_child_by_parent(document.advancedSearcher.region.options[parentIndex].text);
		
			frm2_selectedParents[frm2_selectedParents.length] = [document.advancedSearcher.region.options[parentIndex].text, document.advancedSearcher.region.options[parentIndex].value];
			document.advancedSearcher.regionSelected.options[document.advancedSearcher.regionSelected.length] = new Option(document.advancedSearcher.region.options[parentIndex].text+frm2_selectParentText,document.advancedSearcher.region.options[parentIndex].value);
		}
	}
	
	else
	{
		
		var addOptionText = document.advancedSearcher.region.options[parentIndex].text+" - "+document.advancedSearcher.municipality.options[childIndex].text.substring(4);
		if(!frm2_isAdded(addOptionText))
		{			
			
			frm2_remove_selected_parent_by_parent(document.advancedSearcher.region.options[parentIndex].text);
	
			frm2_selectedChilds[frm2_selectedChilds.length] = [document.advancedSearcher.region.options[parentIndex].text+" - "+document.advancedSearcher.municipality.options[childIndex].text.substring(4), document.advancedSearcher.municipality.options[childIndex].value];  
			document.advancedSearcher.regionSelected.options[document.advancedSearcher.regionSelected.length] = new Option(document.advancedSearcher.region.options[parentIndex].text+" - "+document.advancedSearcher.municipality.options[childIndex].text.substring(4),document.advancedSearcher.municipality.options[childIndex].value);
		}
	}
	
	//document.advancedSearcher.municipality.selectedIndex = -1;
	document.advancedSearcher.regionSelected.selectedIndex = -1;	
}

function frm2_remove_selected_child(childText)
{	
	if(!frm2_selectedChilds || frm2_selectedChilds.length == 0)
	{
		return;
	}	
	
	
	for (var i = 0; i < frm2_selectedChilds.length; i++)
	{
		if(frm2_selectedChilds[i][0] == childText)
		{
			frm2_selectedChilds.splice(i,1);
			i--;
		}				
	}
	
	
	for (var i=0; i < document.advancedSearcher.regionSelected.options.length; i++)
	{
		if(document.advancedSearcher.regionSelected.options[i].text == childText)
		{		
			document.advancedSearcher.regionSelected.options[i] = null;
			i--;
		}
	}
}

function frm2_remove_selected_child_by_parent(parentText)
{	
	if(!frm2_selectedChilds || frm2_selectedChilds.length == 0)
	{
		return;
	}	
	
	
	for (var i = 0; i < frm2_selectedChilds.length; i++)
	{
		if(frm2_selectedChilds[i][0].substring(0,parentText.length) == parentText)
		{
			frm2_selectedChilds.splice(i,1);
			i--;
		}				
	}
	
	
	for (var i=0; i < document.advancedSearcher.regionSelected.options.length; i++)
	{
		if(document.advancedSearcher.regionSelected.options[i].text.substring(0,parentText.length) == parentText && document.advancedSearcher.regionSelected.options[i].text != parentText+frm2_selectParentText)
		{		
			document.advancedSearcher.regionSelected.options[i] = null;
			i--;
		}
	}
}

function frm2_remove_selected_parent_by_parent(parentText)
{
	if(!frm2_selectedParents || frm2_selectedParents.length == 0)
	{
		return;
	}				
	
	for (var i = 0; i < frm2_selectedParents.length; i++)
	{			
		if(frm2_selectedParents[i][0].substring(0,parentText.length) == parentText)
		{	
			frm2_selectedParents.splice(i,1);
			i--;
		}				
	}
	
	parentText = parentText+frm2_selectParentText;
	
	for (var i=0; i < document.advancedSearcher.regionSelected.options.length; i++)
	{
		if(document.advancedSearcher.regionSelected.options[i].text.substring(0,parentText.length) == parentText)
		{
			document.advancedSearcher.regionSelected.options[i] = null;
			i--;
		}
	}		
}



// ***************** AUTOJEN MERKKI / MALLI VALINTA **************************



function frm3_selection_selected()
{	

	var selectionIndex = document.advancedSearcher.modelSelected.selectedIndex;
	if(selectionIndex < 0) {
		return;
	}
	
	var selectionText = document.advancedSearcher.modelSelected.options[selectionIndex].text;	
	
	if(selectionText.length > frm3_selectParentText.length && selectionText.substring(selectionText.length-frm3_selectParentText.length) == frm3_selectParentText)
	{
		var parentT = selectionText.substring(0,selectionText.length-frm3_selectParentText.length);		
		frm3_remove_selected_parent_by_parent(parentT);
	}
	else
	{
		frm3_remove_selected_child(selectionText);
	}
	//document.advancedSearcher.modelSelected.selectedIndex = -1;
}

function frm3_parent_changed(e)
{
	update_frm3_a();	
	var tOpt = new Option(messages["common.pleaseSelect"], "", false, false);		
	document.advancedSearcher.model.options.add(tOpt,0);
}

function frm3_parent_selected(e)
{
	update_frm3_a();
		
	var parentIndex = document.advancedSearcher.brand.selectedIndex;
	if(parentIndex < 1 )
	{
		frm3_keyPressed = false;		
		return true;
	}
	
	var tOpt = new Option(messages["common.pleaseSelect"], "", false, false);		
	document.advancedSearcher.model.options.add(tOpt,0);	
	
	var addOptionText = document.advancedSearcher.brand.options[parentIndex].text+frm3_selectParentText;
	if(!frm3_isAdded(addOptionText))
	{	
		
		frm3_remove_selected_child_by_parent(document.advancedSearcher.brand.options[parentIndex].text);
		document.advancedSearcher.modelSelected.options[document.advancedSearcher.modelSelected.options.length] = new Option(addOptionText,document.advancedSearcher.brand.options[parentIndex].value);		
		frm3_selectedParents[frm3_selectedParents.length] = [addOptionText, document.advancedSearcher.brand.options[parentIndex].value];
		
	}			
	
	//if(document.advancedSearcher.modelSelected.onchange)
	//{
		//document.advancedSearcher.modelSelected.onchange();
	//}
		
	
	e.returnvalue = true;
	return true;
}

function frm3_isAdded(text)
{
	for (var i = 0; i < document.advancedSearcher.modelSelected.options.length; i++)
	{
		if(document.advancedSearcher.modelSelected.options[i].text == text)
		{
	
			return true;
		}
	}
	
	return false;
}

function frm3_child_selected(e)
{	
	var childIndex = document.advancedSearcher.model.selectedIndex;
	var parentIndex = document.advancedSearcher.brand.selectedIndex;
	
	if(childIndex < 1)
	{				
		return true;
	}
	
	 
	if(childIndex == 1)
	{
		
		var addOptionText = document.advancedSearcher.brand.options[parentIndex].text+frm3_selectParentText;
		if(!frm3_isAdded(addOptionText))
		{							
			
			frm3_remove_selected_child_by_parent(document.advancedSearcher.brand.options[parentIndex].text);
		
			frm3_selectedParents[frm3_selectedParents.length] = [document.advancedSearcher.brand.options[parentIndex].text, document.advancedSearcher.brand.options[parentIndex].value];
			document.advancedSearcher.modelSelected.options[document.advancedSearcher.modelSelected.length] = new Option(document.advancedSearcher.brand.options[parentIndex].text+frm3_selectParentText,document.advancedSearcher.brand.options[parentIndex].value);
		}
	}
	
	else
	{
		
		var addOptionText = document.advancedSearcher.brand.options[parentIndex].text+" - "+document.advancedSearcher.model.options[childIndex].text.substring(4);
		if(!frm3_isAdded(addOptionText))
		{			
			
			frm3_remove_selected_parent_by_parent(document.advancedSearcher.brand.options[parentIndex].text);
	
			frm3_selectedChilds[frm3_selectedChilds.length] = [document.advancedSearcher.brand.options[parentIndex].text+" - "+document.advancedSearcher.model.options[childIndex].text.substring(4), document.advancedSearcher.model.options[childIndex].value];  
			document.advancedSearcher.modelSelected.options[document.advancedSearcher.modelSelected.length] = new Option(document.advancedSearcher.brand.options[parentIndex].text+" - "+document.advancedSearcher.model.options[childIndex].text.substring(4),document.advancedSearcher.model.options[childIndex].value);
		}
	}
	
	//document.advancedSearcher.model.selectedIndex = -1;
	document.advancedSearcher.modelSelected.selectedIndex = -1;	
}

function frm3_remove_selected_child(childText)
{	
	if(!frm3_selectedChilds || frm3_selectedChilds.length == 0)
	{
		return;
	}	
	
	
	for (var i = 0; i < frm3_selectedChilds.length; i++)
	{
		if(frm3_selectedChilds[i][0] == childText)
		{
			frm3_selectedChilds.splice(i,1);
			i--;
		}				
	}
	
	
	for (var i=0; i < document.advancedSearcher.modelSelected.options.length; i++)
	{
		if(document.advancedSearcher.modelSelected.options[i].text == childText)
		{		
			document.advancedSearcher.modelSelected.options[i] = null;
			i--;
		}
	}
}

function frm3_remove_selected_child_by_parent(parentText)
{	
	if(!frm3_selectedChilds || frm3_selectedChilds.length == 0)
	{
		return;
	}	
	
	
	for (var i = 0; i < frm3_selectedChilds.length; i++)
	{
		if(frm3_selectedChilds[i][0].substring(0,parentText.length) == parentText)
		{
			frm3_selectedChilds.splice(i,1);
			i--;
		}				
	}
	
	
	for (var i=0; i < document.advancedSearcher.modelSelected.options.length; i++)
	{
		if(document.advancedSearcher.modelSelected.options[i].text.substring(0,parentText.length) == parentText && document.advancedSearcher.modelSelected.options[i].text != parentText+frm3_selectParentText)
		{		
			document.advancedSearcher.modelSelected.options[i] = null;
			i--;
		}
	}
}

function frm3_remove_selected_parent_by_parent(parentText)
{
	if(!frm3_selectedParents || frm3_selectedParents.length == 0)
	{
		return;
	}				
	
	for (var i = 0; i < frm3_selectedParents.length; i++)
	{			
		if(frm3_selectedParents[i][0].substring(0,parentText.length) == parentText)
		{	
			frm3_selectedParents.splice(i,1);
			i--;
		}				
	}
	
	parentText = parentText+frm3_selectParentText;
	
	for (var i=0; i < document.advancedSearcher.modelSelected.options.length; i++)
	{
		if(document.advancedSearcher.modelSelected.options[i].text.substring(0,parentText.length) == parentText)
		{
			document.advancedSearcher.modelSelected.options[i] = null;
			i--;
		}
	}		
}
