// Maklarhuset.Web.ObjektSearchCommand.GetObjektDetails(id, ExpandObjektInfo_Callback)
var globalCommandObject
function AdvancedSearchToggled()
{		
	var elmSearchArea = document.getElementById("searchArea");
	var txtSearchString = document.getElementById("txtSearchString");
	
	if ( elmSearchArea.className == "advancedSearchOpen" )
	{		
		txtSearchString.className = "disabled";
		var searchDetails = Maklarhuset.Web.ObjektSearchCommand.GetSearchDetailsByString(txtSearchString.value).value;
		
		
		if (searchDetails)
		{
			updateSearchInfo(searchDetails);
		}
		
		txtSearchString.onclick = toggleAdvancedSearch;	
	}
	else
	{
		txtSearchString.className = "";
		txtSearchString.onclick = "";
	}
}

function ObjektvisionSearchToggled()
{		
	var elmSearchArea = document.getElementById("searchArea");
	var txtSearchString = document.getElementById("txtSearchString");
	
	if ( elmSearchArea.className == "ObjektvisionSearchOpen" )
	{
		txtSearchString.className = "disabled";
		txtSearchString.onclick = toggleObjektvisionAdvancedSearch;	
	}
	else
	{
		txtSearchString.className = "";
		txtSearchString.onclick = "";
	}
}

function resetSearch() {
	var searchDetails = Maklarhuset.Web.ObjektSearchCommand.GetSearchDetailsByString("").value;
	arrKommuner.length = 0;
	if (searchDetails)
	{				
		updateSearchInfo(searchDetails);
	}
	slider1.resetSliders();
	slider2.resetSliders();
	slider3.resetSliders();
	var objKommunSpan = document.getElementById("selectedKommun");
	var objLanSpan = document.getElementById("selectedLan");
	objKommunSpan.innerHTML = "";
	objLanSpan.innerHTML = "";
}

