/**
 * jQuery.ScrollTo - Easy element scrolling using jQuery.
 * Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
 * Dual licensed under MIT and GPL.
 * Date: 5/25/2009
 * @author Ariel Flesler
 * @version 1.4.2
 *
 * http://flesler.blogspot.com/2007/10/jqueryscrollto.html
 */
(function(d){
var k=d.scrollTo=function(a,i,e){
d(window).scrollTo(a,i,e)
};

k.defaults={
axis:'xy',
duration:parseFloat(d.fn.jquery)>=1.3?0:1
};

k.window=function(a){
return d(window)._scrollable()
};

d.fn._scrollable=function(){
return this.map(function(){
var a=this,i=!a.nodeName||d.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;
if(!i)return a;
var e=(a.contentWindow||a).document||a.ownerDocument||a;
return d.browser.safari||e.compatMode=='BackCompat'?e.body:e.documentElement
})
};

d.fn.scrollTo=function(n,j,b){
if(typeof j=='object'){
b=j;
j=0
}
if(typeof b=='function')b={
onAfter:b
};

if(n=='max')n=9e9;
b=d.extend({},k.defaults,b);
j=j||b.speed||b.duration;
b.queue=b.queue&&b.axis.length>1;
if(b.queue)j/=2;
b.offset=p(b.offset);
b.over=p(b.over);
return this._scrollable().each(function(){
var q=this,r=d(q),f=n,s,g={},u=r.is('html,body');
switch(typeof f){
case'number':case'string':
if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(f)){
f=p(f);
break
}
f=d(f,this);
case'object':
if(f.is||f.style)s=(f=d(f)).offset()
}
d.each(b.axis.split(''),function(a,i){
var e=i=='x'?'Left':'Top',h=e.toLowerCase(),c='scroll'+e,l=q[c],m=k.max(q,i);
if(s){
g[c]=s[h]+(u?0:l-r.offset()[h]);
if(b.margin){
g[c]-=parseInt(f.css('margin'+e))||0;
g[c]-=parseInt(f.css('border'+e+'Width'))||0
}
g[c]+=b.offset[h]||0;
if(b.over[h])g[c]+=f[i=='x'?'width':'height']()*b.over[h]
}else{
var o=f[h];
g[c]=o.slice&&o.slice(-1)=='%'?parseFloat(o)/100*m:o
}
if(/^\d+$/.test(g[c]))g[c]=g[c]<=0?0:Math.min(g[c],m);
if(!a&&b.queue){
if(l!=g[c])t(b.onAfterFirst);
delete g[c]
}
});
t(b.onAfter);
function t(a){
r.animate(g,j,b.easing,a&&function(){
a.call(this,n,b)
})
}
}).end()
};

k.max=function(a,i){
var e=i=='x'?'Width':'Height',h='scroll'+e;
if(!d(a).is('html,body'))return a[h]-d(a)[e.toLowerCase()]();
var c='client'+e,l=a.ownerDocument.documentElement,m=a.ownerDocument.body;
return Math.max(l[h],m[h])-Math.min(l[c],m[c])
};

function p(a){
return typeof a=='object'?a:{
top:a,
left:a
}
}
})(jQuery);

/*!
 * jQuery corner plugin: simple corner rounding
 * Examples and documentation at: http://jquery.malsup.com/corner/
 * version 2.11 (15-JUN-2010)
 * Requires jQuery v1.3.2 or later
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 * Authors: Dave Methvin and Mike Alsup
 */

/**
 *  corner() takes a single string argument:  $('#myDiv').corner("effect corners width")
 *
 *  effect:  name of the effect to apply, such as round, bevel, notch, bite, etc (default is round).
 *  corners: one or more of: top, bottom, tr, tl, br, or bl.  (default is all corners)
 *  width:   width of the effect; in the case of rounded corners this is the radius.
 *           specify this value using the px suffix such as 10px (yes, it must be pixels).
 */
