var FOX2_IMGSHOW = function() {
var pages = [],
pCount = 0,
curId = -1,
curLarge = false,
curW = 0, curH = 0,
pgDiv = null, pgStl = null,
pgPic = null, pcStl = null,
cpDiv = null, cpStl = null,
resCB = null,
dragRect = {minX: 0, maxX: 0, minY: 0, maxY: 0},
clBtn, ltBtn, rtBtn, elBtn,
btnsCont = {
l: '<img src="http://imfurry.ru/static/images/img_go_left.png" style="width: 40px; height: 60px;" alt="<=" />',
r: '<img src="http://imfurry.ru/static/images/img_go_right.png" style="width: 40px; height: 60px;" alt="=>" />',
c: '<img src="http://imfurry.ru/static/images/img_return.png" style="width: 60px; height: 60px;" alt="[X]" />',
e: '<img src="http://imfurry.ru/static/images/img_enlarge.png" style="width: 40px; height: 40px;" alt="X" />'},
btnsHeight = 60,
maxPicWidth = (screen) ? screen.width*1.2 : 1500,
maxPicHeight = (screen) ? screen.height*1.2 : 1000;
var cooliris = function()
{        var PLC = null;
var hasCooliris = function() {
var clientExists = false;
if (PLC)
clientExists = true;
else if (window.piclens && window.piclens.launch) {
PLC = window.piclens;
clientExists = true; } else  {
var context = null;
if (typeof PicLensContext != 'undefined') 
context = new PicLensContext(); else {
try { context = new ActiveXObject("PicLens.Context"); } 
catch (e) {
if (navigator.mimeTypes['application/x-cooliris'])  {
context = document.createElement('object');
context.style.height="0px";
context.style.width="0px";
context.type = 'application/x-cooliris';
document.documentElement.appendChild(context); } else
context = null; } }
if (PLC = context)
clientExists = true; }
if (clientExists)   {
if (myBrowser.isSafari) 
return true;
var version;
try { version = PLC.version; } catch (e) { return false; }
var parts = version.split('.'); 
if (parts[0] > 1) 			    
return true;
else if (parts[0] == 1)          {
if (parts[1] > 6)		    
return true;
else if (parts[1] == 6)      {
if (parts[2] > 0)  	    
return true;
else if (parts[2] == 0 && parts[3] >= 824)  
return true; } }
return false;  } else
return false; };
var checkForPluginAndLaunchIfPossible = function (url, guid, failCallback) {
if (hasCooliris()) {
if (typeof(guid) != 'undefined')
PLC.launch(url,'uid',guid); else
PLC.launch(url,'','');
return true;  }
if (true) {
QF_EFFECTS.OpenOverlay(true, 1);
clBtn = document.createElement('div');
clBtn.id = 'QF_ImgShowBtnCl';
QF_EFFECTS.Overlay.insertBefore(clBtn, QF_EFFECTS.Overlay.firstChild);
clBtn.onclick = _CloseOnClick;
clBtn.innerHTML = btnsCont.c;
var clStl = getStyleObj(clBtn);
clStl.position = 'absolute';
clStl.zIndex = 100;
clStl.top = '20px';
clStl.right = '20px';
clStl.cursor = 'pointer';
pgDiv = document.createElement('div');
pgDiv.id = 'QF_ImgShowPg';
QF_EFFECTS.Overlay.insertBefore(pgDiv, QF_EFFECTS.Overlay.firstChild);
pgStl = getStyleObj(pgDiv);
pgStl.position = 'absolute';
pgStl.cursor = 'default';
pgStl.top = '20px';
pgStl.right = '100px';
pgStl.left = '100px';
pgStl.bottom = '20px';
var coolirisDiv = document.createElement('div');
coolirisDiv.id = 'QF_ImgShowCooliris';
pgDiv.insertBefore(coolirisDiv, pgDiv.firstChild);
var flVars = {
feed: url,
numrows: 3,
itemGUID: guid,
backgroundColor: '000000',
backgroundAlpha: 0.7 };
swfobject.embedSWF(
"http://apps.cooliris.com/embed/cooliris.swf",
"QF_ImgShowCooliris",
"100%",
"100%",
"9.0.0",
"expressInstall.swf",
flVars,
{allowScriptAccess: 'always', wmode: 'transparent'}, {},
function(r) { if (r.success == false && failCallback) {QF_EFFECTS.CloseOverlay(); failCallback(r);} } );
return true; }
return false; };
return {            ready : hasCooliris,
start : checkForPluginAndLaunchIfPossible
};    }();
var _PrepOverlay = function() {
_PloadAround(curId);
QF_EFFECTS.OpenOverlay(true, 1, _ShowPage);
clBtn = document.createElement('div');
clBtn.id = 'QF_ImgShowBtnCl';
QF_EFFECTS.Overlay.insertBefore(clBtn, QF_EFFECTS.Overlay.firstChild);
clBtn.onclick = _CloseOnClick;
clBtn.innerHTML = btnsCont.c;
var clStl = getStyleObj(clBtn);
clStl.position = 'absolute';
clStl.zIndex = 100;
clStl.top = '20px';
clStl.right = '20px';
clStl.cursor = 'pointer';
ltBtn = document.createElement('div');
ltBtn.id = 'QF_ImgShowBtnLt';
QF_EFFECTS.Overlay.insertBefore(ltBtn, QF_EFFECTS.Overlay.firstChild);
ltBtn.onclick = _PrevOnClick;
ltBtn.innerHTML = btnsCont.l;
var ltStl = getStyleObj(ltBtn);
ltStl.position = 'absolute';
ltStl.zIndex = 100;
ltStl.top = '200px';
ltStl.left = '100px';
ltStl.cursor = 'pointer';
rtBtn = document.createElement('div');
rtBtn.id = 'QF_ImgShowBtnRt';
QF_EFFECTS.Overlay.insertBefore(rtBtn, QF_EFFECTS.Overlay.firstChild);
rtBtn.onclick = _NextOnClick;
rtBtn.innerHTML = btnsCont.r;
var rtStl = getStyleObj(rtBtn);
rtStl.position = 'absolute';
rtStl.zIndex = 100;
rtStl.top = '200px';
rtStl.right = '100px';
rtStl.cursor = 'pointer';
cpDiv = document.createElement('div');
cpDiv.id = 'QF_ImgShowCapt';
QF_EFFECTS.Overlay.insertBefore(cpDiv, QF_EFFECTS.Overlay.firstChild);
cpDiv.className = 'overlay alg_c';
cpStl = getStyleObj(cpDiv);
cpStl.position = 'absolute';
cpStl.bottom = '30px';
cpStl.width = '70%';
cpStl.left = '15%';
QF_EFFECTS.Alpha('QF_ImgShowCapt', 80);
pgDiv = document.createElement('div');
pgDiv.id = 'QF_ImgShowPg';
QF_EFFECTS.Overlay.insertBefore(pgDiv, QF_EFFECTS.Overlay.firstChild);
pgDiv.className = 'overlay inv_grid';
pgStl = getStyleObj(pgDiv);
pgStl.position = 'absolute';
pgStl.cursor = 'default';
pgDiv.onmousedown = _PageOnPress;
QF_EFFECTS.Invisible('QF_ImgShowPg');
elBtn = document.createElement('div');
elBtn.id = 'QF_ImgShowBtnEl';
pgDiv.insertBefore(elBtn, pgDiv.firstChild);
elBtn.onclick = _EnlargeOnClick;
elBtn.innerHTML = btnsCont.e;
var elStl = getStyleObj(elBtn);
elStl.position = 'absolute';
elStl.zIndex = 2;
elStl.top = '0px';
elStl.right = '0px';
elStl.cursor = 'pointer';
pgPic = document.createElement('img');
pgPic.id = 'QF_ImgShowPic';
pgDiv.insertBefore(pgPic, pgDiv.firstChild);
pcStl = getStyleObj(pgPic);
if (!resCB)
resCB = QF_EFFECTS.Add_CB(_RepositionCB, 'r');
if (curId >= (pCount - 1))
QF_EFFECTS.Hide('QF_ImgShowBtnRt', 1);
if (curId <= 0)
QF_EFFECTS.Hide('QF_ImgShowBtnLt', 1); }
var _PloadAround = function(id) {
for (var i=id-1; i < id+2; i++)
if (pages[i] && !pages[i].tImg) {
pages[i].tImg = new Image();
pages[i].tImg.src = pages[i].url; } }
var _RepositionCB = function() {
if (curId < 0 || !pages[curId])
return;
var pgData = pages[curId];
var clientWidth = pgDiv.parentNode.clientWidth;
var clientHeight = pgDiv.parentNode.clientHeight - 50;
if (!curLarge) {
var mult = Math.min(1, (clientWidth - 100)/pgData.iw, (clientHeight - 40)/pgData.ih);
curW = pgData.iw*mult;
curH = pgData.ih*mult;
pcStl.width  = curW+'px';
pcStl.height = curH+'px';
if (mult < 1)
QF_EFFECTS.Show('QF_ImgShowBtnEl', 1); else
QF_EFFECTS.Hide('QF_ImgShowBtnEl', 1); }
pgStl.top  = ((clientHeight - curH)/2)+'px';
pgStl.left = ((clientWidth - curW)/2)+'px';
dragRect.maxY = Math.max((clientHeight - curH)/2, 20);
dragRect.minY = Math.min((clientHeight - curH)/2, clientHeight - curH - 20);
dragRect.maxX = Math.max((clientWidth - curW)/2, 50);
dragRect.minX = Math.min((clientWidth - curW)/2, clientWidth - curW - 50);
var ltStl = getStyleObj(ltBtn);
var rtStl = getStyleObj(rtBtn);
ltStl.top = rtStl.top = ((clientHeight - 60)/2)+'px';
var btnPos = Math.max((clientWidth - curW)/2 - 70, 20);
rtStl.right = ltStl.left = btnPos+'px'; }
var _EnlargeOnClick = function() {
if (curId < 0 || !pages[curId])
return;
var pgData = pages[curId];
curW = pgData.iw;
curH = pgData.ih;
QF_EFFECTS.Hide('QF_ImgShowBtnEl', 1);
pcStl.width  = curW+'px';
pcStl.height = curH+'px';
pgStl.cursor = 'move';
curLarge = true;
_RepositionCB();
return false; }
var _CloseOnClick = function() {
QF_EFFECTS.CloseOverlay();
return false; }
var _NextOnClick = function() {
if (curId < (pCount - 1)) {
curId++;
_PrepShowPage(); }
return false; }
var _PrevOnClick = function() {
if (curId > 0) {
curId--;
_PrepShowPage(); }
return false; }
var _PageOnPress = function(event) {
pgPic.blur();
QF_EFFECTS.StartDrag('QF_ImgShowPg', event, dragRect);
return false; }
var _PageOnRelease = function(event) {
QF_EFFECTS.StopDrag(); }
var _PrepShowPage = function()
{        _PloadAround(curId);
QF_EFFECTS.Hide('QF_ImgShowPg', 1, undefined, _ShowPage);
if (curId >= (pCount - 1))
QF_EFFECTS.Hide('QF_ImgShowBtnRt', 1); else
QF_EFFECTS.Show('QF_ImgShowBtnRt', 1);
if (curId <= 0)
QF_EFFECTS.Hide('QF_ImgShowBtnLt', 1); else
QF_EFFECTS.Show('QF_ImgShowBtnLt', 1); }
var _ShowPage = function() {
var pgData = pages[curId];
if (pgPic)
pgPic.parentNode.removeChild(pgPic);
pgPic = document.createElement('img');
pgPic.id = 'QF_ImgShowPic';
pcStl = getStyleObj(pgPic);
pgDiv.insertBefore(pgPic, pgDiv.firstChild);
pgPic.className = 'bordered';
cpDiv.innerHTML = '<b>'+pgData.icapt+'</b>';
pgPic.src = pgData.url;
curW = pgData.iw;
curH = pgData.ih;
pcStl.width  = curW+'px';
pcStl.height = curH+'px';
curLarge = false;
pgStl.cursor = 'default';
_RepositionCB();
QF_EFFECTS.Show('QF_ImgShowPg', 1, 100); }
return {
setBtnsCont: function (conts) {btnsCont = conts;},
AddPage: function (id, url, iw, ih, icapt, forceFullSize)
{            var mult = forceFullSize ? 1 : Math.min(1, maxPicWidth/iw, maxPicHeight/ih);
pages[pCount] = {id: id, url: url, iw: iw*mult, ih: ih*mult, icapt: icapt};
pCount++; },
ShowPage: function(id) {
if (!QF_EFFECTS.isReady())
return alert('Пожалуйста, дождитесь завершения загрузки страницы');
curId = -1;
for (var i=0; i < pCount; i++)
{                if (pages[i] && pages[i].id == id) {
curId = i;
break; } }
if (curId >= 0) {
if (!QF_EFFECTS.CheckOverlay())
_PrepOverlay(); else
_PrepShowPage(); } },
Cooliris: cooliris } }();

