	
// © 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,icon_legend,specialOrder,rate,logo,font,color,neaktivna){if(arguments.length>1){this.id=id;if(name!='')this.name=name;else
this.name=Firm.lastInserted.name;this.houseNumber=cisloDomu;if(ulicaNazov!=""&&mestoID)new Street(false,ulicaID,ulicaNazov,mestoID,mestoNazov);if(mestoNazov!="")new City(false,mestoID,mestoNazov);if(Street.all[ulicaID]&&typeof(Street.all[ulicaID])=="object")this.street=Street.all[ulicaID];else
this.street=ulicaID;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(this.iconInLevel&&Firm.ifOnlyOneIcon!==false){var aLevel=MapView.actual?MapView.actual.map.level:1;if(Firm.ifOnlyOneIcon===null){Firm.ifOnlyOneIcon=this.iconInLevel[aLevel];Firm.ifOnlyOneIconObject=loadIcon(Firm.ifOnlyOneIcon,true);Firm.ifOnlyOneIconLevel=aLevel;}
else
if(Firm.ifOnlyOneIcon!=this.iconInLevel[aLevel]){Firm.ifOnlyOneIcon=false;}}
if(!this.iconInLevel)Firm.ifOnlyOneIcon=false;this.icon_legend=icon_legend;this.rate=rate;this.start=(rate<10)?true:false;if(logo)this.logo=logo;this.font=font;this.color=color;this.visited=false;this.radius=null;this.next=null;this.specialOrder=specialOrder;if(neaktivna){this.font=null;this.color=false;}
this.special=neaktivna;Firm.lastInserted=Firm.lastSearch[id]=Search.lastSearch[Firm.htmlMenuID+id]=Firm.all[id]=this;}
else{if(Firm.all[id]&&typeof(Firm.all[id])=="object")Firm.lastInserted=Firm.lastSearch[id]=Search.lastSearch[Firm.htmlMenuID+id]=Firm.all[id];else
Firm.lastSearch[id]=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.getTotalCount=function(){return Search.totalCount;}
Firm.lastSearch=new Array();Firm.profileScript="/navigator/profile_firm.php";Firm.name="Firm";Firm.htmlMapID="mf";Firm.htmlMenuID="f";Firm.minRadiusSize=16;Firm.suborder=4;Firm.prototype.suborder=Firm.suborder;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.defaultSpecialIcon=new Array('mypos_nona01','mypos_nona01','mypos_nona01','mypos_nona02','mypos_nona02','mypos_nona02','mypos_nona02','mypos_nona01','mypos_nona02','mypos_nona02','mypos_nona02','mypos_nona03');Firm.preserveThisIcons=null;Firm.init=function(){var ikony=Firm.defaultIcon.unique();ikony=ikony.concat(Firm.defaultVisitedIcon.unique());ikony=ikony.concat(Firm.defaultSpecialIcon.unique());for(var id in ikony)if((typeof(ikony[id])=="string"||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.ifOnlyOneIcon=null;Firm.ifOnlyOneIconObject=null;Firm.ifOnlyOneIconLevel=null;}
Firm.prototype.setRadius=function(radius){this.radius=radius;}
Firm.prototype.setHiddenStreet=function(){this.hideStreet=true;}
Firm.prototype.valueOf=function(){return this.name+", \n"+this.printAddress();}
Firm.prototype.printIndex=function(index){return'<var>'+(Search.printIndex+1)+'.</var>';}
Firm.tempStr='';Firm.prototype.printTitle=function(){Firm.tempStr=this.printAddress();return this.name+(Firm.tempStr!=''?((!browser.isIE?", ":"\n")+Firm.tempStr):'');}
Firm.prototype.printCaption=function(){Firm.tempStr='<strong';if(this.font){Firm.tempStr+=' class="'+this.font.replace(/ /g,'')+'font"';if(this.color&&!SuperNavigator.clientID)Firm.tempStr+=' style="color: #'+this.color+';"';}
Firm.tempStr+='>'+this.name+'</strong>';return Firm.tempStr;}
Firm.prototype.printAdresa=function(){return'<address>'+this.printAddress()+'</address>';}
Firm.prototype.printAddress=function(){if(!window.AdminPortal&&this.hideStreet)return(this.city?this.city.name:"");else if(this.street)return(this.street.name+" "+this.houseNumber).trim()+", "+this.city.name;else if(this.city)return(this.city.name+" "+this.houseNumber).trim();else return"";}
Firm.prototype.printOptions=function(){if(SuperNavigator.clientID&&!SuperNavigator.mapModule)return'<span class="options">'+'<span class="map">'+text["ap_option_map"]+'</span>'+'<span class="change">'+text["ap_option_change"]+'</span>'+'<span class="remove">'+text["ap_option_remove"]+'</span>'+'</span>';else
return'';}
Firm.prototype.printLegend=function(){if(this.icon_legend&&!SuperNavigator.clientID){Firm.tempStr='<span class="legend">';for(Search.k=0;Search.k<6;Search.k++)if(this.icon_legend.charAt(Search.iconIndex[Search.k]-1)=='1')Firm.tempStr+='<img src="'+SuperNavigator.pathToRoot+'/img/s.gif" class="leg'+Search.iconIndex[Search.k]+'" title="'+text['leg0'+Search.iconIndex[Search.k]]+'" />';Firm.tempStr+='</span>';return Firm.tempStr;}
else
return'';}
Firm.prototype.printLogo=function(){if(this.logo)return'<div><img src="../img/im.gif" border="1" name="'+SuperNavigator.dataFolder+"logos/"+this.logo.slice(0,5)+"/"+this.logo+'" /></div>';else
return'';}
Firm.factoryMethodArray=new Array(Firm.prototype.printIndex,Firm.prototype.printCaption,Firm.prototype.printAdresa,Firm.prototype.printOptions,Firm.prototype.printLegend,Firm.prototype.printLogo);Firm.prototype.getDetailScript=function(){return SuperNavigator.pathToRoot+Firm.profileScript+'?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.sortByDefaultFn=function(a,b){if(a.suborder<b.suborder)return 1;if(a.suborder>b.suborder)return-1;if(a.start>b.start)return 1;if(a.start<b.start)return-1;if(a.specialOrder>b.specialOrder)return 1;if(a.specialOrder<b.specialOrder)return-1;if(a.rate<b.rate)return 1;if(a.rate>b.rate)return-1;return Search.sortByNameFn(a,b);}
Firm.sortByNameFn=function(a,b){if(a.suborder<b.suborder)return 1;if(a.suborder>b.suborder)return-1;if(a.start>b.start)return 1;if(a.start<b.start)return-1;return Search.sortByNameFn(a,b);}
Firm.sortByStreetFn=function(a,b){if(a.suborder<b.suborder)return 1;if(a.suborder>b.suborder)return-1;if(a.start>b.start)return 1;if(a.start<b.start)return-1;return Search.sortByStreetFn(a,b);}
Firm.sortByCityFn=function(a,b){if(a.suborder<b.suborder)return 1;if(a.suborder>b.suborder)return-1;if(a.start>b.start)return 1;if(a.start<b.start)return-1;return Search.sortByCityFn(a,b);}
Firm.zoradit_objekty_default=0;Firm.sorting=new Array();Firm.sorting[0]=Firm.sortByDefaultFn;Firm.sorting[1]=Firm.sortByNameFn;Firm.sorting[2]=Firm.sortByStreetFn;Firm.sorting[3]=Firm.sortByCityFn;Firm.howToSort=Search.howToSort;Firm.get_menuHeader_text=function(){if((Search.actualKeyword!=""&&!Search.keywordSearching)||Search.actualKeywordNameClient!='')return text["vyhl_firiem_p_nazvu"];else if(Search.actualKeyword!=""&&Search.keywordSearching)return text["vyhl_firiem_p_keywords"];else if(Search.actualCategory||Search.actualClientCategoryIDs)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(){if(Search.keywordSearching)return text["hs_firmy_nenaslo_keyword"];else
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 id="displayBy'+i+'"';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<4;i++){newHTML+='<li id="orderBy'+i+'"';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.orderTag="ol";Firm.get_moznosti_zobrazovania_text=function(){var newHTML="";newHTML+="<div class=\"settings\">\n";newHTML+="<"+Firm.orderTag+">\n";newHTML+=Firm.get_sort_OR_display("display");newHTML+="</"+Firm.orderTag+">\n";newHTML+="</div>\n";return newHTML;}
Firm.get_moznosti_zoradovania_text=function(){var newHTML="";newHTML+="<div class=\"settings\">\n";newHTML+="<"+Firm.orderTag+">\n";newHTML+=Firm.get_sort_OR_display("sort");newHTML+="</"+Firm.orderTag+">\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(){if(Firm.preserveThisIcons||Firm.ifOnlyOneIcon&&Firm.ifOnlyOneIconLevel==MapView.actual.map.level)return false;var firma=Firm.first;var ikona,prvok;var pocet_ikon=0;Firm.ikony=new Array();while(firma){if(firma.iconInLevel&&!firma.special&&(!firma.radius||(firma.radius&&MapView.getActualKoefInMeters(firma.radius)<Firm.minRadiusSize))){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=parseInt(ikonaID)?getIconSRC(ikonaID):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(this.width);var newHeight=parseInt(this.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 spliter=this.icons.indexOf('>')>0?'>':':';var cityID=this.city.id?this.city.id:this.city;var maxLevel=mapCity[cityID]?Map.max_level_statu+mapCity[cityID].level_count:Map.max_level_statu;this.icons=this.icons.replace('$',maxLevel);var levels=this.icons.split(";");var i=levels.length-1;var od_levelu,ikona;var temp=levels[i].split(spliter);this.iconInLevel=new Array();for(var level=11;level>=0;level--){if(level<temp[0]&&i>0){i--;temp=levels[i].split(spliter);}
this.iconInLevel[level]=temp[1];}
this.icons=null;}}
getIconSRC=function(iconID){return SuperNavigator.dataFolder+'i/'+parseInt(iconID/1000).zerofill(3)+"/"+iconID+".gif";}
Firm.ChangePositionMode=new Object();Firm.ChangePositionMode.activate=function(){if(Map.isWorking)return false;MapView.Div.style.cursor=document.body.style.cursor="crosshair";if(!Firm.ChangePositionMode.cursorText){Firm.ChangePositionMode.cursorText=vytvorHTMLElement("div","cursorText",document.body);Firm.ChangePositionMode.cursorText.style.position="absolute";Firm.ChangePositionMode.cursorText.style.top="-300px";Firm.ChangePositionMode.cursorText.style.fontFamily="arial";Firm.ChangePositionMode.cursorText.style.color="black";Firm.ChangePositionMode.cursorText.style.zIndex=100;Firm.ChangePositionMode.cursorText.innerHTML=text["mp_kurzor_klikni_do_mapy"];Firm.ChangePositionMode.cursorText.setPosition=Position.setPositionHTML;}
Firm.ChangePositionMode.cursorText.style.display="block";Firm.ChangePositionMode.countWhileMoving=0;document.onmousemove=Firm.ChangePositionMode.updateCursorText;document.onmousedown=Firm.ChangePositionMode.createNewModeClick;MapView.objectsDiv.hide();if(MapView.distanceDiv)MapView.distanceDiv.style.display="none";return false;}
Firm.ChangePositionMode.updateCursorText=function(e){Firm.ChangePositionMode.countWhileMoving++;Firm.ChangePositionMode.cursorText.setPosition(getMousePosition(e).plus(2,0));}
Firm.ChangePositionMode.createNewModeClick=function(e){stopBubbling(e);if(Firm.ChangePositionMode.countWhileMoving>5){MapView.Div.style.cursor=document.body.style.cursor="";document.onmousedown=document.onmousemove=null;Firm.ChangePositionMode.cursorText.style.display="none";Firm.ChangePositionMode.countWhileMoving=0;var clickPos=MapView.getMousePosition(e);var validMapArea=new Area(new Position(0,0),MapView.size.getCopy().multiply(Map.puzzle).plus(MapView.specialPos.getCopy().multiply(2)));if(clickPos.isInArea(validMapArea)&&!rightMouse(e)){clickPos=clickPos.outaMapViewDiv(MapView.actual).toBase(MapView.actual.map);stack.clear();stack.free();Map.isWorking=true;if(!SuperNavigator.varForm){var cesta=parent.location.href;var otaznik=cesta.indexOf("?");if(otaznik)cesta=cesta.slice(0,otaznik);cesta=cesta.slice(0,cesta.lastIndexOf("/")+1);var params="?x="+clickPos.getX()+"&y="+clickPos.getY()+"&firmID="+Firm.lastInserted.id+(MapView.actual.map.city?"&cityID="+MapView.actual.map.city.id:"")+"&level="+MapView.actual.map.level+"&"+SuperNavigator.SID;SuperNavigator.load(cesta+"set_pozicia_save.php"+params);}
else{Firm.ChangePositionMode.updateClientForm(clickPos);var clientForm=eval("parent."+SuperNavigator.varForm);if(SuperNavigator.submitOnChange)if((typeof(clientForm.onsubmit)=="function"&&clientForm.onsubmit())||typeof(clientForm.onsubmit)!="function")clientForm.submit();Firm.lastInserted.position=clickPos;if(SuperNavigator.distancePosition)SuperNavigator.distancePosition=clickPos;}}
MapView.objectsDiv.show();if(MapView.distanceDiv)MapView.distanceDiv.style.display="block";MapView.actual._display();}
return false;}
Firm.ChangePositionMode.updateClientForm=function(posObj){if(posObj)var clickPos=arguments[0];else
var clickPos=Firm.lastInserted.position.getCopy();var formStr="parent.document.forms['"+SuperNavigator.varForm+"']";var clientForm=eval(formStr);if(clientForm){if(SuperNavigator.varX&&SuperNavigator.varY){var clientX=eval(formStr+"."+SuperNavigator.varX);var clientY=eval(formStr+"."+SuperNavigator.varY);if(clientX&&clientY){clientX.value=clickPos.getX();clientY.value=clickPos.getY();}
else
alert("Error: Clients form input '"+SuperNavigator.varForm+"."+SuperNavigator.varX+"' or '"+SuperNavigator.varForm+"."+SuperNavigator.varY+"' doesnt exist!");}
if(SuperNavigator.varLevel){var clientLevel=eval(formStr+"."+SuperNavigator.varLevel);if(clientLevel)clientLevel.value=MapView.actual.map.level;else
alert("Error: Clients form input '"+SuperNavigator.varForm+"."+SuperNavigator.varLevel+"' doesnt exists!");}
if(SuperNavigator.varCity){var clientCity=eval(formStr+"."+SuperNavigator.varCity);if(clientCity)clientCity.value=MapView.actual.map.city?MapView.actual.map.city.id:0;else
alert("Error: Clients form input '"+SuperNavigator.varForm+"."+SuperNavigator.varCity+"' doesnt exists!");}
if(SuperNavigator.varCityName){var clientCityName=eval(formStr+"."+SuperNavigator.varCityName);if(clientCityName)clientCityName.value=MapView.actual.map.city?MapView.actual.map.city.nazov:'';else
alert("Error: Clients form input '"+SuperNavigator.varForm+"."+SuperNavigator.varCityName+"' doesnt exists!");}
if(SuperNavigator.varChanged){var clientChanged=eval(formStr+"."+SuperNavigator.varChanged);if(clientChanged)clientChanged.value="true";else
alert("Error: Clients form input '"+SuperNavigator.varForm+"."+SuperNavigator.varChanged+"' doesnt exists!");}}
else
alert("Error: Clients form '"+SuperNavigator.varForm+"' doesnt exists!");}