PageSourceSearch

https://www.scampparnashop.hu/admin/jscripts/bublina.js?_=2026-09-11-00-00

js scampparnashop.hu collected 2026-10-03 21:38:02 UTC 11,422 bytes, 372 lines download raw bytes

1/* --- BoxOver ---
2/* --- v 2.1 17th June 2006
3By Oliver Bryant with help of Matthew Tagg
4http://boxover.swazz.org */
5
6if (typeof document.attachEvent!='undefined') {
7   window.attachEvent('onload',init);
8   document.attachEvent('onmousemove',moveMouse);
9   document.attachEvent('onclick',checkMove); }
10else {
11   window.addEventListener('load',init,false);
12   document.addEventListener('mousemove',moveMouse,false);
13   document.addEventListener('click',checkMove,false);
14}
15
16var oDv=document.createElement("div");
17var dvHdr=document.createElement("div");
18var dvBdy=document.createElement("div");
19var windowlock,boxMove,fixposx,fixposy,lockX,lockY,fixx,fixy,ox,oy,boxLeft,boxRight,boxTop,boxBottom,evt,mouseX,mouseY,boxOpen,totalScrollTop,totalScrollLeft;
20boxOpen=false;
21ox=10;
22oy=10;
23lockX=0;
24lockY=0;
25
26function init() {
27	oDv.appendChild(dvHdr);
28	oDv.appendChild(dvBdy);
29	oDv.style.position="absolute";
30	oDv.style.visibility='hidden';
31	document.body.appendChild(oDv);	
32}
33
34function defHdrStyle() {
35	dvHdr.innerHTML='<img  style="vertical-align:middle"  src="info.gif">&nbsp;&nbsp;'+dvHdr.innerHTML;
36	dvHdr.style.fontWeight='bold';
37	dvHdr.style.width='150px';
38	dvHdr.style.fontFamily='arial';
39	dvHdr.style.border='1px solid #A5CFE9';
40	dvHdr.style.padding='3';
41	dvHdr.style.fontSize='11';
42	dvHdr.style.color='#4B7A98';
43	dvHdr.style.background='#D5EBF9';
44	dvHdr.style.filter='alpha(opacity=85)'; // IE
45	dvHdr.style.opacity='0.85'; // FF
46}
47
48function defBdyStyle() {
49	dvBdy.style.borderBottom='1px solid #A5CFE9';
50	dvBdy.style.borderLeft='1px solid #A5CFE9';
51	dvBdy.style.borderRight='1px solid #A5CFE9';
52	dvBdy.style.width='150px';
53	dvBdy.style.fontFamily='arial';
54	dvBdy.style.fontSize='11';
55	dvBdy.style.padding='3';
56	dvBdy.style.color='#1B4966';
57	dvBdy.style.background='#FFFFFF';
58	dvBdy.style.filter='alpha(opacity=85)'; // IE
59	dvBdy.style.opacity='0.85'; // FF
60}
61
62function checkElemBO(txt) {
63if (!txt || typeof(txt) != 'string') return false;
64if ((txt.indexOf('header')>-1)&&(txt.indexOf('body')>-1)&&(txt.indexOf('[')>-1)&&(txt.indexOf('[')>-1)) 
65   return true;
66else
67   return false;
68}
69
70function scanBO(curNode) {
71	  if (checkElemBO(curNode.title)) {
72         curNode.boHDR=getParam('header',curNode.title);
73         curNode.boBDY=getParam('body',curNode.title);
74			curNode.boCSSBDY=getParam('cssbody',curNode.title);			
75			curNode.boCSSHDR=getParam('cssheader',curNode.title);
76			curNode.IEbugfix=(getParam('hideselects',curNode.title)=='on')?true:false;
77			curNode.fixX=parseInt(getParam('fixedrelx',curNode.title));
78			curNode.fixY=parseInt(getParam('fixedrely',curNode.title));
79			curNode.absX=parseInt(getParam('fixedabsx',curNode.title));
80			curNode.absY=parseInt(getParam('fixedabsy',curNode.title));
81			curNode.offY=(getParam('offsety',curNode.title)!='')?parseInt(getParam('offsety',curNode.title)):10;
82			curNode.offX=(getParam('offsetx',curNode.title)!='')?parseInt(getParam('offsetx',curNode.title)):10;
83			curNode.fade=(getParam('fade',curNode.title)=='on')?true:false;
84			curNode.fadespeed=(getParam('fadespeed',curNode.title)!='')?getParam('fadespeed',curNode.title):0.04;
85			curNode.delay=(getParam('delay',curNode.title)!='')?parseInt(getParam('delay',curNode.title)):0;
86			if (getParam('requireclick',curNode.title)=='on') {
87				curNode.requireclick=true;
88				document.all?curNode.attachEvent('onclick',showHideBox):curNode.addEventListener('click',showHideBox,false);
89				document.all?curNode.attachEvent('onmouseover',hideBox):curNode.addEventListener('mouseover',hideBox,false);
90			}
91			else {// Note : if requireclick is on the stop clicks are ignored   			
92   			if (getParam('doubleclickstop',curNode.title)!='off') {
93   				document.all?curNode.attachEvent('ondblclick',pauseBox):curNode.addEventListener('dblclick',pauseBox,false);
94   			}	
95   			if (getParam('singleclickstop',curNode.title)=='on') {
96   				document.all?curNode.attachEvent('onclick',pauseBox):curNode.addEventListener('click',pauseBox,false);
97   			}
98   		}
99			curNode.windowLock=getParam('windowlock',curNode.title).toLowerCase()=='off'?false:true;
100			curNode.title='';
101			curNode.hasbox=1;
102	   }
103	   else
104	      curNode.hasbox=2;   
105}
106
107
108function getParam(param,list) {
109	var reg = new RegExp('([^a-zA-Z]' + param + '|^' + param + ')\\s*=\\s*\\[\\s*(((\\[\\[)|(\\]\\])|([^\\]\\[]))*)\\s*\\]');
110	var res = reg.exec(list);
111	var returnvar;
112	if(res)
113		return res[2].replace('[[','[').replace(']]',']');
114	else
115		return '';
116}
117
118function Left(elem){	
119	var x=0;
120	if (elem.calcLeft)
121		return elem.calcLeft;
122	var oElem=elem;
123	while(elem){
124		 if ((elem.currentStyle)&& (!isNaN(parseInt(elem.currentStyle.borderLeftWidth)))&&(x!=0))
125		 	x+=parseInt(elem.currentStyle.borderLeftWidth);
126		 x+=elem.offsetLeft;
127		 elem=elem.offsetParent;
128	  } 
129	oElem.calcLeft=x;
130	return x;
131	}
132
133function Top(elem){
134	 var x=0;
135	 if (elem.calcTop)
136	 	return elem.calcTop;
137	 var oElem=elem;
138	 while(elem){		
139	 	 if ((elem.currentStyle)&& (!isNaN(parseInt(elem.currentStyle.borderTopWidth)))&&(x!=0))
140		 	x+=parseInt(elem.currentStyle.borderTopWidth); 
141		 x+=elem.offsetTop;
142	         elem=elem.offsetParent;
143 	 } 
144 	 oElem.calcTop=x;
145 	 return x;
146 	 
147}
148
149var ah,ab;
150function applyStyles() {
151	if(ab)
152		oDv.removeChild(dvBdy);
153	if (ah)
154		oDv.removeChild(dvHdr);
155	dvHdr=document.createElement("div");
156	dvBdy=document.createElement("div");
157	CBE.boCSSBDY?dvBdy.className=CBE.boCSSBDY:defBdyStyle();
158	CBE.boCSSHDR?dvHdr.className=CBE.boCSSHDR:defHdrStyle();
159	dvHdr.innerHTML=CBE.boHDR;
160	dvBdy.innerHTML=CBE.boBDY;
161	ah=false;
162	ab=false;
163	if (CBE.boHDR!='') {		
164		oDv.appendChild(dvHdr);
165		ah=true;
166	}	
167	if (CBE.boBDY!=''){
168		oDv.appendChild(dvBdy);
169		ab=true;
170	}	
171}
172
173var CSE,iterElem,LSE,CBE,LBE, totalScrollLeft, totalScrollTop, width, height ;
174var ini=false;
175
176// Customised function for inner window dimension
177function SHW() {
178   if (document.body && (document.body.clientWidth !=0)) {
179      width=document.body.clientWidth;
180      height=document.body.clientHeight;
181   }
182   if (document.documentElement && (document.documentElement.clientWidth!=0) && (document.body.clientWidth + 20 >= document.documentElement.clientWidth)) {
183      width=document.documentElement.clientWidth;   
184      height=document.documentElement.clientHeight;   
185   }   
186   return [width,height];
187}
188
189
190var ID=null;
191function moveMouse(e) {
192   //boxMove=true;
193	e?evt=e:evt=event;
194	
195	CSE=evt.target?evt.target:evt.srcElement;
196	
197	if (!CSE.hasbox) {
198	   // Note we need to scan up DOM here, some elements like TR don't get triggered as srcElement
199	   iElem=CSE;
200	   while ((iElem.parentNode) && (!iElem.hasbox)) {
201	      scanBO(iElem);
202	      iElem=iElem.parentNode;
203	   }	   
204	}
205	
206	if ((CSE!=LSE)&&(!isChild(CSE,dvHdr))&&(!isChild(CSE,dvBdy))){		
207	   if (!CSE.boxItem) {
208			iterElem=CSE;
209			while ((iterElem.hasbox==2)&&(iterElem.parentNode))
210					iterElem=iterElem.parentNode; 
211			CSE.boxItem=iterElem;
212			}
213		iterElem=CSE.boxItem;
214		if (CSE.boxItem&&(CSE.boxItem.hasbox==1))  {
215			LBE=CBE;
216			CBE=iterElem;
217			if (CBE!=LBE) {
218				applyStyles();
219				if (!CBE.requireclick)
220					if (CBE.fade) {
221						if (ID!=null)
222							clearTimeout(ID);
223						ID=setTimeout("fadeIn("+CBE.fadespeed+")",CBE.delay);
224					}
225					else {
226						if (ID!=null)
227							clearTimeout(ID);
228						COL=1;
229						ID=setTimeout("oDv.style.visibility='visible';ID=null;",CBE.delay);						
230					}
231				if (CBE.IEbugfix) {hideSelects();} 
232				fixposx=!isNaN(CBE.fixX)?Left(CBE)+CBE.fixX:CBE.absX;
233				fixposy=!isNaN(CBE.fixY)?Top(CBE)+CBE.fixY:CBE.absY;			
234				lockX=0;
235				lockY=0;
236				boxMove=true;
237				ox=CBE.offX?CBE.offX:10;
238				oy=CBE.offY?CBE.offY:10;
239			}
240		}
241		else if (!isChild(CSE,dvHdr) && !isChild(CSE,dvBdy) && (boxMove))	{
242			// The conditional here fixes flickering between tables cells.
243			if ((!isChild(CBE,CSE)) || (CSE.tagName!='TABLE')) {   			
244   			CBE=null;
245   			if (ID!=null)
246  					clearTimeout(ID);
247   			fadeOut();
248   			showSelects();
249			}
250		}
251		LSE=CSE;
252	}
253	else if (((isChild(CSE,dvHdr) || isChild(CSE,dvBdy))&&(boxMove))) {
254		totalScrollLeft=0;
255		totalScrollTop=0;
256		
257		iterElem=CSE;
258		while(iterElem) {
259			if(!isNaN(parseInt(iterElem.scrollTop)))
260				totalScrollTop+=parseInt(iterElem.scrollTop);
261			if(!isNaN(parseInt(iterElem.scrollLeft)))
262				totalScrollLeft+=parseInt(iterElem.scrollLeft);
263			iterElem=iterElem.parentNode;			
264		}
265		if (CBE!=null) {
266			boxLeft=Left(CBE)-totalScrollLeft;
267			boxRight=parseInt(Left(CBE)+CBE.offsetWidth)-totalScrollLeft;
268			boxTop=Top(CBE)-totalScrollTop;
269			boxBottom=parseInt(Top(CBE)+CBE.offsetHeight)-totalScrollTop;
270			doCheck();
271		}
272	}
273	
274	if (boxMove&&CBE) {
275		// This added to alleviate bug in IE6 w.r.t DOCTYPE
276		bodyScrollTop=document.documentElement&&document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop;
277		bodyScrollLet=document.documentElement&&document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft;
278		mouseX=evt.pageX?evt.pageX-bodyScrollLet:evt.clientX-document.body.clientLeft;
279		mouseY=evt.pageY?evt.pageY-bodyScrollTop:evt.clientY-document.body.clientTop;
280		if ((CBE)&&(CBE.windowLock)) {
281			mouseY < -oy?lockY=-mouseY-oy:lockY=0;
282			mouseX < -ox?lockX=-mouseX-ox:lockX=0;
283			mouseY > (SHW()[1]-oDv.offsetHeight-oy)?lockY=-mouseY+SHW()[1]-oDv.offsetHeight-oy:lockY=lockY;
284			mouseX > (SHW()[0]-dvBdy.offsetWidth-ox)?lockX=-mouseX-ox+SHW()[0]-dvBdy.offsetWidth:lockX=lockX;			
285		}
286		oDv.style.left=((fixposx)||(fixposx==0))?fixposx:bodyScrollLet+mouseX+ox+lockX+"px";
287		oDv.style.top=((fixposy)||(fixposy==0))?fixposy:bodyScrollTop+mouseY+oy+lockY+"px";		
288		
289	}
290}
291
292function doCheck() {	
293	if (   (mouseX < boxLeft)    ||     (mouseX >boxRight)     || (mouseY < boxTop) || (mouseY > boxBottom)) {
294		if (!CBE.requireclick)
295			fadeOut();
296		if (CBE.IEbugfix) {showSelects();}
297		CBE=null;
298	}
299}
300
301function pauseBox(e) {
302   e?evt=e:evt=event;
303	boxMove=false;
304	evt.cancelBubble=true;
305}
306
307function showHideBox(e) {
308	oDv.style.visibility=(oDv.style.visibility!='visible')?'visible':'hidden';
309}
310
311function hideBox(e) {
312	oDv.style.visibility='hidden';
313}
314
315var COL=0;
316var stopfade=false;
317function fadeIn(fs) {
318		ID=null;
319		COL=0;
320		oDv.style.visibility='visible';
321		fadeIn2(fs);
322}
323
324function fadeIn2(fs) {
325		COL=COL+fs;
326		COL=(COL>1)?1:COL;
327		oDv.style.filter='alpha(opacity='+parseInt(100*COL)+')';
328		oDv.style.opacity=COL;
329		if (COL<1)
330		 setTimeout("fadeIn2("+fs+")",20);		
331}
332
333
334function fadeOut() {
335	oDv.style.visibility='hidden';
336	
337}
338
339function isChild(s,d) {
340	while(s) {
341		if (s==d) 
342			return true;
343		s=s.parentNode;
344	}
345	return false;
346}
347
348var cSrc;
349function checkMove(e) {
350	e?evt=e:evt=event;
351	cSrc=evt.target?evt.target:evt.srcElement;
352	if ((!boxMove)&&(!isChild(cSrc,oDv))) {
353		fadeOut();
354		if (CBE&&CBE.IEbugfix) {showSelects();}
355		boxMove=true;
356		CBE=null;
357	}
358}
359
360function showSelects(){
361   var elements = document.getElementsByTagName("select");
362   for (i=0;i< elements.length;i++){
363      elements[i].style.visibility='visible';
364   }
365}
366
367function hideSelects(){
368   var elements = document.getElementsByTagName("select");
369   for (i=0;i< elements.length;i++){
370   elements[i].style.visibility='hidden';
371   }
372}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.