/*
* JQZoom Evolution 1.0.1 - Javascript Image magnifier
*
* Copyright (c) Engineer Renzi Marco(www.mind-projects.it)
*
* $Date: 12-12-2008
*
* ChangeLog:
*
* $License : GPL,so any change to the code you should copy and paste this section,and would be nice to report this to me(renzi.mrc@gmail.com).
*/
(function($)
{
$.fn.jqzoom = function(options)
{
var settings = {
zoomType: 'standard', //standard/reverse/innerzoom
zoomWidth: 400, //zoomed width default width
zoomHeight: 400, //zoomed div default width
xOffset: 10, //zoomed div default offset
yOffset: 0,
position: "right" ,//zoomed div default position,offset position is to the right of the image
lens:true, //zooming lens over the image,by default is 1;
lensReset : false,
imageOpacity: 0.2,
title : true,
alwaysOn: false,
showEffect: 'show',
hideEffect: 'hide',
fadeinSpeed: 'fast',
fadeoutSpeed: 'slow',
preloadImages :true,
showPreload: true,
preloadText : 'Loading zoom',
preloadPosition : 'center' //bycss
};
//extending options
options = options || {};
$.extend(settings, options);
return this.each(function()
{
var a = $(this);
var aTitle = a.attr('title'); //variabile per memorizzare il titolo href
$(a).removeAttr('title');
$(a).css('outline-style','none');
var img = $("img", this);
var imageTitle = img.attr('title');
img.removeAttr('title'); //variabile per memorizzare il titolo immagine
var smallimage = new Smallimage( img );
var smallimagedata = {};
//imageborder
var btop = 0;
var bleft = 0;
var loader = null; //variabile per memorizzare oggetto loader
loader = new Loader();
var ZoomTitle = (trim(aTitle).length > 0) ? aTitle :
(trim(imageTitle).length > 0) ? imageTitle : null; //setting zoomtitle
var ZoomTitleObj = new zoomTitle();
var largeimage = new Largeimage( a[0].href );
var lens = new Lens();
var lensdata = {};
//lensborder
var largeimageloaded = false;
var scale = {}; //rapporto tra immagine grande e piccola scale.x/scale.y
var stage = null; // quadrato che mostra l'immagine ingrandita
var running = false; // running = true quando si verifica l'evento che mostra lo zoom(adesso mouseover).
var mousepos = {};
var firstime = 0;
var preloadshow = false;
var isMouseDown = false;
var dragstatus = false
//loading smallimagedata
smallimage.loadimage();
//ritorna false al click dell href
$(this).click(function(){return false;});
//se settato alwaysOn attivo lo Zoom e lo mostro.
//attivo al mouseover
$(this).hover(function(e)
{
mousepos.x = e.pageX;
mousepos.y = e.pageY;
activate();
},function()
{
deactivate();
});
//ALWAYS ON
if(settings.alwaysOn)
{
setTimeout(function(){activate();},150);
}
function activate()
{
if ( !running ) {
//finding border
smallimage.findborder();
running = true;
//rimuovo il titolo al mouseover
imageTitle = img.attr('title');
img.removeAttr('title');
aTitle = a.attr('title');
$(a).removeAttr('title');
//se non c?creo l'oggetto largeimage
if (!largeimage || $.browser.safari) {
largeimage = new Largeimage( a[0].href );
}
//se l'immagine grande non ?stata caricata la carico
if(!largeimageloaded || $.browser.safari)
{
largeimage.loadimage();
}else
{
//after preload
if(settings.zoomType != 'innerzoom')
{
stage = new Stage();
stage.activate();
}
lens = new Lens;
lens.activate();
}
//hack per MAC
/* if($.browser.safari)
{
if(settings.zoomType != 'innerzoom') //se innerzoom non mostro la finestra dello zoom
{
stage = new Stage();
stage.activate();
}
if($('div.jqZoomPup').length <= 0)
{
lens = new Lens();
}
//if(settings.zoomType == 'innerzoom'){lens = new Lens()};
lens.activate();
(settings.alwaysOn) ? lens.center() : lens.setposition(null);
}
*/
a[0].blur();
//alert($('div.jqZoomPup').length);
return false;
}
}
function deactivate()
{
if(settings.zoomType == 'reverse' && !settings.alwaysOn)
{
img.css({'opacity' : 1});
}
if(!settings.alwaysOn)
{
//resetting parameters
running = false;
largeimageloaded = false;
$(lens.node).unbind('mousemove');
lens.remove();
if($('div.jqZoomWindow').length >0)
{
stage.remove();
}
if($('div.jqZoomTitle').length > 0)
{
ZoomTitleObj.remove();
}
//resetting title
img.attr('title',imageTitle);
a.attr('title',aTitle);
$().unbind();
a.unbind('mousemove');
//resetto il parametro che mi dice che ?la prima volta che mostor lo zoom
firstime = 0;
//remove ieiframe
if(jQuery('.zoom_ieframe').length > 0)
{
jQuery('.zoom_ieframe').remove();
}
}else
{
if(settings.lensReset)
{
switch(settings.zoomType)
{
case 'innerzoom':
largeimage.setcenter();
break;
default:
lens.center();
break;
}
}
}
//non so se serve da provare
if(settings.alwaysOn)
{
activate();
}
};
//smallimage
function Smallimage( image )
{
this.node = image[0];
this.loadimage = function() {
this.node.src = image[0].src;
};
this.findborder = function()
{
var bordertop = '';
bordertop = $(img).css('border-top-width');
btop = '';
var borderleft = '';
borderleft = $(img).css('border-left-width');
bleft = '';
/*if($.browser.msie)
{
var temp = bordertop.split(' ');
bordertop = temp[1];
var temp = borderleft.split(' ');
borderleft = temp[1];
}*/
if(bordertop)
{
for(i=0;i<3;i++)
{
var x = [];
x = bordertop.substr(i,1);
if(isNaN(x) == false)
{
btop = btop +''+ bordertop.substr(i,1);
}else
{
break;
}
}
}
if(borderleft)
{
for(i=0;i<3;i++)
{
if(!isNaN(borderleft.substr(i,1)))
{
bleft = bleft + borderleft.substr(i,1)
}else
{
break;
}
}
}
btop = (btop.length > 0) ? eval(btop) : 0;
bleft = (bleft.length > 0) ? eval(bleft) : 0;
}
this.node.onload = function()
{
//setto il cursor e la posizione dell'href
a.css({'cursor':'crosshair','display':'block'});
if(a.css('position')!= 'absolute' && a.parent().css('position'))
{
a.css({'cursor':'crosshair','position':'relative','display':'block'});
}
if(a.parent().css('position') != 'absolute')
{
a.parent().css('position','relative');
//a.css('position','relative');
}
else{
//a.css('position','relative');
}
if($.browser.safari || $.browser.opera)
{
$(img).css({position:'absolute',top:'0px',left:'0px'});
}
/*if(a.css('position')!= 'absolute' && a.parent().css('position'))
{
a.css({'cursor':'crosshair','position':'relative','display':'block'});
}
if(a.parent().css('position') != 'absolute')
{
alert('in');
a.parent().css('position','relative');
//a.css('position','relative');
}
else{
//a.css('position','relative');
}*/
/*
if(a.parent().css('position') != 'relative' && a.css('position') != 'absolute')
{
a.css({'cursor':'crosshair','position':'relative','display':'block'});
}*/
//al docuemnt ready viene caricato l'src quindi viene azionato l'onload e carico tutti i dati
smallimagedata.w = $( this ).width();
smallimagedata.h = $( this ).height();
//non viene fatta assegnazione alla variabile globale
smallimagedata.h = $( this ).height();
smallimagedata.pos = $( this ).offset();
smallimagedata.pos.l = $( this ).offset().left;
smallimagedata.pos.t = $( this ).offset().top;
smallimagedata.pos.r = smallimagedata.w + smallimagedata.pos.l;
smallimagedata.pos.b = smallimagedata.h + smallimagedata.pos.t;
//per sicurezza setto l'altezza e la width dell'href
a.height(smallimagedata.h);
a.width(smallimagedata.w);
//PRELOAD IMAGES
if(settings.preloadImages)
{
largeimage.loadimage();
}
};
return this;
};
//Lens
function Lens()
{
//creating element and adding class
this.node = document.createElement("div");
$(this.node).addClass('jqZoomPup');
this.node.onerror = function() {
$( lens.node ).remove();
lens = new Lens();
lens.activate() ;
};
//funzione privata per il caricamento dello zoom
this.loadlens = function()
{
switch(settings.zoomType)
{
case 'reverse':
this.image = new Image();
this.image.src = smallimage.node.src; // fires off async
this.node.appendChild( this.image );
$( this.node ).css({'opacity' : 1});
break;
case 'innerzoom':
this.image = new Image();
this.image.src = largeimage.node.src; // fires off async
this.node.appendChild( this.image );
$( this.node ).css({'opacity' : 1});
break
default:
break;
}
switch(settings.zoomType)
{
case 'innerzoom':
lensdata.w = smallimagedata.w;
lensdata.h = smallimagedata.h;
break;
default:
lensdata.w = (settings.zoomWidth)/scale.x;
lensdata.h = (settings.zoomHeight)/scale.y;
break;
}
$( this.node ).css({
width: lensdata.w + 'px',
height: lensdata.h + 'px',
position: 'absolute',
/*cursor: 'crosshair',*/
display: 'none',
//border: '1px solid blue'
borderWidth: 1+'px'
});
a.append(this.node);
}
return this;
};
Lens.prototype.activate = function()
{
//carico la lente
this.loadlens();
switch(settings.zoomType)
{
case 'reverse':
img.css({'opacity' : settings.imageOpacity});
(settings.alwaysOn) ? lens.center() : lens.setposition(null);
//lens.center();
//bindo ad a il mousemove della lente
a.bind( 'mousemove', function(e)
{
mousepos.x = e.pageX;
mousepos.y = e.pageY;
lens.setposition( e );
});
break;
case 'innerzoom':
// lens = new Lens();
// lens.activate();
$( this.node ).css({top : 0 ,left: 0});
if(settings.title)
{
ZoomTitleObj.loadtitle();
}
largeimage.setcenter();
a.bind( 'mousemove', function(e)
{
mousepos.x = e.pageX;
mousepos.y = e.pageY;
largeimage.setinner( e );
/*if(settings.zoomType == 'innerzoom' && running)
{
$(a).mousemove(function(){
if($('div.jqZoomPup').length <= 0)
{
lens = new Lens();
lens.activate();
}
});
}*/
/*if($('div.jqZoomPup').length <= 0)
{
lens = new Lens();
lens.activate();
}*/
});
break;
default:
/*$(document).mousemove(function(e){
if(isMouseDown && dragstatus != false){
lens.setposition( e );
}
});
lens.center()
dragstatus = 'on'
$(document).mouseup(function(e){
if(isMouseDown && dragstatus != false){
isMouseDown = false;
dragstatus = false;
}
});
$(this.node).mousedown(function(e){
$('div.jqZoomPup').css("cursor", "move");
$(this.node).css("position", "absolute");
// set z-index
$(this.node).css("z-index", parseInt( new Date().getTime()/1000 ));
if($.browser.safari)
{
$(a).css("cursor", "move");
}
isMouseDown = true;
dragstatus = 'on';
lens.setposition( e );
});
*/
(settings.alwaysOn) ? lens.center() : lens.setposition(null);
//bindo ad a il mousemove della lente
$(a).bind( 'mousemove', function(e)
{
mousepos.x = e.pageX;
mousepos.y = e.pageY;
lens.setposition( e );
});
break;
}
return this;
};
Lens.prototype.setposition = function( e)
{
if(e)
{
mousepos.x = e.pageX;
mousepos.y = e.pageY;
}
if(firstime == 0)
{
var lensleft = (smallimagedata.w)/2 - (lensdata.w)/2 ;
var lenstop = (smallimagedata.h)/2 - (lensdata.h)/2 ;
//ADDED
$('div.jqZoomPup').show()
if(settings.lens)
{
this.node.style.visibility = 'visible';
}
else
{
this.node.style.visibility = 'hidden';
$('div.jqZoomPup').hide();
}
//ADDED
firstime = 1;
}else
{
var lensleft = mousepos.x - smallimagedata.pos.l - (lensdata.w)/2 ;
var lenstop = mousepos.y - smallimagedata.pos.t -(lensdata.h)/2 ;
}
//a sinistra
if(overleft())
{
lensleft = 0 + bleft;
}else
//a destra
if(overright())
{
if($.browser.msie)
{
lensleft = smallimagedata.w - lensdata.w + bleft + 1 ;
}else
{
lensleft = smallimagedata.w - lensdata.w + bleft - 1 ;
}
}
//in alto
if(overtop())
{
lenstop = 0 + btop ;
}else
//sotto
if(overbottom())
{
if($.browser.msie)
{
lenstop = smallimagedata.h - lensdata.h + btop + 1 ;
}else
{
lenstop = smallimagedata.h - lensdata.h - 1 + btop ;
}
}
lensleft = parseInt(lensleft);
lenstop = parseInt(lenstop);
//setto lo zoom ed un eventuale immagine al centro
$('div.jqZoomPup',a).css({top: lenstop,left: lensleft });
if(settings.zoomType == 'reverse')
{
$('div.jqZoomPup img',a).css({'position': 'absolute','top': -( lenstop - btop +1) ,'left': -(lensleft - bleft +1) });
}
this.node.style.left = lensleft + 'px';
this.node.style.top = lenstop + 'px';
//setto l'immagine grande
largeimage.setposition();
function overleft() {
return mousepos.x - (lensdata.w +2*1)/2 - bleft < smallimagedata.pos.l;
}
function overright() {
return mousepos.x + (lensdata.w + 2* 1)/2 > smallimagedata.pos.r + bleft ;
}
function overtop() {
return mousepos.y - (lensdata.h + 2* 1)/2 - btop < smallimagedata.pos.t;
}
function overbottom() {
return mousepos.y + (lensdata.h + 2* 1)/2 > smallimagedata.pos.b + btop;
}
return this;
};
//mostra la lente al centro dell'immagine
Lens.prototype.center = function()
{
$('div.jqZoomPup',a).css('display','none');
var lensleft = (smallimagedata.w)/2 - (lensdata.w)/2 ;
var lenstop = (smallimagedata.h)/2 - (lensdata.h)/2;
this.node.style.left = lensleft + 'px';
this.node.style.top = lenstop + 'px';
$('div.jqZoomPup',a).css({top: lenstop,left: lensleft });
if(settings.zoomType == 'reverse')
{
/*if($.browser.safari){
alert('safari');
alert(2*bleft);
$('div.jqZoomPup img',a).css({'position': 'absolute','top': -( lenstop - btop +1) ,'left': -(lensleft - 2*bleft) });
}else
{*/
$('div.jqZoomPup img',a).css({'position': 'absolute','top': -(lenstop - btop + 1) ,'left': -( lensleft - bleft +1) });
//}
}
largeimage.setposition();
if($.browser.msie)
{
$('div.jqZoomPup',a).show();
}else
{
setTimeout(function(){$('div.jqZoomPup').fadeIn('fast');},10);
}
};
//ritorna l'offset
Lens.prototype.getoffset = function() {
var o = {};
o.left = parseInt(this.node.style.left) ;
o.top = parseInt(this.node.style.top) ;
return o;
};
//rimuove la lente
Lens.prototype.remove = function()
{
if(settings.zoomType == 'innerzoom')
{
$('div.jqZoomPup',a).fadeOut('fast',function(){/*$('div.jqZoomPup img').remove();*/$(this).remove();});
}else
{
//$('div.jqZoomPup img').remove();
$('div.jqZoomPup',a).remove();
}
};
Lens.prototype.findborder = function()
{
var bordertop = '';
bordertop = $('div.jqZoomPup').css('borderTop');
//alert(bordertop);
lensbtop = '';
var borderleft = '';
borderleft = $('div.jqZoomPup').css('borderLeft');
lensbleft = '';
if($.browser.msie)
{
var temp = bordertop.split(' ');
bordertop = temp[1];
var temp = borderleft.split(' ');
borderleft = temp[1];
}
if(bordertop)
{
for(i=0;i<3;i++)
{
var x = [];
x = bordertop.substr(i,1);
if(isNaN(x) == false)
{
lensbtop = lensbtop +''+ bordertop.substr(i,1);
}else
{
break;
}
}
}
if(borderleft)
{
for(i=0;i<3;i++)
{
if(!isNaN(borderleft.substr(i,1)))
{
lensbleft = lensbleft + borderleft.substr(i,1)
}else
{
break;
}
}
}
lensbtop = (lensbtop.length > 0) ? eval(lensbtop) : 0;
lensbleft = (lensbleft.length > 0) ? eval(lensbleft) : 0;
}
//LARGEIMAGE
function Largeimage( url )
{
this.url = url;
this.node = new Image();
/*if(settings.preloadImages)
{
preload.push(new Image());
preload.slice(-1).src = url ;
}*/
this.loadimage = function()
{
if(!this.node)
this.node = new Image();
this.node.style.position = 'absolute';
this.node.style.display = 'none';
this.node.style.left = '-5000px';
this.node.style.top = '10px';
loader = new Loader();
if(settings.showPreload && !preloadshow)
{
loader.show();
preloadshow = true;
}
document.body.appendChild( this.node );
this.node.src = this.url; // fires off async
}
this.node.onload = function()
{
this.style.display = 'block';
var w = Math.round($(this).width());
var h = Math.round($(this).height());
this.style.display = 'none';
//setting scale
scale.x = (w / smallimagedata.w);
scale.y = (h / smallimagedata.h);
if($('div.preload').length > 0)
{
$('div.preload').remove();
}
largeimageloaded = true;
if(settings.zoomType != 'innerzoom' && running){
stage = new Stage();
stage.activate();
}
if(running)
{
//alert('in');
lens = new Lens();
lens.activate() ;
}
//la attivo
if($('div.preload').length > 0)
{
$('div.preload').remove();
}
}
return this;
}
Largeimage.prototype.setposition = function()
{
this.node.style.left = Math.ceil( - scale.x * parseInt(lens.getoffset().left) + bleft) + 'px';
this.node.style.top = Math.ceil( - scale.y * parseInt(lens.getoffset().top) +btop) + 'px';
};
//setto la posizione dell'immagine grande nel caso di innerzoom
Largeimage.prototype.setinner = function(e) {
this.node.style.left = Math.ceil( - scale.x * Math.abs(e.pageX - smallimagedata.pos.l)) + 'px';
this.node.style.top = Math.ceil( - scale.y * Math.abs(e.pageY - smallimagedata.pos.t)) + 'px';
$('div.jqZoomPup img',a).css({'position': 'absolute','top': this.node.style.top,'left': this.node.style.left });
};
Largeimage.prototype.setcenter = function() {
this.node.style.left = Math.ceil(- scale.x * Math.abs((smallimagedata.w)/2)) + 'px';
this.node.style.top = Math.ceil( - scale.y * Math.abs((smallimagedata.h)/2)) + 'px';
$('div.jqZoomPup img',a).css({'position': 'absolute','top': this.node.style.top,'left': this.node.style.left });
};
//STAGE
function Stage()
{
var leftpos = smallimagedata.pos.l;
var toppos = smallimagedata.pos.t;
//creating element and class
this.node = document.createElement("div");
$(this.node).addClass('jqZoomWindow');
$( this.node )
.css({
position: 'absolute',
width: Math.round(settings.zoomWidth) + 'px',
height: Math.round(settings.zoomHeight) + 'px',
display: 'none',
zIndex: 10000,
overflow: 'hidden'
});
//fa il positionamento
switch(settings.position)
{
case "right":
leftpos = (smallimagedata.pos.r + Math.abs(settings.xOffset) + settings.zoomWidth < screen.width)
? (smallimagedata.pos.l + smallimagedata.w + Math.abs(settings.xOffset))
: (smallimagedata.pos.l - settings.zoomWidth - Math.abs(settings.xOffset));
topwindow = smallimagedata.pos.t + settings.yOffset + settings.zoomHeight;
toppos = (topwindow < screen.height && topwindow > 0)
? smallimagedata.pos.t + settings.yOffset
: smallimagedata.pos.t;
break;
case "left":
leftpos = (smallimagedata.pos.l - Math.abs(settings.xOffset) - settings.zoomWidth > 0)
? (smallimagedata.pos.l - Math.abs(settings.xOffset) - settings.zoomWidth)
: (smallimagedata.pos.l + smallimagedata.w + Math.abs(settings.xOffset));
topwindow = smallimagedata.pos.t + settings.yOffset + settings.zoomHeight;
toppos = (topwindow < screen.height && topwindow > 0)
? smallimagedata.pos.t + settings.yOffset
: smallimagedata.pos.t;
break;
case "top":
toppos = (smallimagedata.pos.t - Math.abs(settings.yOffset) - settings.zoomHeight > 0)
? (smallimagedata.pos.t - Math.abs(settings.yOffset) - settings.zoomHeight)
: (smallimagedata.pos.t + smallimagedata.h + Math.abs(settings.yOffset));
leftwindow = smallimagedata.pos.l + settings.xOffset + settings.zoomWidth;
leftpos = (leftwindow < screen.width && leftwindow > 0)
? smallimagedata.pos.l + settings.xOffset
: smallimagedata.pos.l;
break;
case "bottom":
toppos = (smallimagedata.pos.b + Math.abs(settings.yOffset) + settings.zoomHeight < $('body').height())
? (smallimagedata.pos.b + Math.abs(settings.yOffset))
: (smallimagedata.pos.t - settings.zoomHeight - Math.abs(settings.yOffset));
leftwindow = smallimagedata.pos.l + settings.xOffset + settings.zoomWidth;
leftpos = (leftwindow < screen.width && leftwindow > 0)
? smallimagedata.pos.l + settings.xOffset
: smallimagedata.pos.l;
break;
default:
leftpos = (smallimagedata.pos.l + smallimagedata.w + settings.xOffset + settings.zoomWidth < screen.width)
? (smallimagedata.pos.l + smallimagedata.w + Math.abs(settings.xOffset))
: (smallimagedata.pos.l - settings.zoomWidth - Math.abs(settings.xOffset));
toppos = (smallimagedata.pos.b + Math.abs(settings.yOffset) + settings.zoomHeight < screen.height)
? (smallimagedata.pos.b + Math.abs(settings.yOffset))
: (smallimagedata.pos.t - settings.zoomHeight - Math.abs(settings.yOffset));
break;
}
this.node.style.left = leftpos + 'px';
this.node.style.top = toppos + 'px';
return this;
}
Stage.prototype.activate = function()
{
if ( !this.node.firstChild )
this.node.appendChild( largeimage.node );
if(settings.title)
{
ZoomTitleObj.loadtitle();
}
document.body.appendChild( this.node );
switch(settings.showEffect)
{
case 'show':
$(this.node).show();
break;
case 'fadein':
$(this.node).fadeIn(settings.fadeinSpeed);
break;
default:
$(this.node).show();
break;
}
$(this.node).show();
if ($.browser.msie && $.browser.version < 7) {
this.ieframe = $('<iframe class="zoom_ieframe" frameborder="0" src="#"></iframe>')
.css({ position: "absolute", left:this.node.style.left,top:this.node.style.top,zIndex: 99,width:settings.zoomWidth,height:settings.zoomHeight })
.insertBefore(this.node);
};
largeimage.node.style.display = 'block';
}
Stage.prototype.remove = function() {
switch(settings.hideEffect)
{
case 'hide':
$('.jqZoomWindow').remove();
break;
case 'fadeout':
$('.jqZoomWindow').fadeOut(settings.fadeoutSpeed);
break;
default:
$('.jqZoomWindow').remove();
break;
}
}
function zoomTitle()
{
this.node = jQuery('<div />')
.addClass('jqZoomTitle')
.html('' + ZoomTitle +'');
this.loadtitle = function()
{
if(settings.zoomType == 'innerzoom')
{
$(this.node)
.css({position: 'absolute',
top: smallimagedata.pos.b +3,
left: (smallimagedata.pos.l+1),
width:smallimagedata.w
})
.appendTo('body');
}else
{
$(this.node).appendTo(stage.node);
}
};
}
zoomTitle.prototype.remove = function() {
$('.jqZoomTitle').remove();
}
function Loader()
{
this.node = document.createElement("div");
$(this.node).addClass('preload');
$(this.node).html(settings.preloadText);//appendo il testo
$(this.node )
.appendTo("body")
.css('visibility','hidden');
this.show = function()
{
switch(settings.preloadPosition)
{
case 'center':
loadertop = smallimagedata.pos.t + (smallimagedata.h - $(this.node ).height())/2;
loaderleft = smallimagedata.pos.l + (smallimagedata.w - $(this.node ).width())/2;
break;
default:
var loaderoffset = this.getoffset();
loadertop = !isNaN(loaderoffset.top) ? smallimagedata.pos.t + loaderoffset.top : smallimagedata.pos.t + 0;
loaderleft = !isNaN(loaderoffset.left) ? smallimagedata.pos.l + loaderoffset.left : smallimagedata.pos.l + 0;
break;
}
//setting position
$(this.node).css({
top: loadertop ,
left: loaderleft ,
position: 'absolute',
visibility:'visible'
});
}
return this;
}
Loader.prototype.getoffset = function()
{
var o = null;
o = $('div.preload').offset();
return o;
}
});
}
})(jQuery);
function trim(stringa)
{
while (stringa.substring(0,1) == ' '){
stringa = stringa.substring(1, stringa.length);
}
while (stringa.substring(stringa.length-1, stringa.length) == ' '){
stringa = stringa.substring(0,stringa.length-1);
}
return stringa;
}