//=========================================================
//　Pictlayer ー リンク先の画像をレイヤー表示します 
//　script by Photo-note（http://fseasons.blog39.fc2.com/）
//　Last update 2009-01-21
//=========================================================

//画像へのリンクをクリックすると、原寸サイズの画像をレイヤーを表示します。
//元に戻るにはもう一度画像をクリックします。
//作者のblogで作動確認いただけます。
//表示される画像の背景色や透明度、画像の枠線などをカスタマイズ出来ます。
//適用するページのhtmlの編集は必要ありません。

// 画像レイヤーの背景色
var Bgc = '#000';

// 不透明度を指定(0-100)
var Opc = '80';

// 画像に装飾用のスタイルをcss形式で指定
var Imgsty = 'border:solid 1px #666;';

// 作動させたい領域のID名を記入すると、他カラムのリンクを検索しません
// よく判らない場合はこのままで結構です
var Tar = '';

// 画像にカーソルを乗せた時のテキスト
var Och = 'open';

// 画像を閉じる時のテキスト
var Cch = 'close';

var DivElement=Imgcontainer=Dwidth='';
var Pict = new Array();
function initi() {
//if(window.innerWidth < 480) {return;}
//else {
if(document.getElementsByTagName && document.getElementById) {
var Parea = (Tar == "")? document.body: (document.getElementById(Tar) || document.body);
var Links = Parea.getElementsByTagName('a') || 0;
var LinksNo = Links.length || 0;
var p = 0;
for(i=0;i<LinksNo;i++){
var Href = Links[i].href;
if(Href.match(/(jpg|jpeg|png|gif)$/i)) {
p++;
Nimg = 'I'+p;
Pict[Nimg] = new Image();
Pict[Nimg].src = Href;
if (Links[i].childNodes[0].tagName == 'IMG')
Links[i].childNodes[0].title = Och;
else Links[i].title = Och;
Links[i].target = '_self';
Links[i].id = Nimg;
Links[i].onclick = function() {PictLayer(this.id); return false;}
}}}
if(p > 0){
DivElement = document.createElement('div');
DivElement.style.position = 'absolute';
DivElement.style.left = 0;
DivElement.style.top = 0;
DivElement.style.background = Bgc;
DivElement.style.display = 'none';
document.body.appendChild(DivElement);

Imgcontainer = document.createElement('div');
Imgcontainer.style.display = 'none';
document.body.appendChild(Imgcontainer);
}}
function PictLayer(ic) {
var winsize = WinSize();
var Docsize = DocSize();
var WinWid = winsize.wid;
var WinHei = winsize.hei;
var Dwidth = Docsize.docW;
var Dheight = Docsize.docH;
var Sheight = '';
var Scrleft = winsize.x;
var ImgElement = Pict[ic];
var Iwidth = ImgElement.width;
var Iheight = ImgElement.height;
var Scrtop = winsize.y;
var Dve_w = Math.max(Iwidth, Math.max(Dwidth, WinWid));
var Dve_h = Math.max(Iheight, Math.max(Dheight, WinHei));
var Left = Math.max(((Dve_w/2)-(Iwidth/2)), 0);
var Top = Math.max(((WinHei/2)-(Iheight/2))+Scrtop, 0);
Imgcontainer.innerHTML = '<img src="'+ImgElement.src+'" title="'+Cch+'" style="'+Imgsty+'cursor:pointer;">';
Imgcontainer.style.position = 'absolute';
Imgcontainer.style.left = Left+'px';
Imgcontainer.style.top = Top+'px';
Imgcontainer.style.display = 'block';
//Imgcontainer.style.z-index = '5';
Imgcontainer.onclick = function() {removePict();}
DivElement.style.width = Dve_w+'px';
DivElement.style.height = Dve_h+'px';
DivElement.style.display = 'block';
setOpacity(DivElement, Opc);
}
function removePict(pic) {
Imgcontainer.style.display = 'none';
DivElement.style.display = 'none';
}
function WinSize() {
var Obj = new Object();
Obj.wid = document.documentElement.clientWidth || document.body.clientWidth; 
Obj.hei = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
Obj.x = document.documentElement.scrollLeft ||document.body.scrollLeft;
Obj.y = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
return Obj;
}
function DocSize() {
var Cdn = new Object();
Cdn.docW = document.documentElement.scrollWidth || document.body.scrollWidth;
Cdn.docH = document.documentElement.scrollHeight || document.body.scrollHeight;
return Cdn;
}
function setOpacity(obj,num) {
if (obj,num) {
if (window.attachEvent && !window.opera) obj.style.filter = 'alpha(opacity=' + num + ')';
else if (navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1) obj.style.MozOpacity = num/100;
else obj.style.opacity = num/100;
}}
function showFlash(){
var flashObjects = document.getElementsByTagName("object");
for (i = 0; i < flashObjects.length; i++) {
flashObjects[i].style.visibility = "visible";
}
var flashEmbeds = document.getElementsByTagName("embed");
for (i = 0; i < flashEmbeds.length; i++) {
flashEmbeds[i].style.visibility = "visible";
}}
function hideFlash(){
var flashObjects = document.getElementsByTagName("object");
for (i = 0; i < flashObjects.length; i++) {
flashObjects[i].style.visibility = "hidden";
}
var flashEmbeds = document.getElementsByTagName("embed");
for (i = 0; i < flashEmbeds.length; i++) {
flashEmbeds[i].style.visibility = "hidden";
}}
function EventListener(target, type, func){
if(target.attachEvent){
target.attachEvent("on" + type, func);
} else if(target.addEventListener){
target.addEventListener(type, func, true);
}else {
target["on" + type] = func;
}}
EventListener(window, 'load', initi);