function updateSearchInfo(searchDetails)
{
	globalCommandObject = searchDetails.SearchCommand;
	
	var searchHitCountArea = document.getElementById("searchHitCountArea");
	var searchHitCountRefineArea = document.getElementById("searchHitCountRefineArea");
	//if (searchDetails.HitCount < 300)
	//{
		var searchHitCount = document.getElementById("searchHitCount");
		searchHitCount.innerHTML = searchDetails.HitCount;
		searchHitCountArea.style.display = "";
		searchHitCountRefineArea.style.display = "none";
	//}
	//else
	//{
	//	searchHitCountArea.style.display = "none";
	//	searchHitCountRefineArea.style.display = "";
	//}
	
	
	var arrBostadstypInputs = document.getElementById("searchTyp").getElementsByTagName("input");
	for(var i = 0; i < arrBostadstypInputs.length; i++ )
	{
		arrBostadstypInputs[i].checked = false;
	}
	for(var i = 0; i < searchDetails.SearchCommand.BostadsTyper.length; i++)
	{			
		document.getElementById("chkBostadstyp" + searchDetails.SearchCommand.BostadsTyper[i]).checked = true;
	}
	
	
	//######
	if(searchDetails.SearchCommand.NyProduktion=="Nyproduktion")
	    document.getElementById("chkNyproduktion").checked = true;
	 else
	    document.getElementById("chkNyproduktion").checked = false;
	 
	
	
	var objKommunSpan = document.getElementById("selectedKommun");
	var objLanSpan = document.getElementById("selectedLan");
	
	if(searchDetails.SearchCommand.Kommuner.length > 0 || arrKommuner.length > 0)
	{
		if(arrKommuner.length > 0)
		{
			objKommunSpan.innerHTML = "";
			for(var i = 0; i < searchDetails.SearchCommand.Kommuner.length; i++)
			{
				arrKommuner[i] = searchDetails.SearchCommand.Kommuner[i];
				objKommunSpan.innerHTML += document.getElementById("k" + arrKommuner[i]).innerHTML + ", ";
			}
			if(objKommunSpan.innerHTML.substr(objKommunSpan.innerHTML.length-2,2) == ", ")
			{
				objKommunSpan.innerHTML = objKommunSpan.innerHTML.substr(0, objKommunSpan.innerHTML.length-2)
			}
			//Fix for Safari
			if(objKommunSpan.innerHTML.substr(objKommunSpan.innerHTML.length-1,1) == ",")
			{
				objKommunSpan.innerHTML = objKommunSpan.innerHTML.substr(0, objKommunSpan.innerHTML.length-1)
			}
		}
		else
		{
			
			objKommunSpan.innerHTML = "";
			for(var i = 0; i < searchDetails.SearchCommand.Kommuner.length; i++)
			{
				arrKommuner[i] = searchDetails.SearchCommand.Kommuner[i];
				objKommunSpan.innerHTML += document.getElementById("k" + arrKommuner[i]).innerHTML + ", ";
			}
			if(objKommunSpan.innerHTML.substr(objKommunSpan.innerHTML.length-2,2) == ", ")
			{
				objKommunSpan.innerHTML = objKommunSpan.innerHTML.substr(0, objKommunSpan.innerHTML.length-2)
			}
			//Fix for Safari
			if(objKommunSpan.innerHTML.substr(objKommunSpan.innerHTML.length-1,1) == ",")
			{
				objKommunSpan.innerHTML = objKommunSpan.innerHTML.substr(0, objKommunSpan.innerHTML.length-1)
			}
		}
		
		// Kolla länId från kommuner
		if(arrKommuner.length > 0)
		{
			kommuner = arrKommuner;
			kommunId = arrKommuner[0];
			kommunLI = document.getElementById("k" + kommunId);
			strLanId = kommunLI.parentNode.parentNode.id.substring(15);
		}
		else
		{
			kommuner = searchDetails.SearchCommand.Kommuner;
			searchDetails.SearchCommand.Kommuner[0];
			kommunLI = document.getElementById("k" + kommunId);
			strLanId = kommunLI.parentNode.parentNode.id.substring(15);
		}
		
		
		if(searchDetails.SearchCommand.Lan)
		{
			if(searchDetails.SearchCommand.Lan != strLanId)
			{
				objKommunSpan.innerHTML = "";
				objLanSpan.innerHTML = document.getElementById("l" + searchDetails.SearchCommand.Lan).innerHTML;
				strLanId = searchDetails.SearchCommand.Lan;
				arrKommuner.length = 0;
			}
			/*strLanId = searchDetails.SearchCommand.Lan;*/
		}
		else
		{
			document.getElementById("selectedLan").innerHTML = document.getElementById("l" + strLanId).innerHTML;
			searchDetails.SearchCommand.Lan = strLanId;
		}
		
		
	}
	else
	{		
		if (searchDetails.SearchCommand.Lan)
		{
			objLanSpan.innerHTML = document.getElementById("l" + searchDetails.SearchCommand.Lan).innerHTML;
			strLanId = searchDetails.SearchCommand.Lan;
		}
	}
	
	var kommunSelector = document.getElementById("kommunSelector");
	if(strLanId)
	{			
		kommunSelector.className = "selectArea";
	}
	else
	{
		kommunSelector.className = "selectArea selectAreaDisabled";
	}
			
	/*
			if(searchDetails.SearchCommand.Kommuner || arrKommuner.length > 0)
			{
				if(arrKommuner.length > 0)
				{
					
				}
				else
				{
					kommunId = searchDetails.SearchCommand.Kommuner;
				}
			}
			
	*/
	
	
	
	
	if(searchDetails.SearchCommand.AntalRumMin)
		document.getElementById("antalRumMin").value = searchDetails.SearchCommand.AntalRumMin + " rum";
	if(searchDetails.SearchCommand.AntalRumMax)
		document.getElementById("antalRumMax").value = searchDetails.SearchCommand.AntalRumMax + " rum";
	if(searchDetails.SearchCommand.BoYtaMin)
		document.getElementById("boYtaMin").value = searchDetails.SearchCommand.BoYtaMin + " kvm";
	if(searchDetails.SearchCommand.BoYtaMax)
		document.getElementById("boYtaMax").value = searchDetails.SearchCommand.BoYtaMax + " kvm";
	if(searchDetails.SearchCommand.PrisMin)
		document.getElementById("prisMin").value = formatteraPris(searchDetails.SearchCommand.PrisMin);
	if(searchDetails.SearchCommand.PrisMax)
		document.getElementById("prisMax").value = formatteraPris(searchDetails.SearchCommand.PrisMax);
	
	slider1.updateMin();
	slider1.updateMax();
	slider2.updateMin();
	slider2.updateMax();
	slider3.updateMin();
	slider3.updateMax();
			
	
	document.getElementById("fritext").value = searchDetails.SearchCommand.Fritext;
	var txtSearchString = document.getElementById("txtSearchString");
	txtSearchString.value = searchDetails.SearchString.replace(/,/g, ",");
	
	eraseCookie('searchstring');
	createCookie('searchstring',txtSearchString.value);
}

