/* POPUP */ function kelnik_popup_initialize(){ $('.popupImg, .popupVideo, .popupFlash').click(function(e){ // параметры var shadowOpacity = 0.3; // прозрачность тени, которая накрывает сайт var t = $(this); var newSrc = t.attr('href'); // путь к большой картинке var photoCount = parseInt(t.attr('rel')); // путь к большой картинке // var alt = t.children().attr('alt'); // подпись картинки //var title = t.attr('title'); // подпись ссылки var htmlIMG = ''; var htmlFlash = ''; var htmlVideo = ''; var htmlGallery = ''; var htmlDownload = ''; var downloadText = ''; var popupClasses = ''; var popupTitlePager = ''; // var bodyHeight = $('.main').height(); // для моей верстки var bodyHeight = $('#outer').height(); // для верстки Валеры var windowHeight = $(window).height(); //var topX = (document.body.scrollTop || document.documentElement.scrollTop) + 15; // /* верхняя граница экрана для прокручивающихся попапов ( частный случай: ие6, ФФ2) */ var topX = (document.body.scrollTop || document.documentElement.scrollTop); // /* верхняя граница экрана для прокручивающихся попапов ( частный случай: ие6, ФФ2) */ if( t.hasClass('popupImg')) { var popupImg = true } if( t.hasClass('popupFlash')) { var popupFlash = true } if( t.hasClass('popupVideo')) { var popupVideo = true } if( t.hasClass('popupGallery')) { var popupGallery = true; popupClasses += ' popupGalleryP ' } if( t.hasClass('popupLicense')) { var popupLicense = true; popupClasses += ' popupLicenseP '; } if( t.hasClass('galleryList')) { var galleryList = true; } downloadText = 'Посмотреть увеличенную версию'; /* =============================== === операции до создания попапа === =============================== */ if ( popupImg ) { // IMG if(popupGallery){ // Галерея (HTML) var htmlGallery = '
 
' + '
'+ '' + '
' + '' + '
'; }; var htmlIMG = ''; var originalPhoto = t.attr('data-originalImage'); if(originalPhoto){ // фото оригинального размера //var string = newSrc.length; //var newSrc2 = newSrc.substr( 0, string-4 ); /* //htmlDownload = '
Скачать в оригинальном размере
'; */ htmlDownload = '
' + downloadText + '
'; }; }; if ( popupVideo ) { // VIDEO htmlVideo = ''; }; if ( popupFlash ) { // FLASH var htmlFlash = '
'; }; /* =========================== === добавляем попап в HTML === ============================*/ if ( galleryList ) { popupClasses += ' popupGalleryList '; popupTitlePager = '
'; } $('body').append ( //'
' + '
' + '
' + '
' + '
' + '
' + popupTitlePager + '' + '
' + '
' + htmlIMG + htmlVideo + htmlFlash + '' + '' + '
' + '
' + htmlGallery + htmlDownload + '
' + '
' + '
' + '
' ); // Переменные, инициализирующиеся после создания попапа var popupMainImage = $('.popupMainImage'); var popupT = $('.popupTableIMG'); var popupImg = $('.popupImage'); var title = t.attr('title'); // заголовок / подпись var caption = t.children().attr('alt'); // описание var rel = t.attr('rel'); // rel var windowH = $(window).height(); // высота окна var popup = $('.popup'); var popupTable = $('.popupTable'); var sectionNum = t.attr('data-sectionNumber'); // номер текущей секции /* ================================== === операции после создания попапа === ================================== */ var popupTitle = $('.popupTitle') popupTitle.text(title); // тайтл $('.popupCaption').text(caption); // подпись popupT.css('height', windowH); // центруем по вертикали popupTable.css({top:topX}); // Листание фоток в попапе (стрелочки и пейджер) if ( galleryList ) { var popupLinks = ''; // переменная, в которую забиваются все ссылки-листалки для попапа var sectionPhotoCount = section[sectionNum].length-1; // количество фоток в секции for(i=1;i<=sectionPhotoCount;i++) { //console.log(section[sectionNum][i]['title']); if(i==1){ popupLinks += ''+section[sectionNum][i]['title']+''; } else { popupLinks += ''+section[sectionNum][i]['title']+''; } } $('.popupTitlePager').html(popupLinks); var gTotal = $('.galleryItem').length; var next = t.parent().nextAll('.galleryItem').children('a').attr('href'); var prev = t.parent().prevAll('.galleryItem').children('a').attr('href'); var gCur = parseInt(t.parents('.spp').attr('rel')); // обработка отображения левой кнопки function processLeft(gCur){ if(gCur == 1) { $('.popLarr').addClass('none'); } else { $('.popLarr').removeClass('none'); } } // обработка отображения правой кнопки function processRight(gCur){ if(gCur == photoCount) { $('.popRarr').addClass('none'); } else { $('.popRarr').removeClass('none'); } } // функция, которая меняет УРЛ текущей картинки попапа // и урл ссылки на увеличенную версию картинки function changeImageURL(src, title, src_orig){ popupImg.attr('src', src ); $('.popupDownload a').attr('href', src_orig); } /* ============ == PAGINATOR =============*/ // нажатие по сслыке в хедере попапа (пагинатор) $('.PL').click(function(){ var t = $(this); var PLnum = parseInt(t.attr('rel')); var pict = section[sectionNum][PLnum]['pict']; var pict_b = section[sectionNum][PLnum]['pict_b']; // присваиваем новые значения changeImageURL(pict, null, pict_b); $('.PL').removeClass('PLcurrent'); t.addClass('PLcurrent'); processRight(PLnum); processLeft(PLnum); // меняем номер текущей фотки gCur = PLnum; $(this).blur(); return false; }); /* ============ == Right =============*/ $('.popRarr').click(function(){ // номер элемента, // который будет отображен после нажатия на эту ссылку var nextElem = gCur+1; $('.PL').removeClass('PLcurrent'); $('.PL[rel='+nextElem+']').addClass('PLcurrent'); // ищем новые значения в атрибутах соседа //next = $('.galleryBox div[rel=' + (gCur+1) + ']').children().attr('href'); next = $('.plans div[rel=' + (nextElem) + ']').find('a.popupImg').attr('href'); nextTitle = $('.plans div[rel=' + (nextElem) + ']').find('a.popupImg').attr('title'); var pict_b = section[sectionNum][nextElem]['pict_b']; // присваиваем новые значения changeImageURL(next, nextTitle, pict_b); gCur++; processRight(gCur); $('.popLarr').removeClass('none'); return false; }); /* ============ == Left =============*/ $('.popLarr').click(function(){ // номер элемента, // который будет отображен после нажатия на эту ссылку var prevElem = gCur-1; $('.PL').removeClass('PLcurrent'); $('.PL[rel='+prevElem+']').addClass('PLcurrent'); // ищем новые значения в атрибутах соседа //prev = $('.galleryBox div[rel=' + (gCur-1) + ']').children().attr('href'); prev = $('.plans div[rel=' + prevElem + ']').find('a.popupImg').attr('href'); prevTitle = $('.plans div[rel=' + prevElem + ']').find('a.popupImg').attr('title'); var pict_b = section[sectionNum][prevElem]['pict_b']; // присваиваем новые значения changeImageURL(prev, prevTitle, pict_b); gCur--; processLeft(gCur); $('.popRarr').removeClass('none'); return false; }); processRight(gCur); processLeft(gCur); } else { // если это не листалка, убираем обе стрелочки $('.popLarr, .popRarr').addClass('none'); } if ( popupImg ) { // IMG popupMainImage.load(function(){ // скрываем картинку пока не загрузится popupMainImage.removeClass('out'); }); }; if ( popupFlash ) { // FLASH var size = rel.split(','); /* размеры флеша берем из rel="203,342" */ // }; if ( popupVideo ) { // VIDEO flowplayer("player", "/js/flowplayer-3.1.5.swf"); //flowplayer("player", "/js/flowplayer-3.1.5.swf", 'http://krona' + newSrc); //$('#player').flowplayer( "http://swedishkrona.ru/js/flowplayer-3.1.5.swf" ); }; // показываем тень $('.shadow').css({opacity:0,display:'block'}).fadeTo('fast', shadowOpacity); $('.popupCloser').css('height', bodyHeight); $('.popupClose, .popupCloser, .shadow').click(function(){ // Close popup popupT.remove(); $('.shadow').fadeOut(); return false; }); // IE6 if ( $.browser.msie && $.browser.version < 7) { //popupTable.css({'top': topX }); $('.shadow').css('height', bodyHeight); $('.popupCloser, .popupTable').css('height', windowHeight); //showPhoto(num); // фиксим неизвестный косяк ИЕ6 } return false; }); $(document).keyup(function(e) { // close by ESC button if (e.which == 27){ $('.popupTableIMG').remove(); $('.popap').add('.shadow').fadeOut(); } }); } $(function(){ // onLoad kelnik_popup_initialize(); }) // on Load