var MunicipalitiesCache=new Array();var mapping=new Array();var searchResult;var municipalities;var searchCountyConstrain=[];var searchAgeConstrain=[];var searchIncomeConstrain=[];function init(oMunicipalitiesBox,countyId){for(var i=0;i<oMunicipalitiesBox.options.length;i++){MunicipalitiesCache[i]=oMunicipalitiesBox.options[i];}
selectMunicipalities(oMunicipalitiesBox,countyId)}
function nameCompare(sa,sb){var a=sa.firstname.toLowerCase();var b=sb.firstname.toLowerCase();if(a>b){return 1}
if(a<b){return-1}
return 0;}
function incomeCompare(a,b){if(a.income>b.income)
return-1;if(a.income<b.income)
return 1;return a.income==b.income;}
function fortuneCompare(a,b){if(a.fortune>b.fortune)
return-1;if(a.fortune<b.fortune)
return 1;return a.fortune==b.fortune;}
function taxCompare(a,b){if(a.tax>b.tax)
return-1;if(a.tax<b.tax)
return 1;return a.tax==b.tax;}
function ageCompare(a,b){if(a.birthyear>b.birthyear)
return-1;if(a.birthyear<b.birthyear)
return 1;return a.birthyear==b.birthyear;}
function placeCompare(sa,sb){var a=sa.zipname.toLowerCase();var b=sb.zipname.toLowerCase();if(a>b){return 1}
if(a<b){return-1}
return 0;}
function municipityCompare(ma,mb){var a=ma.municipalityname.toLowerCase();var b=mb.municipalityname.toLowerCase();if(a>b){return 1}
if(a<b){return-1}
return 0;}
function selectMunicipalities(oMunicipalitiesBox,countyId){for(var i=oMunicipalitiesBox.options.length-1;i>=0;i--){oMunicipalitiesBox.options[i]=null;}
for(var i=0;i<MunicipalitiesCache.length;i++){var o=MunicipalitiesCache[i];var comp=mapping[o.value];if(comp==countyId){oMunicipalitiesBox.options[oMunicipalitiesBox.options.length]=o;}}}
function copyMunicipalities(source,target){for(var i=0;i<source.options.length;i++){var o=source.options[i];if(o.selected){var doAdd=true;for(var x=0;x<target.options.length;x++){if(target.options[x].value==o.value){doAdd=false;break;}}
if(doAdd){target.options[target.options.length]=new Option(o.text,o.value);}}}}
function deleteMunicipalities(source){for(var i=source.options.length-1;i>=0;i--){if(source.options[i].selected){source.options[i]=null;}}}
function selectAll(source){for(var i=source.options.length-1;i>=0;i--){source.options[i].selected=true;}}
function scoreCompare(a,b){if(a.score>b.score)
return-1;if(a.score<b.score)
return 1;return a.score==b.score;}
function selectCounty(){radioGrp[1].checked=true;}
function fNum(n){n+="";var rgx=/(\d+)(\d{3})/;while(rgx.test(n)){n=n.replace(rgx,'$1.$2')}
return n;}
function selectMunicipality(){radioGrp[2].checked=true;}
function writeExtendedSearchResult(){api.$('errorBox').style.display="none";errorMsg='';if(searchResult.alternativeSearchString!=null){errorMsg=errorMsg
+'Mente du: <a href="javascript:document.searchForm.freetextSearch.value=\''
+searchResult.alternativeSearchString
+'\';document.searchForm.submit()">'
+searchResult.alternativeSearchString+'</a>?';}else if(searchResult.personResult.length==0&&searchResult.municipalityResult.length==0){errorMsg='S\u00f8ket ditt ga ingen treff. Vennligst fors\u00f8k igjen med andre s\u00f8keord.';}
if(errorMsg!=''){writeError(errorMsg);}
searchResult.personResult.sort(scoreCompare);if(searchResult.personResult.length>0||searchResult.municipalityResult.length>0){if(searchResult.personResult.length==0){writeMunicipalities();}else{writeExtendedPersons('');}}}
function searchPersonsAdmin(freetext){var jsonUrl=urlPrefix+'search.json?isSearch=true'+'&freetextSearch='+freetext;new api.ajax({url:jsonUrl,method:'get',onsuccess:function(transport){searchResult=JSON.parse(JSON.parse(transport.responseText).searchResult);api.$('searchResult').innerHTML='';api.$('errorBox').innerHTML='';writeExtendedSearchResult();}}).send();}
function writeError(msg){api.$('errorBox').innerHTML='<div class="errorHeader"><div class="searchLeft"><div class="searchRight"></div></div></div><div class="errorContent" id="errorMessage">'+msg+'</div><div class="errorFooter"><div class="searchLeft"><div class="searchRight"></div></div></div>';api.$('errorBox').style.display="block";}
function processSearchPersonResult(httpResponse){searchResult=httpResonse.text;writeExtendedSearchResult(searchResult);}
function writeExtendedPersons(){var personHTML='';personHTML+='<h2>Liste over personer</h2>';personHTML+='</div><div class="resultList"><table id="resultTableSearch"><tbody>'
+'<tr id="resultHeaders">'
+'<th scope="col"><a href="javascript:searchResult.personResult.sort(nameCompare);writeExtendedPersons();">Navn</a></th>'
+'<th scope="col"><a href="javascript:searchResult.personResult.sort(ageCompare);writeExtendedPersons();">Født</a></th>'
+'<th align="right"><a href="javascript:searchResult.personResult.sort(incomeCompare);writeExtendedPersons();">Inntekt</a></th>'
+'<th align="right"><a href="javascript:searchResult.personResult.sort(fortuneCompare);writeExtendedPersons();">formue</a></th>'
+'<th align="right"><a href="javascript:searchResult.personResult.sort(taxCompare);writeExtendedPersons();">Skatt</a></th>'
+'<th align="right"><a href="javascript:searchResult.personResult.sort(municipityCompare);writeExtendedPersons();">Skattekommune</a></th>'
+'<th align="right"><a href="javascript:searchResult.personResult.sort(placeCompare);writeExtendedPersons();">Bosted</a></th>'
+'<th align="right" width="80px">Legg til</th>'
+'</tr>';for(var k=0;k<searchResult.personResult.length;k++){personHTML+='<tr class="searchResultPerson">'
+'<td class="searchResultName"><a href="'+urlPrefix+'person.html?p='
+searchResult.personResult[k].textualId+'">'
+searchResult.personResult[k].firstname+' '
+searchResult.personResult[k].lastname+'</a></td>'
+'<td class="taxListBox" width="10">'+searchResult.personResult[k].birthyear+'</td>'
+'<td class="taxListBox">'+fNum(searchResult.personResult[k].income)
+'</td>'
+'<td class="taxListBox">'+fNum(searchResult.personResult[k].fortune)
+'</td>'
+'<td class="taxListBox">'+fNum(searchResult.personResult[k].tax)
+'</td>'
+'<td class="taxListBox">'+fNum(searchResult.personResult[k].municipalityname)+'</td>'
+'<td align="right" class="taxListBox">'+fNum(searchResult.personResult[k].zipname)+'</td>'
+'<td align="right" class="taxListBox">'+'<button class=\"addUsr\" onclick="javascript:addUserToList(\''+searchResult.personResult[k].textualId+'\');">Legg til person</button>'+'</td>'
+'</tr>'}
personHTML+='</tbody></table></div>';api.$('searchResult').innerHTML=personHTML;}
var userListArray=[];var parentDiv=document.getElementById("addUser");function addUserToList(userToAdd){api.$("makeUrlButton").style.display="block";api.$("makeHTMLButton").style.display="block";api.$("adminCustomHeader").style.display="block";userListArray.push(userToAdd);repaint();}
function repaint(){userList=document.getElementById('addUser');var tempdiv=document.createElement('div');for(index in userListArray){var newdiv=document.createElement('div');var userToAdd=userListArray[index];var divClassName='userTolist';newdiv.setAttribute('id',userToAdd);newdiv.innerHTML+='<div class=\"userTolist\">'+userToAdd+'</div>';newdiv.innerHTML+='<button class=\"removeUser\" onclick="javascript:removeElement('+index+');">slett</button>';tempdiv.appendChild(newdiv);}
userList.innerHTML=tempdiv.innerHTML;}
function removeElement(userIndex){userListArray.splice(userIndex,1);repaint();}
function createHTMl(){api.$("allUserHTML").style.display="block";api.$("allUserUrl").style.display="none";var str="";for(var j=0;j<userListArray.length;j++){str+='p='+userListArray[j];if(j!=userListArray.length-1){str+="&";}}
api.$('allUserHTML').innerHTML='<a target=\"_blank\" href=\"'+urlPrefix+'admin/userlist/userListHtmlResult.html?'+str+' \">'+'klikk her for å se html side'+'</a>';}
function createUrl(){api.$("allUserUrl").style.display="block";api.$("allUserHTML").style.display="none";var str="";for(var i=0;i<userListArray.length;i++){str+='p='+userListArray[i];if(i!=userListArray.length-1){str+="&";}}
api.$('allUserUrl').innerHTML='<a href=\"'+urlPrefix+'admin/userlist/userListResult.html?'+str+' \">'+'klikk her for å se din csv'+'</a>';}
function waitPreloadPage(){if(document.getElementById){document.getElementById('prepage').style.visibility='hidden';}
else{if(document.layers)
{document.prepage.visibility='hidden';}
else{document.all.prepage.style.visibility='hidden';}}}
var municipalities;var searchResult;var searchCountyConstrain=[];var searchAgeConstrain=[];var searchIncomeConstrain=[];var drilldownCount=0;var lastSearchQuery='';var isSubQuery=false;function incomeCompare(a,b){if(a.income>b.income)
return-1;if(a.income<b.income)
return 1;return a.income==b.income;}
function fortuneCompare(a,b){if(a.fortune>b.fortune)
return-1;if(a.fortune<b.fortune)
return 1;return a.fortune==b.fortune;}
function taxCompare(a,b){if(a.tax>b.tax)
return-1;if(a.tax<b.tax)
return 1;return a.tax==b.tax;}
function scoreCompare(a,b){if(a.score>b.score)
return-1;if(a.score<b.score)
return 1;return a.score==b.score;}
function ageCompare(a,b){if(a.birthyear>b.birthyear)
return-1;if(a.birthyear<b.birthyear)
return 1;return a.birthyear==b.birthyear;}
function nameCompare(sa,sb){var a=sa.firstname.toLowerCase();var b=sb.firstname.toLowerCase();if(a>b){return 1}
if(a<b){return-1}
return 0;}
function placeCompare(sa,sb){var a=sa.zipname.toLowerCase();var b=sb.zipname.toLowerCase();if(a>b){return 1}
if(a<b){return-1}
return 0;}
Array.prototype.inArray=function(value){var iak;for(iak=0;iak<this.length;iak++){if(this[iak]===value){return true;}}
return false;};function clearConstrains(){if(searchResult.morePersonsInDb||lastSearchQuery!=''){searchCountyConstrain=[];searchAgeConstrain=[];searchIncomeConstrain=[];doSearch(lastSearchQuery);}else{searchCountyConstrain=[];searchAgeConstrain=[];searchIncomeConstrain=[];writeDrilldown();writePersons();}}
function getCountyNameFromNumber(cNr){for(cc=0;cc<counties.length;cc++){if(counties[cc].number==cNr){return counties[cc].name;}}
return'';}
function addConstrain(constrain,value){if(searchResult.morePersonsInDb){constrain[constrain.length]=value;var newQuery=searchQuery+'';for(k=0;k<searchCountyConstrain.length;k++){newQuery+=' "'+getCountyNameFromNumber(searchCountyConstrain[k])+'"';}
for(k=0;k<searchAgeConstrain.length;k++){newQuery+=' META'+searchAgeConstrain[k]+'';}
for(k=0;k<searchIncomeConstrain.length;k++){newQuery+=' META'+searchIncomeConstrain[k]+'';}
isSubQuery=true;doSearch(newQuery);writeDrilldown();}else{constrain[constrain.length]=value;writeDrilldown();writePersons();}}
function zNum(n){if(n>0){n="000"+n;return n.substring(n.length-4,n.length)}else{return"";}}
function fNum(n){n+="";var rgx=/(\d+)(\d{3})/;while(rgx.test(n)){n=n.replace(rgx,'$1.$2')}
return n;}
function writeMunicipalities(){var municipalityHTML='';municipalityHTML+='<div id="resultHeaders_2" class="resultHeaders"><a href="javascript:javascript:writeDrilldown();writePersons();">'
+'<span id="headerPerson" class="resultHeadersContent" style="color: rgb(64, 64, 64);">'
+personResultMsg+' ('+drilldownCount+')</span></a></div>';municipalityHTML+='<div id="resultHeaders_1" class="resultHeaders currentHeader">'
+'<span id="headerMunicipality" class="resultHeadersContent" style="color: rgb(64, 64, 64);">'
+municipalityResultMsg+' ('
+searchResult.municipalityResult.length+')</span></div>';municipalityHTML+='<div class="resultList"><table id="resultTableSearch"><tbody>'
+'<tr id="resultHeaders">'
+'<th>Kommune</th>'
+'<th align="right">Gj. inntekt</th>'
+'<th align="right">Gj. formue</th>'+'<th></th>'+'</tr>';var flip=true;for(k=0;k<searchResult.municipalityResult.length;k++){municipalityHTML+='<tr class="'
+(flip?'apiSearchresultEven':'apiSearchresultOdd')+'">'
+'<td><a href="./kommune/'
+searchResult.municipalityResult[k].place.number
+'/oversikt.html">'
+searchResult.municipalityResult[k].place.name+'</a></td>'
+'<td align="right">'
+fNum(searchResult.municipalityResult[k].income)+'</td>'
+'<td align="right">'
+fNum(searchResult.municipalityResult[k].fortune)+'</td>'
+'<td nowrap="true"><a href="./kommune/'
+searchResult.municipalityResult[k].place.number
+'/oversikt.html">'+taxSearchReadMoreMsg+'</a></td>'
+'</tr>';flip=!flip;}
municipalityHTML+='</tbody></table></div>';api.$('searchResult').innerHTML=municipalityHTML;api.$('placeDrilldown').innerHTML='';api.$('ageDrilldown').innerHTML='';api.$('incomeDrilldown').innerHTML='';hideDrilldown();}
function writePersons(){api.$('errorBox').style.display="none";var personHTML='';personHTML+='<div class="resultHeadersWrap"><div id="resultHeaders_1" class="resultHeaders currentHeader">'
+'<span id="headerPerson" class="resultHeadersContent">'
+personResultMsg+' ('+drilldownCount+')</span></div>';if(searchResult.municipalityResult.length>0){personHTML+='<div id="resultHeaders_2" class="resultHeaders"><a href="javascript:writeMunicipalities()">'
+'<span id="headerMunicipality" class="resultHeadersContent">'
+municipalityResultMsg
+' ('
+searchResult.municipalityResult.length+')</span></a></div>';}
personHTML+='</div><div class="resultList"><table id="resultTableSearch"><tbody>'
+'<tr id="resultHeaders">'
+'<th><a href="javascript:searchResult.personResult.sort(nameCompare);writePersons();">Navn</a></th>'
+'<th><a href="javascript:searchResult.personResult.sort(ageCompare);writePersons();">Født</a></th>'
+'<th align="right"><a href="javascript:searchResult.personResult.sort(incomeCompare);writePersons();">Inntekt</a></th>'
+'<th align="right"><a href="javascript:searchResult.personResult.sort(fortuneCompare);writePersons();">Formue</a></th>'
+'<th align="right"><a href="javascript:searchResult.personResult.sort(taxCompare);writePersons();">Skatt</a></th>'
+'</tr>';var classes=["odd","even"];var personCount=0;for(k=0;k<searchResult.personResult.length;k++){if(!(searchResult.morePersonsInDb)){if(searchCountyConstrain.length>0&&!searchCountyConstrain.inArray(searchResult.personResult[k].countycode)){continue;}
if(searchAgeConstrain.length>0&&!searchAgeConstrain.inArray(searchResult.personResult[k].agetag)){continue;}
if(searchIncomeConstrain.length>0&&!searchIncomeConstrain.inArray(searchResult.personResult[k].incometag)){continue;}}
var bosted_span=5;personHTML+='<tr class="searchResultPerson '+classes[personCount%2]+'">'
+'<td class="searchResultName"><a href="'+urlPrefix+'person.html?p='
+searchResult.personResult[k].textualId+'">'
+searchResult.personResult[k].firstname+' '
+searchResult.personResult[k].lastname+'</a></td>'
+'<td class="taxListBox" width="10">'+searchResult.personResult[k].birthyear+'</td>'
+'<td align="right" class="taxListBox">'+fNum(searchResult.personResult[k].income)
+'</td>'
+'<td align="right" class="taxListBox">'+fNum(searchResult.personResult[k].fortune)+'</td>'
+'<td align="right" class="taxListBox">'+fNum(searchResult.personResult[k].tax)+'</td>'+'</tr>'
+'<tr class="searchresultAdress bosted_'+classes[personCount%2]+'">'
+'<td colspan="'+bosted_span+'">';personHTML+='<a class="apiTaxPerson" href="'+urlPrefix+'person.html?p='
+searchResult.personResult[k].textualId+'">Beregn reell inntekt</a>'
personHTML+='&nbsp;&nbsp;&nbsp;';if(searchResult.personResult[k].municipalitycode>0&&!(null==searchResult.personResult[k].municipalityname)){personHTML+='Skattekommune: ';personHTML+='<a href="'+'kommune/'+searchResult.personResult[k].municipalitycode+'/oversikt.html" />'
+searchResult.personResult[k].municipalityname+'</a>';personHTML+='&nbsp;&nbsp;&nbsp;';}
if(!(null==searchResult.personResult[k].zipname||''==searchResult.personResult[k].zipname)){personHTML+='Bosted: ';if(searchResult.personResult[k].zipcode>0){personHTML+='<a href="'+'sted/'+searchResult.personResult[k].zipcode+'/oversikt.html">';}
personHTML+=zNum(searchResult.personResult[k].zipcode)+' '
+searchResult.personResult[k].zipname;if(searchResult.personResult[k].zipcode>0){personHTML+='</a>';}}
personHTML+='</td>'
personHTML+='</tr>';personCount++;}
personHTML+='</tbody></table></div>';api.$('searchResult').innerHTML=personHTML;if(searchResult.personResult.length>0){showDrilldown();}}
function writePlaceTag(tag,count,drillParams){if(count==0){return'';}
var cc=count==-1?'':' ('+count+')';if(tag){if(searchCountyConstrain.length>0){if(searchCountyConstrain.inArray(drillParams)){return'<strong>'+tag+cc+'</strong><br/>';}}else{return'<a href="javascript:addConstrain(searchCountyConstrain,'
+drillParams+')">'+tag+'</a>'+cc+'<br/>';}}
return'';}
function writeAgeTag(tag,count,drillParams){if(count==0){return'';}
var cc=count==-1?'':' ('+count+')';if(tag){if(searchAgeConstrain.length>0){if(searchAgeConstrain.inArray(drillParams)){return'<strong>'+tag+' '+cc+'</strong><br/>';}}else{return'<a href="javascript:addConstrain(searchAgeConstrain,\''
+drillParams+'\')">'+tag+'</a>'+cc+'<br/>';}}
return'';}
function writeIncomeTag(tag,count,drillParams){if(count==0){return'';}
var cc=count==-1?'':' ('+count+')';if(tag){if(searchIncomeConstrain.length>0){if(searchIncomeConstrain.inArray(drillParams)){return'<strong>'+tag+' '+cc+'</strong><br/>';}}else{return'<a href="javascript:addConstrain(searchIncomeConstrain,\''
+drillParams+'\')">'+tag+'</a>'+cc+'<br/>';}}
return'';}
function writeDrilldown(){var ageCount=new Array();var incomeCount=new Array();ageCount.A1=0;ageCount.A2=0;ageCount.A3=0;ageCount.A4=0;ageCount.A5=0;ageCount.A6=0;ageCount.A7=0;incomeCount.I1=0;incomeCount.I2=0;incomeCount.I3=0;incomeCount.I4=0;incomeCount.I5=0;incomeCount.I6=0;incomeCount.I7=0;for(kk=0;kk<counties.length;kk++){counties[kk].count=0;}
drilldownCount=0;if(searchResult.morePersonsInDb||isSubQuery){lastSearchQuery=searchQuery;for(kk=0;kk<counties.length;kk++){counties[kk].count=-1;}
ageCount.A1=-1;ageCount.A2=-1;ageCount.A3=-1;ageCount.A4=-1;ageCount.A5=-1;ageCount.A6=-1;ageCount.A7=-1;incomeCount.I1=-1;incomeCount.I2=-1;incomeCount.I3=-1;incomeCount.I4=-1;incomeCount.I5=-1;incomeCount.I6=-1;incomeCount.I7=-1;drilldownCount=(searchResult.personResultSize>200?200:searchResult.personResultSize)
+' av '+searchResult.personResultSize;}else{for(k=0;k<searchResult.personResult.length;k++){if(searchCountyConstrain.length>0&&!searchCountyConstrain.inArray(searchResult.personResult[k].countycode)){continue;}
if(searchAgeConstrain.length>0&&!searchAgeConstrain.inArray(searchResult.personResult[k].agetag)){continue;}
if(searchIncomeConstrain.length>0&&!searchIncomeConstrain.inArray(searchResult.personResult[k].incometag)){continue;}
drilldownCount++;for(kk=0;kk<counties.length;kk++){if(counties[kk].number==searchResult.personResult[k].countycode){if(!counties[kk].count){counties[kk].count=0;}
counties[kk].count+=1;}}
if(!ageCount[searchResult.personResult[k].agetag]){ageCount[searchResult.personResult[k].agetag]=0;}
ageCount[searchResult.personResult[k].agetag]+=1;if(!incomeCount[searchResult.personResult[k].incometag]){incomeCount[searchResult.personResult[k].incometag]=0;}
incomeCount[searchResult.personResult[k].incometag]+=1;}}
var placeDrillHTML='<div class="drilldownHeader">Sted</div>';for(k=0;k<counties.length;k++){if(counties[k].number!=0){placeDrillHTML+=writePlaceTag(counties[k].name,counties[k].count,counties[k].number);}}
api.$('placeDrilldown').innerHTML=placeDrillHTML;var ageDrillHTML='<div class="drilldownHeader">Alder</div>';ageDrillHTML+=writeAgeTag(ageTags['A1'],ageCount.A1,'A1');ageDrillHTML+=writeAgeTag(ageTags['A2'],ageCount.A2,'A2');ageDrillHTML+=writeAgeTag(ageTags['A3'],ageCount.A3,'A3');ageDrillHTML+=writeAgeTag(ageTags['A4'],ageCount.A4,'A4');ageDrillHTML+=writeAgeTag(ageTags['A5'],ageCount.A5,'A5');ageDrillHTML+=writeAgeTag(ageTags['A6'],ageCount.A6,'A6');ageDrillHTML+=writeAgeTag(ageTags['A7'],ageCount.A7,'A7');api.$('ageDrilldown').innerHTML=ageDrillHTML;var incomeDrillHTML='<div class="drilldownHeader">Inntekt</div>';incomeDrillHTML+=writeIncomeTag(incomeTags['I1'],incomeCount.I1,'I1');incomeDrillHTML+=writeIncomeTag(incomeTags['I2'],incomeCount.I2,'I2');incomeDrillHTML+=writeIncomeTag(incomeTags['I3'],incomeCount.I3,'I3');incomeDrillHTML+=writeIncomeTag(incomeTags['I4'],incomeCount.I4,'I4');incomeDrillHTML+=writeIncomeTag(incomeTags['I5'],incomeCount.I5,'I5');incomeDrillHTML+=writeIncomeTag(incomeTags['I6'],incomeCount.I6,'I6');incomeDrillHTML+=writeIncomeTag(incomeTags['I7'],incomeCount.I7,'I7');api.$('incomeDrilldown').innerHTML=incomeDrillHTML;if(searchAgeConstrain.length>0||searchIncomeConstrain.length>0||searchCountyConstrain.length>0){api.$('clearDrilldownConstraints').innerHTML='<div class="drilldownClearConstrains"><a id="drilldownClearLink" href="javascript:clearConstrains()">'+taxClearConstrainsMsg+'</a></div>';}}
function writeSearchResult(){api.$('errorBox').style.display="none";errorMsg='';if(searchResult.alternativeSearchString!=null){if(!isSubQuery){hideDrilldown();}
errorMsg=errorMsg
+'Mente du: <a href="javascript:document.searchForm.freetextSearch.value=\''
+searchResult.alternativeSearchString
+'\';document.searchForm.submit()">'
+searchResult.alternativeSearchString+'</a>?';}else if(searchResult.personResult.length==0&&searchResult.municipalityResult.length==0){if(!isSubQuery){hideDrilldown();}
errorMsg='S\u00f8ket ditt ga ingen treff. Vennligst fors\u00f8k igjen med andre s\u00f8keord.';}
if(errorMsg!=''){writeError(errorMsg);}
searchResult.personResult.sort(scoreCompare);if(searchResult.personResult.length>0||searchResult.municipalityResult.length>0){if(searchResult.personResult.length==0){writeMunicipalities();}else{writeDrilldown();writePersons('');}}}
function setupDrilldownBox(){api.$('apiContentLeft').innerHTML='<div class="apiBoxHeader"><span>Avgrens treffene</span></div><div class="apiBoxContent"><div id="placeDrilldown"></div><br /><div id="ageDrilldown"></div><br /><div id="incomeDrilldown"></div><br /><div id="clearDrilldownConstraints"></div></div><div class="apiBoxFooter"><span></span></div>';}
function writeError(msg){api.$('errorBox').innerHTML='<div class="errorHeader"><div class="searchLeft"><div class="searchRight"></div></div></div><div class="errorContent" id="errorMessage">'+msg+'</div><div class="errorFooter"><div class="searchLeft"><div class="searchRight"></div></div></div>';api.$('errorBox').style.display="block";}
function hideDrilldown(){api.$('apiContentLeft').style.visibility='hidden';}
function showDrilldown(){api.$('apiContentLeft').style.visibility='visible';}
function doSearch(freetext,placeTag,ageTag,incomeTag){var jsonUrl=urlPrefix+'/search.json?freetextSearch='+freetext;writeError('Vennligst vent mens s\u00f8ket p\u00e5g\u00e5r <img src="../gfx/progress.gif" />');new api.ajax({url:jsonUrl,method:'get',requestHeaders:{Accept:'application/json'},onsuccess:function(transport){searchResult=JSON.parse(JSON.parse(transport.responseText).searchResult);api.$('searchResult').innerHTML='';api.$('errorBox').innerHTML='';writeSearchResult();}}).send();}
function zipSearch(zipcode,resultTagId,errorMsg,defaultMsg){if(zipcode=='0000'){api.$(resultTagId).className='zipResultError';api.$(resultTagId).innerHTML=errorMsg;}else if(zipcode.length==4){var jsonUrl=urlPrefix+'zipsearch.json?zipcode='+zipcode;new api.ajax({url:jsonUrl,method:'get',requestHeaders:{Accept:'application/json'},onsuccess:function(transport){searchResult=JSON.parse(transport.responseText);if(searchResult.searchResult=='zipFound'){api.$(resultTagId).className='zipResultOk';api.$(resultTagId).innerHTML=searchResult.cityName;}else{api.$(resultTagId).className='zipResultError';api.$(resultTagId).innerHTML=errorMsg;}}}).send();}else{api.$(resultTagId).className='zipResultExample';api.$(resultTagId).innerHTML=defaultMsg;}}
function doZipSearch(zipcode,url,resultTagId){if(api.$(resultTagId).className=='zipResultOk'){document.location=url+"sted/"+zipcode+"/oversikt.html";}
return false;}
function cView(p){api.$("searchresult").className=api.$("searchresult").className.replace(/view_resultTable(\d)?/ig,"")+" view_"+p;}
function listCounties(urlPrefix,excludeCountyNr,targetDiv,countyName,excludeMunicipalityNumber){var targetDiv=api.$("selectCounties");new api.ajax({url:urlPrefix+'/county/0/list.json',method:'get',requestHeaders:{Accept:'application/json'},onsuccess:function(transport){counties=JSON.parse(JSON.parse(transport.responseText).counties);var x=1;for(k=0;k<counties.length;k++){if(counties[k].number==0||excludeCountyNr==counties[k].number){continue;}
targetDiv.options[x]=new Option(counties[k].name,urlPrefix+"/fylke/"
+counties[k].number);x++;}
if(countyName!=null){selectCounty(countyName,urlPrefix,excludeMunicipalityNumber);}}}).send();}
function selectCounty(countyName,urlPrefix,excludeMunicipalityNumber){var selectBox=api.$("selectCounties");var opts=selectBox.options;for(i=0;i<selectBox.length;i++){if(opts[i].text==countyName){opts[i].selected=true;updateMunicipalities(urlPrefix,opts[i].value,excludeMunicipalityNumber);break;}};}
function updateMunicipalities(urlPrefix,value,excludeMunicipalityNumber){var municipalityList=api.$("selectMunicipalities");municipalityList.innerHTML="<option>Velg kommune...</option>";municipalityList.disabled=0;var lastSlash=value.lastIndexOf("/");var countyNumber=value.substr(lastSlash+1);new api.ajax({url:urlPrefix+'/municipality/'+countyNumber+'/list.json',method:'get',requestHeaders:{Accept:'application/json'},onsuccess:function(transport){municipalities=JSON.parse(JSON.parse(transport.responseText).municipalities);var x=1;for(k=0;k<municipalities.length;k++){if(municipalities[k].number==0||excludeMunicipalityNumber==municipalities[k].number){continue;}
municipalityList.options[x]=new Option(municipalities[k].name,urlPrefix+"/kommune/"
+municipalities[k].number);x++;}}}).send();}
function getAverage(value,linkName){var answerIncome=api.$("incomeDiv");var answerFortune=api.$("fortuneDiv");var answerTax=api.$("taxDiv");var compareLink=api.$("compareLinkDiv");try{var incomeNumber=api.$("incomeNumber").firstChild.data;var incomeNumberRemoveDot=incomeNumber.replace(/\./g,"");var fortuneNumber=api.$("fortuneNumber").firstChild.data;var fortuneNumberRemoveDot=fortuneNumber.replace(/\./g,"");var taxNumber=api.$("taxNumber").firstChild.data;var taxNumberRemoveDot=taxNumber.replace(/\./g,"");var countyName=api.$("name").firstChild.data;new api.ajax({url:value+'/average.json',method:'get',requestHeaders:{Accept:'application/json'},onsuccess:function(transport){average=JSON.parse(JSON.parse(transport.responseText).average);var def=def2=def3=" kroner <strong>h\u00f8yere</strong> i "+countyName;var lav=" kroner <strong>lavere</strong> i "+countyName;var resultIncome=(incomeNumberRemoveDot-average[0].income);if(resultIncome<0){resultIncome=resultIncome.toString().substr(1);def=lav;}
var resultFortune=(fortuneNumberRemoveDot-average[0].fortune);if(resultFortune<0){resultFortune=resultFortune.toString().substr(1);def2=lav;}
var resultTax=(taxNumberRemoveDot-average[0].tax);if(resultTax<0){resultTax=resultTax.toString().substr(1);def3=lav;}
var avgIncomeHTML='';avgIncomeHTML+='...er gjennomsnittsinntekten <strong>'+fNum(resultIncome)+"</strong>"+def;answerIncome.innerHTML=avgIncomeHTML;var avgFortuneHTML='';avgFortuneHTML+='...er gjennomsnittsformuen <strong>'+fNum(resultFortune)+"</strong>"+def2;answerFortune.innerHTML=avgFortuneHTML;var avgTaxHTML='';avgTaxHTML+='...er gjennomsnittsskatten <strong>'+fNum(resultTax)+"</strong>"+def3;answerTax.innerHTML=avgTaxHTML;compareLink.innerHTML='<a href="'+value+'/oversikt.html">Se topplistene for '+linkName+'</a>';}}).send();}catch(err){answerIncome.innerHTML='Ingen verdier'}}
function listZipCodes(urlPrefix,municipalityNumber,excludeZip){var targetDiv=api.$("selectCounties");targetDiv.innerHTML="<option>Velg postnummer...</option>";new api.ajax({url:urlPrefix+'/city/'+municipalityNumber+'/list.json',method:'get',requestHeaders:{Accept:'application/json'},onsuccess:function(transport){cities=JSON.parse(JSON.parse(transport.responseText).cities);var zipSort=function(a,b){return a.number-b.number}
cities.sort(zipSort);var x=1;for(k=0;k<cities.length;k++){if(cities[k].number==0||excludeZip==cities[k].number){continue;}
targetDiv.options[x]=new Option(zNum(cities[k].number)+' '+cities[k].name,urlPrefix+"/city/"
+cities[k].number);x++;}}}).send();}
