// JavaScript Document
var previewBox = document.getElementById('PreviewBox');
var previewImage = document.getElementById('PreviewImage');
var previewUrl = document.getElementById('previewUrl');
var previewFrom = null;
var previewTimeoutId = null;
var loadingImg = 'images/loading.gif';
var maxWidth = 250;
var maxHeight = 250;

function getPosXY(a, offset) {
    var p=offset?offset.slice(0):[0,0],tn;
    while(a) {
     tn=a.tagName.toUpperCase();
     if (tn == 'IMG') {
      a = a.offsetParent;
      continue;
     }
     p[0]+=a.offsetLeft-(tn=="DIV"&&a.scrollLeft?a.scrollLeft:0);
     p[1]+=a.offsetTop-(tn=="DIV"&&a.scrollTop?a.scrollTop:0);
     if (tn=="BODY") break;
     a=a.offsetParent;
    }
    return p;
}
function checkComplete() {
    if (checkComplete.__img && checkComplete.__img.complete)
     checkComplete.__onload();
}
checkComplete.__onload = function() {
    clearInterval(checkComplete.__timeId);
    var w = checkComplete.__img.width;
    var h = checkComplete.__img.height;
    if (w >= h && w > maxWidth) {
     previewImage.style.width = maxWidth + 'px';
    } 
    else if (h >= w && h > maxHeight) {
     previewImage.style.height = maxHeight + 'px';
    }
    else {
     previewImage.style.width = previewImage.style.height = '';
    }
    previewImage.src = checkComplete.__img.src;
    previewUrl.href = checkComplete.href;
    checkComplete.__img = null;
    //previewImage.style.display = '';
}

function showPreview(e) {
    hidePreview();
    previewFrom = e.target || e.srcElement;
    previewImage.src = loadingImg;
    previewImage.style.width = previewImage.style.height = '';
    previewTimeoutId = setTimeout('_showPreview()', 500);
    checkComplete.__img = null;
}

//killErrors
function killErrors() {
	return true;
}
window.onerror = killErrors;

function hidePreview(e) {
    if (e) {
     var toElement = e.relatedTarget || e.toElement;
     //alert(toElement.innerHTML);
     while (toElement) {
      if (toElement.id == 'PreviewBox')
       return;
      toElement = toElement.parentNode;
     }
    }
      try{
     clearInterval(checkComplete.__timeId);
     checkComplete.__img = null;
     previewImage.src = null;
    }
    catch (e){
    }
    clearTimeout(previewTimeoutId);
    previewBox.style.display = 'none';
}
/**
    *    ????
    */
function _showPreview() {
    //previewImage.style.display = 'none';
    checkComplete.__img = new Image();
    if (previewFrom.tagName.toUpperCase() == 'A')
     previewFrom = previewFrom.getElementsByTagName('img')[0];
    //?????URL
    //var largeSrc = previewFrom.getAttribute("large-src");
	var largeSrc = previewFrom.getAttribute("src").replace("images\/", "images\/b_");
    //var picLink = previewFrom.getAttribute("pic-link");
    if (!largeSrc) return;
    else {
     checkComplete.__img.src = largeSrc;
     //checkComplete.href = picLink;
     checkComplete.__timeId = setInterval("checkComplete()", 20);
     var pos = getPosXY(previewFrom, [75, -2]);
     previewBox.style.left = pos[0] + 'px';
     previewBox.style.top = pos[1] + 'px';
     previewBox.style.display = 'block';
    }
}

