/*
Для использования, ссылке ведущей на большое изображение, нужно присвоить класс "io_lightbox"
Для показа заголовка к изображению в попапе необходимо прописать тег "title".
Для организации галереи необходимо сгруппировать ссылки по тегу "rel".
Для показа карт гугл необходимо у ссылки прописать класс "googlemaps", внутри ссылки организовать блочный элемент с class="showmap mapscontent".
Для показа видео необходимо у ссылки прописать класс "video", ссылка должна вести на файл видео.
*/
function io_lightbox(){
var videobox = null;
var htmlbody = '
'+
''+
'
*1
'+
'

'+
'

'+
'
![]()
'+
'
'+
'
'+
'
';
var body = $('body');
body.append(htmlbody);
var boxshadow = $('#boxshadow');
var box = $('#box');
var boximg = $('#boximg');
var close = $('#close');
var loader = $('#imgloader');
var wrap = $('body');
var io_lightbox = $('.io_lightbox');
var title = $('#htitle');
//var nav = $('#navgallery');
var prev_e = $('#prev_e');
var next_e = $('#next_e');
var galleryelements = null;
if($('.mapscontent').length){
var mc = $('.mapscontent');
}
io_lightbox.click(function (){
var elem = $(this);
if(elem.attr('rel')){
galleryelements = $('.io_lightbox[rel="'+elem.attr('rel')+'"]');
}
boxshadow.css('display', 'block');
if($.browser.msie && $.browser.version == 6){
boxshadow.css({
position: 'absolute'
});
$(window).bind('scroll', function (){
boxshadow.css('top', $(window).scrollTop());
});
}
boxshadow.animate({opacity: 0.4}, 200, function (){
var x = body.width()/2 - box.width()/2;
var y = $(window).scrollTop()+20;
box.css({
left: x,
top: y,
display: 'block'
});
if(elem.hasClass('googlemaps')){
loadMaps(elem);
} else {
if(elem.hasClass('video')){
videobox = elem.siblings('.vbl').html();
elem.siblings('.vbl').html('');
loadVideo(elem);
} else {
loadImage(elem);
}
}
});
return false;
});
close.add(boxshadow).click(function (){
hideBox();
});
prev_e.add(next_e).click(function (){
var elem = $(this);
elem.blur();
loadImage(galleryelements.eq(elem.attr('rel')));
return false;
});
prev_e.hover(function(){
$(this).css('background', 'transparent url(../i/arrboxleft.png) left 50% no-repeat');
}, function(){
$(this).css('background', 'transparent url(../i/dottransparence.png) 0 0 repeat');
});
next_e.hover(function(){
$(this).css('background', 'transparent url(../i/arrboxright.png) right 50% no-repeat');
}, function(){
$(this).css('background', 'transparent url(../i/dottransparence.png) 0 0 repeat');
});
function hideBox(){
boximg.remove();
if($('#alertnonobject').length){
$('#alertnonobject').remove();
}
close.after('
');
boximg = $('#boximg');
box.css({
width: 300 + 'px',
height: 200 + 'px',
display: 'none'
});
if(boximg.next().hasClass('showmap')){
boximg.next().remove();
}
if(boximg.next().hasClass('videocontent')){
$('.potok').siblings('.vbl').html(videobox);
boximg.next().remove();
}
boxshadow.animate({opacity: 0}, 200, function (){
boxshadow.css('display', 'none');
});
}
function checkRel(elem){
if(elem.attr('title')){
title.html(elem.attr('title')).css('display', 'block');
if(elem.attr('rel')){
prev_e.add(next_e).css('display', 'block');
if(galleryelements.index(elem)-1 >= 0){
var a_prev = galleryelements.eq(galleryelements.index(elem)-1);
prev_e.css('display', 'block').attr('href', a_prev.attr('href')).attr('rel', galleryelements.index(elem)-1);
} else {
prev_e.css('display', 'none');
}
if(galleryelements.index(elem)+1 < galleryelements.length){
var a_next = galleryelements.eq(galleryelements.index(elem)+1);
next_e.css('display', 'block').attr('href', a_next.attr('href')).attr('rel', galleryelements.index(elem)+1);
} else {
next_e.css('display', 'none');
}
}
}
}
function loadImage(elem){
boximg.css({
display: 'block',
visibility: 'hidden'
});
title.add(prev_e).add(next_e).css('display', 'none');
loader.css('display', 'block');
boximg.bind('load', function(){
x = wrap.width()/2 - boximg.width()/2;
w_y = boximg.width()+20;
box.css({
left: x,
width: w_y,
height: 'auto'
});
loader.css('display', 'none');
boximg.css('visibility', 'visible');
checkRel(elem);
}).attr('src', elem.attr('href')+'?i='+Math.random());
}
function loadMaps(elem){
boximg.css('display', 'none');
title.add(nav).css('display', 'none');
mc.clone().insertAfter(boximg).css('display', 'block');
title.html(elem.attr('title')).css({
display: 'block',
textAlign: 'left',
paddingLeft: '13px'
});
y = $(window).height() - 60;
w = $(window).width() - 60;
x = $(window).width()/2 - w/2-10;
box.css({
left: Math.round(x)+'px',
width: w+'px',
height: y+'px'
});
boximg.next().prepend('');
$('#map_canvas').css({
height: y-130,
width: '100%'
});
if(elem.hasClass('map_one')){
initialize_one(elem.attr('rel'));
} else if(elem.hasClass('category')){
initialize(elem.attr('rel')*1);
} else {
initialize();
}
cat = $('.a_allcategory');
}
function loadVideo(elem){
boximg.css('display', 'none');
title.add(nav).css('display', 'none');
boximg.after('');
w_v = 580;
h_v = 384;
type = 1;
if(elem.hasClass('potok')){
w_v = 320;
h_v = 240;
type = 2;
}else if(elem.hasClass('potok2')){
w_v = 720;
h_v = 576;
type = 2;
}
execFlash(elem.attr('href'), w_v, h_v, type);
x = wrap.width()/2 - w_v/2;
box.css({
left: x,
width: w_v,
height: 'auto'
});
title.html(elem.attr('title')).css('display', 'block');
}
function execFlash(path, ww, hh, ty){
var so = new SWFObject(ty == 1 ? '/flash/player.swf' : ''+path+'','mpl',''+ww+'',''+hh+'','9');
if(ty == 1){
so.addParam('allowfullscreen','true');
so.addParam('allowscriptaccess','always');
so.addVariable('file', path);
so.addParam('wmode','opaque');
}
so.write('mediaspace');
}
}