var mojofuelgallery={};(function(g){g.first='';g.initialise=function(option){var configuration={};var data='';if(option==''||option==null){}
configuration=this.generateSettings(option);if(configuration.useDatabase){data=this.getImagesFromDB(configuration.dbLink);}else{data=this.getImagesFromWindow(configuration);}
if($('#'+configuration.containerId).length!=0){this.addGalleryDivs(configuration);}
this.addImages(configuration,data);this.jqueryLinks(configuration,this.first);}
g.generateSettings=function(option){var configuration={};configuration={blankGif:'',searchForImagesType:'thumbnail',visibleFirstThumbnailClass:'current',currentCounterName:'current',totalCounterName:'total',mainViewClass:'mainViewer',thumbViewClass:'thumbViewer',thumbClass:'thumb',containerId:'',nextClassThumb:'next',prevClassThumb:'previous',nextClassMain:'mainNext',prevClassMain:'mainPrevious',mainImageClass:'mainPhoto',largePath:'',thumbPath:'',useDatabase:false,dbLink:'',thumbPrevNextHover:true,thumbPreviousImage:'',thumbNextImage:'',thumbnailClass:'thumbnail'}
$.extend(configuration,option);return configuration;}
g.addGalleryDivs=function(configuration){$('#'+configuration.containerId).html('');var galleryBody='<div class="'+configuration.mainViewClass+'">'+'<input type="hidden" value="0" name="'+configuration.currentCounterName+'" />'+'<input type="hidden" value="0" name="'+configuration.totalCounterName+'" />'+'<img class="'+configuration.prevClassMain+'" src="'+configuration.blankGif+'" /><img class="'+configuration.nextClassMain+'" src="'+configuration.blankGif+'">'+'</div>'+'<div class="'+configuration.thumbClass+'">'+'<div class="'+configuration.thumbViewClass+'">'+'</div>'+'</div>';$('#'+configuration.containerId).html(galleryBody);return true;}
g.objectSize=function(obj){var size=0,key;for(key in obj){if(obj.hasOwnProperty(key))size++;}
return size;};g.getImagesFromDB=function(url){var data={};$.ajax({dataType:'json',async:false,url:url,type:'GET',success:function(result){data=result;}});return data;}
g.getImagesFromWindow=function(option){var data={};$('.'+option.searchForImagesType).each(function(a){data[a]={image:$(this).attr('href').match(/[A-Za-z0-9._-]*$/,''),thumb:$(this).find('img').attr('src').match(/[A-Za-z0-9._-]*$/,'')};});return data;}
g.addImages=function(option,images){var thumbViewerImages=''
var mainViewerImage='<img class="'+option.mainImageClass+'" src="'+option.largePath+'/'+images[0].image+'" rel="0" alt="" />';var thumbViewerNextAndPrevious='<span class="'+option.prevClassThumb+'">'+'<img src="'+option.thumbPreviousImage+'" alt="Prev" />'+'</span>'+'<span class="'+option.nextClassThumb+'">'+'<img src="'+option.thumbNextImage+'" alt="Next" />'+'</span>';$('.'+option.thumbClass).prepend(thumbViewerNextAndPrevious);for(b=0;b<this.objectSize(images);b++){thumbViewerImages='<a class="'+option.thumbnailClass+'" href="'+option.largePath+'/'+images[b].image+'">'+'<img src="'+option.thumbPath+'/'+images[b].thumb+'" rel="'+b+'" alt="" />'+'</a>';$('.'+option.thumbViewClass).append(thumbViewerImages);this.calculateThumbnailGallerySize(option);$('.'+option.thumbnailClass).css('opacity','0.3');}
this.first=$('.'+option.thumbViewClass+':first').offset();$('.'+option.thumbViewClass+' .'+option.thumbnailClass+':first').addClass(option.visibleFirstThumbnailClass);$('.'+option.visibleFirstThumbnailClass).css('opacity',1);$('input[name="'+option.totalCounterName+'"]').attr('value',b);$('.'+option.thumbViewClass).css('visibility','visible');$('.'+option.mainViewClass).append(mainViewerImage);}
g.calculateThumbnailGallerySize=function(option){$(window).load(function(){var gallerywidth=$('.'+option.thumbViewClass).width()+$('.'+option.thumbViewClass+' .'+option.thumbnailClass+' :last').width();$('.'+option.thumbViewClass).css('width',gallerywidth);});}
g.jqueryLinks=function(option,position){$(document).ready(function(){$('.'+option.thumbnailClass).live('click',function(e){var currentImages=parseInt($('input[name="'+option.currentCounterName+'"]').attr('value'));var nextpicture=parseInt($(this).find('img').attr('rel'));var mainPicture=$(this).find('img').attr('src');var images=mainPicture.match(/[A-Za-z0-9._-]*$/,'');$(this).addClass(option.visibleFirstThumbnailClass);images=option.largePath+'/'+images;if(nextpicture>currentImages){$('.'+option.thumbViewClass+' .'+option.visibleFirstThumbnailClass+':first').removeClass(option.visibleFirstThumbnailClass);movethumbnails('right',true);}else if(nextpicture<currentImages){$('.'+option.thumbViewClass+' .'+option.visibleFirstThumbnailClass+':last').removeClass(option.visibleFirstThumbnailClass);movethumbnails('left',true);}
$('.'+option.mainViewClass+' .'+option.mainImageClass).attr('src',images);$('.'+option.mainImageClass).attr('rel',nextpicture);e.preventDefault();return false;});$('.'+option.thumbnailClass).live('mouseover',function(e){$(this).animate({'opacity':1},{duration:'fast',queue:false});});$('.'+option.thumbnailClass+':not(.'+option.visibleFirstThumbnailClass+')').live('mouseout',function(e){$(this).animate({'opacity':0.3},{duration:'fast',queue:false});})
if(option.thumbPrevNextHover==true){$('.'+option.thumbClass).mouseenter(function(e){$('.'+option.nextClassThumb).animate({'opacity':'1'},'fast');$('.'+option.prevClassThumb).animate({'opacity':'1'},'fast');});$('.'+option.thumbClass).mouseleave(function(){$('.'+option.nextClassThumb).animate({'opacity':'0'},'fast');$('.'+option.prevClassThumb).animate({'opacity':'0'},'fast');});}else{$('.'+option.nextClassThumb).css('opacity','1');$('.'+option.prevClassThumb).css('opacity','1');}
$('.'+option.nextClassThumb).click(function(){var totalImages=parseInt($('input[name="'+option.totalCounterName+'"]').attr('value'));var currentImages=parseInt($('input[name="'+option.currentCounterName+'"]').attr('value'));if(currentImages<totalImages-1){$('.'+option.thumbViewClass+' .'+option.visibleFirstThumbnailClass+':last').next('.'+option.thumbnailClass).addClass(option.visibleFirstThumbnailClass);$('.'+option.thumbViewClass+' .'+option.visibleFirstThumbnailClass+':first').removeClass(option.visibleFirstThumbnailClass);movethumbnails('right',true);return true;}
if(currentImages<totalImages){$('.'+option.thumbViewClass).animate({'left':28},4000);}});$('.'+option.prevClassThumb).click(function(){var totalImages=parseInt($('input[name="'+option.totalCounterName+'"]').attr('value'));var currentImages=parseInt($('input[name="'+option.currentCounterName+'"]').attr('value'));if(currentImages>0){$('.'+option.thumbViewClass+' .'+option.visibleFirstThumbnailClass+':last').prev('.'+option.thumbnailClass).addClass(option.visibleFirstThumbnailClass);$('.'+option.thumbViewClass+' .'+option.visibleFirstThumbnailClass+':last').removeClass(option.visibleFirstThumbnailClass);movethumbnails('left',true);}});$('.'+option.nextClassMain).click(function(){var nextpicture=parseInt($('.'+option.mainImageClass).attr('rel'))+1;var total=parseInt($('input[name="'+option.totalCounterName+'"]').attr('value'));if(nextpicture<total){var pictureLink=$('.'+option.thumbViewClass+' img[rel='+nextpicture+']').attr('src');var images=pictureLink.match(/[A-Za-z0-9._-]*$/,'');images=option.largePath+'/'+images;$('.'+option.thumbViewClass+' .'+option.visibleFirstThumbnailClass+':last').next('.'+option.thumbnailClass).addClass(option.visibleFirstThumbnailClass);$('.'+option.thumbViewClass+' .'+option.visibleFirstThumbnailClass+':first').removeClass(option.visibleFirstThumbnailClass);movethumbnails('right',true);$('.'+option.mainImageClass).attr('src',images);$('.'+option.mainImageClass).attr('rel',nextpicture);}});$('.'+option.prevClassMain).click(function(){var nextpicture=parseInt($('.'+option.mainImageClass).attr('rel'));if(nextpicture>0){nextpicture=nextpicture-1;var pictureLink=$('.'+option.thumbViewClass+' img[rel='+nextpicture+']').attr('src');var images=pictureLink.match(/[A-Za-z0-9._-]*$/,'');images=option.largePath+'/'+images;$('.'+option.thumbViewClass+' .'+option.visibleFirstThumbnailClass+':last').prev('.'+option.thumbnailClass).addClass(option.visibleFirstThumbnailClass);$('.'+option.thumbViewClass+' .'+option.visibleFirstThumbnailClass+':last').removeClass(option.visibleFirstThumbnailClass);movethumbnails('left',true);$('.'+option.mainImageClass).attr('src',images);$('.'+option.mainImageClass).attr('rel',nextpicture);}});function movethumbnails(rightleft,toPos){var timeout;var width=$('.'+option.visibleFirstThumbnailClass).find('img').width()+'px';var backwardswidth=$('.'+option.visibleFirstThumbnailClass).prev('.'+option.thumbnailClass).width()+'px';var totalImages=parseInt($('input[name="'+option.totalCounterName+'"]').attr('value'));var currentImages=parseInt($('input[name="'+option.currentCounterName+'"]').attr('value'));if(rightleft=='right'){if(currentImages<totalImages-1){if(toPos==true&&moveToOffset(position,'right',option)!=false){$('.'+option.visibleFirstThumbnailClass).animate({'opacity':1},400);}else{$('.'+option.thumbViewClass).animate({'left':'-='+width},{duration:'fast',queue:true});}}}else if(rightleft=='left'){if(currentImages>0){if(toPos==true&&moveToOffset(position,'left',option)!=false){$('.'+option.visibleFirstThumbnailClass).animate({'opacity':1},400);}else{$('.'+option.thumbViewClass).animate({'left':'+='+backwardswidth},{duration:'fast',queue:true});}}else{$('.'+option.thumbViewClass).animate({'left':28},'fast');}}
return false;}
$(document).keyup(function(e){if(e.keyCode==37){var totalImages=parseInt($('input[name="'+option.totalCounterName+'"]').attr('value'));var currentImages=parseInt($('input[name="'+option.currentCounterName+'"]').attr('value'));if(currentImages>0){$('.'+option.thumbViewClass+' .'+option.visibleFirstThumbnailClass+':last').prev('.'+option.thumbnailClass).addClass(option.visibleFirstThumbnailClass);$('.'+option.thumbViewClass+' .'+option.visibleFirstThumbnailClass+':last').removeClass(option.visibleFirstThumbnailClass);movethumbnails('left',true);}}
if(e.keyCode==39){var totalImages=parseInt($('input[name="'+option.totalCounterName+'"]').attr('value'));var currentImages=parseInt($('input[name="'+option.currentCounterName+'"]').attr('value'));if(currentImages<totalImages-1){$('.'+option.thumbViewClass+' .'+option.visibleFirstThumbnailClass+':last').next('.'+option.thumbnailClass).addClass(option.visibleFirstThumbnailClass);$('.'+option.thumbViewClass+' .'+option.visibleFirstThumbnailClass+':first').removeClass(option.visibleFirstThumbnailClass);movethumbnails('right',true);}}});function moveToOffset(firstPicture,directions,option){var image=$('.'+option.visibleFirstThumbnailClass).offset();var mov;var selectedCounter;var totalImages=parseInt($('input[name="'+option.totalCounterName+'"]').attr('value'));var currentImages=parseInt($('input[name="'+option.currentCounterName+'"]').attr('value'));if(directions=='right'){mov=image.left-firstPicture.left;}else if(directions=='left'){mov=firstPicture.left-image.left;}
if(mov==0){return false;}else{switch(directions){case'right':if(currentImages<totalImages-1){$('.'+option.thumbViewClass).animate({'left':'-='+mov+'px'},{duration:900,queue:false});selectedCounter=parseInt($('.'+option.visibleFirstThumbnailClass+' img').attr('rel'));$('.'+option.thumbnailClass).animate({'opacity':0.3},400);$('.'+option.visibleFirstThumbnailClass).animate({'opacity':1},400);$('input[name="'+option.currentCounterName+'"]').attr('value',selectedCounter);}
break;case'left':if(currentImages>0){$('.'+option.thumbViewClass).animate({'left':'+='+mov+'px'},{duration:900,queue:false});selectedCounter=$('.'+option.visibleFirstThumbnailClass+' img').attr('rel');$('.'+option.thumbnailClass).animate({'opacity':0.3},400);$('.'+option.visibleFirstThumbnailClass).animate({'opacity':1},400);$('input[name="'+option.currentCounterName+'"]').attr('value',selectedCounter);}
break;}}
return true;}});}})(mojofuelgallery);
