/* frasiobox v1.0.1 - jQuery Plugin frasio report https://ktyr.net Free to use under the MIT license. */
;(function($){
var imglist,img;
var busy=false;
var currentindex=0;
var closing=false;
var roop=true;
var wrap,bg,imgwrap,ui,loading;
var ie6=$.browser.msie&&$.browser.version<7&&!window.XMLHttpRequest;
var ie=$.browser.msie;
var _removeimg=function(){
busy=false;
img.onerror=img.onload=null;
img=null;
};
var _error=function(){
_removeimg();
};
var _start=function(n){
imgwrap.empty();
closing=false;
if(ie)$('#frasiobox-ui').show();
wrap.hide();
wrap.fadeTo(300,1.0,function(){
_load();
});
};
var _load=function(){
busy=true;
imgwrap.empty();
img=new Image();
img.onerror=function(){
_error();
};
img.onload=function(){
busy=false;
img.onerror=img.onload=null;
_show_image();
};
img.src=imglist[currentindex];
if(loading)loading.show();
};
var _show_image=function(){
if(closing){
_removeimg();
return;
}
if(loading){
loading.hide();
if(ie6)setTimeout(function(){loading.hide();},5);
}
var w=Math.round(img.width*0.5);
var h=Math.round(img.height*0.5);
var im=$("");
im.attr({"id":"frasiobox-img","src":img.src});
imgwrap.append(im);
imgwrap.css({"margin-left":"-"+w+"px","margin-top":"-"+h+"px","display":"none"});
imgwrap.fadeIn(500);
};
var _fadeoutimage=function(next){
var n=$("#frasiobox-img");
if(next){
n.fadeOut(300,function(){_load();});
}else{
n.fadeOut(300);
}
};
var _close=function(){
closing=true;
if(loading)loading.hide();
if(ie){
$('#frasiobox-img').fadeOut(300);
$('#frasiobox-ui').fadeOut(300);
}
wrap.stop();
wrap.fadeOut(300,function(){
wrap.hide();
});
};
var _set_scroll_top=function(n){
wrap.css({top:n});
};
var _get_inh=function(){
if(window.innerHeight){
return window.innerHeight;
}else if(document.documentElement && document.documentElement.clientHeight != 0){
return document.documentElement.clientHeight;
}else if(document.body){
return document.body.clientHeight;
}
return 0;
};
var _set_wrap_size=function(){
wrap.css({height:_get_inh()+"px"});
};
var _update_flg=function(){
if(roop){
$.frasiobox.nextvalid=true;
$.frasiobox.prevvalid=true;
return;
}
$.frasiobox.nextvalid=(currentindex=imglist.length)currentindex=0;
_fadeoutimage(true);
_update_flg();
};
$.frasiobox.prev=function(){
currentindex--;
if(currentindex<0)currentindex=imglist.length-1;
_fadeoutimage(true);
_update_flg();
};
$.frasiobox.getCurrentIndex=function(){
return currentindex;
};
$.frasiobox.getMaxIndex=function(){
return (imglist)?imglist.length-1:0;
};
$.frasiobox.close=function(){
_close();
};
$.frasiobox.setScrollTop=function(n){
_set_scroll_top(n);
};
$.frasiobox.init=function(){
wrap=$('');
$('body').append(wrap);
wrap.css({position:(ie6)?"absolute":"fixed",top:0,left:0,"z-index":1000,width:"100%",height:"100%"});
if(ie6){
_set_wrap_size();
$(window).bind('resize',function(){
_set_wrap_size();
});
$(window).scroll(function(){
_set_scroll_top($(document).scrollTop()+"px");
});
}
wrap.hide();
bg=$('');
wrap.append(bg);
bg.css({background:"#000",opacity:0.6,width:"100%",height:"100%"});
bg.bind('click.fb',function(e){
e.preventDefault();
_close();
return;
});
imgwrap=$('');
wrap.append(imgwrap);
imgwrap.css({position:"absolute",top:"50%",left:"50%"});
ui=$('');
wrap.append(ui);
ui.css({position:"absolute",top:"50%",left:"50%"});
};
$.frasiobox.loading=function(imagepath){
var lm=new Image();
lm.onload=function(){
loading=$("");
loading.attr({"id":"frasiobox-loading","src":lm.src});
var w=Math.round(lm.width*0.5);
var h=Math.round(lm.height*0.5);
loading.css({position:"absolute",top:"50%",left:"50%","margin-left":"-"+w+"px","margin-top":"-"+h+"px"});
wrap.append(loading);
loading.hide();
lm.onload=null;
lm=null;
};
lm.src=imagepath;
};
$.frasiobox.bgcss=function(m){
bg.css(m);
};
$.frasiobox.ui=function(html){
ui.append(html);
};
$(document).ready(function(){
$.frasiobox.init();
});
})(jQuery);