﻿function pageLoad()
{
    // set global webrequest callback
    //Sys.Net.WebRequestManager.add_completedRequest(completedHandler);
    //setupFish();
}

function zoomImage(img, credit)
{
    $get("ExpandedImage").src = img.src;
    $get("ExpandedImageText").innerHTML = img.title;
    $get("ExpandedImageText").innerHTML += "<span style=\"font-style:italic;text-align:right;\">&nbsp;&nbsp;" + credit + "</span>";
    $get("ExpandedImageContainer").style.display='block';
    
    var imgTop = getAbsoluteY(img);
    var imgLeft = getAbsoluteX(img);
    var topOffset = 20;
    if (imgTop > 220) topOffset = $get("ExpandedImage").height/3;
    
    $get("ExpandedImageContainer").style.left = (imgLeft - $get("ExpandedImage").width + 20) + "px";
    $get("ExpandedImageContainer").style.top = (imgTop - topOffset) + "px";
    
    //$get("ExpandedImageContainer").style.width = $get("ExpandedImage").width;
    $get("ExpandedImageTextWrap").style.maxWidth = $get("ExpandedImage").width + "px";
    $get("ExpandedImageTextWrap").style.minWidth = $get("ExpandedImage").width + "px";

    //alert(getAbsoluteX($get(img)) + "," + getAbsoluteY($get(img)));    
}

function getAbsoluteX( oElement )
{
    var iReturnValue = 0;
    while( oElement != null ) 
    {
        iReturnValue += oElement.offsetLeft;
        oElement = oElement.offsetParent;
    }
    return iReturnValue;
}
function getAbsoluteY( oElement )
{
    var iReturnValue = 0;
    while( oElement != null ) 
    {
        iReturnValue += oElement.offsetTop;
        oElement = oElement.offsetParent;
    }
    return iReturnValue;
}

function unZoomImage()
{
    $get("ExpandedImageContainer").style.display='none';
}
function setZoom(img, dir, width, height, margin, zIndex, delay) {
    var imgID = img.id;
    var txtID = imgID+'TxtWrap';
    var fishID = imgID+'Fish';
    $(txtID).style.display='block';


    setTimeout(function () {if (img.dir == dir) {
            img.style.width = width;
            img.style.height = height;
            img.style.margin = margin;
            img.style.zIndex = zIndex;
            $(fishID).style.zIndex = zIndex;

            var roundHeight = parseInt(height.replace('px', ''));
            roundHeight = Math.round(roundHeight);

            Position.clone(imgID, $(txtID),  { 'setHeight' : false, 'offsetTop' : roundHeight});

            var intWidth = $(imgID).getWidth();

            var txtInID = imgID+'Txt';
            $(txtInID).style.fontSize = (intWidth/125) +'em';
            }
        }, delay);
}

function larger(img, width, height) {
    img.dir = "rtl";
    now = parseInt(img.style.zIndex);
    for (i = now + 1; i <= 10; i++) {
        w = width * (10 + i) / 20 + "px";
        h = height * (10 + i) / 20 + "px";
        m = - i + "px 0 0 " + - width * i / 40 + "px";
        setZoom(img, "rtl", w, h, m, i, 30 * (i - now));
    }
}

function smaller(img, width, height) {
    img.dir = "ltr";
    now = parseInt(img.style.zIndex);
    for (i = now - 1; i >= 0; i--) {
        w = width * (10 + i) / 20 + "px";
        h = height * (10 + i) / 20 + "px";
        m = - i + "px 0 0 " + - width * i / 40 + "px";
        setZoom(img, "ltr", w, h, m, i, 30 * (now - i));
    }
    var imgID = img.id;
    var txtID = imgID+'TxtWrap';
    $(txtID).style.display='none';
}

//function setupFish() {

////var fishid=0;
////var elid = "img" + fishid;

////while ($get(elid) != null){

////    var el = $get(elid);
////    el.style.width='58px';
////    el.style.height='45px';
////    el.style.zIndex=0;
////    
////    var imgID = el.id;
////    var txtID = imgID+'TxtWrap';
////    $(txtID).style.top = (Position.cumulativeOffset($(el))[1]+45)+'px';        
////    
////    Event.observe(el, "mouseout", function(evt){
////        smaller(el, 115, 90);
////    })
////    Event.observe(el, "mouseover", function(evt){
////        larger(el, 115, 90);
////    })

////    fishid += 1;
////    elid = "img" + fishid;
////}
//    $$("img.fish").each(function(el){
//        el.style.width='58px';
//        el.style.height='45px';
//        el.style.zIndex=0;
//        
//        var imgID = el.id;
//        var txtID = imgID+'TxtWrap';
//        $(txtID).style.top = (Position.cumulativeOffset($(el))[1]+45)+'px';        
//        
//        Event.observe(el, "mouseout", function(evt){
//            smaller(el, 115, 90);
//        })
//        Event.observe(el, "mouseover", function(evt){
//            larger(el, 115, 90);
//        })
//    })             
//}

