/*Цветове и слайдшоу (ral-0.1.9.1.js) Автор: Пламен Проданов*/ var flagStart = false, flagRegima = false, flagRegima0 = false; var table0, close0, prev0, next0; var scrollTop, scrollLeft; var elemAbsul, fon0, zatvori0, zatvori02; var pusni0, spri0, kontrol02, kontrol03, start0; var predishna0, sledvashta0, zabyrzaj0, zabavi0, interval_txt0; var interv = 6000, step = 500, minInterv = 0; var s, i, x1, x2, x, dx, n, t, itxt, ipred = 0; var windowRazmeri = new Array(0, 0); var windowRazmeriStaro = new Array(0, 0); var scrollTopStaro, scrollLeftStaro; var flagPred = false; var divA = new Array(); divA[0] = new Array(); divA[0][0] = new Image(); divA[0][1] = 960; divA[0][2] = 716; divA[1] = new Array(); divA[1][0] = new Image(); divA[1][1] = 640; divA[1][2] = 716; divA[2] = new Array(); divA[2][0] = new Image(); divA[2][1] = 960; divA[2][2] = 716; divA[3] = new Array(); divA[3][0] = new Image(); divA[3][1] = 638; divA[3][2] = 715; divA[4] = new Array(); divA[4][0] = new Image(); divA[4][1] = 957; divA[4][2] = 716; divA[5] = new Array(); divA[5][0] = new Image(); divA[5][1] = 957; divA[5][2] = 860; divA[6] = new Array(); divA[6][0] = new Image(); divA[6][1] = 1276; divA[6][2] = 716; divA[7] = new Array(); divA[7][0] = new Image(); divA[7][1] = 642; divA[7][2] = 716; divA[8] = new Array(); divA[8][0] = new Image(); divA[8][1] = 641; divA[8][2] = 503; window.onload = function () { table0 = getElementById0('cvet'); addEvent('click', table0, smeniRegima); fon0 = document.createElement('div'); fon0.setAttribute('id', 'fon'); document.getElementsByTagName('body')[0].appendChild(fon0); close0 = document.createElement('button'); close0.setAttribute('id', 'closeBtn'); close0.setAttribute('class', 'button-control'); document.getElementsByTagName('body')[0].appendChild(close0); close0.innerHTML = 'Затв. ✖'; prev0 = document.createElement('button'); prev0.setAttribute('id', 'prevBtn'); prev0.setAttribute('class', 'button-control'); document.getElementsByTagName('body')[0].appendChild(prev0); prev0.innerHTML = 'Пр. ←'; next0 = document.createElement('button'); next0.setAttribute('id', 'nextBtn'); next0.setAttribute('class', 'button-control'); document.getElementsByTagName('body')[0].appendChild(next0); next0.innerHTML = 'Сл. →'; canvas = document.createElement('canvas'); document.getElementsByTagName('body')[0].appendChild(canvas); canvas.style.display = 'none'; elemAbsul = document.createElement('div'); elemAbsul.setAttribute('id', 'absul'); elemAbsul.innerHTML = '
\ \ Предишна ← | \ Пусни ▶ | \ Следваща →\ \ \ Забързай ❱❱ | \ Спри ⛔ | \ Забави ❰❰ | Затвори или „Esc“ X
\ \ \ \ \ \ \ \ \ \ \ '; document.getElementsByTagName('body')[0].appendChild(elemAbsul); loadcss("css/slides-0.1.7.css"); //if ( ('pixelTop' in fon0) && (!document.compatMode)) { // fon0.style.position= 'fixed'; // elemAbsul.style.position= 'fixed'; //} n = divA.length; for (i = 0; i < n; i++) { divA[i][5] = getElementById0('sn' + i); divA[i][3] = divA[i][5].href; //divA[i][5].href= '#a'; divA[i][6] = getElementById0('i' + i); divA[i][7] = false; addEvent('click', divA[i][5], pok0); addEvent('click', divA[i][6], daiCveto); } zatvori0 = getElementById0('zatvori'); addEvent('click', zatvori0, zatvori); zatvori02 = getElementById0('zatvori2'); addEvent('click', zatvori02, zatvori); //close02 = getElementById0('closeBtn') addEvent('click', close0, zatvori) kontrol02 = getElementById0('kontrol2'); kontrol03 = getElementById0('kontrol3'); imgAbs = getElementById0('imgId'); pusni0 = getElementById0('pusni'); addEvent('click', pusni0, pusni); spri0 = getElementById0('spri'); addEvent('click', spri0, spri); predishna0 = getElementById0('predishna'); addEvent('click', predishna0, predishna); addEvent('click', prev0, predishna); sledvashta0 = getElementById0('sledvashta'); addEvent('click', sledvashta0, sledvashta); addEvent('click', next0, sledvashta); zabyrzaj0 = getElementById0('zabyrzaj'); addEvent('click', zabyrzaj0, zabyrzaj); zabavi0 = getElementById0('zabavi'); addEvent('click', zabavi0, zabavi); start0 = getElementById0('start'); addEvent('click', start0, start); addEvent('click', fon0, fon); //добавя текст interval_txt0 = getElementById0('interval_txt'); itxt = ('innerText' in interval_txt0) ? 'innerText' : 'textContent'; interval_txt0[itxt] = Number((interv / 1000).toFixed(1)) + ' с'; //после само с това //Разгеле, но доста тъпо! i = 6; pok(); zatvori(); } //} //Затваря Го при „Esc“ долу document.onkeydown = function (evn) { evn = evn || window.event; //alert(evn.keyCode); if (evn.keyCode == 27) { zatvori(); } if (evn.keyCode == 39) { sledvashta(); } if (evn.keyCode == 37) { predishna(); } if (evn.keyCode == 179) { if (flagStart) spri(); else start(); } if (evn.keyCode == 176) { zabyrzaj(); } if (evn.keyCode == 177) { zabavi(); } } // //document.onmouseup = function(evn) { function fon() { if (flagRegima == true) { flagRegima = false; fon0.style.opacity = '0.8'; if ('filter' in fon0.style) fon0.style.filter = 'alpha(opacity=80)'; fon0.style.backgroundColor = '#000'; fon0.style.display = 'none'; fon0.style.cursor = 'auto'; window.scroll(0, scrollTop); deselekt(); close0.style.display = 'none'; prev0.style.display = 'none'; next0.style.display = 'none'; } else { close0.style.display = 'inline'; prev0.style.display = 'inline'; next0.style.display = 'inline'; } if (flagRegima0 == true) { elemAbsul.style.display = 'block'; fon0.style.cursor = 'auto'; //fon0.style.opacity= '0.8'; window.scroll(0, scrollTop); // deselekt(); flagRegima0 = false; //close0.style.display = 'none'; //prev0.style.display = 'none'; //next0.style.display = 'none'; } else { //close0.style.display = 'inline'; //prev0.style.display = 'inline'; //next0.style.display = 'inline'; } } function daiCveto(evn) { if (canvas.getContext) { spri(); canvas.width = divA[i][6].width; canvas.height = divA[i][6].height; canvas.getContext('2d').drawImage(divA[i][6], 0, 0, divA[i][6].width, divA[i][6].height); //само 1 var x = evn.offsetX == undefined ? evn.layerX : evn.offsetX; var y = evn.offsetY == undefined ? evn.layerY : evn.offsetY; var pixelData = canvas.getContext('2d').getImageData(x, y, 1, 1).data; fon0.style.backgroundColor = 'rgb(' + pixelData[0] + ',' + pixelData[1] + ',' + pixelData[2] + ')'; fon0.style.opacity = '1'; scrollTop = (window.pageYOffset !== undefined) ? window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop; windowRazmeri = daiWinInnerWH(); var xs = scrollTop - windowRazmeri[1] * 2; if (xs < 0) xs = 0; turiTopLeft(fon0, xs, 0); fon0.style.width = windowRazmeri[0] + 'px'; fon0.style.height = windowRazmeri[1] * 4 + 'px'; elemAbsul.style.display = 'none'; fon0.style.cursor = 'pointer'; fon0.style.display = 'block'; flagRegima0 = true; close0.style.display = 'none'; prev0.style.display = 'none'; next0.style.display = 'none'; } } function pok0(event) { window.clearInterval(t); event = event || window.event; var o = ((event.target) ? event.target : event.srcElement); s = o.id || o.parentNode.id; i = parseInt(s.substring(2), 10); if (flagPred == false) { ipred = i; flagPred = true; } divA[i][5].href = '#a'; elemAbsul.style.display = 'block'; fon0.style.display = 'block'; close0.style.display = 'inline'; prev0.style.display = 'inline'; next0.style.display = 'inline'; //fon0.style.backgroundColor= '#000'; kontrol03.style.display = 'none'; kontrol02.style.display = 'inline'; pok(); return 0; } function isNanovo() { windowRazmeri = daiWinInnerWH(); scrollTop = (window.pageYOffset !== undefined) ? window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop; scrollLeft = (window.pageXOffset !== undefined) ? window.pageXOffset : (document.documentElement || document.body.parentNode || document.body).scrollLeft; if ((windowRazmeriStaro[0] != windowRazmeri[0]) || (windowRazmeriStaro[1] != windowRazmeri[1]) || (scrollTopStaro != scrollTop) || (scrollLeftStaro != scrollLeft)) return true; else return false; } function pok() { deselekt(); windowRazmeri = daiWinInnerWH(); scrollTop = (window.pageYOffset !== undefined) ? window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop; scrollLeft = (window.pageXOffset !== undefined) ? window.pageXOffset : (document.documentElement || document.body.parentNode || document.body).scrollLeft; //Хром и Хромиум бъгче //if ((windowRazmeriStaro[0]!=windowRazmeri[0]) || (windowRazmeriStaro[1]!=windowRazmeri[1]) || (scrollTopStaro!=scrollTop) || (scrollLeftStaro!=scrollLeft)) { fon0.style.top = scrollTop + 'px'; fon0.style.left = scrollLeft + 'px'; fon0.style.width = windowRazmeri[0] + 'px'; fon0.style.height = windowRazmeri[1] + 'px'; if (windowRazmeri[0] >= divA[i][1] && windowRazmeri[1] >= divA[i][2] + 60) { turiTopLeft(elemAbsul, Math.round((windowRazmeri[1] - (divA[i][2] + 60)) / 2) + scrollTop, Math.round((windowRazmeri[0] - divA[i][1]) / 2) + scrollLeft); elemAbsul.style.width = divA[i][1] + 'px'; divA[i][6].style.width = divA[i][1] + 'px'; divA[i][6].style.height = divA[i][2] + 'px'; } else { x1 = windowRazmeri[0] - divA[i][1]; x2 = windowRazmeri[1] - divA[i][2] - 76; if (x1 < 0 && x2 >= 0) { divA[i][6].style.width = windowRazmeri[0] - 15 + 'px'; dx = divA[i][2] + Math.round((x1 / divA[i][1]) * divA[i][2]); divA[i][6].style.height = dx + 'px'; turiTopLeft(elemAbsul, Math.round((windowRazmeri[1] - divA[i][2]) / 2) + scrollTop, scrollLeft); elemAbsul.style.width = windowRazmeri[0] - 15 + 'px'; } if (x2 < 0 && x1 >= 0) { dx = divA[i][1] + Math.round((x2 / divA[i][2]) * divA[i][1]); divA[i][6].style.height = windowRazmeri[1] - 60 + 'px'; divA[i][6].style.width = dx + 'px'; turiTopLeft(elemAbsul, scrollTop, Math.round((windowRazmeri[0] - divA[i][1]) / 2) + scrollLeft); elemAbsul.style.width = dx + 'px'; } if (x2 < 0 && x1 < 0) { x = Math.round((x2 / (divA[i][2] + 76)) * divA[i][1]); dx = Math.round((x1 / divA[i][1]) * divA[i][2]); if (x <= dx) { divA[i][6].style.height = windowRazmeri[1] - 76 + 'px'; dx = divA[i][1] + x; if (dx > windowRazmeri[0]) dx = windowRazmeri[0]; divA[i][6].style.width = dx + 'px'; turiTopLeft(elemAbsul, scrollTop, scrollLeft); elemAbsul.style.width = dx + 'px'; } if (x > dx) { divA[i][6].style.width = windowRazmeri[0] - 30 + 'px'; divA[i][6].style.height = divA[i][2] + dx - 76 + 'px'; turiTopLeft(elemAbsul, scrollTop, scrollLeft); elemAbsul.style.width = windowRazmeri[0] - 30 + 'px'; } } } //}//endif //за да не се препълва кеша на Експлодъра if (divA[i][7] == false) { divA[i][6].src = divA[i][3]; divA[i][7] = true; } divA[ipred][6].style.display = 'none'; divA[i][6].style.display = 'inline'; ipred = i; //elemAbsul.style.display= 'block'; fon0.style.display = 'block'; return 0; } function zatvori() { elemAbsul.style.display = 'none'; fon0.style.display = 'none'; kontrol03.style.display = 'none'; kontrol02.style.display = 'none'; divA[i][6].style.display = 'none'; close0.style.display = 'none'; prev0.style.display = 'none'; next0.style.display = 'none'; window.clearInterval(t); flagRegima0 = false; //flagStart = false; interv = 6000; interval_txt0[itxt] = Number((interv / 1000).toFixed(1)) + ' с'; } function pusni() { kontrol02.style.display = 'none'; kontrol03.style.display = 'inline'; close0.style.display = 'inline'; prev0.style.display = 'inline'; next0.style.display = 'inline'; sledvashta(); //t= setTimeout("slides()", interv); t = window.setInterval(slides, interv); } function spri() { kontrol03.style.display = 'none'; kontrol02.style.display = 'inline'; flagStart = false; //clearTimeout(t); window.clearInterval(t); } function predishna() { //if (!flagStart || !flagRegima || !flagRegima0) //if (!flagStart) //return; if (i == 0) i = n - 1; else i = i - 1; pok(); } function sledvashta() { //if (!flagStart) // return; if (i == (n - 1)) i = 0; else i = i + 1; pok(); } function slides() { sledvashta(); } function zabyrzaj() { if (interv == 0) //1500 return 0; window.clearInterval(t); //sledvashta(); interv = interv - step; if (interv < minInterv) //500 interv = minInterv; t = window.setInterval(slides, interv); interval_txt0[itxt] = Number((interv / 1000).toFixed(1)) + ' с'; } function zabavi() { window.clearInterval(t); interv = interv + step; t = window.setInterval(slides, interv); interval_txt0[itxt] = Number((interv / 1000).toFixed(1)) + ' с'; } function start() { window.clearInterval(t); flagStart = true; kontrol03.style.display = 'inline'; kontrol02.style.display = 'none'; elemAbsul.style.display = 'block'; fon0.style.display = 'block'; close0.style.display = 'inline'; prev0.style.display = 'inline'; next0.style.display = 'inline'; i = 0; if (flagPred == false) { ipred = i; flagPred = true; } pok(); t = window.setInterval(slides, interv); } function getElementById0(name) { var o = document.getElementById ? document.getElementById(name) : document.all ? document.all[name] : document.layers[name]; return o; } function addEvent(event, elem, func) { if (elem.addEventListener) // W3C DOM elem.addEventListener(event, func, false); else if (elem.attachEvent) { // Експлодър DOM elem.attachEvent("on" + event, func); } else { elem[event] = func; } } function removeEvent(event, elem, func) { if (elem.removeEventListener) elem.removeEventListener(event, func, false); if (elem.detachEvent) elem.detachEvent('on' + event, func); } function getStyle(el, cssprop) { if (el.currentStyle) //Експлодър return el.currentStyle[cssprop]; else if (document.defaultView && document.defaultView.getComputedStyle) //Файърфокс return document.defaultView.getComputedStyle(el, "")[cssprop]; else //опитва се и взема стила return el.style[cssprop]; } function smeniRegima(event) { event = event || window.event; var o = ((event.target) ? event.target : event.srcElement); flagRegima = true; zatvori(); scrollTop = (window.pageYOffset !== undefined) ? window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop; scrollLeft = (window.pageXOffset !== undefined) ? window.pageXOffset : (document.documentElement || document.body.parentNode || document.body).scrollLeft; windowRazmeri = daiWinInnerWH(); fon0.style.display = 'block'; turiTopLeft(fon0, 0, 0); //scrollTop, scrollLeft fon0.style.width = windowRazmeri[0] + 'px'; fon0.style.height = 91000 + 'px'; //if(!document.compatMode) { // fon0.style.height= 31000+'px'; //} fon0.style.opacity = '1'; if ('filter' in fon0.style) fon0.style.filter = 'alpha(opacity=100)'; fon0.style.backgroundColor = getStyle(o.parentNode, 'backgroundColor'); fon0.style.cursor = 'pointer'; scrollTop = (window.pageYOffset !== undefined) ? window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop; window.scrollBy(0, windowRazmeri[1]); return; } function loadcss(fileime) { var file = document.createElement("link"); file.setAttribute("rel", "stylesheet"); //file.setAttribute("type", "text/css"); file.setAttribute("href", fileime); if (typeof file != "undefined") document.getElementsByTagName("head")[0].appendChild(file); } function deselekt() { if (window.getSelection) { if (window.getSelection().empty) { // Хромиум window.getSelection().empty(); } else if (window.getSelection().removeAllRanges) {//Файърфокс window.getSelection().removeAllRanges(); } } else if (document.selection) { // Експлодър //document.selection.empty(); } return; } //вътрешни р-ри на джама //@return [W,H] function daiWinInnerWH() { var myWidth = 0, myHeight = 0; if (typeof (window.innerWidth) == 'number') { //Добър уеб четец myWidth = window.innerWidth; myHeight = window.innerHeight; } else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) { //Експлодър 6+ в режим 'standards compliant mode' myWidth = document.documentElement.clientWidth; myHeight = document.documentElement.clientHeight; } else if (document.body && (document.body.clientWidth || document.body.clientHeight)) { //Експлодър 4 myWidth = document.body.clientWidth; myHeight = document.body.clientHeight; } return [myWidth, myHeight]; } function turiTopLeft(o, top, left) { o = o.style; if ('pixelTop' in o) { if (!document.compatMode) { //не е IE 6 o.pixelTop = top; //+'px'; o.pixelLeft = left; //+'px'; } } if ('top' in o) o.top = top + 'px'; if ('left' in o) o.left = left + 'px'; }