/* Для использования, ссылке ведущей на большое изображение, нужно присвоить класс "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'); } }