function formatteraPris(pris)
{
	strPris = ""  + pris
	nyttPris = "";
	for (var i=strPris.length; i>=0; i--)
	{
		if(((strPris.length - i + 2) % 3) == 0)
		 nyttPris = " " + nyttPris;
		nyttPris = strPris.substr(i,1) + nyttPris;
	}
	nyttPris = nyttPris + "kr";
	return nyttPris;
}

function updateGlobalCommandObject(obj) {
   if(globalCommandObject)
	{
		var txtSearchString = document.getElementById("txtSearchString");
		var arrBostadstypInputs = document.getElementById("searchTyp").getElementsByTagName("input");
		
		while(globalCommandObject.BostadsTyper.length > 0)
		{
			globalCommandObject.BostadsTyper.pop();
		}
		while(globalCommandObject.Fritext.length > 0)
		{
			globalCommandObject.Fritext.pop();
		}
		while(globalCommandObject.Kommuner.length > 0)
		{
			globalCommandObject.Kommuner.pop();
		}
		
		globalCommandObject.NyProduktion = ""; // ##
		
		
		for(var i = 0; i < arrBostadstypInputs.length; i++)
		{
		
  
	
			if(arrBostadstypInputs[i].checked)
			{
			    if(arrBostadstypInputs[i].id=="chkNyproduktion") // ##
			    {
			        globalCommandObject.NyProduktion = "Nyproduktion";
			    }
			    else
    				globalCommandObject.BostadsTyper.push(parseInt(arrBostadstypInputs[i].id.substring(13)));
			}
		}
		
		if(parseInt(document.getElementById("antalRumMin").value) != 1)
			globalCommandObject.AntalRumMin = parseInt(document.getElementById("antalRumMin").value);
		else
			globalCommandObject.AntalRumMin = 0;
		globalCommandObject.AntalRumMax = parseInt(document.getElementById("antalRumMax").value);
		
		globalCommandObject.BoYtaMin = parseInt(document.getElementById("boYtaMin").value.replace(/ /g,''));
		globalCommandObject.BoYtaMax = parseInt(document.getElementById("boYtaMax").value.replace(/ /g,''));
		
		globalCommandObject.PrisMin = parseInt(document.getElementById("prisMin").value.replace(/ /g,''));
		globalCommandObject.PrisMax = parseInt(document.getElementById("prisMax").value.replace(/ /g,''));

		if(arrKommuner.length == 0)
		{
			globalCommandObject.Lan = parseInt(strLanId);
		}
		else
		{
			globalCommandObject.Lan = 0;
		}
		
		for (var i=0; i<arrKommuner.length; i++)
		{
			globalCommandObject.Kommuner.push(parseInt(arrKommuner[i]));
		}
		
		
		
		if(document.getElementById("fritext").value)
		{
			globalCommandObject.Fritext = document.getElementById("fritext").value.split(",");
		}
		
		var searchDetails = Maklarhuset.Web.ObjektSearchCommand.GetSearchDetailsByCommand(globalCommandObject).value;
		
		
		if (searchDetails)
		{
			updateSearchInfo(searchDetails)
		}
	}
}


