	
// © 2002-2004 Supernavigator s.r.o., Vsetky prava vyhradene!
// Riesenie je priemyselno-pravne chranene a je predmetom chraneneho autorskeho diela!	
// Precitajte si podmienky pouzitia (http://www.supernavigator.sk/navigator/conditions.php)
	
function Firm(id,name,x,y,ulicaID,ulicaNazov,cisloDomu,mestoID,mestoNazov,icons,logo,font,color){if(arguments.length>1){this.id=id;if(name!='')this.name=name;else
this.name=Firm.lastInserted.name;this.houseNumber=cisloDomu;if(ulicaNazov!="")new Street(false,ulicaID,ulicaNazov);if(mestoNazov!="")new City(false,mestoID,mestoNazov);if(Street.all[ulicaID]&&typeof(Street.all[ulicaID])=="object")this.street=Street.all[ulicaID];else
this.city=mestoID;if(City.all[mestoID]&&typeof(City.all[mestoID])=="object")this.city=City.all[mestoID];else
this.city=mestoID;if(x==0&&y==0)this.position=null;else
this.position=new Position(x,y);this.icons=icons;this.makeIconForLevels();if(logo)this.logo=logo;this.font=font;this.color=color;this.visited=false;this.next=null;this.suborder=Firm.suborder;Firm.lastInserted=Search.lastSearch[Firm.htmlMenuID+id]=Firm.all[id]=this;}
else{if(Firm.all[id]&&typeof(Firm.all[id])=="object")Firm.lastInserted=Search.lastSearch[Firm.htmlMenuID+id]=Firm.all[id];else
Search.lastSearch[Firm.htmlMenuID+id]=Firm.all[id]=id;}}
Firm.all=new Array();Firm.first=null;Firm.max_pocet_ikon=50;Firm.allCount=function(){return Firm.all.count();}
Firm.lastSearch=new Array();Firm.name="Firm";Firm.htmlMapID="mf";Firm.htmlMenuID="f";Firm.suborder=3;Firm.defaultIcon=new Array(21,21,21,11,11,11,11,21,11,11,11,11);Firm.defaultVisitedIcon=new Array(19,19,19,13,13,13,13,19,13,13,13,13);Firm.init=function(){var ikony=Firm.defaultIcon.unique();ikony=ikony.concat(Firm.defaultVisitedIcon.unique());for(var id in ikony)if(typeof(ikony[id])=="number"&&ikony[id]!=0)loadIcon(ikony[id]);Firm.reset();Search.getFirmById=function(id){return Search.lastSearch[Firm.htmlMenuID+id];}}
Firm.newSearch=function(){Firm.lastSearch=new Array();}
Firm.prototype.valueOf=function(){return this.name+", \n"+this.printAddress();}
Firm.prototype.printAddress=function(){if(this.street)return(this.street.name+" "+this.houseNumber).trim()+", "+this.city.name;else
return(this.city.name+" "+this.houseNumber).trim();}
Firm.prototype.getDetailScript=function(){return SuperNavigator.pathToRoot+'/navigator/profile_firm.php?id='+this.id;}
Firm.search=function(onlyHeader){if(onlyHeader)Search.redraw(onlyHeader);else
stack.addProcess(Search.load,40);}
Firm.reset=function(){Firm.zobrazovat_objekty=Firm.zobrazovat_objekty_default;Firm.zoradit_objekty=Firm.zoradit_objekty_default;}
Firm.prototype.click=function(e){myWindow.click(this);}
Firm.prototype.visit=function(){Search.makeObjectVisited(this,Firm.zobrazovat_objekty==2?true:false);}
Firm.prototype.zoom2max=function(){Search.zoom2max(this);return false;}
Firm.zobrazovat_objekty_default=1;Firm.zoradit_objekty_default=0;Firm.sorting=new Array();Firm.sorting[0]=Search.sortByNameFn;Firm.sorting[1]=Search.sortByStreetFn;Firm.sorting[2]=Search.sortByCityFn;Firm.howToSort=Search.howToSort;Firm.get_menuHeader_text=function(){if(Search.actualKeyword!="")return text["vyhl_firiem_p_nazvu"];else if(Search.actualCategory)return text["vyhl_firiem_p_kategorie"];else if(Search.actualPobocka)return text["vyhl_firiem_p_pobocky"];else if(Search.actualFirmID)return text["vyhl_firiem_firma"];}
Firm.get_celkovy_pocet_text=function(){return text["celkovy_pocet"];}
Firm.get_pocet_text=function(){return text["pocet"];}
Firm.get_nic_nenaslo_text=function(){return text["hs_firmy_nenaslo"];}
Firm.get_naslo_inde_text=function(){return text["hs_firmu_naslo"];}
Firm.get_skryte_text=function(pocet){var newHTML="";newHTML+="<div class=\"alert\">"+text["hs_firmy_su_ale_skryte"]+"</div>\n";newHTML+="<div class=\"pocty_celkom\">";newHTML+="<span class=\"text\">"+text["pocet_skrytych"]+":</span>";newHTML+="<span class=\"cislo\">"+pocet+"</span>";newHTML+="</div>\n";return newHTML;}
Firm.get_sort_OR_display=function(what){var newHTML="";if(what=="display")for(var i=0;i<4;i++){newHTML+="<li";if(Firm.zobrazovat_objekty==i)newHTML+=" class=\"active\"";newHTML+="><a href=\"\" onclick=\"";if(Firm.zobrazovat_objekty!=i)newHTML+="Firm.zobrazovat_objekty="+i+"; MapView.redraw();";newHTML+='return false;">'+text["zobrazovat_objekty_"+i]+'</a></li>\n';}
else if(what=="sort")for(var i=0;i<3;i++){newHTML+="<li";if(Firm.zoradit_objekty==i)newHTML+=" class=\"active\"";newHTML+="><a href=\"\" onclick=\"";if(Firm.zoradit_objekty!=i)newHTML+="Firm.zoradit_objekty="+i+"; MapView.redraw();";newHTML+="return false;\">"+text["zoradit_objekty_"+i]+"</a></li>\n";}
return newHTML;}
Firm.get_moznosti_zobrazovania_text=function(){var newHTML="";newHTML+="<div class=\"settings\">\n";newHTML+="<ol>\n";newHTML+=Firm.get_sort_OR_display("display");newHTML+="</ol>\n";newHTML+="</div>\n";return newHTML;}
Firm.get_moznosti_zoradovania_text=function(){var newHTML="";newHTML+="<div class=\"settings\">\n";newHTML+="<ol>\n";newHTML+=Firm.get_sort_OR_display("sort");newHTML+="</ol>\n";newHTML+="</div>";return newHTML;}
Firm.prototype.add2MapHTML=Search.add2MapHTML;Firm.prototype.add2MenuHTML=Search.add2MenuHTML;Firm.zoom2optimum=function(){this.block(Firm);Search.zoom2optimum(Firm);this.free();}
Firm.loadIcons=function(){var firma=Firm.first;var ikona,prvok;var pocet_ikon=0;Firm.ikony=new Array();while(firma){if(firma.iconInLevel){ikona=firma.iconInLevel[MapView.actual.map.level];prvok=Firm.ikony[ikona];if(prvok){prvok[prvok.length]=firma;}
else
{pocet_ikon++;Firm.ikony[ikona]=new Array();prvok=Firm.ikony[ikona];prvok[prvok.length]=firma;}
if(pocet_ikon>Firm.max_pocet_ikon)return false;}
firma=firma.next;}
Firm.iconsObj=new Array();for(ikona in Firm.ikony)if(typeof(Firm.ikony[ikona])=="object"){stack.addProcess(Firm.stack_loadIcon,0,ikona,Firm.ikony[ikona]);}}
Firm.stack_loadIcon=function(ikonaID,poleFiriem){this.block(Firm.ikony);var image=new Image();Firm.iconsObj[ikonaID]=image;image.onerror=image.onabort=Firm.loadIconAborted;image.onload=Firm.loadIconFinished;image.firms=poleFiriem;image.src=getIconSRC(ikonaID);if(image.complete&&!image.onload){image.onerror=image.onabort=image.onload=null;Firm.loadIconFinished.apply(image);}
this.free();}
Firm.loadIconFinished=function(){var obj;this.onerror=this.onabort=this.onload=null;var prvaZfiriem=getById(Firm.htmlMapID+this.firms[0].id);if(prvaZfiriem){var oldWidth=parseInt(prvaZfiriem.firstChild.width);var oldHeight=parseInt(prvaZfiriem.firstChild.height);}
var evalStr="";for(i=0;i<this.firms.length;i++)if(getById(Firm.htmlMapID+this.firms[i].id))evalStr+="getById('"+Firm.htmlMapID+this.firms[i].id+"').firstChild.src = ";if(evalStr.length!=0)eval(evalStr+"'"+this.src+"';");if(prvaZfiriem){var newWidth=parseInt(prvaZfiriem.firstChild.width);var newHeight=parseInt(prvaZfiriem.firstChild.height);}
if(oldWidth!=newWidth||oldHeight!=newHeight){var rozdielWidth=parseInt(oldWidth/2-newWidth/2);var rozdielHeight=parseInt(oldHeight/2-newHeight/2);for(i=0;i<this.firms.length;i++){obj=getById(Firm.htmlMapID+this.firms[i].id);if(obj)Firm.loadIcon_reCenter(obj.firstChild,rozdielWidth,rozdielHeight);}}}
Firm.loadIconAborted=function(){this.onerror=this.onabort=this.onload=null;}
Firm.loadIcon_reCenter=function(imgElement,rozdielWidth,rozdielHeight){if(rozdielWidth!=0||rozdielHeight!=0){imgElement.parentNode.style.left=(parseInt(imgElement.parentNode.style.left)+rozdielWidth)+"px";imgElement.parentNode.style.top=(parseInt(imgElement.parentNode.style.top)+rozdielHeight)+"px";}}
Firm.prototype.makeIconForLevels=function(){if(this.icons!=""){var levels=this.icons.split(";");var i=levels.length-1;var od_levelu,ikona;var temp=levels[i].split(":");var str="";this.iconInLevel=new Array();for(var level=11;level>=0;level--){if(level<temp[0]&&i>0){i--;temp=levels[i].split(":");}
this.iconInLevel[level]=temp[1];str=temp[1]+", "+str;}
this.icons=null;}}
getIconSRC=function(iconID){return SuperNavigator.dataFolder+'i/'+parseInt(iconID/1000).zerofill(3)+"/"+iconID+".gif";}