$(document).ready(function() {
	
	//Tooltippiä varten
	$('#haku_ohje_info').tooltip({
		showURL: false, 
		bodyHandler: function() {
			var guideTxt = "Voit hakea kohteita haluamistasi maista, maakunnista, kunnista, kaupunginosista, postinumeroalueilta ja kaduilta.<br/><br/>";
			guideTxt += "Kun aloitat kirjoittamaan alueen nimeä, ohjelma ehdottaa täsmääviä alueita. Ehdotuksista voit helposti valita hakuusi juuri ne alueet joista olet kiinnostunut.<br/><br/>";
			guideTxt += "Alueen voit valita mukaan hakuun klikkaamalla hiirellä ehdotusta tai siirtymällä nuolinäppäimillä sen kohdalle ja painamalla enteriä. Voit valita hakuun kerralla useita alueita, ja ne voivat olla eri tyyppisiä (kaupunginosa ja postinumero).<br/><br/>";
			guideTxt += "Mikäli haluamaasi aluetta ei löydy ehdotuksista, voit silti lisätä sen mukaan hakuun painamalla enteriä tai klikkaamalla plus-painiketta.";
			return guideTxt;
		}
	});

	$("#realty_type").dropdownchecklist({ 
		width: 115,
		textFormatFunction: function(options){
			var displayText = "";
			var selectedOptions = options.filter(":selected");
			$.each(selectedOptions, function(i,oneOption){
				if(displayText != ""){displayText += ", ";}
				if(oneOption.text == "kerrostalo-osake"){ displayText += "KT";}
				else if(oneOption.text == "omakotitalo"){ displayText += "OKT";}
				else if(oneOption.text == "rivitalo"){ displayText += "RT";}
				else if(oneOption.text == "paritalo"){ displayText += "PT";}
				else if(oneOption.text == "erillistalo"){ displayText += "ET";}
				else if(oneOption.text == "puutalo-osake"){ displayText += "PTO";}
				else if(oneOption.text == "luhtitalo"){ displayText += "LT";}
			}); //each
			if(displayText == ""){displayText="Valitse";}
			if(displayText.length > 12){
				displayText = displayText.substring(0,12) + "...";
			}//if
      		return displayText;
		} 
	});
		
	$("#roomcount").dropdownchecklist({ 
		width: 115,
		emptyText: "Valitse",
		textFormatFunction: function(options){
			var displayText = "";
			var selectedOptions = options.filter(":selected");
			$.each(selectedOptions, function(i,oneOption){
				if(displayText != ""){displayText += ", ";}
				if(oneOption.text == "yksiö"){ displayText += "1h";}
				else if(oneOption.text == "kaksio"){ displayText += "2h";}
				else if(oneOption.text == "3 huonetta"){ displayText += "3h";}
				else if(oneOption.text == "4 huonetta"){ displayText += "4h";}
				else if(oneOption.text == "yli 4 huonetta"){ displayText += "4h+";}
			}); //each
			if(displayText == ""){displayText="Valitse";}
			if(displayText.length > 12){
				displayText = displayText.substring(0,14) + "...";
			}//if
      		return displayText;
		} 
	});
			
			
	$("#realty_type_uudis").dropdownchecklist({ 
		width: 115, 
		textFormatFunction: function(options){
			var displayText = "";
			var selectedOptions = options.filter(":selected");
			$.each(selectedOptions, function(i,oneOption){
				if(displayText != ""){displayText += ", ";}
				if(oneOption.text == "kerrostalo-osake"){ displayText += "KT";}
				else if(oneOption.text == "omakotitalo"){ displayText += "OKT";}
				else if(oneOption.text == "rivitalo"){ displayText += "RT";}
				else if(oneOption.text == "paritalo"){ displayText += "PT";}
				else if(oneOption.text == "erillistalo"){ displayText += "ET";}
				else if(oneOption.text == "puutalo-osake"){ displayText += "PTO";}
				else if(oneOption.text == "luhtitalo"){ displayText += "LT";}
			}); //each
			if(displayText == ""){displayText="Valitse";}
			if(displayText.length > 12){
				displayText = displayText.substring(0,12) + "...";
			}//if
				return displayText;
			}
		});

	$("#roomcount_uudis").dropdownchecklist({ 
		width: 115, 
		emptyText: "Valitse"
	});
	
	$("#realty_type_vuokra").dropdownchecklist({ 
		width: 115, 
		textFormatFunction: function(options){
			var displayText = "";
			var selectedOptions = options.filter(":selected");
			$.each(selectedOptions, function(i,oneOption){
				if(displayText != ""){displayText += ", ";}
				if(oneOption.text == "kerrostalo"){ displayText += "KT";}
				else if(oneOption.text == "omakotitalo"){ displayText += "OKT";}
				else if(oneOption.text == "rivitalo"){ displayText += "RT";}
				else if(oneOption.text == "paritalo"){ displayText += "PT";}
			}); //each
			if(displayText == ""){displayText="Valitse";}
			if(displayText.length > 12){
				displayText = displayText.substring(0,12) + "...";
			}//if
      		return displayText;
		}
	});
		
	$("#roomcount_vuokra").dropdownchecklist({ 
		width: 115, 
		emptyText: "Valitse"
	});
	
	$("#realty_type_loma").dropdownchecklist({ 
		width: 115, 
		textFormatFunction: function(options){
			var displayText = "";
			var selectedOptions = options.filter(":selected");
			$.each(selectedOptions, function(i,oneOption){
				if(displayText != ""){displayText += ", ";}
				if(oneOption.text == "kesämökki tai huvila"){ displayText += "mökki";}
				else if(oneOption.text == "viikko-osake"){ displayText += "osake";}
				else if(oneOption.text == "lomahuoneisto"){ displayText += "huoneisto";}
			}); //each
			if(displayText == ""){displayText="Valitse";}
			if(displayText.length > 12){
				displayText = displayText.substring(0,12) + "...";
			}//if
      		return displayText;
		}
	});
	
	$("#readinesstype").dropdownchecklist({ 
		width: 115,
		emptyText: "Valitse"
	});
	
	$("#pikahaku_asunnot_div").show();
	$("#pikahakulink_asunnot").addClass("selected_itemgroup");
	
	$("#pikahaku_uudiskohteet_div").hide();
	$("#pikahakulink_uudiskohteet").removeClass("selected_itemgroup");
	
	$("#pikahaku_vuokra_asunnot_div").hide();
	$("#pikahakulink_vuokra_asunnot").removeClass("selected_itemgroup");

	$("#pikahaku_loma_asunnot_div").hide();
	$("#pikahakulink_loma_asunnot").removeClass("selected_itemgroup");
	
	$("#pikahaku_talopaketit_div").hide();
	$("#pikahakulink_talopaketit").removeClass("selected_itemgroup");
	
	$("#pikahaku_tontit_div").hide();
	$("#pikahakulink_tontit").removeClass("selected_itemgroup");
	
	//AUTOCOMPLETE ALKAA
	//attach autocomplete
	
	var areafield_default_text = "Kirjoita hakualue";
	var max_search_term_count = 5; //Tämä muuttuja löytyy myös parserista samalla arvolla!
	var search_areafield_select_loaded = false;
	
	var enableEnter=1; 			//Voiko enterillä valita (1/0)
	var searchTerms = new Array();	//Taulukko, jonne tallennetaan hakusanaobjektit
	
	var autocomplete_textinput_id = "#fs_areafield"; //alustetaan asunnot hakukenttä arvaavaksi tekstikentäksi
	var autocomplete_plusbtn_id = "#fs_plus_button"; //alustetaan asunnot hakukentän plusbtn näytettäväksi painikkeeksi
	
	//Piilotetaan alussa plusbutton -> näytetään kun kirjoitetaan kenttään.
	$(autocomplete_plusbtn_id).hide();
	
	//Yleiset funktiot
	function cleanTextField(textinputid){
		var filtered_textinput_value = $(textinputid).val().replace(/(<([^>]+)>)/ig,"").replace(/[^a-zA-Z0-9,åöäÅÖÄ\'., é-]/ig,"").replace(/^\s+|\s+$/g, "");
		return jQuery.trim(filtered_textinput_value);
	}
	
	function encodeLatin1URIComponent(str, classification){
		var bytes = "";
		if(classification == false){
			str = str.replace(/ *[,] */ig," ");
		}
	   	for (var i=0; i < str.length; i++){
			bytes+= str.charCodeAt(i)<256? str.charAt(i) : "?";
    	}
    	return escape(bytes).split("+").join("%2B");
	}
	
	//Yleiset funktiot
	
	//Valitaan teksti, joka ei ole listalla
	function selectOnEnter(){
		$( autocomplete_textinput_id ).autocomplete( "close" );
		if($( autocomplete_textinput_id ).val() != ""){
			var filtered_areafield_value = cleanTextField(autocomplete_textinput_id);
			//Tarkistetaanko onko yhdistelmä luokittuva
			var split_words = true;
			split_words = checkSearchWordsFromSolr(filtered_areafield_value);
			
			if(split_words){
				var split_words_reverse_space = true;
				if((filtered_areafield_value.split(" ").length - 1) == 1){
					//Vain yksi välilyönti -> kokeillaan, josko sana luokittuisi pilkulla
					var sana1 = filtered_areafield_value.substring(0, filtered_areafield_value.indexOf(' '));
					var sana2 = filtered_areafield_value.substring(filtered_areafield_value.indexOf(' ')+1, filtered_areafield_value.length);
					var reverse_multiple_terms = sana1 +","+sana2;
					split_words_reverse_space = checkSearchWordsFromSolr(reverse_multiple_terms);
				}
			}

			if(split_words_reverse_space && filtered_areafield_value != ""){
				if(countSearchTermsLength() < max_search_term_count){
	 				var container = new Object();
					container.parent_area_id = "";
					container.fullname = "";
					container.arealvl_id = "";
					container.area_name = "";
					container.area_id = "";
					container.area_type = "";
					container.parent1_area_name = "";
					container.parent1_arealvl_id = "";
					container.parent2_area_id = "";
					container.parent2_area_name = "";
					container.parent2_arealvl_id = "";
					container.search_word = filtered_areafield_value;
					$( autocomplete_textinput_id ).autocomplete( "close" );
					storedata( container );
				}else{
					showErrorMsg("Olet lisännyt jo maksimimäärän vapaamuotoisia hakusanoja.");	
				}
			}else{
				clearTextField();
			}
		}
	}
	
	//Valitaan teksti, joka ei ole listalla
	function selectOnEnterParameter(text_on_input){
		if(text_on_input != ""){
			var filtered_areafield_value = text_on_input.replace(/(<([^>]+)>)/ig,"").replace(/[^a-zA-Z0-9,åöäÅÖÄ., é-]/ig,"").replace(/^\s+|\s+$/g, "");
			if(filtered_areafield_value != ""){
				if(countSearchTermsLength() < max_search_term_count){
	 				var container = new Object();
					container.parent_area_id = "";
					container.fullname = "";
					container.arealvl_id = "";
					container.area_name = "";
					container.area_id = "";
					container.area_type = "";
					container.parent1_area_name = "";
					container.parent1_arealvl_id = "";
					container.parent2_area_id = "";
					container.parent2_area_name = "";
					container.parent2_arealvl_id = "";
					container.search_word = filtered_areafield_value;
					$( autocomplete_textinput_id ).autocomplete( "close" );
					storedata( container );
				}else{
					showErrorMsg("Olet lisännyt jo maksimimäärän vapaamuotoisia hakusanoja.");	
				}
			}
		}
	}
	
	//Tallennetaan tieto talteen
	function storedata( containerObject ) {
		searchTerms[searchTerms.length] = containerObject;
		processDataToString();
		drawNewSearchTermBox(containerObject);
		clearTextField();
		//cntUpdate();
	}
	
	function countSearchTermsLength(){
		var count = 0;
		$.each(searchTerms, function(i,obj){
			if(searchTerms[i] != "" && obj.search_word != ""){
				count++;
			}
		});
		return count;
	}
	
	function showErrorMsg(msgTxt){
		$("#search_term_error").html(msgTxt);
		$("#search_term_error").fadeIn(300).delay(5000).fadeOut();
	}
	
	//Tyhjennetään tekstikenttä syötteenjälkeen
	function clearTextField(){
		$(autocomplete_textinput_id).autocomplete( "disable" );
		$(autocomplete_textinput_id).val("");
		$(autocomplete_textinput_id).autocomplete( "enable" );
		$(autocomplete_plusbtn_id).show();
	}
	
	//Piirretään uusi hakutermilaatikko
	function drawNewSearchTermBox(obj){
		var sTermId = (searchTerms.length)-1;
		var textData = "";
		if(obj.fullname !=''){
			textData = obj.fullname;
		}else{
			textData = obj.search_word;
		}
		var sTerm = textData,  span = $("<span>").text(sTerm).attr({id:"term_span_"+sTermId}),  a = $("<a>").addClass("remove").attr({ href: "javascript:", title: "Poista", id:sTermId }).prepend("<img src='"+imageserver+"/static_images/etuovi-kuluttaja/v3/searchpage/valittuna_ruksi.gif' />").appendTo(span);  
       	span.insertBefore("#sb");
       	return false;
	}
	
	//Poistetaan poistettava tieto
	function removeSearchTerm(id){
		$("#search_term_error").hide();
		searchTerms[id] = "";
		processDataToString();
		//cntUpdate();
		return true;
	}
	
	function resetSearchTerm(){
		
		$.each(searchTerms, function(i,obj){
			removeBoxTerm(i)	
		});
		searchTerms.length = 0;
		processDataToString();
		return true;
	}

	//Haetaan tallennetut rajaukset arraysta ja prosessoidaan siitä string-tekstipötkö.
	function processDataToString(){
		var sAllSearchTerms = "";
		var dh;
		for(var i=0; i<searchTerms.length; i++){
			if(searchTerms[i] != ""){
				dh=searchTerms[i];
				var sOneTerm = "";
				if(sAllSearchTerms != ""){
					sOneTerm += "+";
				}
				sOneTerm += "id:"+i;
				sOneTerm += "|parent_area_id:"+dh.parent_area_id;
				sOneTerm += "|fullname:"+dh.fullname;
				sOneTerm += "|area_name:"+dh.area_name;
				sOneTerm += "|arealvl_id:"+dh.arealvl_id;
				sOneTerm += "|area_id:"+dh.area_id;
				sOneTerm += "|area_type:"+dh.area_type;
				sOneTerm += "|parent1_area_name:"+dh.parent1_area_name;
				sOneTerm += "|parent1_arealvl_id:"+dh.parent1_arealvl_id;
				sOneTerm += "|parent2_area_id:"+dh.parent2_area_id;
				sOneTerm += "|parent2_area_name:"+dh.parent2_area_name;
				sOneTerm += "|parent2_arealvl_id:"+dh.parent2_arealvl_id;
				sOneTerm += "|search_word:"+dh.search_word;
				sAllSearchTerms += sOneTerm;
			}
		}
		$("#sAllSearchTerms").val(sAllSearchTerms);
		//cntUpdate();
		//document.getElementById("sAllSearchTerms").value = sAllSearchTerms;
	}
	

	//Tallennetaan valittu itemi
	function storedataSelected( containerObject ) {
		searchTerms[searchTerms.length] = containerObject;
		processDataToString();
		drawNewSearchTermBox(containerObject);
	}
	
	//Piirretään kaikki hakutermilaatikot
	function drawSearchTermBoxes(){
		$.each(searchTerms, function(i,obj){
			var sTermId = i;
			var sTerm = obj.fullname,  span = $("<span>").text(sTerm),  a = $("<a>").addClass("remove").attr({ href: "javascript:", title: "Remove " + sTermId, id:sTermId }).prepend("<img src='"+imageserver+"/static_images/etuovi-kuluttaja/v3/searchpage/valittuna_ruksi.gif' />").appendTo(span);
        	span.insertBefore("#sb");  
		});	
	}
	
	
	$(".remove", document.getElementById("searchBoxes")).live("click", function(){
		//remove current friend
		var removeID = $(this).attr('id');
		if(removeSearchTerm(removeID)){
			$(this).parent().remove();
		}
		
		//correct 'sb' field position
		if($("#searchBoxes span").length === 0) { 
			$(autocomplete_textinput_id).css("top", 0);
		}
		//cntUpdate();
	});
	
	function removeBoxTerm(boxId){
		if(removeSearchTerm(boxId)){
			$("#term_span_"+boxId).remove();
		}
		//cntUpdate();
	}
	

	$( autocomplete_plusbtn_id ).click(function(e){
		e.preventDefault();
		if($(autocomplete_textinput_id).val() != areafield_default_text){
			//Tarkistetaan, että onko listattuna useampi hakutermi samaan pötköön
			var areafield_val = $(autocomplete_textinput_id).val();
			if(areafield_val.indexOf(",") > 0){
				selectMultipleOnEnter(areafield_val);	
			}else{
				selectOnEnter();
			}
			$(autocomplete_textinput_id).focus();
		}
	}); 
	
	function selectMultipleOnEnter(multiple_terms){
		
		//Tarkistetaanko onko yhdistelmä luokittuva
		var split_words = true;
		split_words = checkSearchWordsFromSolr(multiple_terms);
		if(split_words){
			var split_words_reverse_comma = true;
			if((multiple_terms.split(",").length - 1) == 1){
				//Vain yksi pilkku -> kokeillaan, josko sana luokittuisi sanat erijärjestyksessä
				var sana1 = multiple_terms.substring(0, multiple_terms.indexOf(','));
				var sana2 = multiple_terms.substring(multiple_terms.indexOf(',')+1, multiple_terms.length);
				var reverse_multiple_terms = sana2 +","+sana1;
				split_words_reverse_comma = checkSearchWordsFromSolr(reverse_multiple_terms);
			}
			
			if(split_words_reverse_comma){
				var multiplesearchwords = multiple_terms.split(",");
				for(var i=0; i < multiplesearchwords.length; i++ ){
					var split_words_2 = true;
					//Luokitellaan vielä splitattuna sanat erikseen
					split_words_2 = checkSearchWordsFromSolr(multiplesearchwords[i]);
					if(split_words_2){
						selectOnEnterParameter(multiplesearchwords[i]);
					}
				}
			}
		}
	}
	
	function isNumber(n) {
  		return !isNaN(parseFloat(n)) && isFinite(n);
	}

	
	function checkSearchWordsFromSolr(searchword){
		var s_container = new Object();
		var sw = searchword.replace(/(.*?)\s*,\s*(.*)/,'$1, $2');
		var is_sw_number = isNumber(sw);
		var return_boolean = true;
		var storeObject = true;
		$.ajax({
			async: false,
			url: solr_url+"/crometapp/portal/eo/realties/common/public/search/get_search_area.jsp",
			dataType: "json",
			data: {
				term: encodeLatin1URIComponent(sw.toLowerCase(), true),
				ns: "true",
				n: is_sw_number
			},
			success: function( data ) {
				var numFound = data.response.numFound * 1;
				if(numFound == 1){
					s_container.fullname = data.response.docs[0].fullname;
					s_container.arealvl_id = data.response.docs[0].arealvl_id;
					s_container.area_name = data.response.docs[0].area_name;
					s_container.area_id = data.response.docs[0].area_id;
					s_container.area_type = data.response.docs[0].area_type;
					s_container.parent_area_id = data.response.docs[0].parent_area_id;
					s_container.parent1_area_name = data.response.docs[0].parent1_area_name;
					s_container.parent1_arealvl_id = data.response.docs[0].parent1_arealvl_id;
					s_container.parent2_area_id = data.response.docs[0].parent2_area_id;
					s_container.parent2_area_name = data.response.docs[0].parent2_area_name;
					s_container.parent2_arealvl_id = data.response.docs[0].parent2_arealvl_id;
					s_container.search_word = "";
					$.each(searchTerms, function(i,obj){
						if(obj.area_id == s_container.parent_area_id){
							//Lisättävän alueen parent löytyy valituista alueista -> poistetaan epätarkempi alue
							removeBoxTerm(i);
						}
						if(obj.area_id == s_container.area_id){
							storeObject = false;
							return_boolean = false;
						}
					});
					if(storeObject){
						storedata( s_container );
						return_boolean = false;
					}
				}else{
					return_boolean = true;
				}
			}
		});
		return return_boolean;
	}
	
	
	$(autocomplete_textinput_id).autocomplete({
		delay: 300,
		minLength:2,
		source: function( request, response ) {
			$.ajax({
				url: solr_url + "/crometapp/portal/eo/realties/common/public/search/get_search_area.jsp",
				dataType: "json",
				data: {
					term: encodeLatin1URIComponent(jQuery.trim(request.term.toLowerCase()), false)
				},
				success: function( data ) {
					response( $.map( data.response.docs, function( item ) {
						return {
							label: item.fullname,
							value: item.fullname,
							fullname: item.fullname,
							arealvl_id: item.arealvl_id,
							area_name: item.area_name,
							area_id: item.area_id,
							area_type: item.area_type,
							parent_area_id: item.parent_area_id,
							parent1_area_name: item.parent1_area_name,
							parent1_arealvl_id: item.parent1_arealvl_id,
							parent2_area_id: item.parent2_area_id,
							parent2_area_name: item.parent2_area_name,
							parent2_arealvl_id: item.parent2_arealvl_id
							
						}
					}));
				}

			});
		},
		//define select handler
		select: function(e, ui) {
			$(autocomplete_plusbtn_id).hide();
			enableEnter=0;
			var container = new Object();
			var storeObject = true;
			if(document.getElementById('sAllSearchTerms').value != ""){
				$.each(searchTerms, function(i,obj){
					if(obj.area_id == ui.item.parent_area_id){
						//Kunnan maakunta valittuna jo -> maakunta poistetaan
						removeBoxTerm(i);
					}
					if(obj.area_id == ui.item.area_id){
						storeObject = false;
					}
				});
			}
			if(storeObject){
				container.parent_area_id = ui.item.parent_area_id;
				container.fullname = ui.item.fullname;
				container.arealvl_id = ui.item.arealvl_id;
				container.area_name = ui.item.area_name;
				container.area_id = ui.item.area_id;
				container.area_type = ui.item.area_type;
				container.parent1_area_name = ui.item.parent1_area_name;
				container.parent1_arealvl_id = ui.item.parent1_arealvl_id;
				container.parent2_area_id = ui.item.parent2_area_id;
				container.parent2_area_name = ui.item.parent2_area_name;
				container.parent2_arealvl_id = ui.item.parent2_arealvl_id;
				container.search_word = "";
				storedata(container);
				return false;
			}
		},
		change: function() {
			//$(autocomplete_textinput_id).css("top", 2);
			
		}
	});
	
	//Valitaan hakusana, joka ei ole listalla
	$(autocomplete_textinput_id).keypress(function(event) {
		if (event.which == '13' && enableEnter==1) {
			event.preventDefault();
			//Tarkistetaan, että onko listattuna useampi hakutermi samaan pötköön
			var areafield_val = $(autocomplete_textinput_id).val();
			if(areafield_val.indexOf(",") > 0){
				selectMultipleOnEnter(areafield_val);	
			}else{
				selectOnEnter();
			}
		}else{
			enableEnter=1;
		}
	});
	
	$(autocomplete_textinput_id).val(areafield_default_text).css("color", "#666666");
	
	$(autocomplete_textinput_id).focus(function(){
		$(autocomplete_plusbtn_id).show();
		if($(this).val() == areafield_default_text){
			$(this).val("");
		}
		$(autocomplete_textinput_id).css("color", "#000000");
		//colorChangerBlack('areafield');
	});
	
	$(autocomplete_textinput_id).blur(function(){
		
		if($(this).val() == "" ){
			$(this).val(areafield_default_text);
			$(autocomplete_plusbtn_id).hide();
		}
		$(autocomplete_textinput_id).css("color", "#666666");
		//colorChangerGrey('areafield');
	});
	
	//Vuokra-asunnot tekstikentälle oma laatikko
	$("#fs_areafield_vuokra").val(areafield_default_text).css("color", "#666666");
	$("#fs_areafield_vuokra").focus(function(){
		if($(this).val() == areafield_default_text){
			$(this).val("");
		}
		$("#fs_areafield_vuokra").css("color", "#000000");
	});
	$("#fs_areafield_vuokra").blur(function(){
		
		if($(this).val() == "" ){
			$(this).val(areafield_default_text);
			$("#fs_areafield_vuokra").css("color", "#666666");
		}
		
	});
	
	
	$("#area_selection").click(function(){
		$(autocomplete_textinput_id).focus();
	});
	
	$(".remove", document.getElementById("area_selection")).live("click", function(){
		$(this).parent().remove();
		if($("#area_selection span").length === 0) {
			$(autocomplete_textinput_id).css("top", 0);
		}				
	});
	
	//Pikahakulinkin muuttaminen lomakkeen postaukseksi hakusivulle.
	$('.linkSearchPage').click(function(e){
		e.preventDefault();
		var searchpage_url = $(this).attr("href");
		if(searchpage_url.indexOf("prefab")>= 0){
			//Ettei haku mene talopakettikoneeseen
			searchpage_url = searchpage_url + "&searchTab=advanced";
		}else{
			//Lisätään ei-lisätty paikkatieto hakuun mukaan				
			if($(autocomplete_textinput_id).val() != areafield_default_text && $(autocomplete_textinput_id).val() != ''){
				var filtered_areafield_value = cleanTextField(autocomplete_textinput_id);
				if(filtered_areafield_value.indexOf(",") > 0){
					selectMultipleOnEnter(filtered_areafield_value);	
				}else{
					selectOnEnter();
				}
			}
			//Lisätään rakennettu areadata formille
			putAreaDataToFormField();
		}
		
		//slaiderien tarkastus
		slaiderCheckOnSubmit();
		
		var theForm = $(this).closest("form");
		theForm.attr("action", searchpage_url);
		theForm.submit();
	});		
	
	//Lisätään rakennettu data formille, jotta lähtee hakuun mukaan
	function putAreaDataToFormField(){
		$('input.sAllSearchTerms').each(function() {
			var input_id = $(this).attr('id');
			$('#'+input_id).val($('#sAllSearchTerms').val());
		});
	}
	
	function slaiderCheckOnSubmit(){
		//Tarkastetaan mm. debtfreeprice_max ja debtfreeprice_min arvot pois mikäli Min./Max. ja arvot jaetaan tuhannella
		var divIdArray = ["#min_hinta", "#max_hinta", "#min_hinta_uudis", "#max_hinta_uudis", "#min_hinta_loma", "#max_hinta_loma", "#min_hinta_talopak", "#max_hinta_talopak", "#min_pinta-ala", "#max_pinta-ala", "#min_hinta_tontit", "#max_hinta_tontit"];
		$.each(divIdArray, function(i,divId){
			if($(divId).val() == "Min." || $(divId).val() == "Max." || $(divId).val() == ""){
				//Tyhjätään min.- ja Max.-arvot pois
				$(divId).val("");
			}
			else if(divId != "#min_pinta-ala" && divId != "#max_pinta-ala"){
				if($(divId).val() != 'Min.' && $(divId).val() != 'Max.'  || $(divId).val() != ""){
					//Jaetaan arvot tuhannella niin toimii luvut samanlailla kun hakusivulle
					if($(divId).val() >= 1000 ){
						$(divId).val(Math.round($(divId).val()/1000));
					}
				}
			}
		});
	}
	
	//AUTOCOMPLETE LOPPUU

	//Otetaan kiinni kaikkien lomakkeiden submitit, jotta voidaan tarkastaa arvot	
	$('.hae_pikahaku_btn').click(function(e) {
		e.preventDefault();
		var theForm = $(this).closest('form').attr('id');
		if(theForm == 'pikahakuform_vuokra-asunnot'){
			//Vuokra-asunoilla postaamiseen käytetään eri kenttää kuin se mikä on näkyvissä UTF-8-merkistön vuoksi.
			if($("#fs_areafield_vuokra").val() == areafield_default_text){
				$("#location_limit").val("");
			}else{
				//Vuokraovea varten tarvitsee muuttaa hakusana UTF-8-muotoon ja pieniksi kirjaimiksi.
				$("#location_limit").val(UTF8.encode(striptags($("#fs_areafield_vuokra").val().toLowerCase())));
			}
			if($("#min_vuokra").val() == 'Min.'){$('#min_vuokra').val("");}
			if($("#max_vuokra").val() == 'Max.'){$('#max_vuokra').val("");}
			
		}else{
			if(theForm != 'pikahakuform_talopaketit'){

				//Lisätään ei-lisätty paikkatieto hakuun mukaan				
				if($(autocomplete_textinput_id).val() != areafield_default_text && $(autocomplete_textinput_id).val() != ''){
					var filtered_areafield_value = cleanTextField(autocomplete_textinput_id);
					if(filtered_areafield_value.indexOf(",") > 0){
						selectMultipleOnEnter(filtered_areafield_value);	
					}else{
						selectOnEnter();
					}
				}
				
				//Lisätään rakennettu data formille, jotta lähtee hakuun mukaan
				putAreaDataToFormField();
				
			}
	 		
			//slaiderien tarkastus
			slaiderCheckOnSubmit();
		}
		$('#'+theForm).submit();
	});





function asunnot_change() {
	
	$("#pikahaku_asunnot_div").show();
	$("#pikahakulink_asunnot").addClass("selected_itemgroup");
	
	$("#pikahaku_uudiskohteet_div").hide();
	$("#pikahakulink_uudiskohteet").removeClass("selected_itemgroup");
	
	$("#pikahaku_vuokra_asunnot_div").hide();
	$("#pikahakulink_vuokra_asunnot").removeClass("selected_itemgroup");

	$("#pikahaku_loma_asunnot_div").hide();
	$("#pikahakulink_loma_asunnot").removeClass("selected_itemgroup");
	
	$("#pikahaku_talopaketit_div").hide();
	$("#pikahakulink_talopaketit").removeClass("selected_itemgroup");
	
	$("#pikahaku_tontit_div").hide();
	$("#pikahakulink_tontit").removeClass("selected_itemgroup");
	
	$("#pikahaku_area_selection").show();
}

function uudiskohteet_change() {
			
	$("#pikahaku_asunnot_div").hide();
	$("#pikahakulink_asunnot").removeClass("selected_itemgroup");
	
	$("#pikahaku_uudiskohteet_div").show();
	$("#pikahakulink_uudiskohteet").addClass("selected_itemgroup");
	
	$("#pikahaku_vuokra_asunnot_div").hide();
	$("#pikahakulink_vuokra_asunnot").removeClass("selected_itemgroup");

	$("#pikahaku_loma_asunnot_div").hide();
	$("#pikahakulink_loma_asunnot").removeClass("selected_itemgroup");
	
	$("#pikahaku_talopaketit_div").hide();
	$("#pikahakulink_talopaketit").removeClass("selected_itemgroup");
	
	$("#pikahaku_tontit_div").hide();
	$("#pikahakulink_tontit").removeClass("selected_itemgroup");
	
	$("#pikahaku_area_selection").show();
}

function vuokra_asunnot_change() {
	$("#pikahaku_asunnot_div").hide();
	$("#pikahakulink_asunnot").removeClass("selected_itemgroup");
	
	$("#pikahaku_uudiskohteet_div").hide();
	$("#pikahakulink_uudiskohteet").removeClass("selected_itemgroup");
	
	$("#pikahaku_vuokra_asunnot_div").show();
	$("#pikahakulink_vuokra_asunnot").addClass("selected_itemgroup");

	$("#pikahaku_loma_asunnot_div").hide();
	$("#pikahakulink_loma_asunnot").removeClass("selected_itemgroup");
	
	$("#pikahaku_talopaketit_div").hide();
	$("#pikahakulink_talopaketit").removeClass("selected_itemgroup");
	
	$("#pikahaku_tontit_div").hide();
	$("#pikahakulink_tontit").removeClass("selected_itemgroup");
	
	$("#pikahaku_area_selection").hide();

}

function loma_asunnot_change() {
	$("#pikahaku_asunnot_div").hide();
	$("#pikahakulink_asunnot").removeClass("selected_itemgroup");
	
	$("#pikahaku_uudiskohteet_div").hide();
	$("#pikahakulink_uudiskohteet").removeClass("selected_itemgroup");
	
	$("#pikahaku_vuokra_asunnot_div").hide();
	$("#pikahakulink_vuokra_asunnot").removeClass("selected_itemgroup");
	
	$("#pikahaku_loma_asunnot_div").show();
	$("#pikahakulink_loma_asunnot").addClass("selected_itemgroup");
	
	$("#pikahaku_talopaketit_div").hide();
	$("#pikahakulink_talopaketit").removeClass("selected_itemgroup");
	
	$("#pikahaku_tontit_div").hide();
	$("#pikahakulink_tontit").removeClass("selected_itemgroup");

	$("#pikahaku_area_selection").show();

}

function talopaketit_change() {
	$("#pikahaku_asunnot_div").hide();
	$("#pikahakulink_asunnot").removeClass("selected_itemgroup");
	
	$("#pikahaku_uudiskohteet_div").hide();
	$("#pikahakulink_uudiskohteet").removeClass("selected_itemgroup");
	
	$("#pikahaku_vuokra_asunnot_div").hide();
	$("#pikahakulink_vuokra_asunnot").removeClass("selected_itemgroup");

	$("#pikahaku_loma_asunnot_div").hide();
	$("#pikahakulink_loma_asunnot").removeClass("selected_itemgroup");
	
	$("#pikahaku_talopaketit_div").show();
	$("#pikahakulink_talopaketit").addClass("selected_itemgroup");
	
	$("#pikahaku_tontit_div").hide();
	$("#pikahakulink_tontit").removeClass("selected_itemgroup");

	$("#pikahaku_area_selection").hide();
}

function tontit_change() {
	$("#pikahaku_asunnot_div").hide();
	$("#pikahakulink_asunnot").removeClass("selected_itemgroup");
	
	$("#pikahaku_uudiskohteet_div").hide();
	$("#pikahakulink_uudiskohteet").removeClass("selected_itemgroup");
	
	$("#pikahaku_vuokra_asunnot_div").hide();
	$("#pikahakulink_vuokra_asunnot").removeClass("selected_itemgroup");

	$("#pikahaku_loma_asunnot_div").hide();
	$("#pikahakulink_loma_asunnot").removeClass("selected_itemgroup");
	
	$("#pikahaku_talopaketit_div").hide();
	$("#pikahakulink_talopaketit").removeClass("selected_itemgroup");
	
	$("#pikahaku_tontit_div").show();
	$("#pikahakulink_tontit").addClass("selected_itemgroup");
	
	$("#pikahaku_area_selection").show();

}


//	$(function() {
		
		
		
		//linkit
		$("#pikahakulink_asunnot").click(function(){ asunnot_change(); });
		$("#pikahakulink_uudiskohteet").click(function(){ uudiskohteet_change(); });
		$("#pikahakulink_vuokra_asunnot").click(function(){ vuokra_asunnot_change(); });
		$("#pikahakulink_loma_asunnot").click(function(){ loma_asunnot_change(); });
		$("#pikahakulink_talopaketit").click(function(){ talopaketit_change(); });
		$("#pikahakulink_tontit").click(function(){ tontit_change(); });
		
		var prices_array = ['Min.', 20000, 40000, 60000, 80000, 100000, 110000, 120000, 130000, 140000, 150000, 160000, 170000, 180000, 190000, 200000, 210000, 220000, 230000, 240000, 250000, 260000, 270000, 280000, 290000, 300000, 350000, 400000, 450000, 500000, 550000, 600000, 700000, 800000, 900000, 1000000, 'Max.'];
		var init_min_asunnot = 0;
		var init_max_asunnot = prices_array.length - 1;
		
		var prices_vacation_array = ['Min.', 20000, 40000, 60000, 80000, 100000, 110000, 120000, 130000, 140000, 150000, 160000, 170000, 180000, 190000, 200000, 210000, 220000, 230000, 240000, 250000, 260000, 270000, 280000, 290000, 300000, 350000, 400000, 450000, 500000, 550000, 600000, 'Max.'];
		var init_min_loma = 0;
		var init_max_loma = prices_vacation_array.length - 1;
		
		var prices_prefab_array = ['Min.', 50000, 60000, 70000, 80000, 90000, 100000, 110000, 120000, 130000, 140000, 150000, 160000, 170000, 180000, 190000, 200000, 'Max.'];
		var init_min_talop = 0;
		var init_max_talop = prices_prefab_array.length - 1;
		
		var area_plots_array = ['Min.', 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3500, 4000, 4500, 5000, 5500, 6000, 6500, 7000, 7500, 8000, 8500, 9000, 9500, 10000, 'Max.'];
		var prices_plots_array = ['Min.', 10000, 20000, 30000, 40000, 50000, 60000, 70000, 80000, 90000, 100000, 110000, 120000, 130000, 140000, 150000, 160000, 170000, 180000, 190000, 200000, 'Max.'];
		var init_min_area_plots = 0;
		var init_max_area_plots = area_plots_array.length - 1;
		var init_min_price_plots = 0;
		var init_max_price_plots = prices_plots_array.length - 1;
		
		//Muodostetaan vuokralle taulukko
		var min_vuokra = 300;
		var max_vuokra = 1500;
		var init_step_vuokra = 25;
		var prices_rent_array = new Array();
		prices_rent_array[0] = 'Min.';
		var current_price =  min_vuokra;
		var indeksi=1;
		while( current_price <= max_vuokra){
			prices_rent_array[indeksi] = current_price;
			indeksi++;
			current_price = current_price + init_step_vuokra;
		}
		prices_rent_array[prices_rent_array.length] = "Max.";
		var init_min_vuokra = 0;
		var init_max_vuokra = prices_rent_array.length - 1;
		
		
		//ASUNNOT
		$('#slider-hinta').slider({
			range: true,
			min: init_min_asunnot, 
			max: init_max_asunnot,
			step: 1,
			values: [init_min_asunnot, init_max_asunnot],
			slide: function( event, ui ) {
				$( "#min_hinta" ).val(prices_array[ui.values[ 0 ]]);
				$( "#max_hinta" ).val(prices_array[ui.values[ 1 ]]);
			}
		});
		
		$( "#min_hinta" ).val( prices_array[init_min_asunnot] );
		$( "#max_hinta" ).val( prices_array[init_max_asunnot] );
		slaiderLeftRightClass("slider-hinta");
		
		//UUDISKOHTEET
		$( "#slider-hinta_uudis" ).slider({
			range: true,
			min: init_min_asunnot,
			max: init_max_asunnot,
			step: 1,
			values: [init_min_asunnot, init_max_asunnot],
			slide: function( event, ui ) {
				$( "#min_hinta_uudis" ).val( prices_array[ui.values[ 0 ]] );
				$( "#max_hinta_uudis" ).val( prices_array[ui.values[ 1 ]] );
			}
		});
		$( "#min_hinta_uudis" ).val( prices_array[init_min_asunnot] );
		$( "#max_hinta_uudis" ).val( prices_array[init_max_asunnot] );
		slaiderLeftRightClass("slider-hinta_uudis");

		
		//VUOKRAKOHTEET
		$( "#slider-vuokra" ).slider({
			range: true,
			min: init_min_vuokra,
			max: init_max_vuokra,
			step: 1,
			values: [init_min_vuokra, init_max_vuokra],
			slide: function( event, ui ) {
				$( "#min_vuokra" ).val( prices_rent_array[ui.values[ 0 ]] );
				$( "#max_vuokra" ).val( prices_rent_array[ui.values[ 1 ]] );
			}
		});
		$( "#min_vuokra" ).val( prices_rent_array[init_min_vuokra] );
		$( "#max_vuokra" ).val( prices_rent_array[init_max_vuokra] );
		slaiderLeftRightClass("slider-vuokra");

		//LOMA-ASUNNOT
		$( "#slider-hinta-loma" ).slider({
			range: true,
			min: init_min_loma, 
			max: init_max_loma,
			step: 1,
			values: [init_min_loma, init_max_loma],
			slide: function( event, ui ) {
				$( "#min_hinta_loma" ).val(prices_vacation_array[ui.values[ 0 ]]);
				$( "#max_hinta_loma" ).val(prices_vacation_array[ui.values[ 1 ]]);
			}
		});
		$( "#min_hinta_loma" ).val( prices_vacation_array[init_min_loma] );
		$( "#max_hinta_loma" ).val( prices_vacation_array[init_max_loma] );
		slaiderLeftRightClass("slider-hinta-loma");

		//TALOPAKETIT
		$( "#slider-hinta-talopak" ).slider({
			range: true,
			min: init_min_talop, 
			max: init_max_talop,
			step: 1,
			values: [init_min_talop, init_max_talop],
			slide: function( event, ui ) {
				$( "#min_hinta_talopak" ).val(prices_prefab_array[ui.values[ 0 ]]);
				$( "#max_hinta_talopak" ).val(prices_prefab_array[ui.values[ 1 ]]);
			}
		});
		$( "#min_hinta_talopak" ).val( prices_prefab_array[init_min_talop] );
		$( "#max_hinta_talopak" ).val( prices_prefab_array[init_max_talop] );
		slaiderLeftRightClass("slider-hinta-talopak");
	
		//TONTIT PINTA-ALA
		$( "#slider-pinta-ala" ).slider({
			range: true,
			min: init_min_area_plots, 
			max: init_max_area_plots,
			step: 1,
			values: [init_min_area_plots, init_max_area_plots],
			slide: function( event, ui ) {
				$( "#min_pinta-ala" ).val(area_plots_array[ui.values[ 0 ]]);
				$( "#max_pinta-ala" ).val(area_plots_array[ui.values[ 1 ]]);
			}
		});
		$( "#min_pinta-ala" ).val( area_plots_array[init_min_area_plots] );
		$( "#max_pinta-ala" ).val( area_plots_array[init_max_area_plots] );
		slaiderLeftRightClass("slider-pinta-ala");
	
		//TONTIT HINTA
		$( "#slider-hinta-tontit" ).slider({
			range: true,
			min: init_min_price_plots, 
			max: init_max_price_plots,
			step: 1,
			values: [init_min_price_plots, init_max_price_plots],
			slide: function( event, ui ) {
				$( "#min_hinta_tontit" ).val(prices_plots_array[ui.values[ 0 ]]);
				$( "#max_hinta_tontit" ).val(prices_plots_array[ui.values[ 1 ]]);
			}
		});
		$( "#min_hinta_tontit" ).val( prices_plots_array[init_min_price_plots] );
		$( "#max_hinta_tontit" ).val( prices_plots_array[init_max_price_plots] );
		slaiderLeftRightClass("slider-hinta-tontit");
		
		$('#min_hinta').keyup( function(event) { $('#min_hinta').val(jQuery.trim($('#min_hinta').val())); updateSlider("slider-hinta", 0, "min_hinta", "max_hinta", "prices_array"); }).focusout(function(){ checkSliderData(0, "slider-hinta", "min_hinta", "max_hinta");}).focusin(function(){clearField("min_hinta");});
		$('#max_hinta').keyup( function(event) { $('#max_hinta').val(jQuery.trim($('#max_hinta').val())); updateSlider("slider-hinta", 1, "min_hinta", "max_hinta", "prices_array"); }).focusout(function(){ checkSliderData(1, "slider-hinta", "min_hinta", "max_hinta");}).focusin(function(){clearField("max_hinta");});
		
		$('#min_hinta_uudis').keyup(function(event) { $('#min_hinta_uudis').val(jQuery.trim($('#min_hinta_uudis').val())); updateSlider("slider-hinta_uudis", 0, "min_hinta_uudis", "max_hinta_uudis", "prices_array"); }).focusout(function(){ checkSliderData(0, "slider-hinta_uudis", "min_hinta_uudis", "max_hinta_uudis");}).focusin(function(){clearField("min_hinta_uudis");});
		$('#max_hinta_uudis').keyup(function(event) { $('#max_hinta_uudis').val(jQuery.trim($('#max_hinta_uudis').val())); updateSlider("slider-hinta_uudis", 1, "min_hinta_uudis", "max_hinta_uudis", "prices_array"); }).focusout(function(){ checkSliderData(1, "slider-hinta_uudis", "min_hinta_uudis", "max_hinta_uudis");}).focusin(function(){clearField("max_hinta_uudis");});
		
		$('#min_vuokra').keyup(function(event) { $('#min_vuokra').val(jQuery.trim($('#min_vuokra').val())); updateSlider("slider-vuokra", 0, "min_vuokra", "max_vuokra", "prices_rent_array"); }).focusout(function(){ checkSliderData(0, "slider-vuokra", "min_vuokra", "max_vuokra");}).focusin(function(){clearField("min_vuokra");});
		$('#max_vuokra').keyup(function(event) { $('max_vuokra').val(jQuery.trim($('#max_vuokra').val())); updateSlider("slider-vuokra", 1, "min_vuokra", "max_vuokra", "prices_rent_array"); }).focusout(function(){ checkSliderData(1, "slider-vuokra", "min_vuokra", "max_vuokra");}).focusin(function(){clearField("max_vuokra");});
		
		$('#min_hinta_loma').keyup(function(event) { $('#min_hinta_loma').val(jQuery.trim($('#min_hinta_loma').val())); updateSlider("slider-hinta-loma", 0, "min_hinta_loma", "max_hinta_loma", "prices_vacation_array"); }).focusout(function(){ checkSliderData(0, "slider-hinta-loma", "min_hinta_loma", "max_hinta_loma");}).focusin(function(){clearField("min_hinta_loma");});
		$('#max_hinta_loma').keyup(function(event) { $('#max_hinta_loma').val(jQuery.trim($('#max_hinta_loma').val())); updateSlider("slider-hinta-loma", 1, "min_hinta_loma", "max_hinta_loma", "prices_vacation_array"); }).focusout(function(){ checkSliderData(1, "slider-hinta-loma", "min_hinta_loma", "max_hinta_loma");}).focusin(function(){clearField("max_hinta_loma");});
		
		$('#min_hinta_talopak').keyup(function(event) { $('#min_hinta_talopak').val(jQuery.trim($('#min_hinta_talopak').val())); pdateSlider("slider-hinta-talopak", 0, "min_hinta_talopak", "max_hinta_talopak", "prices_prefab_array"); }).focusout(function(){ checkSliderData(0, "slider-hinta-talopak", "min_hinta_talopak", "max_hinta_talopak");}).focusin(function(){clearField("min_hinta_talopak");});
		$('#max_hinta_talopak').keyup(function(event) { $('#max_hinta_talopak').val(jQuery.trim($('#max_hinta_talopak').val())); updateSlider("slider-hinta-talopak", 1, "min_hinta_talopak", "max_hinta_talopak", "prices_prefab_array"); }).focusout(function(){ checkSliderData(1, "slider-hinta-talopak", "min_hinta_talopak", "max_hinta_talopak");}).focusin(function(){clearField("max_hinta_talopak");});
		
		$('#min_pinta-ala').keyup(function(event) { updateSlider("slider-pinta-ala", 0, "min_pinta-ala", "max_pinta-ala", "area_plots_array"); }).focusout(function(){ checkSliderData(0, "slider-pinta-ala", "min_pinta-ala", "max_pinta-ala");}).focusin(function(){clearField("min_pinta-ala");});
		$('#max_pinta-ala').keyup(function(event) { updateSlider("slider-pinta-ala", 1, "min_pinta-ala", "max_pinta-ala", "area_plots_array"); }).focusout(function(){ checkSliderData(1, "slider-pinta-ala", "min_pinta-ala", "max_pinta-ala");}).focusin(function(){clearField("max_pinta-ala");});
		
		$('#min_hinta_tontit').keyup(function(event) { $('#min_hinta_tontit').val(jQuery.trim($('#min_hinta_tontit').val())); updateSlider("slider-hinta-tontit", 0, "min_hinta_tontit", "max_hinta_tontit", "prices_plots_array"); }).focusout(function(){ checkSliderData(0, "slider-hinta-tontit", "min_hinta_tontit", "max_hinta_tontit");}).focusin(function(){clearField("min_hinta_tontit");});
		$('#max_hinta_tontit').keyup(function(event) { $('#max_hinta_tontit').val(jQuery.trim($('#max_hinta_tontit').val())); updateSlider("slider-hinta-tontit", 1, "min_hinta_tontit", "max_hinta_tontit", "prices_plots_array"); }).focusout(function(){ checkSliderData(1, "slider-hinta-tontit", "min_hinta_tontit", "max_hinta_tontit");}).focusin(function(){clearField("max_hinta_tontit");});
		

		
		function clearField(inputId){
			if($("#"+inputId).val() == 'Min.' || $("#"+inputId).val() == 'Max.'){
				$("#"+inputId).val("");
			}
		}
		
		function updateSlider(sliderId, minmax, minId, maxId, arrayName){
			//Slaiderit liikkumaan tekstikenttään syötetyillä numeroilla
			var arrayOfValues = eval(arrayName);
			
			var minSliderValue = $("#"+sliderId).slider( "values" , 0);
			var maxSliderValue = $("#"+sliderId).slider( "values" , 1);
			var minTextValue = $("#"+minId).val();
			var maxTextValue = $("#"+maxId).val();
			var userValue;
			
			if(minmax == 0){ userValue=minTextValue; }
			else{ userValue=maxTextValue; }
						
			var sliderPosition;
			if(minmax == 0 && maxTextValue != "Max." && userValue > maxTextValue*1 ){
				//minimi suurempi kuin maksimi -> ei liikuteta slideriä
			}else if(minmax == 1 && maxTextValue != "Min." && userValue < minTextValue*1 ){
				//maksimi pienempi kuin minimi -> ei liikuteta slideriä
			}else{
				var sliderMaxValue = arrayOfValues[arrayOfValues.length -2];
				var sliderMaxPosition = arrayOfValues.length;
				
				//Siirretään slideriä
				if(userValue*1 < arrayOfValues[1]*1){
					sliderPosition=0;
				}else if(userValue*1 > sliderMaxValue*1){
					sliderPosition=sliderMaxPosition;
				}else{
					for(var i=2; i<=arrayOfValues.length-2; i++){
						if((sliderPosition != "") && (arrayOfValues[i-1] <= userValue && userValue <= arrayOfValues[i])){
							if(minmax == 0){
								sliderPosition=i;
							}else{
								//Mikäli samat niin maksimi hieman oikeammalla
								sliderPosition=i+1;
							}
						}
					}
				}
				if(minmax==0){
					$("#"+sliderId).slider( "values" , [sliderPosition,maxSliderValue]);
				}else if(minmax==1){
					$("#"+sliderId).slider( "values" , [minSliderValue,sliderPosition]);
				}
			}
		}
		//jos arvot väärin päin, niin edellisen arvon mukaan laitetaan kummatkin nuolet!!
		function checkSliderData(minmax, sliderId, minTextId, maxTextId){
			var minArvo = $("#"+minTextId).val();
			var maxArvo = $("#"+maxTextId).val();
			if(minArvo != "Min." && maxArvo != "Max."){
				if(minArvo*1 > maxArvo*1){
					//Arvot väärin, korjataan samaksi
					var minValue = $("#"+sliderId).slider( "values" , 0);
					var maxValue = $("#"+sliderId).slider( "values" , 1);
					if(minmax==0){
						$("#"+sliderId).slider( "values" , [maxValue,maxValue+1]);
						$("#"+minTextId).val(maxArvo);
					}else if(minmax==1){
						$("#"+sliderId).slider( "values" , [minValue,minValue+1]);
						$("#"+maxTextId).val(minArvo);
					}
				}
			}
		}

	//}); //function
	
	function slaiderLeftRightClass(slaiderid){
		$("#"+slaiderid).children(".ui-slider-handle")
			.filter(":first").addClass("ui-slider-handle-left").removeClass("ui-state-default").end()
			.filter(":last").addClass("ui-slider-handle-right").removeClass("ui-state-default").end();
	}
	
	function striptags(inputValue){
		return 	inputValue.replace(/(<([^>]+)>)/ig,"").replace(/[\;\:\'\"\(\)\[\]\{\}\&\#\*\%\\]/g,"");
	}

	
	UTF8 = {
		encode: function(s){
			for(var c, i = -1, l = (s = s.split("")).length, o = String.fromCharCode; ++i < l;
				s[i] = (c = s[i].charCodeAt(0)) >= 127 ? o(0xc0 | (c >>> 6)) + o(0x80 | (c & 0x3f)) : s[i]
			);
			return s.join("");
		},
		decode: function(s){
			for(var a, b, i = -1, l = (s = s.split("")).length, o = String.fromCharCode, c = "charCodeAt"; ++i < l;
				((a = s[i][c](0)) & 0x80) &&
				(s[i] = (a & 0xfc) == 0xc0 && ((b = s[i + 1][c](0)) & 0xc0) == 0x80 ?
				o(((a & 0x03) << 6) + (b & 0x3f)) : o(128), s[++i] = "")
			);
			return s.join("");
		}
	};
	
}); //ready function