function DoSearchByString(searchString) 
{
    var sokErrorBox = document.getElementById("sokError");
    
	if ((searchString.length > 1) && (Left(searchString, 3)!='Ex:')) {
	    sokErrorBox.style.display = "none";
	    
	    var newUrl = "" + window.location;

	    newUrl = newUrl.substr(0, newUrl.indexOf(".aspx") + 5);

	    eraseCookie('searchstring');
	    createCookie('searchstring', searchString);
    	
	    var re = new RegExp(/^(\w{1}[0-9]+(?:\s|$)$)/);
        var m = re.exec(searchString);
        if (m == null) {
	    
	        newUrl += "?action=doSearch&searchString=" + searchString; // "#?action=doSearch&searchString=" + searchString;
	        
	        if(window.location.toString().indexOf("Search.aspx") == -1)
	        {
		       // window.location.replace(window.location.toString().substring(0, window.location.toString().indexOf("#")+1));
	            window.location = MH_rootPath + "Search.aspx" + newUrl.substring(newUrl.indexOf("?"));  // newUrl.substring(newUrl.indexOf("#"));
	        }
	        else
	        {		
		        window.location = newUrl;
	        }
	    } 
	    else {
		    var s =m[0];
	        var re_sr = new RegExp(/^http:\/\/[a-zA-Z0-9:.]*\//);
		    var m_sr = re_sr.exec(window.location.toString());
		  	newUrl = m_sr[0] + s;
		  	window.location = newUrl;
	    }
	}
	else {	    
	    sokErrorBox.style.display = "block";
	}
}

var arrKommuner = new Array();
var strLanId = 0;
function toggleSelectBox(obj)
{
/* Fulhack */
	/*var txtSearchString = document.getElementById("txtSearchString");
	var searchDetails = Maklarhuset.Web.ObjektSearchCommand.GetSearchDetailsByString(txtSearchString.value).value;
	if (searchDetails)
	{
		updateSearchInfo(searchDetails);
	}*/

	var arrDiv = obj.parentNode.parentNode.getElementsByTagName("div");
	var objDiv;
	var theDiv = 0;
	for (var i=0; i<arrDiv.length; i++) {
		objDiv = arrDiv[i];
		
		if(objDiv.id.indexOf("selectKommunBox") != -1)
		{
			document.getElementById("selectLanBox").style.display = "none";
			if(objDiv.id == ("selectKommunBox" + strLanId))
			{
				theDiv = arrDiv[i];
				if (objDiv.style.display != "block")
				{
					objDiv.style.display = "block";
					document.getElementById("searchCover").style.display = "block";
				}
				else
				{
					objDiv.style.display = "none";
					document.getElementById("searchCover").style.display = "none";
				}
			}
		}
		else
		{
			if(theDiv == 0)
				theDiv = arrDiv[i];
			
			/*if(strLanId)
				alert(document.getElementById("l" + strLanId).innerHTML)*/
			if (strLanId != 0)
			{
				document.getElementById("selectKommunBox" + strLanId).style.display = "none";
				globalCommandObject.Lan = strLanId;
			}
			else
			{
				document.getElementById("selectedLan").innerHTML = "";
				document.getElementById("selectedKommun").innerHTML = "";
				while(arrKommuner.length > 0)
				{
					arrKommuner.pop();
				}
				globalCommandObject.Lan = 0;
				globalCommandObject.Kommuner.length = 0;
			}
			if (theDiv.style.display != "block")
			{
				theDiv.style.display = "block";	
				document.getElementById("searchCover").style.display = "block";
			}
			else
			{
				theDiv.style.display = "none";
				document.getElementById("searchCover").style.display = "none";
			}
		}
	}
	
	if(theDiv)
	{
		if (theDiv.style.display == "block")
		{
			var arrLIs = obj.parentNode.parentNode.getElementsByTagName("li");
			for (var i=0; i<arrLIs.length; i++)
			{
				arrLIs[i].className = "";
			}
			
			if(objDiv.id.indexOf("selectKommunBox") != -1)
			{
				for(var i=0; i<arrKommuner.length; i++)
				{
					document.getElementById("k" + arrKommuner[i]).className = "selected";
				}
			}
			else
			{
				if(strLanId)
				{
					document.getElementById("l" + strLanId).className = "selected";
				}
			}
			
			theDiv.style.display = "block";
		}
		else
		{
			theDiv.style.display = "none";
			updateGlobalCommandObject();
		}
	}
	
	if(arrKommuner.length == 0 && strLanId != 0)
	{
		//document.getElementById("txtSearchString").value = document.getElementById("l" + strLanId).innerHTML;
		globalCommandObject.Kommuner.length = 0;
		
	}
	
	
	var searchDetails =  Maklarhuset.Web.ObjektSearchCommand.GetSearchDetailsByCommand(globalCommandObject).value;
	//updateSearchInfo(searchDetails);
}



function toggleArea(obj)
{
	var objSpan = obj.parentNode.parentNode.parentNode.getElementsByTagName("span")[0];
	var arrLIs = obj.parentNode.parentNode.getElementsByTagName("li");
	
	var strItemName = obj.innerHTML;
	

	if (obj.className != "selected")
	{	
		if(obj.parentNode.parentNode.id.indexOf("selectLanBox") != -1)
		{
			for(var i = 0; i<arrLIs.length; i++)
			{
				arrLIs[i].className = "";
			}
		}
		obj.className = "selected";
	}
	else
	{
		obj.className = "";
	}
	

	if(obj.parentNode.parentNode.id.indexOf("selectKommunBox") != -1)
	{
		while(arrKommuner.length > 0)
		{
			arrKommuner.pop();
		}
		objSpan.innerHTML = "";
		for (var i=0; i<arrLIs.length; i++)
		{
			if (arrLIs[i].className == "selected")
			{
				arrKommuner.push(arrLIs[i].id.substr(1));
				objSpan.innerHTML += arrLIs[i].innerHTML + ", ";
			}
		}
		if(objSpan.innerHTML.substr(objSpan.innerHTML.length-2,2) == ", ")
		{
			objSpan.innerHTML = objSpan.innerHTML.substr(0, objSpan.innerHTML.length-2)
		}
	}
	else  // Län
	{
		if (obj.className == "")
			strLanId = 0;
		//alert(strLanId + '-' + (obj.className == "selected"))
		/*if(strLanId != 0)
		{
			document.getElementById("l" + strLanId).className = "";
		}*/
		
		if (obj.className == "selected")
		{
			if(strLanId != obj.id.substr(1))
			{
				while(arrKommuner.length > 0)
				{
					document.getElementById("k" + arrKommuner[arrKommuner.length-1]).className = "";
					arrKommuner.pop();
				}
				document.getElementById("selectedKommun").innerHTML = "";
			}
			strLanId = obj.id.substr(1);
			objSpan.innerHTML = obj.innerHTML;
			
			//obj.parentNode.parentNode.style.display = "none";
			
			
			if(strLanId)
			{
				var kommunSelector = document.getElementById("kommunSelector");
				kommunSelector.className = "selectArea";
			}
				
		}
		else
		{
			strLanId = 0;
			
		}
		toggleSelectBox(obj)
	}
	
}

function sparaSokning(strId)
{
    elmPopup = document.getElementById(strId);
	var txtSearchString = document.getElementById("txtSearchString");
	var searchDetails = Maklarhuset.Web.ObjektSearchCommand.GetSearchDetailsByString(txtSearchString.value).value;		
	if (searchDetails)
	{				
		updateSearchInfo(searchDetails);
	}
	
	var strNamn = document.getElementById("searchName").value;
	
	var saveDetails = Maklarhuset.Web.ObjektSearchCommand.AddSearchFavorite(globalCommandObject, strNamn).value;		
	closePopup(strId,true);
}

var fritextTimer = null;
function updateFritext(obj) {
	if (fritextTimer)
		clearTimeout(fritextTimer);
	fritextTimer = setTimeout(function(){fritextTimer = null; updateGlobalCommandObject()},1300);		
}

function Left(str, n) {
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}


function NyProduceHrefView() {
    var href = window.location.toString();
    var pos = href.indexOf("&searchString=Nyproduktion");
   
    if(pos>0){
        document.getElementById("nyproduktiontoggle").style.display = 'block';        
        toggleAdvancedSearch("nProd");
    }
    else {
        document.getElementById("nyproduktionreload").style.display = 'block';
        /*
        var searchOptions = document.getElementById("searchOptions");
	    var searchLinks = searchOptions.getElementsByTagName("a");
        for (var i=0; i<searchLinks.length; i++) {
            searchLinks[i].className = '';
        }
        document.getElementById("nyproduktionreload").className = 'currentOption';
        */
    }     
}