;(function($){$.fn.jImagePreloader=function(settings){settings=jQuery.extend(true,{imageCount:0,errorCount:0,succeedCount:0,splash:false,beforeStart:null,afterEnd:null,onSuccess:null,onError:null,defaultWidth:100,defaultHeight:100,defaultTimer:1000,imageClass:null,pluginPath:'library/js/jImagePreloader',imageLoading:'loader.gif',imageError:'error.gif',textError:'Seems this link is broken!',splashScreen:{show:false,type:'basic',customID:null,title:'Images are loading, please be patient...',textOutOf:'out of',textSucceeded:'succeeded',textFailed:'failed',image:'loadingAnimation.gif',fadeDelay:500,closingDelay:1000}},settings);if(settings.beforeStart!=null)settings.beforeStart();var jQueryMatchedObj=null,imgSplash=null,imgLoading=null,imgError=null;if(settings.imageClass)jQueryMatchedObj=$(this).find('img.'+settings.imageClass);else jQueryMatchedObj=$(this).find('img');settings.imageCount+=jQueryMatchedObj.length;_start();function _start(){jQueryMatchedObj.each(function(){$(this).data('src',$(this).attr('src'));});_set_interface();}
function _set_interface(){if(settings.splashScreen.show==true){if(settings.splash==false){settings.splash=true;imgSplash=new Image;imgSplash.onload=function(){_show_splashScreen();imgSplash.onload=function(){};};imgSplash.src=settings.pluginPath+'/img/'+settings.splashScreen.image;}}
imgLoading=new Image;imgLoading.onload=function(){_set_images_to_view();imgLoading.onload=function(){};};imgLoading.src=settings.pluginPath+"/img/"+settings.imageLoading;imgError=new Image;imgError.src=settings.pluginPath+"/img/"+settings.imageError;}
function _set_images_to_view(){$('.image-preloader-loading').show();jQueryMatchedObj.each(function(){var imgObj=$(this);var haspreloaded=false;var objImagePreloader=new Image();objImagePreloader.src=imgObj.data('src');objImagePreloader.onload=function(){if(haspreloaded){imgObj.attr('src',imgObj.data('src'));_show_image(imgObj);}else{settings.succeedCount++;if(settings.errorCount+settings.succeedCount==settings.imageCount)_end();}
objImagePreloader.onload=function(){};};objImagePreloader.onerror=function(){_show_error(imgObj);};if(objImagePreloader.complete!=null&&objImagePreloader.complete===false){haspreloaded=true;$(this).hide().wrap('<div class="jquery-image-preloader"></div>');$(this).parent().append('<div class="image-preloader-loading"><img class="image-preloader-loading-img" src="'+settings.pluginPath+"/img/"+settings.imageLoading+'" alt="" /></div>');var cssImg=__getCssFromImage($(this));var newCss=__clearCssFromImage($(this));$(this).css(newCss).removeAttr("src");$(this).next('.image-preloader-loading').css(newCss);$(this).next('.image-preloader-error').css(newCss);$(this).parent().css(cssImg);}});};function _show_image(imgObj){setTimeout(function(){imgObj.parent().find('.image-preloader-loading').remove();imgObj.fadeIn(settings.defaultTimer,function(){$(this).removeAttr("style").unwrap();settings.succeedCount++;if(settings.splash==true&&settings.splashScreen.type=='advanced')_update_splashScreen();if(settings.onSuccess!=null)settings.onSuccess(imgObj.data('src'),settings);if(settings.errorCount+settings.succeedCount==settings.imageCount)_end();});},settings.defaultTimer);};function _show_error(imgObj){setTimeout(function(){imgObj.parent().find('.image-preloader-loading').remove();imgObj.parent().append('<div class="image-preloader-error"><img class="image-preloader-error-img" src="'+settings.pluginPath+"/img/"+settings.imageError+'" alt="" /><p>'+settings.textError+'</p><p>'+imgObj.data('src')+'</p></div>');imgObj.parent().find('.image-preloader-error').css(__clearCssFromImage(imgObj));imgObj.parent().find('.image-preloader-error').fadeIn(settings.defaultTimer,function(){settings.errorCount++;if(settings.splash==true&&settings.splashScreen.type=='advanced')_update_splashScreen();if(settings.onError!=null)settings.onError(imgObj.data('src'),settings);if(settings.errorCount+settings.succeedCount==settings.imageCount)_end();});},settings.defaultTimer);}
function _show_splashScreen(){var options=settings.splashScreen,html='';switch(options.type){case'advanced':html='<div id="image-preloader-splashscreen"><p id="image-preloader-splashscreen-title">'+options.title+'</p><p id="image-preloader-splashscreen-text">0 '+options.textOutOf+' '+settings.imageCount+'</p><p id="image-preloader-splashscreen-text2">'+settings.succeedCount+' '+options.textSucceeded+', '+settings.errorCount+' '+options.textErrored+'.</p><div id="image-preloader-splashscreen-img"><div id="image-preloader-splashscreen-hidder"><img src="'+settings.pluginPath+'/img/'+options.image+'" alt="" /></div></div></div>';break;case'custom':var id=null;if(options.customID!=null)id=options.customID;break;case'basic':default:html='<div id="image-preloader-splashscreen"><p id="image-preloader-splashscreen-title">'+options.title+'</p><img src="'+settings.pluginPath+'/img/'+options.image+'" alt="" /></div>';break;}
if(options.type!='custom'){$('body').append(html);$('#image-preloader-splashscreen').fadeIn(options.fadeDelay);}else{if(id!=null)$('#'+id).fadeIn(options.fadeDelay);}}
function _update_splashScreen(){var options=settings.splashScreen;var widthPerImage=$('#image-preloader-splashscreen img').width()/settings.imageCount;$('#image-preloader-splashscreen-text').text((settings.succeedCount+settings.errorCount)+' '+options.textOutOf+' '+settings.imageCount);$('#image-preloader-splashscreen-text2').text(settings.succeedCount+' '+options.textSucceeded+', '+settings.errorCount+' '+options.textFailed+'.');$('#image-preloader-splashscreen-hidder').width(widthPerImage*(settings.succeedCount+settings.errorCount));}
function _end(){if(settings.splash==true)_finish();else if(settings.afterEnd!=null){settings.afterEnd();}}
function _finish(){var options=settings.splashScreen;var tempo=options.closingDelay;if(options.type=='advanced')tempo*=2;setTimeout(function(){var div=null;if(options.type!='custom'){div=$('#image-preloader-splashscreen');}else{if(options.customID!=null)div=$('#'+options.customID);}
if(div!=null){div.fadeOut(options.fadeDelay,function(){if(options.type!='custom')$(this).remove();if(settings.afterEnd!=null)settings.afterEnd();});}},tempo);delete imgSplash;delete imgLoading;delete imgError;delete jQueryMatchedObj;}
function __getCssFromImage(imgObj){var dimensions=__getDimensions(imgObj);var bt=__getBorder(imgObj,"top");var br=__getBorder(imgObj,"right");var bb=__getBorder(imgObj,"bottom");var bl=__getBorder(imgObj,"left");return{float:imgObj.css("float"),marginLeft:imgObj.css("margin-left"),marginRight:imgObj.css("margin-right"),marginBottom:imgObj.css("margin-bottom"),marginTop:imgObj.css("margin-top"),paddingLeft:imgObj.css("padding-left"),paddingRight:imgObj.css("padding-right"),paddingBottom:imgObj.css("padding-bottom"),paddingTop:imgObj.css("padding-top"),borderTop:bt,borderRight:br,borderBottom:bb,borderLeft:bl,width:dimensions.width,height:dimensions.height,position:imgObj.css("position"),top:imgObj.parent().css('top')=="auto"?imgObj.css("top"):imgObj.parent().css('top'),left:imgObj.parent().css('left')=="auto"?imgObj.css("left"):imgObj.parent().css('left'),bottom:imgObj.css("bottom"),right:imgObj.css("right"),zIndex:imgObj.css("z-index"),cursor:imgObj.css("cursor"),visibility:imgObj.css("visibility"),display:'inline-block'};};function __clearCssFromImage(imgObj){var dimensions=__getDimensions(imgObj);return{margin:0,padding:0,border:0,position:"relative",textAlign:"left",left:0,top:0,right:0,bottom:0,width:dimensions.width,height:dimensions.height};};function __getDimensions(imgObj){var w=settings.defaultWidth+"px",h=settings.defaultHeight+"px";if(imgObj.css("width")!="auto")
if(imgObj.css("width")!="0px"||imgObj.attr("width")!=0)
w=imgObj.width()+"px";if(imgObj.css("height")!="auto")
if(imgObj.css("height")!="0px"||imgObj.attr("height")!=0)
h=imgObj.height()+"px";return{width:w,height:h};}
function __getBorder(imgObj,side){return imgObj.css("border-"+side+"-color")+" "+
imgObj.css("border-"+side+"-style")+" "+
Math.ceil(imgObj.css("border-"+side+"-width").replace("px",""))+"px";}
return this;};})(jQuery);
