 var palveluhakemisto = function() {
 
	this.language = null;
	this.fields_fi = new Array(1,2,11,9);
	this.fields_se = new Array(14,15,17,19);
	this.fields_en = new Array(13,16,18,20);
	this.texts = null;
	this.filterMapFin = {
			"Liikunta ja ulkoilu":new Array("Hiihto ja laskettelu", "Jääurheilu", "Kamppailu- ja budolajit", "Moottoriurheilu", "Palloilulajit", "Vesiurheilu", "Ratsastus ja raviurheilu",
											"Retkeily ja ulkoilu", "Tanssi ja voimistelu", "Yleisurheilu ja kuntoliikunta", "Muu liikuntatoiminta"),
			"Taide ja kulttuuri":new Array("Kirjallisuus ja sanataide", "Kotiseututyö, asukasyhdistykset ja ystävyysseurat", "Kuvataide, museot ja kokoelmat", "Käsityö, muotoilu ja rakennustaide",
											"Mediataide, elokuva ja valokuva", "Musiikki", "Tanssi", "Teatteri ja sirkus", "Muu kulttuuritoiminta")
	};
	this.filterMapSwe = {
			"Idrott och friluftsliv" : new Array("Bollsporter", "Dans och gymnastik", "Friidrott och motion", "Issport", "Kampsport och budo", "Motorsport", "Rid- och travsport", "Skidåkning", "Vandring och frilufsliv",
											"Vattensport", "Övrig idrottsverksamhet"),
			"Konst och kultur" : new Array("Bildkonst, museer och samlingar","Dans","Handarbete, formgivning och byggnadskonst", "Hembygdsarbete, invånarföreningar och vänskapsföreningar", "Litteratur och ordkonst",
											"Mediekonst, film och fotografi", "Musik", "Teater och cirkus", "Övrig kulturverksamhet")
	};
	
	this.setTexts = function() {
		for (field in this.texts) {
			var selector = "#field" + field + " .catalog_item_title";
			var translation = this.texts[field];
			$j(selector).html(translation);
		}
	};
	
	this.showFields = function(fields_to_show) {
		for(var i=0;i<fields_to_show.length;i++) {
			var selector = "#field" + fields_to_show[i];
			$j(selector).show();
		}
	};
	
	this.hideFields = function(fields_to_hide) {
		for(var i=0;i<fields_to_hide.length;i++) {
			var selector = "#field" + fields_to_hide[i];
			$j(selector).hide();
		}
	};
	
	this.setFields = function(language) {
		switch(language) {
			case "fin" : 
				this.hideFields(this.fields_en);
				this.hideFields(this.fields_se);
				this.showFields(this.fields_fi);
				break;
			case "swe" : 
				this.hideFields(this.fields_en);
				this.hideFields(this.fields_fi);
				this.showFields(this.fields_se);
				break;
			case "eng" :
				this.hideFields(this.fields_se);
				this.hideFields(this.fields_fi);
				this.showFields(this.fields_en);
				break;
			default : break;
		}
		return true;
	};
	
	this.updateTarget = function(dd_options, selector) {
		target_sel_obj = $j(selector);
		
		var target_sel = null;
		
		if(target_sel_obj[0]) target_sel = target_sel_obj[0];
		
		if(target_sel) {
			while(target_sel.childNodes.length > 0) target_sel.removeChild(target_sel.firstChild);
		
			// tyhjä alkuun
			target_sel.options[target_sel.options.length] = new Option("", "", false, false);
			for(var i=0;i<dd_options.length;i++) target_sel.options[target_sel.options.length] = new Option(dd_options[i], dd_options[i], false, false);
		}
	};
	// form filters
	this.bindFilter = function() {
			// finnish
			$j('#form_sel_2').bind("change",
				function() {
					var myvalue = this.value;
					if(!myvalue || !ph.filterMapFin[myvalue])
						dd_options = new Array();
					else
						dd_options = ph.filterMapFin[myvalue];
						
					ph.updateTarget(dd_options, "#form_sel_36");
				}
			);
			$j('#form_sel_2').change();
			// swedish
			$j('#form_sel_15').bind("change",
					function() {
						var myvalue = this.value;
						if(!myvalue || !ph.filterMapSwe[myvalue]) 
							dd_options = new Array();
						else
							dd_options = ph.filterMapSwe[myvalue];
							
						ph.updateTarget(dd_options, "#form_sel_37");
					}
			);
			$j('#form_sel_15').change();
	};
	// search filters
	this.bindSearchFilter = function(language) {
		$j('#sector_filter_cond select').bind("change",
			function() {
				var myvalue = this.value;
				
				var mymap = null;
				if(language=="fin") mymap = ph.filterMapFin;
				else mymap = ph.filterMapSwe;
				
				
				if(!myvalue || !mymap[myvalue])
						dd_options = new Array();
				else
					dd_options = mymap[myvalue];
				
				ph.updateTarget(dd_options, "#sector_filter_res select");
			}
		);
		$j('#sector_filter_cond select').change();
};

	
	this.init = function(language, texts) {
	
		this.texts = texts;
		this.setTexts();
	
	
	};
	
 
 }