(function($) {

var style = document.createElement('div').style,
moz = style['MozBorderRadius'] !== undefined,
webkit = style['WebkitBorderRadius'] !== undefined,
radius = style['borderRadius'] !== undefined || style['BorderRadius'] !== undefined,
mode = document.documentMode || 0,
noBottomFold = $.browser.msie && (($.browser.version < 8 && !mode) || mode < 8),

expr = $.browser.msie && (function() {
var div = document.createElement('div');
try {
div.style.setExpression('width','0+0');
div.style.removeExpression('width');
}
catch(e) {
return false;
}
return true;
})();

$.support = $.support || {};
$.support.borderRadius = moz || webkit || radius; // so you can do:  if (!$.support.borderRadius) $('#myDiv').corner();

function sz(el, p) {
return parseInt($.css(el,p))||0;
};
function hex2(s) {
var s = parseInt(s).toString(16);
return ( s.length < 2 ) ? '0'+s : s;
};
function gpc(node) {
while(node) {
var v = $.css(node,'backgroundColor'), rgb;
if (v && v != 'transparent' && v != 'rgba(0, 0, 0, 0)') {
if (v.indexOf('rgb') >= 0) {
rgb = v.match(/\d+/g);
return '#'+ hex2(rgb[0]) + hex2(rgb[1]) + hex2(rgb[2]);
}
return v;
}
if (node.nodeName.toLowerCase() == 'html')
break;
node = node.parentNode; // keep walking if transparent
}
return '#ffffff';
};

function getWidth(fx, i, width) {
switch(fx) {
case 'round':
return Math.round(width*(1-Math.cos(Math.asin(i/width))));
case 'cool':
return Math.round(width*(1+Math.cos(Math.asin(i/width))));
case 'sharp':
return Math.round(width*(1-Math.cos(Math.acos(i/width))));
case 'bite':
return Math.round(width*(Math.cos(Math.asin((width-i-1)/width))));
case 'slide':
return Math.round(width*(Math.atan2(i,width/i)));
case 'jut':
return Math.round(width*(Math.atan2(width,(width-i-1))));
case 'curl':
return Math.round(width*(Math.atan(i)));
case 'tear':
return Math.round(width*(Math.cos(i)));
case 'wicked':
return Math.round(width*(Math.tan(i)));
case 'long':
return Math.round(width*(Math.sqrt(i)));
case 'sculpt':
return Math.round(width*(Math.log((width-i-1),width)));
case 'dogfold':
case 'dog':
return (i&1) ? (i+1) : width;
case 'dog2':
return (i&2) ? (i+1) : width;
case 'dog3':
return (i&3) ? (i+1) : width;
case 'fray':
return (i%2)*width;
case 'notch':
return width;
case 'bevelfold':
case 'bevel':
return i+1;
}
};

$.fn.corner = function(options) {
// in 1.3+ we can fix mistakes with the ready state
if (this.length == 0) {
if (!$.isReady && this.selector) {
var s = this.selector, c = this.context;
$(function() {
$(s,c).corner(options);
});
}
return this;
}

return this.each(function(index){
var $this = $(this),
// meta values override options
o = [$this.attr($.fn.corner.defaults.metaAttr) || '', options || ''].join(' ').toLowerCase(),
keep = /keep/.test(o),                       // keep borders?
cc = ((o.match(/cc:(#[0-9a-f]+)/)||[])[1]),  // corner color
sc = ((o.match(/sc:(#[0-9a-f]+)/)||[])[1]),  // strip color
width = parseInt((o.match(/(\d+)px/)||[])[1]) || 10, // corner width
re = /round|bevelfold|bevel|notch|bite|cool|sharp|slide|jut|curl|tear|fray|wicked|sculpt|long|dog3|dog2|dogfold|dog/,
fx = ((o.match(re)||['round'])[0]),
fold = /dogfold|bevelfold/.test(o),
edges = {
T:0,
B:1
},
opts = {
TL:  /top|tl|left/.test(o),
TR:  /top|tr|right/.test(o),
BL:  /bottom|bl|left/.test(o),
BR:  /bottom|br|right/.test(o)
},
// vars used in func later
strip, pad, cssHeight, j, bot, d, ds, bw, i, w, e, c, common, $horz;

if ( !opts.TL && !opts.TR && !opts.BL && !opts.BR )
opts = {
TL:1,
TR:1,
BL:1,
BR:1
};

// support native rounding
if ($.fn.corner.defaults.useNative && fx == 'round' && (radius || moz || webkit) && !cc && !sc) {
if (opts.TL)
$this.css(radius ? 'border-top-left-radius' : moz ? '-moz-border-radius-topleft' : '-webkit-border-top-left-radius', width + 'px');
if (opts.TR)
$this.css(radius ? 'border-top-right-radius' : moz ? '-moz-border-radius-topright' : '-webkit-border-top-right-radius', width + 'px');
if (opts.BL)
$this.css(radius ? 'border-bottom-left-radius' : moz ? '-moz-border-radius-bottomleft' : '-webkit-border-bottom-left-radius', width + 'px');
if (opts.BR)
$this.css(radius ? 'border-bottom-right-radius' : moz ? '-moz-border-radius-bottomright' : '-webkit-border-bottom-right-radius', width + 'px');
return;
}

strip = document.createElement('div');
$(strip).css({
overflow: 'hidden',
height: '1px',
minHeight: '1px',
fontSize: '1px',
backgroundColor: sc || 'transparent',
borderStyle: 'solid'
});

pad = {
T: parseInt($.css(this,'paddingTop'))||0,
R: parseInt($.css(this,'paddingRight'))||0,
B: parseInt($.css(this,'paddingBottom'))||0,
L: parseInt($.css(this,'paddingLeft'))||0
};

if (typeof this.style.zoom != undefined) this.style.zoom = 1; // force 'hasLayout' in IE
if (!keep) this.style.border = 'none';
strip.style.borderColor = cc || gpc(this.parentNode);
cssHeight = $(this).outerHeight();

for (j in edges) {
bot = edges[j];
// only add stips if needed
if ((bot && (opts.BL || opts.BR)) || (!bot && (opts.TL || opts.TR))) {
strip.style.borderStyle = 'none '+(opts[j+'R']?'solid':'none')+' none '+(opts[j+'L']?'solid':'none');
d = document.createElement('div');
$(d).addClass('jquery-corner');
ds = d.style;

bot ? this.appendChild(d) : this.insertBefore(d, this.firstChild);

if (bot && cssHeight != 'auto') {
if ($.css(this,'position') == 'static')
this.style.position = 'relative';
ds.position = 'absolute';
ds.bottom = ds.left = ds.padding = ds.margin = '0';
if (expr)
ds.setExpression('width', 'this.parentNode.offsetWidth');
else
ds.width = '100%';
}
else if (!bot && $.browser.msie) {
if ($.css(this,'position') == 'static')
this.style.position = 'relative';
ds.position = 'absolute';
ds.top = ds.left = ds.right = ds.padding = ds.margin = '0';

// fix ie6 problem when blocked element has a border width
if (expr) {
bw = sz(this,'borderLeftWidth') + sz(this,'borderRightWidth');
ds.setExpression('width', 'this.parentNode.offsetWidth - '+bw+'+ "px"');
}
else
ds.width = '100%';
}
else {
ds.position = 'relative';
ds.margin = !bot ? '-'+pad.T+'px -'+pad.R+'px '+(pad.T-width)+'px -'+pad.L+'px' :
(pad.B-width)+'px -'+pad.R+'px -'+pad.B+'px -'+pad.L+'px';
}

for (i=0; i < width; i++) {
w = Math.max(0,getWidth(fx,i, width));
e = strip.cloneNode(false);
e.style.borderWidth = '0 '+(opts[j+'R']?w:0)+'px 0 '+(opts[j+'L']?w:0)+'px';
bot ? d.appendChild(e) : d.insertBefore(e, d.firstChild);
}

if (fold && $.support.boxModel) {
if (bot && noBottomFold) continue;
for (c in opts) {
if (!opts[c]) continue;
if (bot && (c == 'TL' || c == 'TR')) continue;
if (!bot && (c == 'BL' || c == 'BR')) continue;

common = {
position: 'absolute',
border: 'none',
margin: 0,
padding: 0,
overflow: 'hidden',
backgroundColor: strip.style.borderColor
};
$horz = $('<div/>').css(common).css({
width: width + 'px',
height: '1px'
});
switch(c) {
case 'TL':
$horz.css({
bottom: 0,
left: 0
});
break;
case 'TR':
$horz.css({
bottom: 0,
right: 0
});
break;
case 'BL':
$horz.css({
top: 0,
left: 0
});
break;
case 'BR':
$horz.css({
top: 0,
right: 0
});
break;
}
d.appendChild($horz[0]);

var $vert = $('<div/>').css(common).css({
top: 0,
bottom: 0,
width: '1px',
height: width + 'px'
});
switch(c) {
case 'TL':
$vert.css({
left: width
});
break;
case 'TR':
$vert.css({
right: width
});
break;
case 'BL':
$vert.css({
left: width
});
break;
case 'BR':
$vert.css({
right: width
});
break;
}
d.appendChild($vert[0]);
}
}
}
}
});
};

$.fn.uncorner = function() {
if (radius || moz || webkit)
this.css(radius ? 'border-radius' : moz ? '-moz-border-radius' : '-webkit-border-radius', 0);
$('div.jquery-corner', this).remove();
return this;
};

// expose options
$.fn.corner.defaults = {
useNative: true, // true if plugin should attempt to use native browser support for border radius rounding
metaAttr:  'data-corner' // name of meta attribute to use for options
};

})(jQuery);

(function($) {
var cache = [];
$.preLoadImages = function() {
var args_len = arguments.length;
for (var i = args_len; i--;) {
var cacheImage = document.createElement('img');
cacheImage.src = arguments[i];
cache.push(cacheImage);
}
}
})(jQuery)

var Qallery = {
host:'http://www.qallery.de',
classGallery:'qallery',
classGalleryWrapper:'qalleryWrapper',
classGalleryMask:'qalleryMask',
classGalleryTitle:'qalleryTitle',
classGalleryCounter:'qalleryCounter',
classGalleryMarker:'qalleryMarker',
classMeta:'qalleryMeta',
idMeta:'qalleryMeta',
idGalleries:'qalleryGalleries',
idLatestGalleries:'qalleryLatestGalleries',
idImages:'qalleryImages',
idWall:'qalleryWall',
flash:{
vars:null,
params:null,
width:800,
height:600,
loaded:false
},
galleries:[],
images:[],
debug:false,
clientInfo:{
browserName:'unknown',
browserVersion:'0',
flashVersion:'0,0,0'
},

_getClientInfo:function() {
var userAgent = navigator.userAgent.toLowerCase();
var userAgentMatch = userAgent.match(/(firefox|chrome|safari|opera|msie)/);
var browserName = 'unknown';
var browserVersion = '0';

if (userAgentMatch) {
browserName = userAgentMatch[1];
browserVersion = (userAgent.match(new RegExp('.+(?:version)[\/: ]([\\d.]+)')) || userAgent.match(new RegExp('.+(?:' + browserName + ')[\/: ]([\\d.]+)')) || [0,'0'])[1];
}

this.clientInfo.browserName = browserName;
this.clientInfo.browserVersion = browserVersion;

var devMatch = userAgent.match(/(qdev|qtest)/);
var dev = devMatch ? devMatch[1] : null;

switch (dev) {
case 'qdev':
case 'qtest':
this._log('true', 'debug');
this.debug = true;
break;
default:
break;
}

this.clientInfo.flashVersion = (function() {
try {
try {
var axo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash.6');
try {
axo.AllowScriptAccess = 'always';
}
catch(e) {
return '6,0,0';
}
} catch(e) {}
return new ActiveXObject('ShockwaveFlash.ShockwaveFlash').GetVariable('$version').replace(/\D+/g, ',').match(/^,?(.+),?$/)[1];
} catch(e) {
try {
if(navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin){
return (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]).description.replace(/\D+/g, ",").match(/^,?(.+),?$/)[1];
}
} catch(e) {}
}
return '0,0,0';
})();

if (browserName == 'qdev') {
this.debug = true;
this._log('true', 'debug');
}

this._log('_getClientInfo()', 'call');
this._log(this.clientInfo, 'dump clientInfo');

},

_log:function(value, label) {
if (typeof console == 'object' && this.debug === true) {
if (!label) {
label = 'data';
}
console.log(label, value)
}
},

_init:function() {
this._getClientInfo();
this._log('_init()', 'call');
this._getGalleriesAsJson();
},

_processFlash:function(path) {
if (this.flash.loaded === true) {
return;
}

this._log('_processFlash(' + path + ')', 'call');

this.flash.vars = {
feed:this.host + '/getPiclensRss/' + path,
backgroundColor:'#F5F5F5',
backgroundAlpha:'1',
numRows:3,
style:'dark',
showEmbed:true,
showSearch:true,
showChrome:true,
showNavArrows:false,
showTutorial:false,
showReflections:true,
showDescription:false,
cellBorder:0,
cellContainerAlpha:0.5,
cellWidth:430,
cellHeight:300,
cellSpacingX:0.18,
cellSpacingY:0.33
};

this.flash.params = {
allowFullScreen:'true',
allowScriptAccess:'always',
wmode:'opaque'
};

swfobject.embedSWF('http://apps.cooliris.com/embed/cooliris.swf', this.idWall, this.flash.width, this.flash.height, '9.0.0', '', this.flash.vars, this.flash.params);

this.flash.loaded = true;
},

_isLastGallery:function(path) {
this._log('_isLastGallery(' + path + ')', 'call');

for (var i = 0; i < this.galleries.length; i++) {
if (this.galleries[i].path == path) {
if (this.galleries.length - 1 == i) {
return true;
} else {
return false;
}
}
}
throw 'Error: _isLastGallery(' + path+ ')';
},

_getGalleriesAsJson:function() {
this._log('_getGalleriesAsJson()', 'call');

var _this = this;
$.getJSON(this.host + '/getGalleriesAsJson/', function(data) {
_this._processGalleries(data);
});
},

_getImagesAsJson:function(path) {
this._log('_getImagesAsJson(' + path + ')', 'call');

var _this = this;
$.getJSON(this.host + '/getImagesAsJson/' + path, function(data) {
_this._processImages(data, path);
});
},

_processImages:function(data, path) {
this._log('_processImages(' + data + ', ' + path + ')', 'call');

this._processFlash(path);

this.images.push(data);

$.preLoadImages(this.host + '/preview/' + path + '/preview.tmp');

$('#' + this.classGallery + '_' + path)
.css('background', 'url(' + this.host + '/preview/' + path + '/preview.tmp)')
.css('backgroundColor', 'transparent')
.css('backgroundRepeat', 'no-repeat')
.css('backgroundPosition', '0px 0px')
.bind('click', {
_this: this
}, function(e) {
$.scrollTo(0);
e.data._this._log('cooliris.embed.setFeedURL(' + e.data._this.host + '/getPiclensRss/' + encodeURI(path) + ')', 'call');
cooliris.embed.setFeedURL(e.data._this.host + '/getPiclensRss/' + encodeURI(path));
});

$('#' + this.classGalleryCounter + '_' + path)
.html(data.length);

//if (this._isLastGallery(path)) {
//this._processFlash(path);
//}
},

_processGalleries:function(data) {
this._log('_processGalleries(' + data + ')', 'call');

this.galleries = data;

for (var i = 0; i < data.length; i++) {

$('#' + this.idGalleries).append(
$('<div></div>')
.attr('class', this.classGalleryWrapper)
.attr('id', (this.classGalleryWrapper + '_' + data[i].path))
.append(
$('<div></div>')
.attr('class', this.classGallery)
.attr('id', this.classGallery + '_' + data[i].path)
.css('background', 'url(' + this.host + '/templates/default/img/loader.gif)')
.css('backgroundColor', 'transparent')
.css('backgroundRepeat', 'no-repeat')
.css('backgroundPosition', 'center center')
.corner("cc:#fff 5px")
.append(
$('<div></div>')
.attr('class', this.classGalleryMask)
.attr('id', (this.classGalleryMask + '_' + data[i].path))
.corner("cc:#fff 5px")
)
.append(
$('<div></div>')
.attr('class', this.classGalleryMarker)
.attr('id', (this.classGalleryMarker + '_' + data[i].path))
)
)
.append(
$('<div></div>')
.attr('class', this.classGalleryTitle)
.attr('id', (this.classGalleryTitle + '_' + data[i].path))
.html(data[i].name)
.append(
$('<div></div>')
.attr('class', this.classGalleryCounter)
.attr('id', (this.classGalleryCounter + '_' + data[i].path))
.html(data[i].count)
)
)
);


this._getImagesAsJson(data[i].path);
}

var _this = this;
cooliris = {
onEmbedInitialized:function() {
cooliris.embed.setCallbacks({
select: function(item) {
_this._log('_coolirisSelectItem(' + item + ')', 'call');

if (item === null) {
$('#' + _this.idMeta).html($(''));
} else {
if (typeof item.data == 'object') {
if (item.data.EXIFDateTimeOriginal.length > 0) {
var date = item.data.EXIFDateTimeOriginal.split(' ')[0].split(':');
var time = item.data.EXIFDateTimeOriginal.split(' ')[1].split(':');
}
$('#' + _this.idMeta).html(
$('<div class="' + _this.classMeta + '"></div>')
.append($('<h2>Details zum Bild:</h2>'))
.append(
$('<ul></ul>')
.append($('<li>Datum: ' + (date ? date[2] + '.' + date[1] + '.' + date[0]:'') + '</li>'))
.append($('<li>Uhrzeit: ' + (time ? time[0] + ':' + time[1]:'') + '</li>'))
.append($('<li>Kamera: ' + item.data.EXIFModel + '</li>'))
.append($('<li>Brennweite: ' + item.data.EXIFFocalLength + '</li>'))
.append($('<li>Blende: ' + item.data.EXIFFNumber + '</li>'))
.append($('<li>ISO: ' + item.data.EXIFISOSpeedRatings + '</li>'))
.append($('<li>Belichtungszeit: ' + item.data.EXIFExposureTime + '</li>'))
)
);
}
}
}
});
}
};

this.control.init({
gallery:this.classGallery,
marker:this.classGalleryMarker,
mask:this.classGalleryMask,
size:160
});
},

control:{
init:function(options) {

this.options = options || {};
this.gallery = this.options.gallery;
this.marker = this.options.marker;
this.mask = this.options.mask;
this.size = this.options.size;
this.counter = 0;
this.anchors = $('div.' + this.gallery);

for (var i = 0; i < this.anchors.length; i++) {

$(this.anchors[i]).bind('mousemove', {
_this: this
}, function(e) {
e.data._this.move(e);
});

$(this.anchors[i]).bind('mouseout', {
_this: this
}, function(e) {
e.data._this.reset(e);
});

}
},

move:function(e) {
e = e || window.event;

var activeGallery = e.currentTarget;

for ( var i = 0; i < this.anchors.length; i++) {
if ((activeGallery.id != this.anchors[i].id) && $(this.anchors[i]).css('display') != 'none') {
$(this.anchors[i]).find('.' + this.marker)
.css('backgroundPosition', '0px 0px')
.css('display', 'none');
this.counter = 0;
}
}

if (this.counter == 0) {
var imgSrc = $(activeGallery).css('background-image').match(/url\("(.+?)"\)/)[1];
var image = new Image();
image.src = imgSrc;
this.counter = image.height / this.size;
}

var pos = Math.round(( e.clientX - $(activeGallery).offset().left) / (this.size / (this.counter - 1)));
$(activeGallery).find('.' + this.marker).css('display', 'block');
this.moveImage(activeGallery, pos);
},

moveImage:function(activeGallery, pos) {

switch (pos) {
case 0:
$(activeGallery).find('.' + this.marker)
.css('width', (this.size / this.counter) + 'px')
.uncorner()
.corner('left 5px');
break;
case this.counter - 1:
$(activeGallery).find('.' + this.marker)
.css('width', (this.size / this.counter) + 'px')
.uncorner()
.corner('right 5px');
break;
default:
$(activeGallery).find('.' + this.marker)
.css('width', (this.size / this.counter) + 'px')
.uncorner();
break;
}

$(activeGallery).find('.' + this.marker).css('left', (this.size / this.counter) * pos + 'px');
$(activeGallery).css('backgroundPosition', '0px ' + (-this.size * pos) + 'px');
},

reset:function(e) {
e = e || window.event;

var eventTarget = e.relatedTarget || e.toElement;

if (($(eventTarget).attr('class') != this.marker) && ($(eventTarget).attr('class') != this.mask)) {
var activeGallery = e.currentTarget;
this.moveImage(activeGallery, 0);
this.counter = 0;
$(activeGallery).find('.' + this.marker).css('display', 'none');
}
}
}

}
