PageSourceSearch

https://artprice.bg/scripts/image-slideshow.js

js artprice.bg collected 2026-10-02 23:32:03 UTC 4,069 bytes, 127 lines download raw bytes

1   	/***********************************************************************************************
2	
3	Copyright (c) 2005 - Alf Magne Kalleland [email protected]
4	
5	UPDATE LOG:
6	
7	March, 10th, 2006 : Added support for a message while large image is loading
8	
9	Get this and other scripts at www.dhtmlgoodies.com
10	
11	You can use this script freely as long as this copyright message is kept intact.
12	
13	***********************************************************************************************/ 
14   	
15	var displayWaitMessage=true;	// Display a please wait message while images are loading?
16  	
17   		
18	var activeImage = false;
19	var imageGalleryLeftPos = false;
20	var imageGalleryWidth = false;
21	var imageGalleryObj = false;
22	var maxGalleryXPos = false;
23	var slideSpeed = 0;
24	var imageGalleryCaptions = new Array();
25	function startSlide(e)
26	{
27		if(document.all)e = event;
28		var id = this.id;
29		this.getElementsByTagName('IMG')[0].src = 'images/' + this.id + '_over.gif';	
30		if(this.id=='arrow_right'){
31			slideSpeedMultiply = Math.floor((e.clientX - this.offsetLeft) / 5);
32			slideSpeed = -1*slideSpeedMultiply;
33			slideSpeed = Math.max(-10,slideSpeed);
34		}else{			
35			slideSpeedMultiply = 10 - Math.floor((e.clientX - this.offsetLeft) / 5);
36			slideSpeed = 1*slideSpeedMultiply;
37			slideSpeed = Math.min(10,slideSpeed);
38			if(slideSpeed<0)slideSpeed=10;
39		}
40	}
41	
42	function releaseSlide()
43	{
44		var id = this.id;
45		this.getElementsByTagName('IMG')[0].src = 'images/' + this.id + '.gif';
46		slideSpeed=0;
47	}
48		
49	function gallerySlide()
50	{
51		if(slideSpeed!=0){
52			var leftPos = imageGalleryObj.offsetLeft;
53			leftPos = leftPos/1 + slideSpeed;
54			if(leftPos>maxGalleryXPos){
55				leftPos = maxGalleryXPos;
56				slideSpeed = 0;
57				
58			}
59			if(leftPos<minGalleryXPos){
60				leftPos = minGalleryXPos;
61				slideSpeed=0;
62			}
63			
64			imageGalleryObj.style.left = leftPos + 'px';
65		}
66		setTimeout('gallerySlide()',20);
67		
68	}
69	
70	function showImage()
71	{
72		if(activeImage){
73			activeImage.style.filter = 'alpha(opacity=50)';	
74			activeImage.style.opacity = 0.5;
75		}	
76		this.style.filter = 'alpha(opacity=100)';
77		this.style.opacity = 1;	
78		activeImage = this;	
79	}
80	
81	function initSlideShow()
82	{
83		document.getElementById('arrow_left').onmousemove = startSlide;
84		document.getElementById('arrow_left').onmouseout = releaseSlide;
85		document.getElementById('arrow_right').onmousemove = startSlide;
86		document.getElementById('arrow_right').onmouseout = releaseSlide;
87		
88		imageGalleryObj = document.getElementById('theImages');
89		imageGalleryLeftPos = imageGalleryObj.offsetLeft;
90		imageGalleryWidth = document.getElementById('galleryContainer').offsetWidth - 80;
91		maxGalleryXPos = imageGalleryObj.offsetLeft; 
92		minGalleryXPos = imageGalleryWidth - document.getElementById('slideEnd').offsetLeft;
93		var slideshowImages = imageGalleryObj.getElementsByTagName('IMG');
94		for(var no=0;no<slideshowImages.length;no++){
95			slideshowImages[no].onmouseover = showImage;
96		}
97		
98		var divs = imageGalleryObj.getElementsByTagName('DIV');
99		for(var no=0;no<divs.length;no++){
100			if(divs[no].className=='imageCaption')imageGalleryCaptions[imageGalleryCaptions.length] = divs[no].innerHTML;
101		}
102		gallerySlide();
103	}
104	
105	function showPreview(imagePath,imageIndex){
106		var subImages = document.getElementById('previewPane').getElementsByTagName('IMG');
107		if(subImages.length==0){
108			var img = document.createElement('IMG');
109			document.getElementById('previewPane').appendChild(img);
110		}else img = subImages[0];
111		
112		if(displayWaitMessage){
113			document.getElementById('waitMessage').style.display='inline';
114		}
115		document.getElementById('largeImageCaption').style.display='none';
116		img.onload = function() { hideWaitMessageAndShowCaption(imageIndex-1); };
117		img.src = imagePath;
118		
119	}
120	function hideWaitMessageAndShowCaption(imageIndex)
121	{
122		document.getElementById('waitMessage').style.display='none';	
123		document.getElementById('largeImageCaption').innerHTML = imageGalleryCaptions[imageIndex];
124		document.getElementById('largeImageCaption').style.display='block';
125		
126	}
127	window.onload = initSlideShow;

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.