/*Цветове и слайдшоу (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 = '
\
\
\
\
\
\
\
\
\
\
\
';
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';
}