var MapHintInit,timer,Laeyr_hint=false; ObjInfoHint=new Array(); CurrHint=-1; // ================================= // function MapMouseMove() { if(!MapHintInit || insideMap) return; var x=event.offsetX; var y=event.offsetY; var z=new Array(); var i=FindFirstHint(x-8); // предворительная проверка на выполнение критерия var j; if(i == -1) return; // Проверка на вхождения хинтов в допустимую зону for(;(i=ObjInfoHint.length)||(z[i]ObjInfoHint[j]) { // Удаления хинта который уже не попадает в допустимую зону for(var row=0;row5) Laeyr_hint.pixelLeft=X_hint if(Math.abs(Y_hint-Laeyr_hint.pixelTop)>5) Laeyr_hint.pixelTop=Y_hint Laeyr_hint.visibility='visible'; } // Сортируем все загруженые хинты function ObjInfoSortFunc(var1,var2){return var1[1]-var2[1]} // Сортируем все хинты которые попадают в допустимую зону function IntSortFunc(var1,var2){return var1-var2} // Проверяем - есть ли хотябы один подходящий хинт function FindFirstHint(x) { for(var i=0;ix)return i; return -1; } // Вызывается при навидения на хинт function HintMouseOver(){ visibl_hint(1); for(src=event.srcElement;src;src=src.parentElement){ if (src.tagName == 'TD'){ src.style.color='yellow'; src.style.backgroundColor='black'; src.style.cursor='hand'; break ; } } } // Вызывается при выходе курсора из хинта function HintMouseOut() { for(src=event.srcElement;src;src=src.parentElement) { if (src.tagName == 'TD'){ src.style.color='black'; src.style.backgroundColor='#FCFFBF'; break ; } } timer=setTimeout('visibl_hint(0)',100); } // Вызывается при нажатие на хинт function HintMouseDown(layer_id, object_id, style_id){ wind_inf=open('get_info.php?layer_id='+layer_id+'&object_id='+object_id+'&style_id='+style_id, 'inform', 'location=yes,width=550,height=250') wind_inf.focus() for(src=event.srcElement;src;src=src.parentElement) { if (src.tagName == 'TD') { src.style.backgroundColor='#0000FF'; break ; } } } // Вызывается при полной загруски всех хинтов function load_hints(){ ObjInfo.sort(ObjInfoSortFunc); mapPospage(); Laeyr_hint=document.all.MapHint.style; MapHintInit=true; } function visibl_hint (set) { if(set && timer){ clearTimeout(timer); timer=false; } else{ Laeyr_hint.visibility='hidden'; } }