window.addEvent('domready', function()
{
	var arr_rb;
	var arr_cb;
	var num_rb;
	var num_cb;
	var area;
	var arr_areas = new Array('','Allgemein','Services','Aussehen','Kategorien','Sprachen');
	
	for (var i=2; i<=5; i++)
	{
		arr_cb = $('area'+arr_areas[i]).getElements('input');
		num_cb = arr_cb.length;
		area   = 'area'+arr_areas[i];
		
		for (var j=0; j<num_cb; j++)
		{
			if (arr_cb[j].type == 'checkbox')
			{
				arr_cb[j].addEvent('click', checkIt.pass([arr_cb[j], area]));
			}
		}
	}
	
	$('DetailedSearchSizeFrom').addEvent('change', function()
	{
		if (this.value > $('DetailedSearchSizeUntil').value)
		{
			$('DetailedSearchSizeUntil')[this.selectedIndex].selected = true;
		}
	});
	
	$('DetailedSearchSizeUntil').addEvent('change', function()
	{
		if (this.value < $('DetailedSearchSizeFrom').value)
		{
			$('DetailedSearchSizeFrom')[this.selectedIndex].selected = true;
		}
	});
	
	$('DetailedSearchAgeFrom').addEvent('change', function()
	{
		if (this.value > $('DetailedSearchAgeUntil').value)
		{
			$('DetailedSearchAgeUntil')[this.selectedIndex].selected = true;
		}
	});
	
	$('DetailedSearchAgeUntil').addEvent('change', function()
	{
		if (this.value < $('DetailedSearchAgeFrom').value)
		{
			$('DetailedSearchAgeFrom')[this.selectedIndex].selected = true;
		}
	});
});

function initDetailSearch()
{	
	try{
		var researchFlag = document.getElementById('fromResults');
		
		if(researchFlag.value == 'true'){
			if(true){	
				//researchFlag.value = 'false';
				
				var areas = new Array('areaAussehen','areaKategorien','areaSprachen');
				var areaAnz = areas.length;
				
				for(var j = 0; j < areaAnz; j++){
					var felder = $(areas[j]).getElements('input');
					var anzahl = felder.length;
									
					for(var i = 0; i < anzahl; i++){
						
						checkIt(felder[i], areas[j]);
					}
					var tmp = areas[j].replace(/area/,'hidden');
					document.getElementById(tmp).setStyle('display','none');
				}
				
				//document.getElementById('hiddenAussehen').setStyle('display','none');
				//document.getElementById('hiddenKategorien').setStyle('display','none');
				//document.getElementById('hiddenSprachen').setStyle('display','none');
				
				return true;
			}
		}
	}catch(e){
		
	}
	
	toggleArea($('tabAussehen'));
	toggleArea($('tabKategorien'));
	toggleArea($('tabSprachen'));
	
	$('DetailedSearchServicesalle').checked = true;
	checkIt($('DetailedSearchServicesalle'), 'areaServices');
	
	$('DetailedSearchEthnicGroupalle').checked = true;
	checkIt($('DetailedSearchEthnicGroupalle'), 'areaAussehen');
	
	$('DetailedSearchShapealle').checked = true;
	checkIt($('DetailedSearchShapealle'), 'areaAussehen');
	
	$('DetailedSearchChestSizealle').checked = true;
	checkIt($('DetailedSearchChestSizealle'), 'areaAussehen');
	
	$('DetailedSearchHaircoloralle').checked = true;
	checkIt($('DetailedSearchHaircoloralle'), 'areaAussehen');
	
	$('DetailedSearchShavealle').checked = true;
	checkIt($('DetailedSearchShavealle'), 'areaAussehen');
	
	$('DetailedSearchCategoryalle').checked = true;
	checkIt($('DetailedSearchCategoryalle'), 'areaKategorien');
	
	$('DetailedSearchLanguagealle').checked = true;
	checkIt($('DetailedSearchLanguagealle'), 'areaSprachen');
}

function resetDetailSearch()
{
	$('DetailedSearchCityplz').value = '';
	$('DetailedSearchName').value = '';
	$('DetailedSearchVisiting').selectedIndex = 0;
	$('DetailedSearchUumkreis').selectedIndex = 0;
	
	$('ansicht_galerie').checked = true;
	
	$('DetailedSearchSizeFrom').selectedIndex = 0;
	$('DetailedSearchSizeUntil').selectedIndex = 0;
	
	$('DetailedSearchAgeFrom').selectedIndex = 0;
	$('DetailedSearchAgeUntil').selectedIndex = 0;
	
	$('DetailedSearchServicesalle').checked = true;
	checkIt($('DetailedSearchServicesalle'), 'areaServices');
	
	$('DetailedSearchEthnicGroupalle').checked = true;
	checkIt($('DetailedSearchEthnicGroupalle'), 'areaAussehen');
	
	$('DetailedSearchShapealle').checked = true;
	checkIt($('DetailedSearchShapealle'), 'areaAussehen');
	
	$('DetailedSearchChestSizealle').checked = true;
	checkIt($('DetailedSearchChestSizealle'), 'areaAussehen');
	
	$('DetailedSearchHaircoloralle').checked = true;
	checkIt($('DetailedSearchHaircoloralle'), 'areaAussehen');
	
	$('DetailedSearchShavealle').checked = true;
	checkIt($('DetailedSearchShavealle'), 'areaAussehen');
	
	$('DetailedSearchCategoryalle').checked = true;
	checkIt($('DetailedSearchCategoryalle'), 'areaKategorien');
	
	$('DetailedSearchLanguagealle').checked = true;
	checkIt($('DetailedSearchLanguagealle'), 'areaSprachen');
}

function checkIt(_this, area)
{
	var arr_cb;
	var num_cb;
	
	if (_this.value == 'alle')
	{
		var parentId = _this.id.replace(/alle/, '');
		
		arr_cb = $(area).getElements('input');
		num_cb = arr_cb.length;
		
		for (var i=0; i<num_cb; i++)
		{
			if (arr_cb[i].value == 'alle')
			{
				if (arr_cb[i].checked)
				{
					arr_cb[i].getParent().addClass('sel');
				}
				else
				{
					arr_cb[i].getParent().removeClass('sel');
				}
			}
			else
			{
				if (arr_cb[i].type == 'checkbox' && arr_cb[i].id.indexOf(parentId) != -1)
				{
					if (_this.checked)
					{
						arr_cb[i].checked = false;
						arr_cb[i].getParent().removeClass('sel');
						arr_cb[i].disabled = false;
						
						arr_cb[i].addEvent('click', uncheckIt.pass([_this.id]));
					}
					else
					{
						arr_cb[i].disabled = false;
					}
				}
			}
		}
	}
	else
	{
		if (_this.checked)
		{
			_this.getParent().addClass('sel');
		}
		else
		{
			_this.getParent().removeClass('sel');
		}
	}
}

function uncheckIt(parentId)
{
	$(parentId).checked = false;
	$(parentId).getParent().removeClass('sel');
}

function toggleArea(_this)
{
	var num	   = _this.id.replace(/tab/,'');	
	var area   = $('area'+num);
	var hidden = $('hidden'+num);
	var src    = _this.getElement('img').src;
	
	if (hidden.getStyle('display') == 'none')
	{
		area.setStyle('display','none');
		hidden.setStyle('display','block');
		
		_this.getElement('img').src = src.replace(/_close/, '_open');
	}
	else
	{
		hidden.setStyle('display','none');
		area.setStyle('display','block');
		
		_this.getElement('img').src = src.replace(/_open/, '_close');
	}
}
