cImageSwap = { hImage : null, hActiveImage : null, hWaitImage : null } cImageSwap.CB_AUTOINIT = true cImageSwap.CS_ZOOM_IMAGE_ID = 'autoswap_image' cImageSwap.CS_ZOOM_WAITIMAGE_ID = 'autoswap_waitimage' cImageSwap.onImageLoad = function( hEvent ) { if( !cImageSwap.hActiveImage ) { return } var sImageDestination = cImageSwap.hActiveImage.getAttribute( 'imagedest' ) if( sImageDestination != null && sImageDestination.length > 0 ) { var hImageDest = document.getElementById( sImageDestination ) } if( hImageDest ) { hImageDest.src = cImageSwap.hImage.src } else { cImageSwap.hImage.style.visibility = 'hidden' var nZWidth = cImageSwap.hImage.naturalWidth ? cImageSwap.hImage.naturalWidth : cImageSwap.hImage.width var nZHeight = cImageSwap.hImage.naturalHeight ? cImageSwap.hImage.naturalHeight : cImageSwap.hImage.height var nPosX = getObject.getSize( 'offsetLeft', cImageSwap.hActiveImage ) var nPosY = getObject.getSize( 'offsetTop', cImageSwap.hActiveImage ) var nNPosX = Math.floor( nPosX - ( nZWidth - cImageSwap.hActiveImage.offsetWidth ) / 2 ) var nNPosY = Math.floor( nPosY - ( nZHeight - cImageSwap.hActiveImage.offsetHeight ) / 2 ) cImageSwap.hImage.style.left = nNPosX + 'px' cImageSwap.hImage.style.top = nNPosY + 'px' cImageSwap.hImage.style.visibility = 'visible' } cImageSwap.hWaitImage.style.visibility = 'hidden' } cImageSwap.onImageStartLoad = function() { var nZWidth = cImageSwap.hImage.naturalWidth ? cImageSwap.hImage.naturalWidth : cImageSwap.hImage.width var nZHeight = cImageSwap.hImage.naturalHeight ? cImageSwap.hImage.naturalHeight : cImageSwap.hImage.height var nPosX = getObject.getSize( 'offsetLeft', cImageSwap.hActiveImage ) var nPosY = getObject.getSize( 'offsetTop', cImageSwap.hActiveImage ) var sT = getObject.getScrollOffset( 'Top', cImageSwap.hActiveImage ) nPosY -= sT var sL = getObject.getScrollOffset( 'Left', cImageSwap.hActiveImage ) nPosX -= sL cImageSwap.hWaitImage.style.left = nPosX + 'px' cImageSwap.hWaitImage.style.top = nPosY + 'px' cImageSwap.hWaitImage.style.visibility = 'visible' } cImageSwap.autoInit = function() { var hImage = document.createElement( 'img' ) hImage.id = cImageSwap.CS_ZOOM_IMAGE_ID hImage.style.position = 'absolute' hImage.style.display = 'block' hImage.style.visibility = 'hidden' hImage.onload = cImageSwap.onImageLoad hImage.onmouseout = function() { cImageSwap.hImage.style.visibility = 'hidden' cImageSwap.hImage.style.left = '-1000px' } document.body.appendChild( hImage ) cImageSwap.hImage = hImage var hWaitImage = document.createElement( 'img' ) hWaitImage.id = cImageSwap.CS_ZOOM_WAITIMAGE_ID hWaitImage.style.position = 'absolute' hWaitImage.style.display = 'block' hWaitImage.style.width = '32px' hWaitImage.style.height = '32px' hWaitImage.style.visibility = 'hidden' hWaitImage.src = "http://www.diamondway.bg/images/new-site/hourglass.gif" document.body.appendChild( hWaitImage ) cImageSwap.hWaitImage = hWaitImage } cImageSwap.doSwap = function( hEvent ) { cDomEvent.init( hEvent ) if( cDomEvent.target.tagName == 'IMG' ) { var sZoom = cDomEvent.target.getAttribute( 'imageswapon' ) if( sZoom != null && sZoom.length > 0 ) { if( sZoom == cDomEvent.type ) { var sImageSource = cDomEvent.target.getAttribute( 'imagesrc' ) if( sImageSource == null || sImageSource == '' ) { sImageSource = cDomEvent.target.src } cImageSwap.hActiveImage = cDomEvent.target cImageSwap.hImage.src = sImageSource cImageSwap.onImageStartLoad() } } } } if( cImageSwap.CB_AUTOINIT ) { cDomEvent.addEvent( window, 'load', cImageSwap.autoInit, false ) cDomEvent.addEvent( document, 'mousemove', cImageSwap.doSwap, false ) cDomEvent.addEvent( document, 'click', cImageSwap.doSwap, false ) }